aboutsummaryrefslogtreecommitdiff
path: root/contrib/macdeploy
AgeCommit message (Collapse)Author
2021-05-01build: Xcode 12.1, macOS SDK 10.15.6fanquake
2021-04-29build: use -isysroot over --sysroot on macOSfanquake
2021-01-07gitian: use signapple to create the MacOS code signatureAndrew Chow
2021-01-07gitian: use signapple to apply the MacOS code signatureAndrew Chow
2020-12-21script: Remove outdated extract-osx-sdk.shHennadii Stepanov
2020-12-16build: Replace genisoimage with xorrisofanquake
xorriso and its mkisofs/genisoimage emulation alter-ego xorrisofs are more maintained, and has the right toggles for us to achieve output determinism without using blunt tools like faketime. In this commit, we use xorrisofs from the build environment rather than building it ourselves using depends. This is not necessary and can be changed in the future. From https://wiki.debian.org/genisoimage?action=recall&rev=11 : > The classical command line interface for production of ISO 9660 > filesystem images is the option set established by program mkisofs. > For reasons of licensing and other problems with its author, Debian > ships a fork of mkisofs, called genisoimage, which was split off in > 2006 and then developed independently. > > Meanwhile, genisoimage gets no new features and not even bug fixes. It > is first choice only if its options -udf or -hfs are needed. > > Replacement in most uses cases, especially for bootable ISO 9660 > filesystems, archiving, and backup, is xorrisofs which starts the -as > mkisofs emulation mode of program xorriso.
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-11depends: native_ds_store 1.3.0fanquake
native_ds_store now takes advantage of Pythons ability to decode binary plists (since 3.4), so we can drop its biplist dependency. The call to biplist.Data() in custom_dsstore doesn't seem to do anything, and from what I can tell can just be removed.
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.
2020-06-22macos: Bump to xcode 11.3.1 and 10.15 SDKCory Fields
This gets us a newer SDK with c++17 support and retains 10.12 back-compat. Co-authored-by: Carl Dong <contact@carldong.me>
2020-06-22contrib: macdeploy: Remove historical extraction notesCarl Dong
2020-06-22contrib: macdeploy: Use apple-sdk-tools instead of xar+pbzxCarl Dong
2020-06-19contrib: macdeploy: Correctly generate macOS SDKCarl Dong
Previously, we did not include the macOS SDK libc++ headers in our SDK creation process and instead used whichever libc++ headers shipped with the clang package we downloaded in depends. This change adds a script (which works on both GNU/Linux and macOS) to correctly generate the macOS SDK including the libc++ headers. This can be thought of as a simplified rewrite of tpoechtrager's script: https://github.com/tpoechtrager/osxcross/blob/d3392f4eae78f3fa3f1fd065fa423f2712825102/tools/gen_sdk_package.sh The location within the SDK where we place the libc++ headers is chosen such that clang's search path detection logic for sysroots would pick up the headers properly. We also document this change.
2020-04-24Merge #18589: Fix naming of macOS SDK and clarify versionfanquake
eb37275a6f972c81caef010b4ee9c5dc88edc759 Fix naming of macOS SDK and clarify version (Andrew Chow) Pull request description: Fixes the `MacOSX10.14.sdk.tar.gz` creation command to have `MacOSX.sdk` be correctly named as `MacOSX10.14.sdk` and for the resulting file to be placed in the current directory. Gitian requires that `tar.gz` contains a folder named `MacOSX10.14.sdk` and the command did not do this originally. Having the file be placed in the current directory is a convenience so builders don't have to go find it. Also clarifies which version of Xcode to download and where it can be downloaded. ACKs for top commit: fanquake: ACK eb37275a6f972c81caef010b4ee9c5dc88edc759 - tested the macOS and Linux SDK extraction. Also noticed something seemingly broken with Apple `tar`, but will open an issue to follow up. Sjors: ACK eb37275 for the macOS instruction Tree-SHA512: d691e14711cf195999291dd6fb7ffe552c86f8b30d2b1a77e88b4db6050dd817ba128b047cf36d29b0bb0d4183e709b7c03aa27f31b64e562ea8cd948434ca55
2020-04-23Fix naming of macOS SDK and clarify versionAndrew Chow
2020-04-16scripted-diff: Bump copyright headersMarcoFalke
-BEGIN VERIFY SCRIPT- ./contrib/devtools/copyright_header.py update ./ -END VERIFY SCRIPT-
2020-02-03build: use macOS 10.14 SDKfanquake
Co-Authored-By: Carl Dong <accounts@carldong.me>
2020-01-15scripted-diff: Bump copyright of files changed in 2020MarcoFalke
-BEGIN VERIFY SCRIPT- ./contrib/devtools/copyright_header.py update ./ -END VERIFY SCRIPT-
2019-12-30scripted-diff: Bump copyright of files changed in 2019MarcoFalke
-BEGIN VERIFY SCRIPT- ./contrib/devtools/copyright_header.py update ./ -END VERIFY SCRIPT-
2019-10-15Update macdeploy README to include correctly named `.dmg` file produced from ↵Zakk
`make deploy`
2019-09-17doc: Fix whitespace errs in .md files, bitcoin.conf, Info.plist.in, and ↵Jon Layton
find_bdb48.m4
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-07-04Enable ShellCheck rulesHennadii Stepanov
Enabled ShellCheck rules: SC1087 SC2001 SC2004 SC2005 SC2006 SC2016 SC2028 SC2048 SC2066 (note that IFS already contains only a line feed) SC2116 SC2166 SC2181 SC2206 SC2207 SC2230 SC2236
2019-01-16build: Drop macports supportBen Woosley
It's untested / unmaintained, according to theuni. https://github.com/bitcoin/bitcoin/pull/14920/files#r246964938
2018-12-29Update copyright headers to 2018DrahtBot
2018-10-20[macOS] Remove DS_Store WindowBounds bytes objectJonas Schnelli
2018-07-27Update copyright headers to 2018DrahtBot
2018-06-20Obsolete #!/bin/bash shebangDesWurstes
2018-06-14Add "export LC_ALL=C" to all shell scriptspracticalswift
2018-03-26Change all python files to use Python3John Newbery
2017-10-18Fix incorrect quoting of quotes (the previous quotes had no effect beyond ↵practicalswift
unquoting)
2017-04-25Use `with` in `macdeployqtplus` script.Chris Gavin
2017-04-25Remove unused variable from `macdeployqtplus` script.Chris Gavin
2017-03-13Merge #9514: release: Windows signing scriptWladimir J. van der Laan
09fe2d9 release: update docs to show basic codesigning procedure (Cory Fields) f642753 release: create a bundle for the new signing script (Cory Fields) 0068361 release: add win detached sig creator and our cert chain (Cory Fields) Tree-SHA512: 032ad84697c70faaf857b9187f548282722cffca95d658e36413dc048ff02d9183253373254ffcc1158afb71140753f35abfc9fc8781ea5329c04d13c98759c0
2017-01-29Fix typospracticalswift
2017-01-10release: create a bundle for the new signing scriptCory Fields
Also change the mac filename to match The procedure remains the same, but now there's a nifty script to automate the signing process. Future steps: - Build osslsigncode in the gitian-win descriptor so that the signer itself is deterministic. - Verify in the gitian-win-signer descriptor that the expected cert chain was used.