aboutsummaryrefslogtreecommitdiff
path: root/contrib/guix/README.md
AgeCommit message (Collapse)Author
2022-01-26guix: add arm64-apple-darwin tripletfanquake
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-11-25scripted-diff: Drop Darwin version for better maintainabilityHennadii Stepanov
-BEGIN VERIFY SCRIPT- sed -i 's/darwin19/darwin/g' $(git grep --files-with-matches 'darwin19') -END VERIFY SCRIPT-
2021-09-21Merge bitcoin/bitcoin#22993: build: set OSX_MIN_VERSION to 10.15fanquake
a43b8e955558483d8893996cc3a67bc74cbaf358 build: set OSX_MIN_VERSION to 10.15 (fanquake) Pull request description: Taken out of #20744, as splitting up some of the build changes was mentioned [here](https://github.com/bitcoin/bitcoin/pull/22937#discussion_r707303172). This is required to use `std::filesystem` on macOS, as support for it only landed in the libc++.dylib shipped with 10.15. So if we want to move to using `std::filesystem` for `23.0`, this bump is required. See also: https://developer.apple.com/documentation/xcode-release-notes/xcode-11-release-notes > Clang now supports the C++17 \<filesystem\> library for iOS 13, macOS 10.15, watchOS 6, and tvOS 13. macOS 10.15 was released in October 2019. macOS OS's seem to have a life of about 3 years, so it's possible that 10.14 will become officially unsupported by the end of 2021 and prior to the release of 23.0. Guix builds: ```bash bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum abc8b749be65f1339dcdf44bd1ed6ade2533b8e3b5030ad1dde0ae0cede78136 guix-build-a43b8e955558/output/dist-archive/bitcoin-a43b8e955558.tar.gz 1edcc301eb4c02f3baa379beb8d4c78e661abc24a293813bc9d900cf7255b790 guix-build-a43b8e955558/output/x86_64-apple-darwin19/SHA256SUMS.part e9dbb5594a664519da778dde9ed861c3f0f631525672e17a67eeda599f16ff44 guix-build-a43b8e955558/output/x86_64-apple-darwin19/bitcoin-a43b8e955558-osx-unsigned.dmg 11b23a17c630dddc7594c25625eea3de42db50f355733b9ce9ade2d8eba3a8f3 guix-build-a43b8e955558/output/x86_64-apple-darwin19/bitcoin-a43b8e955558-osx-unsigned.tar.gz 257ba64a327927f94d9aa0a68da3a2695cf880b3ed1a0113c5a966dcc426eb5e guix-build-a43b8e955558/output/x86_64-apple-darwin19/bitcoin-a43b8e955558-osx64.tar.gz ``` ACKs for top commit: hebasto: ACK a43b8e955558483d8893996cc3a67bc74cbaf358 jarolrod: ACK a43b8e9 Tree-SHA512: 9ac77be7cb56c068578860a3b2b8b7487c9e18b71b14aedd77a9c663f5d4bb19756d551770c02ddd12f1797beea5757b261588e7b67fb53509bb998ee8022369
2021-09-16Enable TLS in links in documentationJeremy Rand
2021-09-16build: set OSX_MIN_VERSION to 10.15fanquake
This is required to use std::filesystem on macOS as support for it only landed in the libc++ dylib shipped with 10.15. See also: https://developer.apple.com/documentation/xcode-release-notes/xcode-11-release-notes Clang now supports the C++17 <filesystem> library for iOS 13, macOS 10.15, watchOS 6, and tvOS 13.
2021-07-23script, doc: guix touchupsjonatack
2021-07-23Updated Readme, Corrected the codesign typoh
2021-07-19guix: Overhaul READMECarl Dong
- Added detailed Guix bootstrap/installation instructions
2021-05-01build: Xcode 12.1, macOS SDK 10.15.6fanquake
2021-04-14doc: remove boostrap info from GUIX_COMMON_FLAGS docfanquake
Passing ADDITIONAL_GUIX_COMMON_FLAGS="--no-substitutes --bootstrap" as suggested doesn't work: ```bash ...outputting in: '/bitcoin/guix-build-a1f0b8b62eb8/output/x86_64-linux-gnu' ...bind-mounted in container to: '/outdir-base/x86_64-linux-gnu' guix time-machine: error: bootstrap: unrecognized option ``` and I think bootstrapping is more than covered in the preceding "Choose your security model" section.
2021-04-12doc: Fix name of script guix-buildStephan Oeste
2021-04-07doc: Fix typos from codespell lintYerzhan Mazhkenov
2021-04-05guix: Add troubleshooting documentation entriesCarl Dong
2021-04-01guix: Use --cores instead of --max-jobsCarl Dong
In Guix, there are two flags for controlling parallelism: Note: When I say "derivation," think "package" --cores=n - controls the number of CPU cores to build each derivation. This is the value passed to `make`'s `--jobs=` flag. - defaults to 0: as many cores as is available --max-jobs=n - controls how many derivations can be built in parallel - defaults to 1 Therefore, if set --max-jobs=$MAX_JOBS and don't set --cores, Guix could theoretically spin up $MAX_JOBS * $(nproc) number of threads, and that's no good. So we could either default to --cores=1, --max-jobs=$MAX_JOBS - Pro: --cores=1 means that `make` will be invoked with `-j1`, avoiding problems with package whose build systems and test suites break when running multi-threaded. - Con: There will be times when only 1 or 2 derivations can be built at a time, because the rest of the dependency graph all depend on those 1 or 2 derivations. During these times, the machine will be severely under-utilized. or --cores=$MAX_JOBS, --max-jobs=1 - Pro: We don't encounter prolonged periods of severe under-utilization mentioned above. - Con: Many packages' build systems and test suites break when running multi-threaded. or --cores=1, --max-jobs=1 and let the user override with $ADDITIONAL_GUIX_COMMON_FLAGS
2021-03-01guix, doc: Update default HOSTS valueHennadii Stepanov
2021-02-22guix: Passthrough SDK_PATH into containerCarl Dong
2021-02-19guix: Update conservative space requirementsCarl Dong
2021-02-16guix: Passthrough BASE_CACHE into containerCarl Dong
This allows depends-built packages to be cached.
2021-02-12doc: Guix is shipped in Debian and UbuntuMarcoFalke
2021-01-21guix: README: Add darwin HOSTS entryCarl Dong
2021-01-08guix: Small updates to README wordingCarl Dong
2021-01-08guix: Update HOSTS README entry for new architecturesCarl Dong
2021-01-08guix: Remove README development environment sectionCarl Dong
2021-01-08guix: Add ADDITIONAL_GUIX_{COMMON,TIMEMACHINE}_FLAGS optionsCarl Dong
2021-01-08guix: Add SUBSTITUTE_URLS optionCarl Dong
2020-05-20guix: Add clarifying documentation for V env varCarl Dong
2020-05-01guix: Remove logical cores requirementCarl Dong
Thanks MarcoFalke for pushing this to its limits and testing :-)
2020-04-02guix: Remove dead links from README.Carl Dong
2020-02-09build: Skip i686 build by default in guix and gitianMarcoFalke
2020-01-27guix: Update documentation for time-machineCarl Dong
Wait a minute, doc. Are you telling me you built a time machine... Out of a functional package manager?
2019-07-12contrib: guix: Additional clarifications re: substitutesCarl Dong
2019-07-12contrib: guix: Various improvements.Carl Dong
- Clearer and more accurate prose - Pin `guix pull' to commit rather than branch - Just use `use-module' instead of `define-module' - Use `bash-minimal' instead of `bash' - Remove unneeded `tcsh' from manifest - Explicitly use `python-3.7' - Add comments about how {native,cross}-toolchains are produced and why
2019-07-12contrib: guix: Clarify SOURCE_DATE_EPOCH.Carl Dong
2019-07-12contrib: Add deterministic Guix builds.Carl Dong