Browse Source

Merge #9412: build: Fix 'make deploy' for OSX

2fb98f6 Fix bug in dmg builder so that it actually reads in the configuration file (Don Patterson)
b01667c Mention RSVG dependency when creating the disk image on OSX (Jonas Schnelli)
09aefb5 build: Fix 'make deploy' for OSX (Cory Fields)
0.14
Jonas Schnelli 8 years ago
parent
commit
53442af0aa
No known key found for this signature in database
GPG Key ID: 29D4BCB6416F53EC
  1. 9
      Makefile.am
  2. 1
      configure.ac
  3. 6
      contrib/macdeploy/macdeployqtplus
  4. 4
      doc/build-osx.md

9
Makefile.am

@ -111,9 +111,16 @@ osx_volname:
echo $(OSX_VOLNAME) >$@ echo $(OSX_VOLNAME) >$@
if BUILD_DARWIN if BUILD_DARWIN
$(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING) $(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING) $(OSX_BACKGROUND_IMAGE)
$(PYTHON) $(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) $(PYTHON) $(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)
$(OSX_BACKGROUND_IMAGE).png: contrib/macdeploy/$(OSX_BACKGROUND_SVG)
sed 's/PACKAGE_NAME/$(PACKAGE_NAME)/' < "$<" | $(RSVG_CONVERT) -f png -d 36 -p 36 -o $@
$(OSX_BACKGROUND_IMAGE)@2x.png: contrib/macdeploy/$(OSX_BACKGROUND_SVG)
sed 's/PACKAGE_NAME/$(PACKAGE_NAME)/' < "$<" | $(RSVG_CONVERT) -f png -d 72 -p 72 -o $@
$(OSX_BACKGROUND_IMAGE): $(OSX_BACKGROUND_IMAGE).png $(OSX_BACKGROUND_IMAGE)@2x.png
tiffutil -cathidpicheck $^ -out $@
deploydir: $(OSX_DMG) deploydir: $(OSX_DMG)
else else
APP_DIST_DIR=$(top_builddir)/dist APP_DIST_DIR=$(top_builddir)/dist

1
configure.ac

@ -319,6 +319,7 @@ case $host in
fi fi
fi fi
AC_PATH_PROGS([RSVG_CONVERT], [rsvg-convert rsvg],rsvg-convert)
AC_CHECK_PROG([BREW],brew, brew) AC_CHECK_PROG([BREW],brew, brew)
if test x$BREW = xbrew; then if test x$BREW = xbrew; then
dnl These Homebrew packages may be keg-only, meaning that they won't be found dnl These Homebrew packages may be keg-only, meaning that they won't be found

6
contrib/macdeploy/macdeployqtplus

@ -791,7 +791,7 @@ if config.dmg is not None:
except subprocess.CalledProcessError as e: except subprocess.CalledProcessError as e:
sys.exit(e.returncode) sys.exit(e.returncode)
m = re.search("/Volumes/(.+$)", output) m = re.search("/Volumes/(.+$)", output.decode())
disk_root = m.group(0) disk_root = m.group(0)
disk_name = m.group(1) disk_name = m.group(1)
@ -852,7 +852,7 @@ if config.dmg is not None:
"items_positions" : "\n ".join(items_positions) "items_positions" : "\n ".join(items_positions)
} }
if "window_bounds" in fancy: if "window_bounds" in fancy:
params["window.bounds"] = ",".join([str(p) for p in fancy["window_bounds"]]) params["window_bounds"] = ",".join([str(p) for p in fancy["window_bounds"]])
if "icon_size" in fancy: if "icon_size" in fancy:
params["icon_size"] = str(fancy["icon_size"]) params["icon_size"] = str(fancy["icon_size"])
if bg_path is not None: if bg_path is not None:
@ -868,7 +868,7 @@ if config.dmg is not None:
print(s) print(s)
p = subprocess.Popen(['osascript', '-'], stdin=subprocess.PIPE) p = subprocess.Popen(['osascript', '-'], stdin=subprocess.PIPE)
p.communicate(input=s) p.communicate(input=s.encode('utf-8'))
if p.returncode: if p.returncode:
print("Error running osascript.") print("Error running osascript.")

4
doc/build-osx.md

@ -18,6 +18,10 @@ Dependencies
brew install automake berkeley-db4 libtool boost --c++11 miniupnpc openssl pkg-config homebrew/versions/protobuf260 --c++11 qt5 libevent brew install automake berkeley-db4 libtool boost --c++11 miniupnpc openssl pkg-config homebrew/versions/protobuf260 --c++11 qt5 libevent
In case you want to build the disk image with `make deploy` (.dmg / optional), you need RSVG
brew install librsvg
NOTE: Building with Qt4 is still supported, however, could result in a broken UI. Building with Qt5 is recommended. NOTE: Building with Qt4 is still supported, however, could result in a broken UI. Building with Qt5 is recommended.
Build Bitcoin Core Build Bitcoin Core

Loading…
Cancel
Save