aboutsummaryrefslogtreecommitdiff
path: root/contrib/macdeploy/README.md
AgeCommit message (Collapse)Author
2024-06-14doc: rewrite some of the macdeploy docsfanquake
Somewhat of a followup to #21778.
2024-05-22guix: remove ZERO_AR_DATE exportfanquake
LLD enables ZERO_AR_DATE by default, setting it to zero would enable non-determinism, setting it to any other value is ignored. See: https://github.com/llvm/llvm-project/blob/main/lld/docs/MachO/ld64-vs-lld.rst.
2024-05-22depends: remove cctools & libtapifanquake
2024-04-17build: don't use install_name_tool for macOS deploy when cross-compilingfanquake
This is only needed when compiling on macOS. This means we can also better scope the usage of `-headerpad_max_install_names`.
2023-12-05build: use macOS 14 SDK (Xcode 15.0)fanquake
2023-09-15build: remove dmg dependenciesfanquake
2022-06-28doc: Fix typo in macdeployJeremy Rand
The text of the link used an underscore, while the URL used a space. The latter is correct; the former yields zero results on Apple's website.
2022-04-22contrib: macdeploy: fix permissions typo in gen-sdk scriptPavol Rusnak
2022-04-21Merge bitcoin/bitcoin#24031: build: don't compress macOS DMGfanquake
1dd8cbfbc6318308b5e75023568f818ef6a9c7e4 build: don't compress macOS DMG (fanquake) Pull request description: Skip compressing the macOS DMG, and drop related build steps and dependencies. Uncompressed the DMG increases from ~16mb to ~30mb, which compared to other software a user may download, (Firefox 125mb, VLC 52mb, Open Office 176mb), is still relatively small. When contrasted against the 100's of GB of blockchain data a node will download, an additional 15mb to get the release binary, isn't much additional overhead. Note that if / when we build with LTO enabled for releases, this size will shrink back down significantly again. `native_libdmg-hfsplus` is not maintained, and I doubt the DMG creation feature will ever be fixed. If at some point `xorrisofs` supports compressing dmgs, we could enable that. Guix Build on x86_64: ```bash 25b7c8bb7bc8ea014d43cebb844a842d2ac8d5a343039a820d24b649c9e6bc8a guix-build-1dd8cbfbc631/output/arm64-apple-darwin/SHA256SUMS.part 16beb5c52c9bf51b5ce9ef5a0d17c0038238a833383586a1b14acbca78533e4b guix-build-1dd8cbfbc631/output/arm64-apple-darwin/bitcoin-1dd8cbfbc631-arm64-apple-darwin-unsigned.dmg d8f89a61a7448d6334dbb3639386a7b6340542393933f35421a9e6dfc724e455 guix-build-1dd8cbfbc631/output/arm64-apple-darwin/bitcoin-1dd8cbfbc631-arm64-apple-darwin-unsigned.tar.gz 11617dc261ef602433f5bb29956a40a9085dbc783f519f75fbe06e80970148d0 guix-build-1dd8cbfbc631/output/arm64-apple-darwin/bitcoin-1dd8cbfbc631-arm64-apple-darwin.tar.gz aa8550d4a394d3161d14ec5e6012ed07354135afb022e905a1946785b4665664 guix-build-1dd8cbfbc631/output/dist-archive/bitcoin-1dd8cbfbc631.tar.gz 2b837f2f971a9738d0b7b8497f7ded740ef5e67c8baa7f30ca33e6b7d826eec8 guix-build-1dd8cbfbc631/output/x86_64-apple-darwin/SHA256SUMS.part db972b2c06dbde5525a3f9e6ceb9c20a8120bc9a6f15e1d852a4bfac09d88569 guix-build-1dd8cbfbc631/output/x86_64-apple-darwin/bitcoin-1dd8cbfbc631-x86_64-apple-darwin-unsigned.dmg 50fe990c3f9923ee92195125faf6517396e7c1b017a8f4f7d52e991ebce52f0c guix-build-1dd8cbfbc631/output/x86_64-apple-darwin/bitcoin-1dd8cbfbc631-x86_64-apple-darwin-unsigned.tar.gz 1d9022b0ae46ead41046c40f82291ce363760660a3cd6e6ef6a5b1128b90faef guix-build-1dd8cbfbc631/output/x86_64-apple-darwin/bitcoin-1dd8cbfbc631-x86_64-apple-darwin.tar.gz ``` Guix Build on arm64: ```bash ``` ACKs for top commit: Sjors: re-tACK 1dd8cbfbc6318308b5e75023568f818ef6a9c7e4 on Intel macOS laanwj: Build system changes code review ACK 1dd8cbfbc6318308b5e75023568f818ef6a9c7e4, I don't know anything about MacOS application formats and their internals so do not have an opinion on the contents of this change. jarolrod: ACK https://github.com/bitcoin/bitcoin/commit/1dd8cbfbc6318308b5e75023568f818ef6a9c7e4 Tree-SHA512: 04c5bf78f26a9877777093ec4c50c457107bef59d720839ea5e7d7e4f7961dfee9f86b40cf791524a9e60e9e77403a797e9fcdae3849b60b759f9f66cc31b6ab
2022-04-11build: don't compress macOS DMGfanquake
2022-03-12contrib: macdeploy: make gen-sdk deterministicPavol Rusnak
2022-02-10doc: cleanup doc on need of Developer Account to obtain macOS SDKjarolrod
The explicit statement that an Apple Developer Account is required in order to obtain the SDK is buried within the "Deterministic macOS DMG Notes" section. It should be the first thing mentioned under the "SDK Extraction" section. The reason to do this is to set expectations of what is required before starting any steps or clicking on links. This fixes the issue by doing just that; moving this information to the "SDK Extraction" section. Now that the information is moved, this also deletes unnecessary SDK related notes from the "Deterministic macOS DMG Notes" section. It is not necessary to explain under what sub-directory 'most' of the important files are inside of the 'Xcode.app'.
2022-01-26build: use macOS 11 SDK (Xcode 12.2)fanquake
This should be sufficient to support building for Apple ARM when cross-compiling.
2021-08-31release: remove gitianfanquake
2021-07-29macdeploy: alternative info to download the macOS SDKAntoine Poinsot
The previous link wasn't accessible for me, this adds some instructions given to me by Hebasto on #bitcoin-core-builds as well as a shasum for the archive to quickly check the downloaded one is the right one before processing with the entire Guix build. This also corrects a link to an older version of the SDK currently in use. Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2021-05-01build: Xcode 12.1, macOS SDK 10.15.6fanquake
2021-04-29build: use -isysroot over --sysroot on macOSfanquake
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: 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-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-23Fix naming of macOS SDK and clarify versionAndrew Chow
2020-02-03build: use macOS 10.14 SDKfanquake
Co-Authored-By: Carl Dong <accounts@carldong.me>
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
2015-05-19[Mac only] rename Bitcoin-Qt.app to "Bitcoin Core.app"Jonas Schnelli
2014-05-20Remove unused imports in macdeploy scriptFederico Bond
2013-10-15Finished /Contrib Index. Standardized READMEs.super3
File and Link Fix.