Commit graph

396 commits

Author SHA1 Message Date
fanquake
b8710201fb
guix: disable timezone tools & profiling in glibc
Removes `var/profiles/x86_64-linux-gnu/sbin/zdump`.

Profiling is disabled by default, but make that explicit.
2024-12-18 13:30:24 +00:00
fanquake
23b8a424fb
guix: bump glibc 2.31 to 7b27c450c34563a28e634cccb399cd415e71ebfe
An additional commit has been backported to the 2.31 branch:
https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/release/2.31/master.
2024-12-18 12:16:42 +00:00
fanquake
f6496a8388
guix: disable gcov in base-linux-gcc
In a `x86_64-linux-gnu` build, this drops:
```bash
x86_64-linux-gnu/bin/x86_64-linux-gnu-gcov
x86_64-linux-gnu/bin/x86_64-linux-gnu-gcov-dump
x86_64-linux-gnu/bin/x86_64-linux-gnu-gcov-tool
x86_64-linux-gnu/lib/gcc/x86_64-linux-gnu/12.4.0: libgcov.a
```

For mingw-w64-gcc, `--disable-gcov` is currently passed for this
target in Guix, due to issues with mingw-w64, see
8bed031e58/gnu/packages/gcc.scm (L99-L102).
However we'll add it in any case, in case it's re-enabled in future,
when the underlying issues are fixed.
2024-12-09 15:28:25 +00:00
merge-script
1927674100
Merge bitcoin/bitcoin#31387: doc: Use more precise anchor link to codesigning docs
19f49c7489 doc: Use more precise anchor link to codesigning docs (Jeremy Rand)

Pull request description:

  The "Codesigning" section is what users presumably are looking for when they follow this link.

ACKs for top commit:
  fanquake:
    ACK 19f49c7489

Tree-SHA512: 0e25cf0d7160db7d564d67d3e3ac614f9bd209b2399414f1278fa01cfc1ff827aa8311f7c1c2666924d5ac2dc23fe9bc258b80ed8025d5b8d5b11bcf1d12b28c
2024-12-02 14:09:54 +00:00
Jeremy Rand
19f49c7489
doc: Use more precise anchor link to codesigning docs
The "Codesigning" section is what users presumably are looking for when
they follow this link.
2024-11-28 05:48:30 +00:00
Jeremy Rand
8bf1b3039c
doc: Use more precise anchor links to Xcode SDK extraction
The "SDK Extraction" section is what users presumably are looking for
when they follow these links.
2024-11-28 05:36:25 +00:00
fanquake
e8f50c5deb
guix: swap moreutils for just sponge
We build the only moreutils utility we actually need (sponge), have less
unused stuff in the Guix environment, and, the dependency graph is
simplified. i.e we no-longer have a dependency on perl, docbook etc, for
this package.
2024-11-22 10:54:13 +00:00
merge-script
ab22726def
Merge bitcoin/bitcoin#31276: guix: scope pkg-config to Linux only
bcd82b13f4 Remove pkgconfig from toolchain file (TheCharlatan)
319a4e8261 depends: drop sqlite pkgconfig file (fanquake)
a8fe1fd38b depends: better cleanup after fontconfig (fanquake)
17e79c9260 depends: fully remove libtool archives from Qt build (fanquake)
8ca85651c8 guix: move pkg-config to Linux builds (fanquake)
e3e648cf41 depends: drop pkg-config option from Qt build (fanquake)
0d185bd99f doc: update depends doc to prefer .cmake outputs (fanquake)

Pull request description:

  After #31181, `pkg-config` is no-longer needed for macOS or Windows Guix builds. It's still needed for Linux, as it's used by a Qt subdependency (fontconfig to find freetype). However we should also no-longer need it for Qt itself, when building using depends.

ACKs for top commit:
  TheCharlatan:
    ACK bcd82b13f4

Tree-SHA512: 89ae68281030d43fcb6c5c96429cd038a21f13a8ca19ea828ada47e8f9f0aa7407854a67c9003652817e47ab9565573b7028342e3e11bb1cca1d823c483081cd
2024-11-20 10:53:35 +00:00
fanquake
8ca85651c8
guix: move pkg-config to Linux builds
This is no-longer needed for macOS or Windows, and is only required on
Linux for a Qt sub dependency (fontconfig to find freetype).
2024-11-14 11:32:47 +00:00
fanquake
cdf34be7c9
guix: remove util-linux 2024-11-13 15:51:17 +00:00
Hennadii Stepanov
788c1324f3
build: Unify -logsourcelocations format 2024-11-04 11:30:43 +00:00
Hennadii Stepanov
4d3da08d1b
guix: Enable CET for glibc package 2024-10-17 09:32:39 +01:00
Hennadii Stepanov
f1daa80521
guix: Drop no longer needed PATH modification 2024-09-27 12:51:36 +01:00
fanquake
89bf11b807
guix: build Linux GCC with --enable-cet
Similar to #29695, and in the same vein of explicitly configuring
hardening options in our release toolchain.

See https://gcc.gnu.org/install/configure.html:

> Enable building target run-time libraries with control-flow instrumentation,
> see `-fcf-protection option`. When --enable-cet is specified target
> libraries are configured to add `-fcf-protection` and, if needed,
> other target specific options to a set of building options.

> `--enable-cet=auto` is default. CET is enabled on Linux/x86 if target
> binutils supports Intel CET instructions and disabled otherwise.
> In this case, the target libraries are configured to get additional
> `-fcf-protection` option.
2024-09-13 10:28:31 +01:00
Hennadii Stepanov
0004dcc7b1
guix: Drop unused autotools packages 2024-08-30 14:44:21 +01:00
merge-script
3ee1521c04
Merge bitcoin/bitcoin#30730: guix: Bump time machine to 53396a22afc04536ddf75d8f82ad2eafa5082725
60d4398a34 guix: drop GCC 12.4.0 package (fanquake)
5ed1511e50 guix: bump time-machine to 53396a22afc04536ddf75d8f82ad2eafa5082725 (fanquake)

Pull request description:

  Followup to #30511.
  https://git.savannah.gnu.org/cgit/guix.git/commit/?id=9aa38f98cbd41644abe2c43bb4f44f74df642df2 landed.

  Linux headers `6.1.102` -> `6.1.106`

ACKs for top commit:
  hebasto:
    ACK 60d4398a34.
  TheCharlatan:
    ACK 60d4398a34

Tree-SHA512: 6ff4372897e5abb15c28d4607915f777585d54b7a35787ac46f7ddca0d695dc60a7da532d8beb37e2df1de12511220f0dc6428f68d6a4db628de816e2d339914
2024-08-30 09:51:43 +01:00
merge-script
7a226eb4d9
Merge bitcoin/bitcoin#30653: guix: Drop unused module from manifest
Some checks are pending
CI / test each commit (push) Waiting to run
CI / macOS 13 native, x86_64, no depends, sqlite only, gui (push) Waiting to run
CI / Win64 native, VS 2022 (push) Waiting to run
CI / ASan + LSan + UBSan + integer, no depends, USDT (push) Waiting to run
c7fb80a08f guix: Drop unused module from manifest (Hennadii Stepanov)

Pull request description:

  My Guix build:
  ```
  x86_64
  170df52c2238510bd166f3fb1c4c3c11d2c1480a2e468fd532cb4d0435ac11cf  guix-build-c7fb80a08f98/output/aarch64-linux-gnu/SHA256SUMS.part
  54e71ef5135464f58e3db4a3b893fa2f26a2c9cfb465699a363bb59a0d1bd94f  guix-build-c7fb80a08f98/output/aarch64-linux-gnu/bitcoin-c7fb80a08f98-aarch64-linux-gnu-debug.tar.gz
  806d6042151e0af026748379b9bbbfea53d4c91555b2f0d05ed11faf83f429bb  guix-build-c7fb80a08f98/output/aarch64-linux-gnu/bitcoin-c7fb80a08f98-aarch64-linux-gnu.tar.gz
  96f111f81311b55c805f1ebe74c5a5bc3160819e8fc6d14aab778e6a20a5c266  guix-build-c7fb80a08f98/output/arm-linux-gnueabihf/SHA256SUMS.part
  231a29a9ffec9cc88260324da28d8443a6fd455ff0b010574af455034581aea3  guix-build-c7fb80a08f98/output/arm-linux-gnueabihf/bitcoin-c7fb80a08f98-arm-linux-gnueabihf-debug.tar.gz
  a545801e94e2a7a9859f0111be8762a2a7e5ea4636eed86ac95d17f2f4cdb37a  guix-build-c7fb80a08f98/output/arm-linux-gnueabihf/bitcoin-c7fb80a08f98-arm-linux-gnueabihf.tar.gz
  f565c1c7c10cc5c36f2206c3c5aab54422f20e38185c43f4dbd91c12cb33d10d  guix-build-c7fb80a08f98/output/arm64-apple-darwin/SHA256SUMS.part
  0b0d3d7e7300984063109f2ea23fabdf3961fa337ff28ed602a22965cdf6b499  guix-build-c7fb80a08f98/output/arm64-apple-darwin/bitcoin-c7fb80a08f98-arm64-apple-darwin-unsigned.tar.gz
  78cfb54230e3b054c4bb121925844720be52269db6a63161eeebe93ebfb2dc21  guix-build-c7fb80a08f98/output/arm64-apple-darwin/bitcoin-c7fb80a08f98-arm64-apple-darwin-unsigned.zip
  95124a8019053cc296187c0332e3b5b3acef401298baadacf52713068764dd99  guix-build-c7fb80a08f98/output/arm64-apple-darwin/bitcoin-c7fb80a08f98-arm64-apple-darwin.tar.gz
  a8b36c808c7b57cb2a20e43af36749c07f14392b9816752b68a986f9124806fc  guix-build-c7fb80a08f98/output/dist-archive/bitcoin-c7fb80a08f98.tar.gz
  f7221bc6ed56b5af1196f67c776bd80de9f2b9dc8bf84b0a8602a586fda43079  guix-build-c7fb80a08f98/output/powerpc64-linux-gnu/SHA256SUMS.part
  e04410e453a9fcefacdbe9a1a43ad1f9ec6a36d622d258ea4208af1dc461692d  guix-build-c7fb80a08f98/output/powerpc64-linux-gnu/bitcoin-c7fb80a08f98-powerpc64-linux-gnu-debug.tar.gz
  64135391e147c7357b17b72b1e54e93a9a7931f90c4d14a2066f1c9a160881a0  guix-build-c7fb80a08f98/output/powerpc64-linux-gnu/bitcoin-c7fb80a08f98-powerpc64-linux-gnu.tar.gz
  3f2375042bc29a7f87cadc6ba3ce7389fa5e6f6c53b32836c7fc249e4ba9838e  guix-build-c7fb80a08f98/output/riscv64-linux-gnu/SHA256SUMS.part
  33b8396ab0e1fd3121a85f1a80d81d52fe9be151f401f08283f9d5b8ecbd251b  guix-build-c7fb80a08f98/output/riscv64-linux-gnu/bitcoin-c7fb80a08f98-riscv64-linux-gnu-debug.tar.gz
  418a264d0bcde9665d5760061284ca3b5533c9f63769a76bc64c69d8b3c7d82f  guix-build-c7fb80a08f98/output/riscv64-linux-gnu/bitcoin-c7fb80a08f98-riscv64-linux-gnu.tar.gz
  3fed3e2d050059694da965e1752468c3d054f1acf5b774242eb8e7a73a775af5  guix-build-c7fb80a08f98/output/x86_64-apple-darwin/SHA256SUMS.part
  a5d2ddf1c1bbc22d104ef08d0bd73f8d9c5c8404791df66d51ffc76a0c638fb2  guix-build-c7fb80a08f98/output/x86_64-apple-darwin/bitcoin-c7fb80a08f98-x86_64-apple-darwin-unsigned.tar.gz
  bc3a44ca40c5bad631b76c240a7f1f46d0597cbf0c2389473d856e29775b3f1a  guix-build-c7fb80a08f98/output/x86_64-apple-darwin/bitcoin-c7fb80a08f98-x86_64-apple-darwin-unsigned.zip
  5b2f0aaf4c023cda33fe952f18a977cc735c5e1524b45e734f99641ee605cc5d  guix-build-c7fb80a08f98/output/x86_64-apple-darwin/bitcoin-c7fb80a08f98-x86_64-apple-darwin.tar.gz
  e56223d773f7d1a0a0dbe99d98e60420f729987f14fb98f18eabe6575352f68c  guix-build-c7fb80a08f98/output/x86_64-linux-gnu/SHA256SUMS.part
  6e4a27fcafb1ec2dda41c7e486897ff51a4447d0ebfa6be30bdef6648c673786  guix-build-c7fb80a08f98/output/x86_64-linux-gnu/bitcoin-c7fb80a08f98-x86_64-linux-gnu-debug.tar.gz
  3ff4232266a461bb55518a1e8834867e7e79c02914c59eb8f6b5052a26aefc12  guix-build-c7fb80a08f98/output/x86_64-linux-gnu/bitcoin-c7fb80a08f98-x86_64-linux-gnu.tar.gz
  fd2cfb0befaf849e98574698ddab121a01c7894bb5acc789b9eb9c3bbe78e7b2  guix-build-c7fb80a08f98/output/x86_64-w64-mingw32/SHA256SUMS.part
  58a2f67ecc94b2daad37ab99e74708c062094eb047136e57451d89f856d0c9aa  guix-build-c7fb80a08f98/output/x86_64-w64-mingw32/bitcoin-c7fb80a08f98-win64-debug.zip
  6ccf68edc22dab4cc3171f3d8cdaed0444c438bca812512586edd81029de2c57  guix-build-c7fb80a08f98/output/x86_64-w64-mingw32/bitcoin-c7fb80a08f98-win64-setup-unsigned.exe
  d466b5bc2ace63995ca22943997db7c292e240cdee7c63e127ecd380a1ca9558  guix-build-c7fb80a08f98/output/x86_64-w64-mingw32/bitcoin-c7fb80a08f98-win64-unsigned.tar.gz
  b3fd8af55443feb8667940a18fb511e6d85ece1dd9fa0aa40f68e5ea86ab46df  guix-build-c7fb80a08f98/output/x86_64-w64-mingw32/bitcoin-c7fb80a08f98-win64.zip
  ```

ACKs for top commit:
  fanquake:
    ACK c7fb80a08f - looks like this was last used in https://github.com/bitcoin/bitcoin/pull/27179.

Tree-SHA512: 40498cb514a31609e721b3865a99b91e4ff2bf5760750a42b5b16333d905d13cf2f87481aabc679c08b9e872a6886a7c928706b6d7ada08df02672d4b5156ba1
2024-08-29 11:40:27 +01:00
fanquake
60d4398a34
guix: drop GCC 12.4.0 package
Now that 12.4.0 is upstreamed.
2024-08-28 11:18:21 +01:00
fanquake
5ed1511e50
guix: bump time-machine to 53396a22afc04536ddf75d8f82ad2eafa5082725
Includes:
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=9aa38f98cbd41644abe2c43bb4f44f74df642df2.
2024-08-28 11:18:11 +01:00
Hennadii Stepanov
6ce50fd9d0
doc: Update for CMake-based build system
Co-authored-by: Lőrinc <pap.lorinc@gmail.com>
Co-authored-by: pablomartin4btc <pablomartin4btc@gmail.com>
2024-08-16 21:24:08 +01:00
Hennadii Stepanov
e821f0a37a
cmake: Migrate Guix build scripts to CMake 2024-08-16 21:19:11 +01:00
Hennadii Stepanov
c7fb80a08f
guix: Drop unused module from manifest 2024-08-14 10:44:16 +01:00
Ava Chow
5b0059fdf9
Merge bitcoin/bitcoin#29999: guix: fix suggested fake date for openssl-1.1.1l
8fee5355ee guix: fix suggested fake date for openssl -1.1.1l (Sjors Provoost)

Pull request description:

  Using `2020-10-01` as the fake timestamp will cause many test failures with `/gnu/store/bfirgq65ndhf63nn4q6vlkbha9zd931q-openssl-1.1.1l.drv`. I didn't investigate why, but I guess because it's _before_ the test certificates were created. They expired in June 2022. I tried a month before that, which worked.

  Also fixes layout of instructions.

ACKs for top commit:
  achow101:
    ACK 8fee5355ee
  maflcko:
    review ACK 8fee5355ee

Tree-SHA512: df5dd3aa961e25bd57d0b8b73daeb3ec76856b06e35277f24b6b19be81774512228f75e2b779afa8ea92fcc39beb869f43e0c57fba19ad16a82812e7c0bea38b
2024-08-12 15:22:58 -04:00
fanquake
eca20bead2
guix: bump time-machine to 7bf1d7aeaffba15c4f680f93ae88fbef25427252
Includes:
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=d428237642e1e4ac8fda4597205ffec89926c0ec.

which removes the need to build Python2, and OpenSSL 1.x when building
for Windows.
2024-08-08 10:44:43 +01:00
merge-script
2401a24387
Merge bitcoin/bitcoin#30452: guix: bump time-machine to efc26826400762207cde9f23802cfe75a737963c
6ee000e56f guix: bump time-machine to efc26826400762207cde9f23802cfe75a737963c (fanquake)
cbeb2c20e1 guix: patch /gnu/store paths out of winpthreads (fanquake)

Pull request description:

  Needed for https://github.com/bitcoin/bitcoin/issues/30210. This doesn't switch runtimes, because upstream is
  still configured to use the old runtime. See:
  https://git.savannah.gnu.org/cgit/guix.git/commit/?id=17188be0f723e00377b21b767f5447d7938a116e.

  git-mimimal `2.45.1` -> `2.45.2`
  Kernel Headers `6.1.92` -> `6.1.100`
  LLVM `18.1.6` -> `18.1.8`
  mingw-w64 `11.0.1` -> `12.0.0`
  NSIS `3.09` -> `3.10`
  patch `2.7.6` -> `2.7.6-0.f144b35`

ACKs for top commit:
  TheCharlatan:
    ACK 6ee000e56f

Tree-SHA512: f4f99d16dd8cab5b2b7c5d82111af86de20e1669cc3b4054d72ab4a67b2956757df170f0df28c96d18653c1c9d2ebdd0ecc441005726a20cd963d98513b4a851
2024-07-31 09:50:10 +01:00
merge-script
4c62f4b535
Merge bitcoin/bitcoin#30451: depends: remove Darwin ENV unsetting
bda537f7c4 depends: remove ENV unsetting for darwin (fanquake)
1807760f09 guix: improve ENV unsetting for macOS (fanquake)
0b2aeee21d depends: patch explicit -lm usage out of Qt tools (fanquake)

Pull request description:

  Now that we use the native compiler, and have fixed Qt, and these vars
  are (almost) unset in Guix, we can remove the unsetting from our compiler
  command here.

  I couldn't manage to make a darwin-clang-cross only exclusion of `-lm` work properly
  for Qt, so opted for just removing the explicit link entirely. I do not think this should have
  any other unwanted side-effects.

  Fixes #21552.

ACKs for top commit:
  TheCharlatan:
    ACK bda537f7c4

Tree-SHA512: 97a2d85de7d4b1d65717ecb521399ecba5f53863b8aef21af62ede5ceee59ee1a9392663da3a3852cad1b6d8b420dd4b0b5f0eea38d30a81785d8b2718620b5f
2024-07-30 14:32:14 +01:00
fanquake
e6df3485ed
guix: move bison from global scope, to Linux
This is only needed for the Qt build, on Linux, so does not need to be
built/present for the macOS or Windows builds.
2024-07-26 17:17:45 +01:00
fanquake
6ee000e56f
guix: bump time-machine to efc26826400762207cde9f23802cfe75a737963c
Needed for 30210. This doesn't switch runtimes, because upstream is
still configured to use the old runtime. See:
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=17188be0f723e00377b21b767f5447d7938a116e.

git-mimimal 2.45.1 -> 2.45.2
Kernel Headers 6.1.92 -> 6.1.100
LLVM 18.1.6 -> 18.1.8
mingw-w64 11.0.1 -> 12.0.0
NSIS 3.09 -> 3.10
patch 2.7.6 -> 2.7.6-0.f144b35
2024-07-26 09:31:16 +01:00
fanquake
cbeb2c20e1
guix: patch /gnu/store paths out of winpthreads
At the same time, align the docs for all patches that do the same thing.
2024-07-26 09:30:47 +01:00
fanquake
1807760f09
guix: improve ENV unsetting for macOS 2024-07-25 14:18:22 +01:00
fanquake
d1592d2eee
guix: use gcc-12 to compile winpthreads
Currently, winpthreads is compiled with GCC 11, when we want to be using
GCC 12 for all compilation.
2024-07-23 16:57:02 +01:00
fanquake
b23690e821
guix: use GCC 12.4.0 over 12.3.0
Our patch might be merged upstream soon:
https://lists.gnu.org/archive/html/guix-patches/2024-06/msg01025.html.

In the mean time, it's easy us for us to use the newer version of GCC.
2024-07-23 14:37:28 +01:00
fanquake
8b41ede55e
guix: consolidate back to GCC 12 toolchain for all HOSTS
Using GCC 11 for the macOS build hasn't been required since #21778, and
at this point, given a toolchain is still needed (#30206), it makes more
sense to (re-)use 12, rather than make all builders compile another
GCC toolchain.
2024-07-23 13:54:14 +01:00
fanquake
b5fc6d46a3
guix: use glibc 2.31
Set minimum required glibc to 2.31.
The glibc 2.31 branch is still maintained:
https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/release/2.31/master.

Remove the stack-protector check from test-security-check, as the test
no-longer fails, and given the control we have of the end, the actual
security-check test seems sufficient (this might also be applied to some
of the other checks).

Drops runtime support for Ubuntu Bionic 18.04 and RHEL-8 from the release binaries.
2024-06-12 10:33:17 +01:00
fanquake
e9a44faf14
depends: remove FORCE_USE_SYSTEM_CLANG 2024-06-10 13:15:23 +01:00
fanquake
9946618f61
guix: use clang-toolchain-18 for macOS build
Version is 18.1.6.
2024-06-10 13:15:22 +01:00
fanquake
2599655c1f
guix: bump time-machine to f0bb724211872cd6158fce6162e0b8c73efed126
Includes:
LLVM 18.1.x (#30201)
GCC 13.x (#29881)

git-minimal 2.41.0 -> 2.45.1
Kernel Headers 6.1.80 -> 6.1.92
moreutils 0.68 -> 0.69

Commits like
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=7b0f145802f0c2c785014293d748721678fef824,
which should improve the bootstrap situation (#30042).
2024-06-05 14:15:10 +01:00
fanquake
5f2c1d84e3
guix: show *_FLAGS variables in pre-build output
For example:
```bash
ADDITIONAL_GUIX_COMMON_FLAGS set in the ENV
ADDITIONAL_GUIX_ENVIRONMENT_FLAGS="--emulate-fhs" ./contrib/guix/guix-build
<snip>
INFO: Building f75199182133 for platform triple x86_64-linux-gnu:
      ...using reference timestamp: 1716905119
      ...running at most 10 jobs
      ...from worktree directory: '/bitcoin'
          ...bind-mounted in container to: '/bitcoin'
      ...in build directory: '/bitcoin/guix-build-f75199182133/distsrc-f75199182133-x86_64-linux-gnu'
          ...bind-mounted in container to: '/distsrc-base/distsrc-f75199182133-x86_64-linux-gnu'
      ...outputting in: '/bitcoin/guix-build-f75199182133/output/x86_64-linux-gnu'
          ...bind-mounted in container to: '/outdir-base/x86_64-linux-gnu'
      ADDITIONAL FLAGS (if set)
          ADDITIONAL_GUIX_COMMON_FLAGS: --no-substitutes
          ADDITIONAL_GUIX_ENVIRONMENT_FLAGS: --emulate-fhs
          ADDITIONAL_GUIX_TIMEMACHINE_FLAGS:
```
2024-06-03 11:56:40 +01:00
fanquake
e8c25e8a35
guix: drop binutils from macOS env 2024-05-22 08:51:34 +01:00
fanquake
555fddf646
guix: use GUIX_LD_WRAPPER_DISABLE_RPATH for all HOSTS 2024-05-22 08:51:33 +01:00
fanquake
9ec238d0f3
guix: remove ZERO_AR_DATE export
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-22 08:51:33 +01:00
fanquake
c6a6b2d6fd
build: add lld into macOS build environment(s) 2024-05-22 08:51:33 +01:00
Sjors Provoost
8fee5355ee
guix: fix suggested fake date for openssl -1.1.1l
Also fix layout of instructions.
2024-04-29 20:44:37 +02:00
fanquake
b8e084b978
guix: remove no-longer-used bzip2 2024-04-19 13:01:10 +01:00
merge-script
3b70ce231e
Merge bitcoin/bitcoin#29846: guix: replace GCC unaligned VMOV patch with binutils patch
a0dc2ebcda guix: replace GCC unaligned VMOV patch with binutils patch (fanquake)

Pull request description:

  Rather than invasively patching GCC, given we have binutils 2.38 available, we can patch it to flip the default for
  `-muse-unaligned-vector-move`.

  A 1 line binutils patch, is much more maintainable than the ~300 line patch into GCC. It's also a slight inprovement in regards to patching out ualigned instructions in the release binaries. For comparison:
  Master:
  ```bash
  objdump -D bin/*.exe | rg "vmova|vmovdqa|vmovaps|vmovapd|vmovdqa64|vmovdqa32"
  141b8be20: c5 f8 28 1a                 vmovaps(%rdx), %xmm3
  1420564b3: c5 79 29 36                 vmovapd%xmm14, (%rsi)
  1403060f3: c5 79 29 36                 vmovapd%xmm14, (%rsi)
  140792b13: c5 79 29 36                 vmovapd%xmm14, (%rsi)
  140cb0693: c5 79 29 36                 vmovapd%xmm14, (%rsi)
  1415ea0f3: c5 79 29 36                 vmovapd%xmm14, (%rsi)
  ```

  This PR:
  ```bash
  objdump -D bin/*.exe | rg "vmova|vmovdqa|vmovaps|vmovapd|vmovdqa64|vmovdqa32"
  141b8be20: c5 f8 28 1a                 vmovaps(%rdx), %xmm3
  1420564b3: c5 79 29 36                 vmovapd%xmm14, (%rsi)
  1403060f3: c5 79 29 36                 vmovapd%xmm14, (%rsi)
  140792b13: c5 79 29 36                 vmovapd%xmm14, (%rsi)
  140cb0693: c5 79 29 36                 vmovapd%xmm14, (%rsi)
  ```

ACKs for top commit:
  laanwj:
    Code review ACK a0dc2ebcda

Tree-SHA512: b3b6dcd2efaaa825d32c768302651d26a120a3e47b93fafb862a1884ff68fd96edb42ea9bc9974c005c8f5a1d15c217deec0ed462cc4a3365cab1bad5a0b5fef
2024-04-17 12:22:11 +01:00
fanquake
a0dc2ebcda
guix: replace GCC unaligned VMOV patch with binutils patch
Rather than invasively patching GCC. Given we have binutils 2.38
available, we can patch it to flip the default for
`-muse-unaligned-vector-move`.
2024-04-10 13:59:43 +02:00
fanquake
05da2460db
guix: remove gcc-toolchain static from Windows build
The libs in this dir are the following:
```bash
ls /gnu/store/2vnbkrdin4rrf7ygnr80mlcglin4qqa4-gcc-toolchain-12.3.0-static/lib/lib
libanl.a           libc.a             libdl.a         libm.a
libBrokenLocale.a  libcrypt.a         libg.a          libmcheck.a
libpthread.a       librt.a
libresolv.a        libutil.a
```

These do not need to be propogated into the Windows build environment.
2024-04-07 14:06:27 +01:00
fanquake
eb78ebc064
Merge bitcoin/bitcoin#29725: depends: build libqrencode with CMake
007ea322a6 depends: switch to building libqrencode with CMake (fanquake)
884330c0a5 guix: make cmake-minimal a global requirement (fanquake)

Pull request description:

  Switch to building libqrencode with CMake. Note that upstream (https://github.com/fukuchi/libqrencode) hasn't seen any activity for ~4 years, so the odds of getting anything upstream seems low, but I've made two minor changes to the source here, which I will PR in any case.

  From an initial look I couldn't find any significant difference between the Autotools and CMake produced libs. As part of this change we move cmake-minimal in Guix into the global package set.

ACKs for top commit:
  TheCharlatan:
    ACK 007ea322a6

Tree-SHA512: c784f790ddea958082c8ae96d3744bdf99331a8799765f9d44f00861b8e2cfcab1a88a3d64af5b10e51a8d5938d55eb6a3d271790b565e50492a39d00dc0e30f
2024-04-05 15:10:14 +01:00
fanquake
71c51c161d
Merge bitcoin/bitcoin#29673: guix: use GCC 11 in macOS build env
73d92309d7 guix: use GCC 11 for macOS builds (fanquake)

Pull request description:

  Note that this is just the native compiler, which is used to build the toolchain we use to build the actual binaries.

  Partially motivated by #29091, where it could now be a bit confusing if we are explicitly using GCC 10 in our release toolchain, when our minimum required is 11 (this can't be bumped to 12 due to build issues with native tools).

  At the same time, remove `gcc-toolchain "static"` from the macOS build env.

ACKs for top commit:
  hebasto:
    ACK 73d92309d7.

Tree-SHA512: 31392290b327cc0e19498cf053b7c9eb19e70295933d650b29b29589356ad455d35b6addcdaae702a9635513c07070fb17d61bcb48445d3cb1a9d4a93aa6ddf3
2024-04-04 12:02:13 +01:00
Hennadii Stepanov
3cb80febb8
guix: Remove another leftover from #29648 2024-04-03 12:21:49 +01:00