aboutsummaryrefslogtreecommitdiff
path: root/contrib/macdeploy/macdeployqtplus
AgeCommit message (Collapse)Author
2022-01-02build: use a static .tiff for macOS .dmg over generatingfanquake
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
2021-06-09macdeploy: cleanup .temp.dmg if presentfanquake
2021-06-09macdeploy: remove qt4 related codefanquake
2021-06-09macdeploy: select the plugins we need, rather than excluding those we don'tfanquake
2021-06-09macdeploy: fix framework printing when passing -verbosefanquake
2021-06-09macdeploy: remove unused plistlib importfanquake
Unused since #20422, see: https://github.com/bitcoin/bitcoin/pull/20422#discussion_r534207899
2020-11-30macdeploy: use Python 3.6fanquake
2020-11-30macdeploy: remove runHDIUtil in favor of directly calling subprocess.runfanquake
2020-11-30macdeploy: remove existing Bitcoin-Core.dmg if presentfanquake
2020-11-30macdeploy: move qt_conf to where it's usedfanquake
2020-11-30macdeploy: consolidate .DS_Store generationfanquake
Rather than two lots of logic doing roughly the same thing, dependent on if you're compiling on Linux or macOS, combine the .DS store generation into macdeployqtplus. This also removes the -fancy and -volname options.
2020-11-30macdeploy: assume plistlib is availablefanquake
We already require Python 3.5 or later
2020-11-30macdeploy: have a single level of logging outputfanquake
4 different levels of verbosity is overkill for a fairly simple script, which was always being run at 2 in any case.
2020-11-30macdeploy: remove add-resources argumentfanquake
2020-11-30macdeploy: remove codesigning argumentfanquake
2020-11-30build: automatically determine macOS translationsfanquake
Rather than using OSX_QT_TRANSLATIONS which must be manually updated, and we forget to update anyway, i.e: #19059, automatically find and copy available translations from the translations directory.
2020-11-04macOS deploy: use the new plistlib APIJonas Schnelli
See https://docs.python.org/3/library/plistlib.html. The new API was added in 3.4 and old removed in 3.9.
2019-09-10Merge #16477: build: skip deploying plugins we dont use in macdeployqtplusfanquake
1ac7b7f66bd53d2d719377c7e0ab8b38e970c88f scripts: filter more qt plugins we don't use in macdeployqtplus (fanquake) 57cdd0697d5c8fdae4a4c1da1cfa092916be87e7 scripts: misc cleanups in macdeployqtplus (fanquake) 51729a4dfacb5b8d3945d39fa581eaaa9ac9603d scripts: use format() in macdeployqtplus (fanquake) 1c37e81694efb08fea889d9f5151c91dbb74d025 scripts: add type annotations to macdeployqtplus (fanquake) Pull request description: I frequently run `make deploy` while testing on macOS to get a properly light themed .app. With a brew installed Qt, this currently results in a pretty bloated executable: | branch | .app size | .dmg size | `make deploy` time | | ------- | --------- | --------- | --------------------- | | master (febf3a856bcfb8fef2cb4ddcb8d1e0cab8a22580) | 235mb | 86mb | 38s | | This PR (da98f6d470d236c027b7eb8b5f5552fdca04e803) | 51mb | 21mb | 22s | Similar change to dd367ff8c93c2f9e112a324f5cd737c7fa7a2ffa. ```diff 'QtGui.framework'], 'pluginPath': '/usr/local/opt/qt/plugins', 'qtPath': '/usr/local/opt/qt'} -[('platforminputcontexts', 'libqtvirtualkeyboardplugin.dylib'), - ('geoservices', 'libqtgeoservices_esri.dylib'), - ('geoservices', 'libqtgeoservices_mapboxgl.dylib'), - ('geoservices', 'libqtgeoservices_nokia.dylib'), - ('geoservices', 'libqtgeoservices_itemsoverlay.dylib'), - ('geoservices', 'libqtgeoservices_osm.dylib'), - ('geoservices', 'libqtgeoservices_mapbox.dylib'), - ('sceneparsers', 'libgltfsceneexport.dylib'), - ('sceneparsers', 'libgltfsceneimport.dylib'), - ('platforms', 'libqwebgl.dylib'), +[('platforms', 'libqwebgl.dylib'), ('platforms', 'libqoffscreen.dylib'), ('platforms', 'libqminimal.dylib'), ('platforms', 'libqcocoa.dylib'), ('platformthemes', 'libqxdgdesktopportal.dylib'), - ('printsupport', 'libcocoaprintersupport.dylib'), - ('webview', 'libqtwebview_webengine.dylib'), - ('webview', 'libqtwebview_darwin.dylib'), - ('geometryloaders', 'libdefaultgeometryloader.dylib'), - ('geometryloaders', 'libgltfgeometryloader.dylib'), ('styles', 'libqmacstyle.dylib'), - ('canbus', 'libqttinycanbus.dylib'), - ('canbus', 'libqtpassthrucanbus.dylib'), - ('canbus', 'libqtvirtualcanbus.dylib'), - ('canbus', 'libqtpeakcanbus.dylib'), ('bearer', 'libqgenericbearer.dylib'), - ('imageformats', 'libqgif.dylib'), - ('imageformats', 'libqwbmp.dylib'), - ('imageformats', 'libqwebp.dylib'), - ('imageformats', 'libqico.dylib'), - ('imageformats', 'libqmacheif.dylib'), - ('imageformats', 'libqjpeg.dylib'), - ('imageformats', 'libqtiff.dylib'), - ('imageformats', 'libqicns.dylib'), - ('imageformats', 'libqtga.dylib'), - ('imageformats', 'libqmacjp2.dylib'), - ('texttospeech', 'libqtexttospeech_speechosx.dylib'), - ('generic', 'libqtuiotouchplugin.dylib'), - ('renderplugins', 'libscene2d.dylib'), - ('gamepads', 'libdarwingamepad.dylib'), - ('virtualkeyboard', 'libqtvirtualkeyboard_thai.dylib'), - ('virtualkeyboard', 'libqtvirtualkeyboard_openwnn.dylib'), - ('virtualkeyboard', 'libqtvirtualkeyboard_hangul.dylib'), - ('virtualkeyboard', 'libqtvirtualkeyboard_pinyin.dylib'), - ('virtualkeyboard', 'libqtvirtualkeyboard_tcime.dylib')] + ('generic', 'libqtuiotouchplugin.dylib')] ``` ACKs for top commit: laanwj: ACK 1ac7b7f66bd53d2d719377c7e0ab8b38e970c88f (purely Python code review and the fact that this passes travis, cannot run this on a mac) dongcarl: tested ACK 1ac7b7f66bd53d2d719377c7e0ab8b38e970c88f Tree-SHA512: 5974eeaf7229bb5bde2b283c1331ec57ee87f624db146401f6b77dee4ee5502e0bd669958a46205f10398a371f8e6c91ddacb9f0e1943f9f7d042fb6de7957a8
2019-09-03test/contrib: Fix invalid escapes in regex stringsBen Woosley
Flagged by flake8 v3.6.0, as W605, plus a few others identified incidentally, e.g. 59ffecf66cf4d08c4b431e457b083878d66a3fd6. Note that r"\n" matches to "\n" under re.match/search.
2019-07-29scripts: filter more qt plugins we don't use in macdeployqtplusfanquake
phonon is no longer a part of Qt as of version 5
2019-07-29scripts: misc cleanups in macdeployqtplusfanquake
2019-07-29scripts: use format() in macdeployqtplusfanquake
2019-07-29scripts: add type annotations to macdeployqtplusfanquake
2019-01-16build: Drop macports supportBen Woosley
It's untested / unmaintained, according to theuni. https://github.com/bitcoin/bitcoin/pull/14920/files#r246964938
2018-03-26Change all python files to use Python3John Newbery
2017-04-25Use `with` in `macdeployqtplus` script.Chris Gavin
2017-04-25Remove unused variable from `macdeployqtplus` script.Chris Gavin
2017-01-29Fix typospracticalswift
2016-12-30Fix bug in dmg builder so that it actually reads in the configuration fileDon Patterson
2016-12-23build: Fix 'make deploy' for OSXCory Fields
Native OSX uses system tools rather than 3rd party dependencies. rsvg-convert is still required, though.
2016-04-21depends: mac deploy Py3 compatibilityWladimir J. van der Laan
This fixes the gitian MacOSX build, it was broken in #7723. The patch to `native_mac_alias` should probably make it upstream.
2016-03-29build: python 3 compatibilityWladimir J. van der Laan
Ubuntu 16.04 "xenial xerus" does not come with Python 2.x by default. It is possible to install a python-2.7 package, but this has its own problem: no `python` or `python2` symlink (see #7717). This fixes the following scripts to work with python 3: - `make check` (bctest,py, bitcoin-util-test.py) - `make translate` (extract_strings_qt.py) - `make symbols-check` (symbol-check.py) - `make security-check` (security-check.py) Explicitly call the python commands using $(PYTHON) instead of relying on the interpreter line at the top of the scripts.
2015-12-22More complicated package name substitution for Mac deploymentLuke Dashjr
2015-06-03OSX: use "Bitcoin Core" as Bundle Display NameJonas Schnelli
2015-06-01[OSX] revert renaming of Bitcoin-Qt.appJonas Schnelli
2015-05-19[Mac only] rename Bitcoin-Qt.app to "Bitcoin Core.app"Jonas Schnelli
2015-01-20osx packaging: move background image to .background to match gitian buildsCory Fields
Also increase temp dmg filesize to account for a bigger background image
2014-10-01build: macdeploy: filter out irrelevant qt5 frameworks and dylibsCory Fields
2014-10-01Keep symlinks when copying into .app bundleGavin Andresen
Code signing failed for me on OSX 10.9.5 because the Versions/Current symbolic links were being replaced with a duplicate copy of the frameworks' code. Releases were bigger than they needed to be, for the same reason.
2014-09-29osx: fix signing to make Gatekeeper happy (again)Cory Fields
The approach from 65f3fa8d1 worked for signing on 10.9.4, but not newer versions. 10.9.5 (and up) want each framework to stand alone. Now in addition to copying the plist's from Qt for each framework, we put them in per-version dirs and only symlink to the latest, rather than using symlinks for any contents.
2014-08-23build: osx: Fix incomplete framework packaging for codesigningCory Fields
Starting with 10.9, Framework versions must be signed individually, rather than as a single bundle version, in order to be properly codesigned. This change ensures that the proper plist files and symlinks are present prior to packaging.
2014-08-06build: teach macdeploy the -translations-dir argument, for use with static qtCory Fields
When QT is linked statically, macdeploy can't infer its paths. While plugins and frameworks don't need to be packaged, translations still do (for now).
2014-07-30Merge pull request #4104Wladimir J. van der Laan
68aa01e Fixes error (Ian Carroll)
2014-07-09Fix Error: No file at @loader_path/libboost_system-mt.dylibFederico Bond
2014-05-30Merge pull request #4187Wladimir J. van der Laan
d16f6f8 Remove unused imports in macdeploy script (Federico Bond)
2014-05-20Remove unused imports in macdeploy scriptFederico Bond
2014-05-15Fix NameError in macdeploy scriptFederico Bond
2014-04-28Fixes errorIan Carroll
2014-03-20build: fix qt.conf case-sensitivity in the deployed dmgCory Fields
For qt5.2 on osx, the qcocoa plugin is mandatory. However, it fails to load when qt.conf specifies the "plugin" path instead of the expected "Plugin". This is in line with the documentation: https://qt-project.org/doc/qt-5.0/qtdoc/qt-conf.html I'm not sure how the plugins were loading before, unless the case-sensitivity for OSX is new.
2014-03-20build: allow correct tools to be used for dmg creation.Cory Fields
These come from the enironment, which will be properly setup by Make with the paths gleaned from configure. Also don't crash if plugins are static.