fanquake
5d2cbdf772
macdeploy: use Python 3.6
2020-11-30 14:54:20 +08:00
fanquake
a42aa94c54
macdeploy: remove runHDIUtil in favor of directly calling subprocess.run
2020-11-30 14:54:20 +08:00
fanquake
adaa26202b
macdeploy: remove existing Bitcoin-Core.dmg if present
2020-11-30 14:54:20 +08:00
fanquake
ccb0325b1b
macdeploy: move qt_conf to where it's used
2020-11-30 14:54:20 +08:00
fanquake
6390a04862
macdeploy: consolidate .DS_Store generation
...
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-30 14:54:19 +08:00
fanquake
32347cd56a
macdeploy: assume plistlib is available
...
We already require Python 3.5 or later
2020-11-30 14:54:19 +08:00
fanquake
0ab4018c12
macdeploy: have a single level of logging output
...
4 different levels of verbosity is overkill for a fairly simple script, which
was always being run at 2 in any case.
2020-11-30 14:54:19 +08:00
fanquake
827d382aa7
macdeploy: remove add-resources argument
2020-11-30 14:54:19 +08:00
fanquake
464b34d4c3
macdeploy: remove codesigning argument
2020-11-30 14:54:19 +08:00
fanquake
4d70d3d7fe
build: automatically determine macOS translations
...
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-30 14:54:18 +08:00
Jonas Schnelli
04a69c200e
macOS deploy: use the new plistlib API
...
See https://docs.python.org/3/library/plistlib.html .
The new API was added in 3.4 and old removed in 3.9.
2020-11-04 10:28:02 +01:00
fanquake
59681beb89
Merge #16477 : build: skip deploying plugins we dont use in macdeployqtplus
...
1ac7b7f66b
scripts: filter more qt plugins we don't use in macdeployqtplus (fanquake)
57cdd0697d
scripts: misc cleanups in macdeployqtplus (fanquake)
51729a4dfa
scripts: use format() in macdeployqtplus (fanquake)
1c37e81694
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 (febf3a856b
) | 235mb | 86mb | 38s |
| This PR (da98f6d470d236c027b7eb8b5f5552fdca04e803) | 51mb | 21mb | 22s |
Similar change to dd367ff8c9
.
```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 1ac7b7f66b
(purely Python code review and the fact that this passes travis, cannot run this on a mac)
dongcarl:
tested ACK 1ac7b7f66b
Tree-SHA512: 5974eeaf7229bb5bde2b283c1331ec57ee87f624db146401f6b77dee4ee5502e0bd669958a46205f10398a371f8e6c91ddacb9f0e1943f9f7d042fb6de7957a8
2019-09-10 10:53:59 +10:00
Ben Woosley
b21680baf5
test/contrib: Fix invalid escapes in regex strings
...
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-09-03 14:38:38 -04:00
fanquake
1ac7b7f66b
scripts: filter more qt plugins we don't use in macdeployqtplus
...
phonon is no longer a part of Qt as of version 5
2019-07-29 09:35:51 +08:00
fanquake
57cdd0697d
scripts: misc cleanups in macdeployqtplus
2019-07-29 08:28:41 +08:00
fanquake
51729a4dfa
scripts: use format() in macdeployqtplus
2019-07-29 08:28:41 +08:00
fanquake
1c37e81694
scripts: add type annotations to macdeployqtplus
2019-07-29 08:28:41 +08:00
Ben Woosley
4e81438f65
build: Drop macports support
...
It's untested / unmaintained, according to theuni.
https://github.com/bitcoin/bitcoin/pull/14920/files#r246964938
2019-01-16 12:13:59 -08:00
John Newbery
bc6fdf2d15
Change all python files to use Python3
2018-03-26 16:49:33 -04:00
Chris Gavin
e8babc4330
Use with
in macdeployqtplus
script.
2017-04-25 09:18:08 +01:00
Chris Gavin
4f3ac7ddd7
Remove unused variable from macdeployqtplus
script.
2017-04-25 09:18:03 +01:00
practicalswift
5f62e3eb63
Fix typos
2017-01-29 18:19:55 +01:00
Don Patterson
2fb98f6661
Fix bug in dmg builder so that it actually reads in the configuration file
2016-12-30 10:44:58 +01:00
Cory Fields
09aefb5177
build: Fix 'make deploy' for OSX
...
Native OSX uses system tools rather than 3rd party dependencies. rsvg-convert
is still required, though.
2016-12-23 09:48:52 +01:00
Wladimir J. van der Laan
a6666b25c7
depends: mac deploy Py3 compatibility
...
This fixes the gitian MacOSX build, it was broken in #7723 .
The patch to `native_mac_alias` should probably make it upstream.
2016-04-21 13:40:51 -04:00
Wladimir J. van der Laan
18f05c765c
build: python 3 compatibility
...
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.
2016-03-29 17:20:16 +02:00
Luke Dashjr
63bcdc5227
More complicated package name substitution for Mac deployment
2015-12-22 03:24:21 +00:00
Jonas Schnelli
0a32a9347e
OSX: use "Bitcoin Core" as Bundle Display Name
2015-06-03 10:06:10 +02:00
Jonas Schnelli
a2241eabfd
[OSX] revert renaming of Bitcoin-Qt.app
2015-06-01 15:42:34 +02:00
Jonas Schnelli
7cef321e65
[Mac only] rename Bitcoin-Qt.app to "Bitcoin Core.app"
2015-05-19 11:03:49 +02:00
Cory Fields
88a797320a
osx packaging: move background image to .background to match gitian builds
...
Also increase temp dmg filesize to account for a bigger background image
2015-01-20 09:32:54 +01:00
Cory Fields
dd367ff8c9
build: macdeploy: filter out irrelevant qt5 frameworks and dylibs
2014-10-01 19:26:29 -04:00
Gavin Andresen
965c306d6d
Keep symlinks when copying into .app bundle
...
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-10-01 09:58:00 -04:00
Cory Fields
af0bd5ee7f
osx: fix signing to make Gatekeeper happy (again)
...
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-09-29 22:03:24 -04:00
Cory Fields
65f3fa8d11
build: osx: Fix incomplete framework packaging for codesigning
...
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-23 15:24:42 -04:00
Cory Fields
71941ce580
build: teach macdeploy the -translations-dir argument, for use with static qt
...
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-08-06 19:29:19 -04:00
Wladimir J. van der Laan
1de2992e07
Merge pull request #4104
...
68aa01e
Fixes error (Ian Carroll)
2014-07-30 11:45:41 +02:00
Federico Bond
502972f16b
Fix Error: No file at @loader_path/libboost_system-mt.dylib
2014-07-09 20:50:30 -03:00
Wladimir J. van der Laan
b73dc953a8
Merge pull request #4187
...
d16f6f8
Remove unused imports in macdeploy script (Federico Bond)
2014-05-30 10:07:47 +02:00
Federico Bond
d16f6f87e1
Remove unused imports in macdeploy script
2014-05-20 10:28:16 -03:00
Federico Bond
c6e36b0492
Fix NameError in macdeploy script
2014-05-15 03:27:35 -03:00
Ian Carroll
68aa01e51f
Fixes error
2014-04-28 19:36:28 -04:00
Cory Fields
0f21d39ffa
build: fix qt.conf case-sensitivity in the deployed dmg
...
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-20 13:06:16 -04:00
Cory Fields
275d6a3115
build: allow correct tools to be used for dmg creation.
...
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.
2014-03-20 13:06:16 -04:00
Cory Fields
35b8af9226
autotools: switch to autotools buildsystem
2013-09-05 21:31:03 -04:00
Gavin Andresen
33b377a016
Port macdeployqtplus to OSX 10.8
...
Use 'osascript' to run AppleScript, instead of using (broken-in-10.8)
python appscript package.
And added support for code-signing the .app bundle, to make OSX's
GateKeeper happy.
2013-01-18 10:08:28 -05:00
default
fe703deae7
Deploy properly with Nokia Qt installer's Frameworks
2012-11-21 19:38:56 +00:00
Gavin Andresen
ace35a1997
Fix mac .dmg packager for latest macports qt4
2012-09-05 17:54:37 -04:00
Gavin Andresen
0104e36d4b
Mac deploy tool: make dylibs writeable when copying into app bundle, so they can be stripped/nametool'ed
2012-02-06 09:33:13 -05:00
p2k
f118b5fc5d
miniupnpc Porfile removed; new and improved macdeployqtplus
...
* My patch for miniupnpc has made it into the latest MacPorts release: https://trac.macports.org/ticket/31354
* Documentation has been changed appropriately
* New pure-Python macdeployqt; leverages all problems with the stock macdeployqt
2012-02-06 09:33:12 -05:00