@@ -14,12 +14,18 @@ BITCOIN_QT_BIN=$(top_builddir)/src/qt/bitcoin-qt$(EXEEXT)
1414BITCOIN_CLI_BIN =$(top_builddir ) /src/bitcoin-cli$(EXEEXT )
1515BITCOIN_WIN_INSTALLER =$(PACKAGE ) -$(PACKAGE_VERSION ) -win$(WINDOWS_BITS ) -setup$(EXEEXT )
1616
17+ empty :=
18+ space := $(empty ) $(empty )
19+
1720OSX_APP =Bitcoin-Qt.app
18- OSX_DMG =Bitcoin-Core.dmg
21+ OSX_VOLNAME = $(subst $(space ) ,-,$(PACKAGE_NAME ) )
22+ OSX_DMG = $(OSX_VOLNAME ) .dmg
23+ OSX_BACKGROUND_SVG =background.svg
1924OSX_BACKGROUND_IMAGE =background.tiff
25+ OSX_BACKGROUND_IMAGE_DPIS =36 72
26+ OSX_DSSTORE_GEN =$(top_srcdir ) /contrib/macdeploy/custom_dsstore.py
2027OSX_DEPLOY_SCRIPT =$(top_srcdir ) /contrib/macdeploy/macdeployqtplus
2128OSX_FANCY_PLIST =$(top_srcdir ) /contrib/macdeploy/fancy.plist
22- OSX_BASE_LPROJ_DIR =$(top_srcdir ) /contrib/macdeploy/Base.lproj/InfoPlist.strings
2329OSX_INSTALLER_ICONS =$(top_srcdir ) /src/qt/res/icons/bitcoin.icns
2430OSX_PLIST =$(top_srcdir ) /share/qt/Info.plist # not installed
2531OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW
@@ -31,9 +37,9 @@ WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \
3137 $(top_srcdir ) /share/pixmaps/nsis-wizard.bmp \
3238 $(top_srcdir ) /doc/README_windows.txt
3339
34- OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT ) $(OSX_FANCY_PLIST ) $(OSX_INSTALLER_ICONS ) $( OSX_BASE_LPROJ_DIR ) \
35- $(top_srcdir ) /contrib/macdeploy/$(OSX_BACKGROUND_IMAGE ) \
36- $(top_srcdir ) /contrib/macdeploy/DS_Store \
40+ OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT ) $(OSX_FANCY_PLIST ) $(OSX_INSTALLER_ICONS ) \
41+ $(top_srcdir ) /contrib/macdeploy/$(OSX_BACKGROUND_SVG ) \
42+ $(OSX_DSSTORE_GEN ) \
3743 $(top_srcdir ) /contrib/macdeploy/detached-sig-apply.sh \
3844 $(top_srcdir ) /contrib/macdeploy/detached-sig-create.sh
3945
@@ -87,17 +93,20 @@ $(OSX_APP)/Contents/MacOS/Bitcoin-Qt: $(BITCOIN_QT_BIN)
8793 $(MKDIR_P ) $(@D )
8894 STRIPPROG=" $( STRIP) " $(INSTALL_STRIP_PROGRAM ) $< $@
8995
90- $(OSX_APP ) /Contents/Resources/Base.lproj/InfoPlist.strings : $( OSX_BASE_LPROJ_DIR )
96+ $(OSX_APP ) /Contents/Resources/Base.lproj/InfoPlist.strings :
9197 $(MKDIR_P ) $(@D )
92- $( INSTALL_DATA ) $< $@
98+ echo ' { CFBundleDisplayName = "$(PACKAGE_NAME)"; CFBundleName = "$(PACKAGE_NAME)"; } ' > $@
9399
94100OSX_APP_BUILT =$(OSX_APP ) /Contents/PkgInfo $(OSX_APP ) /Contents/Resources/empty.lproj \
95101 $(OSX_APP ) /Contents/Resources/bitcoin.icns $(OSX_APP ) /Contents/Info.plist \
96102 $(OSX_APP ) /Contents/MacOS/Bitcoin-Qt $(OSX_APP ) /Contents/Resources/Base.lproj/InfoPlist.strings
97103
104+ osx_volname :
105+ echo $(OSX_VOLNAME ) > $@
106+
98107if BUILD_DARWIN
99108$(OSX_DMG ) : $(OSX_APP_BUILT ) $(OSX_PACKAGING )
100- $(OSX_DEPLOY_SCRIPT ) $(OSX_APP ) -add-qt-tr $(OSX_QT_TRANSLATIONS ) -translations-dir=$(QT_TRANSLATION_DIR ) -dmg -fancy $(OSX_FANCY_PLIST ) -verbose 2
109+ $(OSX_DEPLOY_SCRIPT ) $(OSX_APP ) -add-qt-tr $(OSX_QT_TRANSLATIONS ) -translations-dir=$(QT_TRANSLATION_DIR ) -dmg -fancy $(OSX_FANCY_PLIST ) -verbose 2 -volname $( OSX_VOLNAME )
101110
102111deploydir : $(OSX_DMG )
103112else
@@ -111,13 +120,17 @@ $(APP_DIST_DIR)/Applications:
111120$(APP_DIST_EXTRAS ) : $(APP_DIST_DIR ) /$(OSX_APP ) /Contents/MacOS/Bitcoin-Qt
112121
113122$(OSX_DMG ) : $(APP_DIST_EXTRAS )
114- $(GENISOIMAGE ) -no-cache-inodes -D -l -probe -V " Bitcoin-Core " -no-pad -r -dir-mode 0755 -apple -o $@ dist
123+ $(GENISOIMAGE ) -no-cache-inodes -D -l -probe -V " $( OSX_VOLNAME ) " -no-pad -r -dir-mode 0755 -apple -o $@ dist
115124
116- $(APP_DIST_DIR ) /.background/$(OSX_BACKGROUND_IMAGE ) : contrib/macdeploy/$(OSX_BACKGROUND_IMAGE )
125+ dpi% .$(OSX_BACKGROUND_IMAGE ) : contrib/macdeploy/$(OSX_BACKGROUND_SVG )
126+ sed ' s/PACKAGE_NAME/$(PACKAGE_NAME)/' < " $<" | $(CAIROSVG ) -fpng -d$* - | $(IMAGEMAGICK_CONVERT ) - $@
127+ OSX_BACKGROUND_IMAGE_DPIFILES := $(foreach dpi,$(OSX_BACKGROUND_IMAGE_DPIS ) ,dpi$(dpi ) .$(OSX_BACKGROUND_IMAGE ) )
128+ $(APP_DIST_DIR ) /.background/$(OSX_BACKGROUND_IMAGE ) : $(OSX_BACKGROUND_IMAGE_DPIFILES )
117129 $(MKDIR_P ) $(@D )
118- $(INSTALL ) $< $@
119- $(APP_DIST_DIR ) /.DS_Store : contrib/macdeploy/DS_Store
120- $(INSTALL ) $< $@
130+ $(TIFFCP ) -c none $(OSX_BACKGROUND_IMAGE_DPIFILES ) $@
131+
132+ $(APP_DIST_DIR ) /.DS_Store : $(OSX_DSSTORE_GEN )
133+ $< " $@ " " $( OSX_VOLNAME) "
121134
122135$(APP_DIST_DIR ) /$(OSX_APP ) /Contents/MacOS/Bitcoin-Qt : $(OSX_APP_BUILT ) $(OSX_PACKAGING )
123136 INSTALLNAMETOOL=$(INSTALLNAMETOOL ) OTOOL=$(OTOOL ) STRIP=$(STRIP ) $(OSX_DEPLOY_SCRIPT ) $(OSX_APP ) -translations-dir=$(QT_TRANSLATION_DIR ) -add-qt-tr $(OSX_QT_TRANSLATIONS ) -verbose 2
0 commit comments