Skip to content

Commit 1bf1606

Browse files
committed
Configure dmg builds to use newer APFS/LZFSE formats for non-legacy build
Use newer formats for creating the DMG file for distributing MacVim. APFS has been supported fully since macOS 10.13, and from testing it extracts faster than HFS+. LZFSE (ULFO format) is newer than zlib/DEFLATE (UDZO format) and also decompresses faster as well from testing. Note that there is a newer compression scheme using LZMA (ULMO format) but it is only supported in 10.15+ which is too high for us as non-legacy builds need to target 10.13+. Also, from testing, the newer LZMA yields smaller files, but takes more time to decompress than LZFSE. Also, keeping using the old formats (HFS+/zlib) for legacy builds since they need to work on 10.9, which don't support the newer formats.
1 parent 5614bcc commit 1bf1606

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

.github/workflows/ci-macvim.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,11 @@ jobs:
312312
run: |
313313
# Use the --skip-jenkins flag to skip the prettify osascript calls which could fail due to permission issues in
314314
# CI environment.
315-
make -C src macvim-dmg CREATEDMG_FLAGS=--skip-jenkins
315+
if ${{ matrix.legacy == true }}; then
316+
make -C src macvim-dmg-legacy CREATEDMG_FLAGS=--skip-jenkins
317+
else
318+
make -C src macvim-dmg CREATEDMG_FLAGS=--skip-jenkins
319+
fi
316320
317321
if ${{ matrix.publish_postfix != '' }}; then
318322
mv src/MacVim/build/Release/MacVim.dmg src/MacVim/build/Release/MacVim${{ matrix.publish_postfix }}.dmg

src/Makefile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3633,18 +3633,28 @@ DMGDIR = MacVim/build/dmg
36333633
DMGFILE = MacVim.dmg
36343634
ENTITLEMENTS = MacVim/MacVim.entitlements
36353635

3636+
# APFS is supported in 10.13+, ULFO (LZFSE compression) in 10.11+.
3637+
DMGFILESYSTEM = APFS
3638+
DMGFORMAT = ULFO
3639+
36363640
macvim: $(VIMTARGET)
36373641
xcodebuild -project MacVim/MacVim.xcodeproj $(XCODEFLAGS)
36383642

36393643
macvim-signed:
36403644
MacVim/scripts/sign-developer-id $(RELEASEDIR)/MacVim.app $(ENTITLEMENTS)
36413645

3646+
macvim-dmg-legacy: DMGFILESYSTEM = HFS+
3647+
macvim-dmg-legacy: DMGFORMAT = UDZO
3648+
macvim-dmg-legacy: macvim-dmg
3649+
36423650
macvim-dmg:
36433651
rm -rf $(DMGDIR)
36443652
mkdir -p $(DMGDIR)
36453653
cp -a $(RELEASEDIR)/MacVim.app $(DMGDIR)/
36463654
rm -rf $(RELEASEDIR)/$(DMGFILE)
36473655
MacVim/create-dmg/create-dmg \
3656+
--filesystem "$(DMGFILESYSTEM)" \
3657+
--format "$(DMGFORMAT)" \
36483658
--volname "MacVim" \
36493659
--volicon MacVim/icons/MacVim.icns \
36503660
--background MacVim/dmg/background.png \

0 commit comments

Comments
 (0)