Commit graph

396 commits

Author SHA1 Message Date
fanquake
641897a83d
guix: remove cURL from build env 2023-06-02 16:32:47 +01:00
fanquake
ad7819d2f8
Merge bitcoin/bitcoin#27670: guix: remove redundant glibc patches
3cfe366ec3 guix: remove redundant glibc patches (fanquake)

Pull request description:

  These should only be relevant for a glibc that is built as part of a Guix system, and should not be required for a glibc that is just being built to compile our binaries against. A x86_64 linux bitcoind produced with Guix using master vs this change has no difference. i.e:
  #### Comparing `bitcoind` & `../../../../../guix-build-d7700d3a2647/output/x86_64-linux-gnu/bitcoin-d7700d3a2647/bin/bitcoind`:

  ## strings --all --bytes=8 {}

  ```diff
  @@ -20311,15 +20311,15 @@
   This is experimental software.
   The source code is available from %s.
   Please contribute if you find %s useful. Visit %s for further information about the software.
   The %s developers
   The Bitcoin Core developers
   <https://bitcoincore.org/>
   Copyright (C) %i-%i
  -v25.99.0-gda0bf1d07639b0490791bbd6aec71bbea8aa2aThe %s developer<https://github.com/bitcoin/bitcDistributed under the MIT software license, see the accompanyingThis is experimeThe source code is available froPlease contribute if you find %s useful. Visit %s for further information about Copyright (C) %ibool BCLog::Logger::StartLogging()
  +v25.99.0-gd7700d3a26478d9b1648463c188648c7047b1cThe %s developer<https://github.com/bitcoin/bitcDistributed under the MIT software license, see the accompanyingThis is experimeThe source code is available froPlease contribute if you find %s useful. Visit %s for further information about Copyright (C) %ibool BCLog::Logger::StartLogging()
   std::string BCLog::Logger::LogLevelToStr(BCLog::Level) const
   std::string LogCategoryToStr(BCLog::LogFlags)
   void BCLog::Logger::LogPrintStr(const string&, const string&, const string&, int, BCLog::LogFlags, BCLog::Level)
   void BCLog::Logger::ShrinkDebugFile()
   Failed to shrink debug log file: fseek(...) failed
   logging.cpp
   m_buffering
  ```

  #### objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {}

  ```diff
  @@ -1505889,15 +1505889,15 @@
   call   aa3380 <malloc@plt+0xa4edb0>
   mov    (%rsp),%rdx
   movdqa 0x465540(%rip),%xmm0
   mov    %rax,0x7a0559(%rip)
   lea    0x7a0552(%rip),%rsi
   lea    0x3957bb(%rip),%rdi
   mov    %rdx,0x7a0554(%rip)
  -mov    $0x3038,%edx
  +mov    $0x3036,%edx
   movups %xmm0,(%rax)
   movdqa 0x465524(%rip),%xmm0
   mov    %dx,0x30(%rax)
   mov    0x7a0529(%rip),%rdx
   movups %xmm0,0x10(%rax)
   movdqa 0x46551d(%rip),%xmm0
   movups %xmm0,0x20(%rax)
  ```

  #### readelf --wide --decompress --hex-dump=.rodata {}

  ```diff
  @@ -37238,17 +37238,17 @@
     0x00b73730 65202573 20646576 656c6f70 65727300 e %s developers.
     0x00b73740 54686520 42697463 6f696e20 436f7265 The Bitcoin Core
     0x00b73750 20646576 656c6f70 65727300 434f5059  developers.COPY
     0x00b73760 494e4700 3c687474 70733a2f 2f626974 ING.<https://bit
     0x00b73770 636f696e 636f7265 2e6f7267 2f3e0043 coincore.org/>.C
     0x00b73780 6f707972 69676874 20284329 2025692d opyright (C) %i-
     0x00b73790 25690053 61746f73 68690000 00000000 %i.Satoshi......
  -  0x00b737a0 7632352e 39392e30 2d676461 30626631 v25.99.0-gda0bf1
  -  0x00b737b0 64303736 33396230 34393037 39316262 d07639b0490791bb
  -  0x00b737c0 64366165 63373162 62656138 61613261 d6aec71bbea8aa2a
  +  0x00b737a0 7632352e 39392e30 2d676437 37303064 v25.99.0-gd7700d
  +  0x00b737b0 33613236 34373864 39623136 34383436 3a26478d9b164846
  +  0x00b737c0 33633138 38363438 63373034 37623163 3c188648c7047b1c
     0x00b737d0 54686520 25732064 6576656c 6f706572 The %s developer
     0x00b737e0 3c687474 70733a2f 2f676974 6875622e <https://github.
     0x00b737f0 636f6d2f 62697463 6f696e2f 62697463 com/bitcoin/bitc
     0x00b73800 44697374 72696275 74656420 756e6465 Distributed unde
     0x00b73810 72207468 65204d49 5420736f 66747761 r the MIT softwa
     0x00b73820 7265206c 6963656e 73652c20 73656520 re license, see
     0x00b73830 74686520 6163636f 6d70616e 79696e67 the accompanying
  ```

  #### readelf --wide --decompress --hex-dump=.gnu_debuglink {}

  ```diff
  @@ -1,5 +1,5 @@

   Hex dump of section '.gnu_debuglink':
     0x00000000 62697463 6f696e64 2e646267 00000000 bitcoind.dbg....
  -  0x00000010 6b6e8eda                            kn..
  +  0x00000010 345cb865                            4\.e
  ```

  Guix Build:
  ```bash
  3d180219536b4ae2b4ea012a2e2afc8dcc76a79a7f55a36418a6e5a83f5adf90  guix-build-3cfe366ec35e/output/aarch64-linux-gnu/SHA256SUMS.part
  c25fbd84b7791d5bd3cab36d26828bf2b1063fadc4e944096e65597b66aba867  guix-build-3cfe366ec35e/output/aarch64-linux-gnu/bitcoin-3cfe366ec35e-aarch64-linux-gnu-debug.tar.gz
  bee8bf6f100912a0548cee798abb1ee9ac1ee17c065259a2410950e71eb3ff13  guix-build-3cfe366ec35e/output/aarch64-linux-gnu/bitcoin-3cfe366ec35e-aarch64-linux-gnu.tar.gz
  caa17fa9ba8b731c903a96211b2c17e8a1e2600bd9df8abd79eac4a89bfff72d  guix-build-3cfe366ec35e/output/arm-linux-gnueabihf/SHA256SUMS.part
  27829fab271cca459e2d037c42ccbefbbbbb1eb4463d5895d5a40220d737ecd9  guix-build-3cfe366ec35e/output/arm-linux-gnueabihf/bitcoin-3cfe366ec35e-arm-linux-gnueabihf-debug.tar.gz
  6b3eba0d9518dce3a6b7d88a32ae2a5b5ab943126e2a105d4ee6a861d44bea6f  guix-build-3cfe366ec35e/output/arm-linux-gnueabihf/bitcoin-3cfe366ec35e-arm-linux-gnueabihf.tar.gz
  855ab932aa0cc6d583a0f0422b1373afd44bff244e0022f29ce45305e5c8e8e2  guix-build-3cfe366ec35e/output/arm64-apple-darwin/SHA256SUMS.part
  02aabfdfe730400550bfc01e45055f6bc5b643511f08e314634c06b462a00c9e  guix-build-3cfe366ec35e/output/arm64-apple-darwin/bitcoin-3cfe366ec35e-arm64-apple-darwin-unsigned.dmg
  310722826ba985c58d800135f7ba9c73489e138cbf1b84a50be4f13453918ce1  guix-build-3cfe366ec35e/output/arm64-apple-darwin/bitcoin-3cfe366ec35e-arm64-apple-darwin-unsigned.tar.gz
  52d4f1af1e2608da4fa28ed446301d5c516e492c760db03c05c2a421c0a64ab9  guix-build-3cfe366ec35e/output/arm64-apple-darwin/bitcoin-3cfe366ec35e-arm64-apple-darwin.tar.gz
  2055c29fcde9aba8274d3649ea0c34ef0dac207d9d6f6a76fd9df9b010cdd7a8  guix-build-3cfe366ec35e/output/dist-archive/bitcoin-3cfe366ec35e.tar.gz
  99feae7ee4bfaf818efe49fbc9de81575a1e087593059bd630da70f5c6b8a7c8  guix-build-3cfe366ec35e/output/powerpc64-linux-gnu/SHA256SUMS.part
  7a55a6287eec3cfe598378684293b077791da234f1d5fcfe6f368e42f8a52428  guix-build-3cfe366ec35e/output/powerpc64-linux-gnu/bitcoin-3cfe366ec35e-powerpc64-linux-gnu-debug.tar.gz
  c2ba080a26b4bbfa443113d0044d07b97cc08f55df6bec90f162232f3f934c58  guix-build-3cfe366ec35e/output/powerpc64-linux-gnu/bitcoin-3cfe366ec35e-powerpc64-linux-gnu.tar.gz
  a670349367e671e73317476795eb7317559bf171d3facdfc2086031eb9dca264  guix-build-3cfe366ec35e/output/powerpc64le-linux-gnu/SHA256SUMS.part
  f9c0683f515bfd072ad18a780ad35ace7e4f5529d5bd9fffc06490d55bac402e  guix-build-3cfe366ec35e/output/powerpc64le-linux-gnu/bitcoin-3cfe366ec35e-powerpc64le-linux-gnu-debug.tar.gz
  608cce8d989b6cbfa723d57744a7e0ceac6a8668b12b4e223fe3de7833fe73ac  guix-build-3cfe366ec35e/output/powerpc64le-linux-gnu/bitcoin-3cfe366ec35e-powerpc64le-linux-gnu.tar.gz
  bbdebd22afc49c66c70738f68e3beea363c4a03701ccbb729d6f0eb0a0eaf150  guix-build-3cfe366ec35e/output/riscv64-linux-gnu/SHA256SUMS.part
  a84871c91a9b9d3423e9b86ffd46eb926672a1a88a3a3df1a5e8288a1fe6d98b  guix-build-3cfe366ec35e/output/riscv64-linux-gnu/bitcoin-3cfe366ec35e-riscv64-linux-gnu-debug.tar.gz
  21a89eb023113398bc1968284cbea86c6630284cb09325b9cee9669348206683  guix-build-3cfe366ec35e/output/riscv64-linux-gnu/bitcoin-3cfe366ec35e-riscv64-linux-gnu.tar.gz
  10f4ef77a97420490bc4494797d0acf8278f5bd4998b6c32881e611cc2faf237  guix-build-3cfe366ec35e/output/x86_64-apple-darwin/SHA256SUMS.part
  6e47a3676e76cd7175a08b6da81dcf7186849aba7c2ee95f12e998fdf1d4596d  guix-build-3cfe366ec35e/output/x86_64-apple-darwin/bitcoin-3cfe366ec35e-x86_64-apple-darwin-unsigned.dmg
  9ca8cd648a464e4e0bef107e23876d4588866eb12b844484a16fe93e4cd2f3b3  guix-build-3cfe366ec35e/output/x86_64-apple-darwin/bitcoin-3cfe366ec35e-x86_64-apple-darwin-unsigned.tar.gz
  89c7a5040683b63f58667f4eea6827af2874fc0962ddba3a158ad3aa78b8a407  guix-build-3cfe366ec35e/output/x86_64-apple-darwin/bitcoin-3cfe366ec35e-x86_64-apple-darwin.tar.gz
  1577c7f6c5eb7cb073c0ba32cfe7347df5aeaf62508d0ba1936506b1cb8a739e  guix-build-3cfe366ec35e/output/x86_64-linux-gnu/SHA256SUMS.part
  8703d39ce218216ee43502e030d3b3fbe6a00bdab82e8cd0706fa597fc6e11b7  guix-build-3cfe366ec35e/output/x86_64-linux-gnu/bitcoin-3cfe366ec35e-x86_64-linux-gnu-debug.tar.gz
  3e4d44d3cddfe2e34c12f55a704f791834385e1a867856e8a1c05f4f4fb3482a  guix-build-3cfe366ec35e/output/x86_64-linux-gnu/bitcoin-3cfe366ec35e-x86_64-linux-gnu.tar.gz
  87186fbcc7f0580ef3a347603c868f96bba31a987cad86991fa79b740d41f654  guix-build-3cfe366ec35e/output/x86_64-w64-mingw32/SHA256SUMS.part
  ceefefe1eb1d518f1534e0e3d51347332874016ce6adeba691fbbfc0b561437a  guix-build-3cfe366ec35e/output/x86_64-w64-mingw32/bitcoin-3cfe366ec35e-win64-debug.zip
  7bf2736457431bbba5c64b5320dd1c72d0d13fae59127fcc92805946de83908a  guix-build-3cfe366ec35e/output/x86_64-w64-mingw32/bitcoin-3cfe366ec35e-win64-setup-unsigned.exe
  721838ac437db5764c22c90d9c0a0b51283d6a50da8c60a6bccb394090380195  guix-build-3cfe366ec35e/output/x86_64-w64-mingw32/bitcoin-3cfe366ec35e-win64-unsigned.tar.gz
  dd58422fc4fd89353002bdb6a546b997fe31546c348a9b4a87bc697913abd382  guix-build-3cfe366ec35e/output/x86_64-w64-mingw32/bitcoin-3cfe366ec35e-win64.zip
  ```

ACKs for top commit:
  TheCharlatan:
    ACK 3cfe366ec3

Tree-SHA512: b1f30f8775acd69e897784c2168887eedc008db80f6d2d0d68390716965fbd3ddfd70fd1560ef30a8cc70941e9010c395c7feed9386ca92b2c9148d063d64724
2023-05-22 10:49:07 +01:00
fanquake
3cfe366ec3
guix: remove redundant glibc patches
These should only be relevant for a glibc that is built as part of a
Guix system, and should not be required for a glibc that is just being
built to compile our binaries against. A x86_64 linux bitcoind produced
with Guix using master vs this change has no difference. i.e:

```diff
@@ -20311,15 +20311,15 @@
 This is experimental software.
 The source code is available from %s.
 Please contribute if you find %s useful. Visit %s for further information about the software.
 The %s developers
 The Bitcoin Core developers
 <https://bitcoincore.org/>
 Copyright (C) %i-%i
-v25.99.0-gda0bf1d07639b0490791bbd6aec71bbea8aa2aThe %s developer<https://github.com/bitcoin/bitcDistributed under the MIT software license, see the accompanyingThis is experimeThe source code is available froPlease contribute if you find %s useful. Visit %s for further information about Copyright (C) %ibool BCLog::Logger::StartLogging()
+v25.99.0-gd7700d3a26478d9b1648463c188648c7047b1cThe %s developer<https://github.com/bitcoin/bitcDistributed under the MIT software license, see the accompanyingThis is experimeThe source code is available froPlease contribute if you find %s useful. Visit %s for further information about Copyright (C) %ibool BCLog::Logger::StartLogging()
 std::string BCLog::Logger::LogLevelToStr(BCLog::Level) const
 std::string LogCategoryToStr(BCLog::LogFlags)
 void BCLog::Logger::LogPrintStr(const string&, const string&, const string&, int, BCLog::LogFlags, BCLog::Level)
 void BCLog::Logger::ShrinkDebugFile()
 Failed to shrink debug log file: fseek(...) failed
 logging.cpp
 m_buffering
```

```diff
@@ -1505889,15 +1505889,15 @@
 	call   aa3380 <malloc@plt+0xa4edb0>
 	mov    (%rsp),%rdx
 	movdqa 0x465540(%rip),%xmm0
 	mov    %rax,0x7a0559(%rip)
 	lea    0x7a0552(%rip),%rsi
 	lea    0x3957bb(%rip),%rdi
 	mov    %rdx,0x7a0554(%rip)
-	mov    $0x3038,%edx
+	mov    $0x3036,%edx
 	movups %xmm0,(%rax)
 	movdqa 0x465524(%rip),%xmm0
 	mov    %dx,0x30(%rax)
 	mov    0x7a0529(%rip),%rdx
 	movups %xmm0,0x10(%rax)
 	movdqa 0x46551d(%rip),%xmm0
 	movups %xmm0,0x20(%rax)
```

```diff
@@ -37238,17 +37238,17 @@
   0x00b73730 65202573 20646576 656c6f70 65727300 e %s developers.
   0x00b73740 54686520 42697463 6f696e20 436f7265 The Bitcoin Core
   0x00b73750 20646576 656c6f70 65727300 434f5059  developers.COPY
   0x00b73760 494e4700 3c687474 70733a2f 2f626974 ING.<https://bit
   0x00b73770 636f696e 636f7265 2e6f7267 2f3e0043 coincore.org/>.C
   0x00b73780 6f707972 69676874 20284329 2025692d opyright (C) %i-
   0x00b73790 25690053 61746f73 68690000 00000000 %i.Satoshi......
-  0x00b737a0 7632352e 39392e30 2d676461 30626631 v25.99.0-gda0bf1
-  0x00b737b0 64303736 33396230 34393037 39316262 d07639b0490791bb
-  0x00b737c0 64366165 63373162 62656138 61613261 d6aec71bbea8aa2a
+  0x00b737a0 7632352e 39392e30 2d676437 37303064 v25.99.0-gd7700d
+  0x00b737b0 33613236 34373864 39623136 34383436 3a26478d9b164846
+  0x00b737c0 33633138 38363438 63373034 37623163 3c188648c7047b1c
   0x00b737d0 54686520 25732064 6576656c 6f706572 The %s developer
   0x00b737e0 3c687474 70733a2f 2f676974 6875622e <https://github.
   0x00b737f0 636f6d2f 62697463 6f696e2f 62697463 com/bitcoin/bitc
   0x00b73800 44697374 72696275 74656420 756e6465 Distributed unde
   0x00b73810 72207468 65204d49 5420736f 66747761 r the MIT softwa
   0x00b73820 7265206c 6963656e 73652c20 73656520 re license, see
   0x00b73830 74686520 6163636f 6d70616e 79696e67 the accompanying
```

```diff
@@ -1,5 +1,5 @@

 Hex dump of section '.gnu_debuglink':
   0x00000000 62697463 6f696e64 2e646267 00000000 bitcoind.dbg....
-  0x00000010 6b6e8eda                            kn..
+  0x00000010 345cb865                            4\.e
```
2023-05-16 11:28:49 +01:00
fanquake
a09269a146
guix: document when certain guix patches can be dropped 2023-05-16 10:10:28 +01:00
fanquake
d0e571ebb1
guix: use python-minimal (3.9)
This further minifies the Guix release build environment.
2023-03-29 15:47:04 +01:00
fanquake
4133c8104f
guix: use gcc tool wrappers
This way, correct `--plugin` argument are passed through.

This is a prerequisite for LTO (see #25391).
2023-03-27 15:25:32 +01:00
fanquake
b968424c25
Merge bitcoin/bitcoin#27326: guix: combine and document enable_werror
4becee396f guix: combine and document enable_werror (fanquake)

Pull request description:

  Combine into `hardened-glibc`.
  Document why we don't use `--disable-werror` directly.

  https://www.gnu.org/software/libc/manual/html_node/Configuring-and-compiling.html
  > By default, the GNU C Library is built with -Werror. If you wish
  > to build without this option (for example, if building with a
  > newer version of GCC than this version of the GNU C Library was
  > tested with, so new warnings cause the build with -Werror to fail),
  > you can configure with --disable-werror.

ACKs for top commit:
  hebasto:
    ACK 4becee396f, the diff is correct.
  TheCharlatan:
    ACK 4becee396f

Tree-SHA512: 8724415f51b4d72d40c4e797faf52c93a81147fb629332b9388ffd7f113f2b16db3b7496bf3063dd978ac629fd5bde3ec7df4f1ff1ed714cb56f316a9334d119
2023-03-27 14:55:27 +01:00
fanquake
4becee396f
guix: combine and document enable_werror
Combine into hardened-glibc.
Document why we don't use --disable-werror directly.

https://www.gnu.org/software/libc/manual/html_node/Configuring-and-compiling.html
> By default, the GNU C Library is built with -Werror. If you wish
> to build without this option (for example, if building with a
> newer version of GCC than this version of the GNU C Library was
> tested with, so new warnings cause the build with -Werror to fail),
> you can configure with --disable-werror.
2023-03-24 15:35:09 +00:00
fanquake
24f26e08cc
guix: use cmake-minimal for python-lief
This also fixes atleast one --no-substitues build failure I've seen,
where cmake dependencies wouldn't build:
```bash
The following derivations will be built:
  /gnu/store/7qqvqq2g7l5ylrjv0gn6zha565a12kar-python-lief-0.12.1.drv
  /gnu/store/f9zwh1ldy63ga0i5w6cbbqlj6sfq226j-cmake-3.21.4.drv
  /gnu/store/3wg6ya847id503m5izhzhn1qqs464lfk-python-sphinx-4.2.0.drv

building /gnu/store/3wg6ya847id503m5izhzhn1qqs464lfk-python-sphinx-4.2.0.drv...
/ 'check' phasenote: keeping build directory `/tmp/guix-build-python-sphinx-4.2.0.drv-5'
builder for `/gnu/store/3wg6ya847id503m5izhzhn1qqs464lfk-python-sphinx-4.2.0.drv' failed with exit code 1
build of /gnu/store/3wg6ya847id503m5izhzhn1qqs464lfk-python-sphinx-4.2.0.drv failed
View build log at '/var/log/guix/drvs/3w/g6ya847id503m5izhzhn1qqs464lfk-python-sphinx-4.2.0.drv.gz'.
cannot build derivation `/gnu/store/f9zwh1ldy63ga0i5w6cbbqlj6sfq226j-cmake-3.21.4.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/7qqvqq2g7l5ylrjv0gn6zha565a12kar-python-lief-0.12.1.drv': 1 dependencies couldn't be built
guix environment: error: build of `/gnu/store/7qqvqq2g7l5ylrjv0gn6zha565a12kar-python-lief-0.12.1.drv' failed
```
2023-03-22 09:53:13 +00:00
fanquake
43d8173f99
guix: import LIEF from upstream (0.12.3)
Updates to version 0.12.3.
Retain our PPC64 patch.
Mention when we can drop our local definition.
2023-03-22 09:52:03 +00:00
Andrew Chow
f4e42a78c7
Merge bitcoin/bitcoin#27179: guix: use osslsigncode 2.5
285edfadca guix: use osslsigncode 2.5 (fanquake)

Pull request description:

  Switches to using a newer version of [osslsigncode](https://github.com/mtrojnar/osslsigncode) in our Guix environment.

  achow101 can you test this with some sort of WIndows code-signing dry-run (no-rush).

ACKs for top commit:
  achow101:
    ACK 285edfadca

Tree-SHA512: 2ab8f65e506bd97e74e76f24e791ae20694e567a751cc57d3a27f31f0733e3530d058ef19825a35dc21d1342e3fffc52d8d643258198c669cc68b6db41bda629
2023-03-20 12:50:11 -04:00
fanquake
285edfadca
guix: use osslsigncode 2.5
Co-authored-by: Andrew Chow <github@achow101.com>
2023-03-12 19:37:44 +01:00
fanquake
127c637cf0
guix: pass --enable-initfini-array to release GCC
This returns us to pre-Guix behaviour, where the compilers we were using
to build releases, were configured with this option.
2023-03-01 21:23:36 +01:00
fanquake
2c9eb4afe1
guix: use cmake-minimal over cmake 2023-02-28 12:15:18 +00:00
fanquake
1475515312
guix: use coreutils-minimal over coreutils 2023-02-28 12:14:52 +00:00
fanquake
4445621415
guix: use bash-minimal over bash 2023-02-28 12:14:51 +00:00
fanquake
d5d4b75840
guix: combine glibc hardening options into hardened-glibc 2023-02-13 14:16:59 +00:00
fanquake
c49f2b8eb5
guix: remove no-longer needed powerpc workaround 2023-02-13 14:16:58 +00:00
fanquake
74c9893989
guix: use glibc 2.27 for all Linux builds
Also point to the latest commit on the glibc 2.27 releases branch.

https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/release/2.27/master
2023-02-13 14:16:24 +00:00
Hennadii Stepanov
306ccd4927
scripted-diff: Bump copyright headers
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-

Commits of previous years:
- 2021: f47dda2c58
- 2020: fa0074e2d8
- 2019: aaaaad6ac9
2022-12-24 23:49:50 +00:00
fanquake
0fe225e378
Merge bitcoin/bitcoin#26470: guix: Clean up libexec/build.sh
d3e5779f11 guix: Drop non-existent directories (Hennadii Stepanov)
43c4afc407 guix: Drop no longer used `prepend_to_search_env_var()` (Hennadii Stepanov)

Pull request description:

  1. The `prepend_to_search_env_var()` function was introduced in c1ae726a13, and it has no longer been used since 1dd8cbfbc6.

  2. The `${NATIVE_GCC}/lib64` and `${NATIVE_GCC_STATIC}/lib64` do not exist at all.

  Guix builds:
  ```
  0a1ed84ba127853fdeb14e6104e97d853116bf3ac9fa4cdd4b72c428ca738f7a  guix-build-d3e5779f110a/output/aarch64-linux-gnu/SHA256SUMS.part
  c69fddab6384ece4061606109acce2f4f991129b5ad2005e9977bc74ad88f60c  guix-build-d3e5779f110a/output/aarch64-linux-gnu/bitcoin-d3e5779f110a-aarch64-linux-gnu-debug.tar.gz
  b8a0968e7057ed6b1703cc5b5213178b06c51c7649c2639d32523f049b082a69  guix-build-d3e5779f110a/output/aarch64-linux-gnu/bitcoin-d3e5779f110a-aarch64-linux-gnu.tar.gz
  9624c5f331d6e2e4f6bb63a3573ff8f688e2662bf8a1959068511ee76fea1b31  guix-build-d3e5779f110a/output/arm-linux-gnueabihf/SHA256SUMS.part
  4b2fecfac94aa55489a9e7316944a1c0216750bfc8658e8dbe2266ad6abed7cd  guix-build-d3e5779f110a/output/arm-linux-gnueabihf/bitcoin-d3e5779f110a-arm-linux-gnueabihf-debug.tar.gz
  db413d3ed5e4917a236dea10d121953c01812d7f3202bf503fb3a7bb40e9655e  guix-build-d3e5779f110a/output/arm-linux-gnueabihf/bitcoin-d3e5779f110a-arm-linux-gnueabihf.tar.gz
  f4952abe163f536c085a3ad9249840f940f5a2670b77042e2c355886301174a0  guix-build-d3e5779f110a/output/arm64-apple-darwin/SHA256SUMS.part
  3f9b76ed00e90547e980062114de435c10b0253a3fa3bca867758c413f68d465  guix-build-d3e5779f110a/output/arm64-apple-darwin/bitcoin-d3e5779f110a-arm64-apple-darwin-unsigned.dmg
  ec30943bf796c7c55f9d5fb186054070483b888c87d1c79a02ba2828c85d9643  guix-build-d3e5779f110a/output/arm64-apple-darwin/bitcoin-d3e5779f110a-arm64-apple-darwin-unsigned.tar.gz
  31fccaf6ff6f70ef3fe09c592f2630f5b2bc39f5c8eadf4f7660e379389442be  guix-build-d3e5779f110a/output/arm64-apple-darwin/bitcoin-d3e5779f110a-arm64-apple-darwin.tar.gz
  6df55d847ad0f3c4cdd35c3fc9603ab58e44bf76a4a942c4f2f268fa02e710e1  guix-build-d3e5779f110a/output/dist-archive/bitcoin-d3e5779f110a.tar.gz
  1e264b6cd129e1353c271049fd3c8338a1d2183aea847cb4ea9d4095fba56a54  guix-build-d3e5779f110a/output/powerpc64-linux-gnu/SHA256SUMS.part
  03d325d8bffa72e79638ae0e5cd7d6c761cdc5e9d664158c83a5f9ff9f393634  guix-build-d3e5779f110a/output/powerpc64-linux-gnu/bitcoin-d3e5779f110a-powerpc64-linux-gnu-debug.tar.gz
  8d459c2fca6e6712cde54ce030cddae9c3fa0607dd9fb4a951f8d62f3e456162  guix-build-d3e5779f110a/output/powerpc64-linux-gnu/bitcoin-d3e5779f110a-powerpc64-linux-gnu.tar.gz
  0ef58af43e18dc7490ea8f01d392e6645b7f978817a8fb0727d90559680a0105  guix-build-d3e5779f110a/output/powerpc64le-linux-gnu/SHA256SUMS.part
  fe4be346506e5f9cc3c5f8a952f4d4b2ac13a2562854d26deee536f411847189  guix-build-d3e5779f110a/output/powerpc64le-linux-gnu/bitcoin-d3e5779f110a-powerpc64le-linux-gnu-debug.tar.gz
  52c0961bfca3985899f872145c566b5220245096a3edc94347800e1de199a17e  guix-build-d3e5779f110a/output/powerpc64le-linux-gnu/bitcoin-d3e5779f110a-powerpc64le-linux-gnu.tar.gz
  ade3eb3f496a5904d12cb09095e7f05c69961d759aba1acc82e01bcfcc2c6ef1  guix-build-d3e5779f110a/output/riscv64-linux-gnu/SHA256SUMS.part
  05a9d0921b5706e210fb0b5a1a70890604ee22a7bbdc25f011cd1bbff1420120  guix-build-d3e5779f110a/output/riscv64-linux-gnu/bitcoin-d3e5779f110a-riscv64-linux-gnu-debug.tar.gz
  fb897b1b527450da6a033802c218722d69176c2572c321ad3e18b2ef3bf398ed  guix-build-d3e5779f110a/output/riscv64-linux-gnu/bitcoin-d3e5779f110a-riscv64-linux-gnu.tar.gz
  a76da4a5d3fd3ed98adbe1e4f1b1c974937e401801d65b55a14e21339b072f9d  guix-build-d3e5779f110a/output/x86_64-apple-darwin/SHA256SUMS.part
  3eb30a851466d4dcf08fbf1d94071d8d6a253fee52540ab109ae9cf629cb36d2  guix-build-d3e5779f110a/output/x86_64-apple-darwin/bitcoin-d3e5779f110a-x86_64-apple-darwin-unsigned.dmg
  6a350a4ea7afbdfba07d1d51039d9c3da5f5ff0a3d4e40095006d0cb571a5c65  guix-build-d3e5779f110a/output/x86_64-apple-darwin/bitcoin-d3e5779f110a-x86_64-apple-darwin-unsigned.tar.gz
  32761153c68431c3bf1eb6638caa00bd4d7daf7372cdea2a9cc711c4c1f68326  guix-build-d3e5779f110a/output/x86_64-apple-darwin/bitcoin-d3e5779f110a-x86_64-apple-darwin.tar.gz
  79fa0b6b25a74c4681679a04ceb9fab1ae0e339ed9e44a30e3c84ee019255e85  guix-build-d3e5779f110a/output/x86_64-linux-gnu/SHA256SUMS.part
  dd496a120f99a818fe453f23f607dd064c855e6d5d199870ce3ab924aca6fed0  guix-build-d3e5779f110a/output/x86_64-linux-gnu/bitcoin-d3e5779f110a-x86_64-linux-gnu-debug.tar.gz
  6dc03d9ad75126ad67c29afbf3ef12e99a97f0792cd8fac6407a2f4ca911f9d1  guix-build-d3e5779f110a/output/x86_64-linux-gnu/bitcoin-d3e5779f110a-x86_64-linux-gnu.tar.gz
  32fb6e76ed757d9d4693c3ef2cea7bd7b9151cadbf9976ed64ab1e3a7ee71e9e  guix-build-d3e5779f110a/output/x86_64-w64-mingw32/SHA256SUMS.part
  93bbc60e546571e14268e25efcf83375c5ec4ed13c546cbf5b76d849a0f50f35  guix-build-d3e5779f110a/output/x86_64-w64-mingw32/bitcoin-d3e5779f110a-win64-debug.zip
  b85932e7cde8616c2d7342735ad8c6247d556fa86ccee8d0ecd326debeb93d8c  guix-build-d3e5779f110a/output/x86_64-w64-mingw32/bitcoin-d3e5779f110a-win64-setup-unsigned.exe
  f77431e1d5b7a356c065dd81383222116cf8254bda0666a169b25415cfba1810  guix-build-d3e5779f110a/output/x86_64-w64-mingw32/bitcoin-d3e5779f110a-win64-unsigned.tar.gz
  8d1a43386648ef5d97aae806f0e38f7fa3ec5f39b30b495fdcf6be6590a392eb  guix-build-d3e5779f110a/output/x86_64-w64-mingw32/bitcoin-d3e5779f110a-win64.zip
  ```

ACKs for top commit:
  fanquake:
    ACK d3e5779f11

Tree-SHA512: bd32442c81146a5558a4f5bc79e1eb841e7c920551289a2c910f8a697c0a70ea26926e9ca7cdb486176b772ee42544559939417a2bdf3ab6cc4b65dba816a087
2022-11-25 17:17:28 +00:00
Hennadii Stepanov
d3e5779f11
guix: Drop non-existent directories 2022-11-08 13:13:45 +00:00
Hennadii Stepanov
43c4afc407
guix: Drop no longer used prepend_to_search_env_var()
It was introduced in c1ae726a13, and it
has no longer been used since 1dd8cbfbc6.
2022-11-08 13:13:44 +00:00
Sjors Provoost
10660c0c60
doc: move Guix uninstall instructions to INSTALL.md
Also drop unused links.
2022-11-03 14:20:44 +01:00
Sjors Provoost
68fab72a8c
guix: OpenSSL test failure workaround
Co-Authored-By: Stephan Oeste <emzy@emzy.de>
2022-11-03 12:52:13 +01:00
Sjors Provoost
d612dca852
guix: reminder to migrate guix-daemon-original customization 2022-11-03 12:52:12 +01:00
Sjors Provoost
8aa460cd02
guix: add guile-gnutls and guile-json to install list
They are mentioned in the figure above, but having them in the table makes it easier to (apt) install everything required.
2022-11-03 12:52:12 +01:00
Sjors Provoost
9b9991e026
guix: recommend mounting a tmpfs on /tmp
This was already suggested in the troubleshooting section, but recommending it upfront would prevent the issue in the first place and speed up builds.
2022-11-03 12:52:12 +01:00
Sjors Provoost
682283445e
guix: bump recommended hash for manual installation
Tracks time-machine bump in 298389e3b5.
2022-10-21 09:50:19 +02:00
fanquake
1d6c605165
Merge bitcoin/bitcoin#26057: build, guix: Get rid of perl dependency
d0433a3153 guix: Drop perl package (Hennadii Stepanov)
55e468f149 build: Add `-no-mimetype-database` option to qt package in depends (Hennadii Stepanov)

Pull request description:

  Perl is required only in Qt to create its own MIME database, which we never use.

  Guix build on `x86_64`:
  ```
  b63983137239de664edba06834d48fbfc1957d4c56aaf1b2c4cd253bad2856f9  guix-build-d0433a31534d/output/aarch64-linux-gnu/SHA256SUMS.part
  f4ea6d24a0248f573a0e6e207f872a964ad061459837e3c44ddc2257871349f9  guix-build-d0433a31534d/output/aarch64-linux-gnu/bitcoin-d0433a31534d-aarch64-linux-gnu-debug.tar.gz
  00efef73311e2a231255f7e2010d5a77ec986b60be26be10f27dc24aa84382c7  guix-build-d0433a31534d/output/aarch64-linux-gnu/bitcoin-d0433a31534d-aarch64-linux-gnu.tar.gz
  8eaf54f1d867b8279e5bf7db9d57a86b9d63dbb7f17bc8df131336781325ca25  guix-build-d0433a31534d/output/arm-linux-gnueabihf/SHA256SUMS.part
  1fc60e3086e09cefef8f3848787c4bf601a017a5e75a1dd322c81916ad737d30  guix-build-d0433a31534d/output/arm-linux-gnueabihf/bitcoin-d0433a31534d-arm-linux-gnueabihf-debug.tar.gz
  92b51c48dd7aeb1853345bc17f433c56c3704755008fbe2d5b203145af87b667  guix-build-d0433a31534d/output/arm-linux-gnueabihf/bitcoin-d0433a31534d-arm-linux-gnueabihf.tar.gz
  7daadc27af84bfeab98802481c3dbce852613b712db1711f5bf67c36ad54414a  guix-build-d0433a31534d/output/arm64-apple-darwin/SHA256SUMS.part
  2d1de48b0acfdd6aa3a5dd7c97557463d11ef8a2a12b2227bf555a8d387c3db9  guix-build-d0433a31534d/output/arm64-apple-darwin/bitcoin-d0433a31534d-arm64-apple-darwin-unsigned.dmg
  a1fd2d0103295b4a3bda8f8be39df2bb3cef1be18235c20f7a4f13e4f839b9b0  guix-build-d0433a31534d/output/arm64-apple-darwin/bitcoin-d0433a31534d-arm64-apple-darwin-unsigned.tar.gz
  abb9c9f2a2506205a236240de3fc602d9bc884a19a8d64ede2d9abf03c29141c  guix-build-d0433a31534d/output/arm64-apple-darwin/bitcoin-d0433a31534d-arm64-apple-darwin.tar.gz
  13f21eb33c2d0719da0bd5227ea58e5bb625a7fd0bd2af8d1a13efe7a00ab46c  guix-build-d0433a31534d/output/dist-archive/bitcoin-d0433a31534d.tar.gz
  0a83e8b591fd79d0493f381f1fc849ed89428e43794c9f791e5ee36fa6b945b8  guix-build-d0433a31534d/output/powerpc64-linux-gnu/SHA256SUMS.part
  56b592cf691ef22557a03d6083a0603b45caa6ebfd17c0dda6fc870c8612a19f  guix-build-d0433a31534d/output/powerpc64-linux-gnu/bitcoin-d0433a31534d-powerpc64-linux-gnu-debug.tar.gz
  9d72a57f5bd509aaf48c18bf7d8b27861722242aa85036e7c6512983e6f102ee  guix-build-d0433a31534d/output/powerpc64-linux-gnu/bitcoin-d0433a31534d-powerpc64-linux-gnu.tar.gz
  0512992f6ee3ca2693121cd4bcb45a23de7759ccd87db67e4f091ada75fca3e1  guix-build-d0433a31534d/output/powerpc64le-linux-gnu/SHA256SUMS.part
  b3ccdeac6bc7c36ce5792018dbad81b18a6fb62c4fc67df820796e70f4630100  guix-build-d0433a31534d/output/powerpc64le-linux-gnu/bitcoin-d0433a31534d-powerpc64le-linux-gnu-debug.tar.gz
  f4c11cbd56431f5d257dff881a46d7ddf83b3d3a2e05c5e88e5575c4bb552960  guix-build-d0433a31534d/output/powerpc64le-linux-gnu/bitcoin-d0433a31534d-powerpc64le-linux-gnu.tar.gz
  ad71196a5af12eedb906fb009b8f635933fa2bf83586b4b2360f6b84f52998ca  guix-build-d0433a31534d/output/riscv64-linux-gnu/SHA256SUMS.part
  6fe7dbb772e91dccec781b4d7a47cc8179ba0fb4614a3da6423679a4539ae96e  guix-build-d0433a31534d/output/riscv64-linux-gnu/bitcoin-d0433a31534d-riscv64-linux-gnu-debug.tar.gz
  f8fb450f627791b20e56d00bc9544984120fe22d9644318bc01cf027914b7338  guix-build-d0433a31534d/output/riscv64-linux-gnu/bitcoin-d0433a31534d-riscv64-linux-gnu.tar.gz
  fb741950e3699fe2ffa44754e493a28b06c00ce12f9a4c073e38dd960bfe805d  guix-build-d0433a31534d/output/x86_64-apple-darwin/SHA256SUMS.part
  47dfb3eb3526c319ed528c24f19dda4ee3e6e03ca36d62f31207bad65083be76  guix-build-d0433a31534d/output/x86_64-apple-darwin/bitcoin-d0433a31534d-x86_64-apple-darwin-unsigned.dmg
  4e306e35e7c885791694762d10fbc4e563466a2240036c3e1fc877c2806ac583  guix-build-d0433a31534d/output/x86_64-apple-darwin/bitcoin-d0433a31534d-x86_64-apple-darwin-unsigned.tar.gz
  ac71e5164142225fc018f47d278d5450a28de05259f41437a7c4183708d8681d  guix-build-d0433a31534d/output/x86_64-apple-darwin/bitcoin-d0433a31534d-x86_64-apple-darwin.tar.gz
  f670fbe6652211d57dca9c79a6e37023b40d32117cf5e0d28dd9ba6247af1d61  guix-build-d0433a31534d/output/x86_64-linux-gnu/SHA256SUMS.part
  94b23c572cac60f7ce1f7851e1aa0c8d41cc5fa5863089027aa8d524b6940d91  guix-build-d0433a31534d/output/x86_64-linux-gnu/bitcoin-d0433a31534d-x86_64-linux-gnu-debug.tar.gz
  6d48a676f126eea585ab352c6bc923341903d891da6e8c4d4e2e168b8d6c4820  guix-build-d0433a31534d/output/x86_64-linux-gnu/bitcoin-d0433a31534d-x86_64-linux-gnu.tar.gz
  23bb6919646725bfe35f4e3eb1beedb3ee4f49dc0b410d47185a2e06fb0184e3  guix-build-d0433a31534d/output/x86_64-w64-mingw32/SHA256SUMS.part
  a92202b0c397aede252c433dbf83d5094141d5263f32d1078a052da7cf23059b  guix-build-d0433a31534d/output/x86_64-w64-mingw32/bitcoin-d0433a31534d-win64-debug.zip
  11d84ad174e12f3342764b47f42e32a55bd6d277416dcf6b05556173ace48430  guix-build-d0433a31534d/output/x86_64-w64-mingw32/bitcoin-d0433a31534d-win64-setup-unsigned.exe
  436364e555e57090472600b5486af8bdefe0baaab7441b919e23f90d01a3347f  guix-build-d0433a31534d/output/x86_64-w64-mingw32/bitcoin-d0433a31534d-win64-unsigned.tar.gz
  e193bf3179194d68d88e295d0ef830ef77ddb504bc0f9aa17f84b537b275ddde  guix-build-d0433a31534d/output/x86_64-w64-mingw32/bitcoin-d0433a31534d-win64.zip
  ```

ACKs for top commit:
  fanquake:
    ACK d0433a3153 - with the cavaet that I haven't looked at the qt changes, or the effects of using the `-no-mimetype-database` flag, at all. Also performed a Guix build from scratch with this branch rebased on master.
  jarolrod:
    ACK d0433a3153

Tree-SHA512: d6dc9bb19e793027d818aee0e248e59fdbf4f4ff46d55538f30e1731254c4739de342a3e917ae7d3f3bc1b6451667b9e8984a6522a1fcece7891c51502a420e8
2022-09-16 10:47:35 +01:00
fanquake
a361c6cae7
Merge bitcoin/bitcoin#26047: guix: use git-minimal over git
0cd7928133 guix: use git-minimal over git (fanquake)

Pull request description:

  From the [git-minimal package definition](https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/version-control.scm?id=998eda3067c7d21e0d9bb3310d2f5a14b8f1c681#n597):
  > The size of the closure of 'git-minimal' is two thirds that of 'git'.
  > Its test suite runs slightly faster and most importantly it doesn't
  > depend on packages that are expensive to build such as Subversion.

  We don't need any git functionality above the basics, so switch to `git-minimal` and save CPU when building the package, while also pruning the greater dependency graph (see `dependencies:` below). Note that git-minimal also lists `riscv64-linux` as a supported system, where `git` does not.

  ```diff
  -name: git
  +name: git-minimal
   version: 2.37.3
   outputs:
  -+ send-email: see Appendix H
  -+ svn: see Appendix H
  -+ credential-netrc: see Appendix H
  -+ credential-libsecret: see Appendix H
  -+ subtree: see Appendix H
  -+ gui: see Appendix H
   + out: everything else
  -systems: x86_64-linux mips64el-linux aarch64-linux powerpc64le-linux i686-linux armhf-linux powerpc-linux
  -dependencies: asciidoc@9.1.0 bash-minimal@5.1.8 bash@5.1.8 curl@7.79.1 docbook-xsl@1.79.2 expat@2.4.1 gettext-minimal@0.21 glib@2.70.2 libsecret@0.20.4 openssl@1.1.1l pcre2@10.37 perl-authen-sasl@2.16 perl-cgi@4.52
  -+ perl-io-socket-ssl@2.068 perl-net-smtp-ssl@1.04 perl-term-readkey@2.38 perl@5.34.0 pkg-config@0.29.2 python@3.9.9 subversion@1.14.1 tcl@8.6.11 tk@8.6.11.1 xmlto@0.0.28 zlib@1.2.11
  -location: gnu/packages/version-control.scm:222:2
  +systems: x86_64-linux mips64el-linux aarch64-linux powerpc64le-linux riscv64-linux i686-linux armhf-linux powerpc-linux
  +dependencies: bash-minimal@5.1.8 bash@5.1.8 curl@7.79.1 expat@2.4.1 gettext-minimal@0.21 openssl@1.1.1l perl@5.34.0 zlib@1.2.11
  +location: gnu/packages/version-control.scm:608:2
   homepage: https://git-scm.com/
   license: GPL 2
   synopsis: Distributed version control system
  ```

  Guix Build (x86_64):
  ```bash
  da4adca0304f19833893867418c8827e0213c58a1b605753355340a5f270754a  guix-build-0cd7928133eb/output/aarch64-linux-gnu/SHA256SUMS.part
  38c2b5f8e560018911ed776660fcd2aa8b6061a59af26118f06e23c9a335e80c  guix-build-0cd7928133eb/output/aarch64-linux-gnu/bitcoin-0cd7928133eb-aarch64-linux-gnu-debug.tar.gz
  de117782318d6e0ed55efaae7b2f11d033fe05e7a72fbda3ef7bbcbc758add69  guix-build-0cd7928133eb/output/aarch64-linux-gnu/bitcoin-0cd7928133eb-aarch64-linux-gnu.tar.gz
  6ae8ebfac28c43488b9aa386b9a87937789a57e54dc1d77a9c7b95323a417abc  guix-build-0cd7928133eb/output/arm-linux-gnueabihf/SHA256SUMS.part
  97f5d9d14eeb4b2926304c142fa6c46b7126524b8f836655704f5643b58b9436  guix-build-0cd7928133eb/output/arm-linux-gnueabihf/bitcoin-0cd7928133eb-arm-linux-gnueabihf-debug.tar.gz
  37815ea73941cf0a870e5ac4aafe9249a63ed1eeaa37440de23c2d9bf2b77be8  guix-build-0cd7928133eb/output/arm-linux-gnueabihf/bitcoin-0cd7928133eb-arm-linux-gnueabihf.tar.gz
  64cd484fa48968dc7063c4f501e1ff62d1ba46ae9975bfa060a3c88e2a98d232  guix-build-0cd7928133eb/output/arm64-apple-darwin/SHA256SUMS.part
  4e7e0daaf0ac1b5ed5a7e5ee8085e5e6446c48e70161f78938acd0e916c55729  guix-build-0cd7928133eb/output/arm64-apple-darwin/bitcoin-0cd7928133eb-arm64-apple-darwin-unsigned.dmg
  0f2b534d16482e536552c7b3de605bd71997b898755fe5a9ac39b36aea2698b6  guix-build-0cd7928133eb/output/arm64-apple-darwin/bitcoin-0cd7928133eb-arm64-apple-darwin-unsigned.tar.gz
  03cd1f509c60919c2ad1503d2f98be444c9770b62c4d303cb4cbdc1100ce131d  guix-build-0cd7928133eb/output/arm64-apple-darwin/bitcoin-0cd7928133eb-arm64-apple-darwin.tar.gz
  1e28183c1c314921a8404b72283bb861dff28061310c18535618683b097e7e61  guix-build-0cd7928133eb/output/dist-archive/bitcoin-0cd7928133eb.tar.gz
  0f6459568d0369528ad35622d5378feccdac319eed618418841c22cc137cbd05  guix-build-0cd7928133eb/output/powerpc64-linux-gnu/SHA256SUMS.part
  1cf0c8a48add60082c381935630b59a0bd483a7eda97f04b72dcb05143135109  guix-build-0cd7928133eb/output/powerpc64-linux-gnu/bitcoin-0cd7928133eb-powerpc64-linux-gnu-debug.tar.gz
  5332f148efa1579b077747c8c7d6c763d31804d4ac454abaf34a3e2374c9b6b2  guix-build-0cd7928133eb/output/powerpc64-linux-gnu/bitcoin-0cd7928133eb-powerpc64-linux-gnu.tar.gz
  5fc03945c2ab86ba43395ccf32cf4b338dcceb446e106c0f6e660dac47224183  guix-build-0cd7928133eb/output/powerpc64le-linux-gnu/SHA256SUMS.part
  5cfabdb27dc8fb7de402c558e5f962ac4fdaf2c344d201f27f7ed1370a550407  guix-build-0cd7928133eb/output/powerpc64le-linux-gnu/bitcoin-0cd7928133eb-powerpc64le-linux-gnu-debug.tar.gz
  ba265df6803d472434ecb3ad44983965a5eca1ccd42fea64760309ff70d17ee5  guix-build-0cd7928133eb/output/powerpc64le-linux-gnu/bitcoin-0cd7928133eb-powerpc64le-linux-gnu.tar.gz
  ff40a374f215eb3010291569b8ed1958054e408469fc8b2fe97a30cca0ad5451  guix-build-0cd7928133eb/output/riscv64-linux-gnu/SHA256SUMS.part
  7b7b89ac1905d58f1e96a7840c018a556c472015a44442d0742bf758cb5f67ca  guix-build-0cd7928133eb/output/riscv64-linux-gnu/bitcoin-0cd7928133eb-riscv64-linux-gnu-debug.tar.gz
  10431bd8ffca82dd9c59f568272a1e7473cf474996f750d9bed4b576591fcff1  guix-build-0cd7928133eb/output/riscv64-linux-gnu/bitcoin-0cd7928133eb-riscv64-linux-gnu.tar.gz
  4ef532d8dbe42900146a5b3e02de2a6a59d66b3c66a4b9d919d3aeb0e9637ab1  guix-build-0cd7928133eb/output/x86_64-apple-darwin/SHA256SUMS.part
  77a1abe4139c19d227309216e29cf55dae06c4469412b457c9f0e8cf1eccc25c  guix-build-0cd7928133eb/output/x86_64-apple-darwin/bitcoin-0cd7928133eb-x86_64-apple-darwin-unsigned.dmg
  33028b640efab25648d0ec1abe9e91abc983706623ca9e2e7ac5fbfca0970909  guix-build-0cd7928133eb/output/x86_64-apple-darwin/bitcoin-0cd7928133eb-x86_64-apple-darwin-unsigned.tar.gz
  e10d2d5617b8b1a33a622d5904d2bd8eaf57a5b3605e22ef916a57105db2311e  guix-build-0cd7928133eb/output/x86_64-apple-darwin/bitcoin-0cd7928133eb-x86_64-apple-darwin.tar.gz
  bf65d3574afed2e017c9625d38cc31e0f2cbb7f1e8a9ce346644ea3dbb938d13  guix-build-0cd7928133eb/output/x86_64-linux-gnu/SHA256SUMS.part
  ce3810e70c97b2698822e4f46fa64dfa12353f7b54400e671b64868e3e4d3472  guix-build-0cd7928133eb/output/x86_64-linux-gnu/bitcoin-0cd7928133eb-x86_64-linux-gnu-debug.tar.gz
  4055370c15b199d1efef47cc262d9c43a3652dcd237a9434197ca3be4931b1d2  guix-build-0cd7928133eb/output/x86_64-linux-gnu/bitcoin-0cd7928133eb-x86_64-linux-gnu.tar.gz
  e59ed970d1db5d4839fa67957945628f6919ef5491f4a595f89ed3d8c81f1a76  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/SHA256SUMS.part
  19c443fab5cb2fe75c9a5ad51fc022c97e31d7d69e049a889bd06f740f8daf78  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/bitcoin-0cd7928133eb-win64-debug.zip
  88f6ca5d299080114532ec550c59eca4a3cdb759d9ea35cb14eba0b135e72436  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/bitcoin-0cd7928133eb-win64-setup-unsigned.exe
  bcdb0b7467d3e47a694e51e9bfbaab9d5dc7162efe6c6bf4c303d368272c0cc6  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/bitcoin-0cd7928133eb-win64-unsigned.tar.gz
  db1d4bbfab53405080d3abd09d1f05b2642ed513f6d8fcb5d92b9d0b32745293  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/bitcoin-0cd7928133eb-win64.zip
  ```

  Guix Build (arm64):
  ```bash
  da4adca0304f19833893867418c8827e0213c58a1b605753355340a5f270754a  guix-build-0cd7928133eb/output/aarch64-linux-gnu/SHA256SUMS.part
  38c2b5f8e560018911ed776660fcd2aa8b6061a59af26118f06e23c9a335e80c  guix-build-0cd7928133eb/output/aarch64-linux-gnu/bitcoin-0cd7928133eb-aarch64-linux-gnu-debug.tar.gz
  de117782318d6e0ed55efaae7b2f11d033fe05e7a72fbda3ef7bbcbc758add69  guix-build-0cd7928133eb/output/aarch64-linux-gnu/bitcoin-0cd7928133eb-aarch64-linux-gnu.tar.gz
  6ae8ebfac28c43488b9aa386b9a87937789a57e54dc1d77a9c7b95323a417abc  guix-build-0cd7928133eb/output/arm-linux-gnueabihf/SHA256SUMS.part
  97f5d9d14eeb4b2926304c142fa6c46b7126524b8f836655704f5643b58b9436  guix-build-0cd7928133eb/output/arm-linux-gnueabihf/bitcoin-0cd7928133eb-arm-linux-gnueabihf-debug.tar.gz
  37815ea73941cf0a870e5ac4aafe9249a63ed1eeaa37440de23c2d9bf2b77be8  guix-build-0cd7928133eb/output/arm-linux-gnueabihf/bitcoin-0cd7928133eb-arm-linux-gnueabihf.tar.gz
  64cd484fa48968dc7063c4f501e1ff62d1ba46ae9975bfa060a3c88e2a98d232  guix-build-0cd7928133eb/output/arm64-apple-darwin/SHA256SUMS.part
  4e7e0daaf0ac1b5ed5a7e5ee8085e5e6446c48e70161f78938acd0e916c55729  guix-build-0cd7928133eb/output/arm64-apple-darwin/bitcoin-0cd7928133eb-arm64-apple-darwin-unsigned.dmg
  0f2b534d16482e536552c7b3de605bd71997b898755fe5a9ac39b36aea2698b6  guix-build-0cd7928133eb/output/arm64-apple-darwin/bitcoin-0cd7928133eb-arm64-apple-darwin-unsigned.tar.gz
  03cd1f509c60919c2ad1503d2f98be444c9770b62c4d303cb4cbdc1100ce131d  guix-build-0cd7928133eb/output/arm64-apple-darwin/bitcoin-0cd7928133eb-arm64-apple-darwin.tar.gz
  1e28183c1c314921a8404b72283bb861dff28061310c18535618683b097e7e61  guix-build-0cd7928133eb/output/dist-archive/bitcoin-0cd7928133eb.tar.gz
  0f6459568d0369528ad35622d5378feccdac319eed618418841c22cc137cbd05  guix-build-0cd7928133eb/output/powerpc64-linux-gnu/SHA256SUMS.part
  1cf0c8a48add60082c381935630b59a0bd483a7eda97f04b72dcb05143135109  guix-build-0cd7928133eb/output/powerpc64-linux-gnu/bitcoin-0cd7928133eb-powerpc64-linux-gnu-debug.tar.gz
  5332f148efa1579b077747c8c7d6c763d31804d4ac454abaf34a3e2374c9b6b2  guix-build-0cd7928133eb/output/powerpc64-linux-gnu/bitcoin-0cd7928133eb-powerpc64-linux-gnu.tar.gz
  5fc03945c2ab86ba43395ccf32cf4b338dcceb446e106c0f6e660dac47224183  guix-build-0cd7928133eb/output/powerpc64le-linux-gnu/SHA256SUMS.part
  5cfabdb27dc8fb7de402c558e5f962ac4fdaf2c344d201f27f7ed1370a550407  guix-build-0cd7928133eb/output/powerpc64le-linux-gnu/bitcoin-0cd7928133eb-powerpc64le-linux-gnu-debug.tar.gz
  ba265df6803d472434ecb3ad44983965a5eca1ccd42fea64760309ff70d17ee5  guix-build-0cd7928133eb/output/powerpc64le-linux-gnu/bitcoin-0cd7928133eb-powerpc64le-linux-gnu.tar.gz
  ff40a374f215eb3010291569b8ed1958054e408469fc8b2fe97a30cca0ad5451  guix-build-0cd7928133eb/output/riscv64-linux-gnu/SHA256SUMS.part
  7b7b89ac1905d58f1e96a7840c018a556c472015a44442d0742bf758cb5f67ca  guix-build-0cd7928133eb/output/riscv64-linux-gnu/bitcoin-0cd7928133eb-riscv64-linux-gnu-debug.tar.gz
  10431bd8ffca82dd9c59f568272a1e7473cf474996f750d9bed4b576591fcff1  guix-build-0cd7928133eb/output/riscv64-linux-gnu/bitcoin-0cd7928133eb-riscv64-linux-gnu.tar.gz
  4ef532d8dbe42900146a5b3e02de2a6a59d66b3c66a4b9d919d3aeb0e9637ab1  guix-build-0cd7928133eb/output/x86_64-apple-darwin/SHA256SUMS.part
  77a1abe4139c19d227309216e29cf55dae06c4469412b457c9f0e8cf1eccc25c  guix-build-0cd7928133eb/output/x86_64-apple-darwin/bitcoin-0cd7928133eb-x86_64-apple-darwin-unsigned.dmg
  33028b640efab25648d0ec1abe9e91abc983706623ca9e2e7ac5fbfca0970909  guix-build-0cd7928133eb/output/x86_64-apple-darwin/bitcoin-0cd7928133eb-x86_64-apple-darwin-unsigned.tar.gz
  e10d2d5617b8b1a33a622d5904d2bd8eaf57a5b3605e22ef916a57105db2311e  guix-build-0cd7928133eb/output/x86_64-apple-darwin/bitcoin-0cd7928133eb-x86_64-apple-darwin.tar.gz
  bf65d3574afed2e017c9625d38cc31e0f2cbb7f1e8a9ce346644ea3dbb938d13  guix-build-0cd7928133eb/output/x86_64-linux-gnu/SHA256SUMS.part
  ce3810e70c97b2698822e4f46fa64dfa12353f7b54400e671b64868e3e4d3472  guix-build-0cd7928133eb/output/x86_64-linux-gnu/bitcoin-0cd7928133eb-x86_64-linux-gnu-debug.tar.gz
  4055370c15b199d1efef47cc262d9c43a3652dcd237a9434197ca3be4931b1d2  guix-build-0cd7928133eb/output/x86_64-linux-gnu/bitcoin-0cd7928133eb-x86_64-linux-gnu.tar.gz
  e59ed970d1db5d4839fa67957945628f6919ef5491f4a595f89ed3d8c81f1a76  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/SHA256SUMS.part
  19c443fab5cb2fe75c9a5ad51fc022c97e31d7d69e049a889bd06f740f8daf78  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/bitcoin-0cd7928133eb-win64-debug.zip
  88f6ca5d299080114532ec550c59eca4a3cdb759d9ea35cb14eba0b135e72436  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/bitcoin-0cd7928133eb-win64-setup-unsigned.exe
  bcdb0b7467d3e47a694e51e9bfbaab9d5dc7162efe6c6bf4c303d368272c0cc6  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/bitcoin-0cd7928133eb-win64-unsigned.tar.gz
  db1d4bbfab53405080d3abd09d1f05b2642ed513f6d8fcb5d92b9d0b32745293  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/bitcoin-0cd7928133eb-win64.zip
  ```

ACKs for top commit:
  hebasto:
    ACK 0cd7928133, I have reviewed the code and it looks OK. I have also checked out the usage of the `git-minimal` in the `git-download` Guix module which is being used. Did not compare actual build dependences while building from scratch.
  jarolrod:
    ACK 0cd7928133

Tree-SHA512: f949c4d2f9560f98b8a418a981da38bbb9cfee5d0814bea6bb676b7193f3cbddafd23a92f852ee59c6a68c9c282095e6368cb65c5f2352b2ab54f9692575349c
2022-09-13 10:18:27 +01:00
Hennadii Stepanov
beb94261ea
Revert "guix: Build depends/qt with our platform definition"
This reverts commit dc4137a60c.
2022-09-10 22:41:48 +02:00
Hennadii Stepanov
d0433a3153
guix: Drop perl package 2022-09-10 10:56:21 +02:00
fanquake
0cd7928133
guix: use git-minimal over git
From the git-minimal package definition:
> The size of the closure of 'git-minimal' is two thirds that of 'git'.
> Its test suite runs slightly faster and most importantly it doesn't
> depend on packages that are expensive to build such as Subversion.

We don't need any fancy / additional git functionality above the basics,
so switch to git-minimal and save some CPU, while also pruning the
greater dependency graph.

```diff
-name: git
+name: git-minimal
 version: 2.37.3
 outputs:
-+ send-email: see Appendix H
-+ svn: see Appendix H
-+ credential-netrc: see Appendix H
-+ credential-libsecret: see Appendix H
-+ subtree: see Appendix H
-+ gui: see Appendix H
 + out: everything else
-systems: x86_64-linux mips64el-linux aarch64-linux powerpc64le-linux i686-linux armhf-linux powerpc-linux
-dependencies: asciidoc@9.1.0 bash-minimal@5.1.8 bash@5.1.8 curl@7.79.1 docbook-xsl@1.79.2 expat@2.4.1 gettext-minimal@0.21 glib@2.70.2 libsecret@0.20.4 openssl@1.1.1l pcre2@10.37 perl-authen-sasl@2.16 perl-cgi@4.52
-+ perl-io-socket-ssl@2.068 perl-net-smtp-ssl@1.04 perl-term-readkey@2.38 perl@5.34.0 pkg-config@0.29.2 python@3.9.9 subversion@1.14.1 tcl@8.6.11 tk@8.6.11.1 xmlto@0.0.28 zlib@1.2.11
-location: gnu/packages/version-control.scm:222:2
+systems: x86_64-linux mips64el-linux aarch64-linux powerpc64le-linux riscv64-linux i686-linux armhf-linux powerpc-linux
+dependencies: bash-minimal@5.1.8 bash@5.1.8 curl@7.79.1 expat@2.4.1 gettext-minimal@0.21 openssl@1.1.1l perl@5.34.0 zlib@1.2.11
+location: gnu/packages/version-control.scm:608:2
 homepage: https://git-scm.com/
 license: GPL 2
 synopsis: Distributed version control system
```
2022-09-08 10:19:42 +01:00
fanquake
af2a7c8943
guix: consistently use -ffile-prefix-map
Aside from being the newer, more comprehensive option, it's what we
claim to use in the patch docs, and everywhere else in guix.
2022-09-06 09:51:55 +01:00
fanquake
56e79fe683
guix: use --build={arch}-guix-linux-gnu in cross toolchain
Technically we are always cross-compiling, so make that explicit.

Fixes: #22458.
2022-08-31 11:17:33 +01:00
fanquake
0eac1f7ba4
build: include share/rpcauth in tarball & installer
Fixes #19081.
2022-08-16 11:32:42 +01:00
Stacie
98383d6d0d doc: minor updates to guix README 2022-08-15 16:03:17 -04:00
fanquake
7a0b129c41
guix: patch NSIS to remove .reloc sections from install stubs
With the release of binutils/ld 2.36, ld swapped to much improved
default settings when producing windows binaries with mingw-w64. One of
these changes was to stop stripping the .reloc section from binaries,
which is required for working ASLR.

.reloc section stripping is something we've accounted for previously,
see #18702. The related upstream discussion is in this thread:
https://sourceware.org/bugzilla/show_bug.cgi?id=19011.

When we switched to using a newer Guix time-machine in #23778, we begun
using binutils 2.37 to produce releases. Since then, our windows
installer (produced with makensis) has not functioned correctly when run on
a Windows system with the "Force randomization for images (Mandatory ASLR)"
option enabled. Note that all of our other release binaries, which all
contain .reloc sections, function fine under the same option, so it
cannot be just the presence of a .reloc section that is the issue.

For now, restore makensis to it's pre-binutils-2.36 behaviour, which
fixes the produced installer. The underlying issue can be further
investigated in future.
2022-08-05 18:15:12 +01:00
fanquake
4cf3b7d763
guix: ignore additional failing certvalidator test
Similar to 8588591965.

```bash
ERROR: test_revocation_mode_soft (tests.test_validate.ValidateTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/guix-build-python-certvalidator-0.1-1.a145bf2.drv-0/source/tests/test_validate.py", line 85, in test_revocation_mode_soft
    validate_path(context, path)
  File "/tmp/guix-build-python-certvalidator-0.1-1.a145bf2.drv-0/source/tests/../certvalidator/validate.py", line 50, in validate_path
    return _validate_path(validation_context, path)
  File "/tmp/guix-build-python-certvalidator-0.1-1.a145bf2.drv-0/source/tests/../certvalidator/validate.py", line 358, in _validate_path
    raise PathValidationError(pretty_message(
certvalidator.errors.PathValidationError: The path could not be validated because the end-entity certificate expired 2022-07-27 12:00:00Z
```
2022-08-04 13:29:20 +01:00
fanquake
c99a1ecc52
guix: enable hardening options in GCC Build
Pass `--enable-default-pie` and `--enable-default-ssp` when configuring
our GCCs. This achieves the following:

--enable-default-pie
	Turn on -fPIE and -pie by default.

--enable-default-ssp
	Turn on -fstack-protector-strong by default.

Note that this isn't a replacement for passing hardneing flags
ourselves, but introduces some redundency, and there isn't really a
reason to not build a more "hardenings enabled" toolchain by default.

See also:
https://gcc.gnu.org/install/configure.html
2022-07-28 14:30:38 +01:00
fanquake
aa87879a77
guix: pass enable-bind-now to glibc
Both glibcs we build support `--enable-bind-now`:
Disable lazy binding for installed shared objects and programs.
This provides additional security hardening because it enables full RELRO
and a read-only global offset table (GOT), at the cost of slightly
increased program load times.

See:
https://www.gnu.org/software/libc/manual/html_node/Configuring-and-compiling.html
2022-07-28 14:30:38 +01:00
fanquake
3897a131d0
guix: enable SSP for RISC-V glibc (2.27)
Pass `--enable-stack-protector=all` when building the glibc used for the
RISC-V toolchain, to enable stack smashing protection on all functions,
in the glibc code.
2022-07-28 14:30:38 +01:00
Hennadii Stepanov
2ade04c0d9
guix: Drop repetition of option's default value 2022-07-19 09:03:43 +01:00
Andrew Chow
5bff18bce5 guix: patch gcc 10 with pthreads to remap guix store paths 2022-07-06 17:24:20 -04:00
fanquake
ca08e00a1b
Merge bitcoin/bitcoin#25508: guix: use elfesteem 2eb1e5384ff7a220fd1afacd4a0170acff54fe56
103c0d9f7e guix: use elfesteem 2eb1e5384ff7a220fd1afacd4a0170acff54fe56 (fanquake)

Pull request description:

  Our patch has been merged upstream, see https://github.com/LRGH/elfesteem/pull/3.

  Guix Build (x86_64):
  ```bash
  3deb66d386587e7ce29b92528170081d9e74443ddf50d07b72aacaee31c11641  guix-build-103c0d9f7e08/output/aarch64-linux-gnu/SHA256SUMS.part
  5f53a059ccf07181fa1154dc6ab741a9beda663a48d123d2aa4256ca7d38497a  guix-build-103c0d9f7e08/output/aarch64-linux-gnu/bitcoin-103c0d9f7e08-aarch64-linux-gnu-debug.tar.gz
  20cdb705439ff54822f7c3cad12254b46f8ff93aae58f1716253f39bd734eaf1  guix-build-103c0d9f7e08/output/aarch64-linux-gnu/bitcoin-103c0d9f7e08-aarch64-linux-gnu.tar.gz
  ae51fb2ef8e76326bde4693f778444a5c21df1feba42b161e667c5f069aae967  guix-build-103c0d9f7e08/output/arm-linux-gnueabihf/SHA256SUMS.part
  0ffeaa089582871a578069c0251bf51823624274c23c2fd65f04d2a3e50f3296  guix-build-103c0d9f7e08/output/arm-linux-gnueabihf/bitcoin-103c0d9f7e08-arm-linux-gnueabihf-debug.tar.gz
  71f3da47678d8169414ef0072271604fa550e84ce86979706b3b289a1521a119  guix-build-103c0d9f7e08/output/arm-linux-gnueabihf/bitcoin-103c0d9f7e08-arm-linux-gnueabihf.tar.gz
  f5d13de726f7705e946a2b3a63d182d8c7e70e3adc9a92552676898e9819db27  guix-build-103c0d9f7e08/output/arm64-apple-darwin/SHA256SUMS.part
  e411e8f0cc3ab18981ccb65768a6af1622748c14b6e0513401179bcd0df519a7  guix-build-103c0d9f7e08/output/arm64-apple-darwin/bitcoin-103c0d9f7e08-arm64-apple-darwin-unsigned.dmg
  d7e9aa52f9b0a0249445e926753978d6845bab0c02639d162879b921f237b8ce  guix-build-103c0d9f7e08/output/arm64-apple-darwin/bitcoin-103c0d9f7e08-arm64-apple-darwin-unsigned.tar.gz
  cefde91f0b75a27e945f190194dbe0dab5653a6bcc91b18bec34d952aebd72d7  guix-build-103c0d9f7e08/output/arm64-apple-darwin/bitcoin-103c0d9f7e08-arm64-apple-darwin.tar.gz
  0b399fd5f7a85974ab25933575a0173c814d4ab578d16ab13896bb51e408b92f  guix-build-103c0d9f7e08/output/dist-archive/bitcoin-103c0d9f7e08.tar.gz
  22d6a771d2eab73ab328c8b472160333dd52c6f734761f466c79251a37bd1895  guix-build-103c0d9f7e08/output/powerpc64-linux-gnu/SHA256SUMS.part
  a6e598b022683e0858be8bd4a6d75bc15f2fbc7632c45f8b03c7a8dff367343a  guix-build-103c0d9f7e08/output/powerpc64-linux-gnu/bitcoin-103c0d9f7e08-powerpc64-linux-gnu-debug.tar.gz
  04ea54706ac47f8880ae0fcddabb0f4fe899a0bacf52d0d936dbbc1149e14e10  guix-build-103c0d9f7e08/output/powerpc64-linux-gnu/bitcoin-103c0d9f7e08-powerpc64-linux-gnu.tar.gz
  059a7018ce96e141c258d516b85c3ee95f02b61dc2db4931fa14993b2bd945e3  guix-build-103c0d9f7e08/output/powerpc64le-linux-gnu/SHA256SUMS.part
  aacaa0e4827808ed189152c6f1a4e0d9300b89136a7dc064fd045f700ee06084  guix-build-103c0d9f7e08/output/powerpc64le-linux-gnu/bitcoin-103c0d9f7e08-powerpc64le-linux-gnu-debug.tar.gz
  4041f8de495b4633df0e28d75ab6cfd0bfe7ec9292384ce4d3331383d06da310  guix-build-103c0d9f7e08/output/powerpc64le-linux-gnu/bitcoin-103c0d9f7e08-powerpc64le-linux-gnu.tar.gz
  1586a47797a803cab03a9ebcd207eb395e1651c443e9192ac2b144b85e014762  guix-build-103c0d9f7e08/output/riscv64-linux-gnu/SHA256SUMS.part
  74f088bca4e7c0d44e6b7161ee4c835b38bc9291c78f37e53d3ede2da98d52c0  guix-build-103c0d9f7e08/output/riscv64-linux-gnu/bitcoin-103c0d9f7e08-riscv64-linux-gnu-debug.tar.gz
  12cfe35b28de03f2355d6fb5ed9393001d3b5a06b12a2792cb863ca4ae61db17  guix-build-103c0d9f7e08/output/riscv64-linux-gnu/bitcoin-103c0d9f7e08-riscv64-linux-gnu.tar.gz
  b021e117d1e92ad105234661468efeab98246db79d51267a766399776999bafe  guix-build-103c0d9f7e08/output/x86_64-apple-darwin/SHA256SUMS.part
  0a6c9d00f9ea2d67ca58c867258bb1b595a3141d5f199ffb047f7235bb2863a6  guix-build-103c0d9f7e08/output/x86_64-apple-darwin/bitcoin-103c0d9f7e08-x86_64-apple-darwin-unsigned.dmg
  a7df5f759e792e4fae46ab7ddca5db8cff8973aa33d7d99c4bfbf7c04c2d3013  guix-build-103c0d9f7e08/output/x86_64-apple-darwin/bitcoin-103c0d9f7e08-x86_64-apple-darwin-unsigned.tar.gz
  801ec4f81af5f184cc0e0fcf650f4e5822d895a4202c35575f46e1c63498b1aa  guix-build-103c0d9f7e08/output/x86_64-apple-darwin/bitcoin-103c0d9f7e08-x86_64-apple-darwin.tar.gz
  813e9c9c6e0ce430d2096963dbffeb141f239d67b334e44b3fd1f1bc9246758d  guix-build-103c0d9f7e08/output/x86_64-linux-gnu/SHA256SUMS.part
  43e7afc360267fea8e1620e0c2ea40c45af07debbd646abf9fe631465c2e2c47  guix-build-103c0d9f7e08/output/x86_64-linux-gnu/bitcoin-103c0d9f7e08-x86_64-linux-gnu-debug.tar.gz
  0c5fc4b3c5bf4a53f1f9710cd738d5c0bbe6a2f0dc45e91f92065ae766b63635  guix-build-103c0d9f7e08/output/x86_64-linux-gnu/bitcoin-103c0d9f7e08-x86_64-linux-gnu.tar.gz
  08c031137c2c472a944f3220cf3812a8ec1dd70da9b0f264361ba16badb65b9f  guix-build-103c0d9f7e08/output/x86_64-w64-mingw32/SHA256SUMS.part
  4bbdc405075001b61e7cc48974e4b987c887a861add6db419fb51eccd914fbb0  guix-build-103c0d9f7e08/output/x86_64-w64-mingw32/bitcoin-103c0d9f7e08-win64-debug.zip
  8de95b683500300a787dd1d0d74580e9d6ab448f00f4c32e58ad830b763f2755  guix-build-103c0d9f7e08/output/x86_64-w64-mingw32/bitcoin-103c0d9f7e08-win64-setup-unsigned.exe
  36202c352d1f3b238daa00126f7ad369e53a510a32bb2585d69f967ef02aff48  guix-build-103c0d9f7e08/output/x86_64-w64-mingw32/bitcoin-103c0d9f7e08-win64-unsigned.tar.gz
  6255922a31502a23ea323095dec2d176bca22977222936fc7857a55ac001f6e9  guix-build-103c0d9f7e08/output/x86_64-w64-mingw32/bitcoin-103c0d9f7e08-win64.zip
  ```

ACKs for top commit:
  hebasto:
    ACK 103c0d9f7e, I have reviewed the code and it looks OK.

Tree-SHA512: 421956999d2daedbce2e94a13dffa20b2dafb36ca5ffa094d8dca79eb5e60ec91bfade59cd24da548b45aec00f688d570e61a3567ea8075c25d198ac7fc4efff
2022-07-01 10:41:31 +01:00
laanwj
b04f42efe3
Merge bitcoin/bitcoin#25490: guix: more cross arch reproducibility (x86_64 -> arm64)
54faac9689 guix: Remove guix store paths from glibc (Andrew Chow)
1d4d711de2 guix: Map all guix store prefixes to /usr (Andrew Chow)

Pull request description:

  This cherry-picks two commits from #24615, with minor edits. When building master, only the `x86_64-apple-darwin` build is reproducible across x86_64 and arm64. With these two changes we get x86_64 -> arm64 reproducibility for:
  * `powerpc64-linux-gnu`
  * `powerpc64le-linux-gnu`
  * `x86_64-apple-darwin`
  * `x86_64-linux-gnu`

  We can't compare `aarch64-linux-gnu`, because we can't currently build for `aarch64-linux-gnu` on `aarch64-linux-gnu`/`arm64`. See (#22458).

  For all the other hosts, the reproducibility issues are known / being worked on (see discussion in #24615). However there's no real reason to wait for those to be fixed before merging these changes, as it'd be great to have cross arch reproducibility just for `x86_64-linux-gnu`. I'm also unsure about the approach taken in that PR in regards to the libtool changes (and think there might even be a Guix bug involved).

  As I've added to the patch file, we may be able to drop these patches and use `--with-nonshared-cflags` when we are building newer versions of glibc.

  Guix Build (x86_64):
  ```bash
  1eadc59775a209e707539a6bdfe4c96e13a17f5373bfaf6477a65c1a44b2459d  guix-build-54faac968971/output/arm-linux-gnueabihf/SHA256SUMS.part
  1f424e448223a1e1ee1658efeb3bcc0d8b08a2a2bdc9d2dc779c931b956b527f  guix-build-54faac968971/output/arm-linux-gnueabihf/bitcoin-54faac968971-arm-linux-gnueabihf-debug.tar.gz
  212f55cf55dac34a3a6471bf0585f5ba1ed0a4801e9c0003961617881edb7ee7  guix-build-54faac968971/output/arm-linux-gnueabihf/bitcoin-54faac968971-arm-linux-gnueabihf.tar.gz
  f920fdc9407371be8fc5638a0f5ce2f1202889d820bda4451096d162b5d28d94  guix-build-54faac968971/output/arm64-apple-darwin/SHA256SUMS.part
  066098fe095a3dd46fa3c84e459aca1e8e4b3d564ab3f20a2542c8c46dd37b5a  guix-build-54faac968971/output/arm64-apple-darwin/bitcoin-54faac968971-arm64-apple-darwin-unsigned.dmg
  d2dc320975f8ec67595c274fcb7eda56c18ba72b905160537be97408cfdf1baf  guix-build-54faac968971/output/arm64-apple-darwin/bitcoin-54faac968971-arm64-apple-darwin-unsigned.tar.gz
  68013ac011ebac25e8ee2d2421266c66d1e20d309133eb6121ba89807e17fda5  guix-build-54faac968971/output/arm64-apple-darwin/bitcoin-54faac968971-arm64-apple-darwin.tar.gz
  d992dd9f50fec89e0bdf63e8e9352ebcd2b503424cb441f01c06074aa0b63b0e  guix-build-54faac968971/output/dist-archive/bitcoin-54faac968971.tar.gz
  e26ea298d15a87ce484afa59ca0c36ecfd173314b440e091cd93de11fe2dd91c  guix-build-54faac968971/output/powerpc64-linux-gnu/SHA256SUMS.part
  1a17091e7e515cc89a2e0a91a08ea0deb48847d5650be936f3365449002a59a5  guix-build-54faac968971/output/powerpc64-linux-gnu/bitcoin-54faac968971-powerpc64-linux-gnu-debug.tar.gz
  63ce21f6ee3a971a7a4533934ec559c727d2e3fc123fb65b2dec622168af76d5  guix-build-54faac968971/output/powerpc64-linux-gnu/bitcoin-54faac968971-powerpc64-linux-gnu.tar.gz
  267ff9d9ed3d8108033d676218399c4e56ba83eb30a3b4a6417cac8d1ce5e2f4  guix-build-54faac968971/output/powerpc64le-linux-gnu/SHA256SUMS.part
  a0db19b9829bd65067e2075c2d3e55065d03a4456a31ccb3ed8a70f7f3dcf1a0  guix-build-54faac968971/output/powerpc64le-linux-gnu/bitcoin-54faac968971-powerpc64le-linux-gnu-debug.tar.gz
  9971ba819854a77306358b31ddc2d21074b8cca57cfd8ce7f2ca83a1cc8f0a46  guix-build-54faac968971/output/powerpc64le-linux-gnu/bitcoin-54faac968971-powerpc64le-linux-gnu.tar.gz
  e18fe6d4db3048368db25846555a30ec97f71dcfdfcc3e86d7fe46c33c762a26  guix-build-54faac968971/output/riscv64-linux-gnu/SHA256SUMS.part
  4879fd332bee8570e6edfe5d0cbd3eea7df18f058ed25286aedb377858e27793  guix-build-54faac968971/output/riscv64-linux-gnu/bitcoin-54faac968971-riscv64-linux-gnu-debug.tar.gz
  470fafbab9d7328e172c658f58fd6f62f7890ce5d3dfe3bbfacd717b6d2c00f3  guix-build-54faac968971/output/riscv64-linux-gnu/bitcoin-54faac968971-riscv64-linux-gnu.tar.gz
  6b119a38b8ac1dd50e3cee69e8464ab21d624217cb3f50a1aef216e9ece27946  guix-build-54faac968971/output/x86_64-apple-darwin/SHA256SUMS.part
  afff2a8184007d6a3eaf7b6735417e7b9b404a801306c71f7d653907055d442c  guix-build-54faac968971/output/x86_64-apple-darwin/bitcoin-54faac968971-x86_64-apple-darwin-unsigned.dmg
  775298169fa45197f5b560e5581d6e3c021ed009487065f7e3a042914396b3cd  guix-build-54faac968971/output/x86_64-apple-darwin/bitcoin-54faac968971-x86_64-apple-darwin-unsigned.tar.gz
  51b0d2adae63aeca021621ec25278c202e82d8bc3ef5e7a9d2bfd93bd7a3fcab  guix-build-54faac968971/output/x86_64-apple-darwin/bitcoin-54faac968971-x86_64-apple-darwin.tar.gz
  ca9cd0083083ec1632a37396076fef638c00fed99efbb9e39521195867746301  guix-build-54faac968971/output/x86_64-linux-gnu/SHA256SUMS.part
  0e5a017bca3c0a2a466d230a470ec9c44b5d0bfd60d98f62a3a54f4cccb8cd23  guix-build-54faac968971/output/x86_64-linux-gnu/bitcoin-54faac968971-x86_64-linux-gnu-debug.tar.gz
  3b26566a553f17ccbcbf548675d0e8ce47a58a1e23c6b7c9792565117a223855  guix-build-54faac968971/output/x86_64-linux-gnu/bitcoin-54faac968971-x86_64-linux-gnu.tar.gz
  fa2f240f7bd7cfadfeb08188c044c8e34fd9c24785f4e2035c1256c3173c5589  guix-build-54faac968971/output/x86_64-w64-mingw32/SHA256SUMS.part
  0212ae95d100c9a4dbe062a14b49952279c91cbf352c786369320c3ed006c23a  guix-build-54faac968971/output/x86_64-w64-mingw32/bitcoin-54faac968971-win64-debug.zip
  750aa7c31cfa1bd5e0ae3f2ea52e526a73f1d3879b9f1a365967bbc317d4cca4  guix-build-54faac968971/output/x86_64-w64-mingw32/bitcoin-54faac968971-win64-setup-unsigned.exe
  f7bdda020d299df778fd68ad556d8124d87f7f9f0c4a77b62e05db20f5bbec2b  guix-build-54faac968971/output/x86_64-w64-mingw32/bitcoin-54faac968971-win64-unsigned.tar.gz
  d7f8b16634ceb95db3d28a024827a51f689dc0ab34ed40f205861bbc254f6206  guix-build-54faac968971/output/x86_64-w64-mingw32/bitcoin-54faac968971-win64.zip
  ```

  Guix Build (arm64):
  ```bash
  e4492294c284054e8378f8ac0c08b5d2efe5eeeec57ca12c3192da87a4dd4266  guix-build-54faac968971/output/arm-linux-gnueabihf/SHA256SUMS.part
  1f424e448223a1e1ee1658efeb3bcc0d8b08a2a2bdc9d2dc779c931b956b527f  guix-build-54faac968971/output/arm-linux-gnueabihf/bitcoin-54faac968971-arm-linux-gnueabihf-debug.tar.gz
  b2c454f589afea22d5126be14d1b9eb3aed7d99d59e50591db18c2cc3f190b23  guix-build-54faac968971/output/arm-linux-gnueabihf/bitcoin-54faac968971-arm-linux-gnueabihf.tar.gz
  575bbf78dd6002a7a5653277c24cd8d98471b6454e0801b558ac2a754788f2fa  guix-build-54faac968971/output/arm64-apple-darwin/SHA256SUMS.part
  03d8175e0db26b56fee757b307b8b519e4df0c639caa6afdfdea5ce7de63ecc4  guix-build-54faac968971/output/arm64-apple-darwin/bitcoin-54faac968971-arm64-apple-darwin-unsigned.dmg
  8ab4e3a65f09168b42c40ec736e507eb3e9b787d27a56db21a3c601e81d81262  guix-build-54faac968971/output/arm64-apple-darwin/bitcoin-54faac968971-arm64-apple-darwin-unsigned.tar.gz
  43024487cf0120a0a42aeba228f01f2a5303d2940d838f59106fa246a484662d  guix-build-54faac968971/output/arm64-apple-darwin/bitcoin-54faac968971-arm64-apple-darwin.tar.gz
  d992dd9f50fec89e0bdf63e8e9352ebcd2b503424cb441f01c06074aa0b63b0e  guix-build-54faac968971/output/dist-archive/bitcoin-54faac968971.tar.gz
  e26ea298d15a87ce484afa59ca0c36ecfd173314b440e091cd93de11fe2dd91c  guix-build-54faac968971/output/powerpc64-linux-gnu/SHA256SUMS.part
  1a17091e7e515cc89a2e0a91a08ea0deb48847d5650be936f3365449002a59a5  guix-build-54faac968971/output/powerpc64-linux-gnu/bitcoin-54faac968971-powerpc64-linux-gnu-debug.tar.gz
  63ce21f6ee3a971a7a4533934ec559c727d2e3fc123fb65b2dec622168af76d5  guix-build-54faac968971/output/powerpc64-linux-gnu/bitcoin-54faac968971-powerpc64-linux-gnu.tar.gz
  267ff9d9ed3d8108033d676218399c4e56ba83eb30a3b4a6417cac8d1ce5e2f4  guix-build-54faac968971/output/powerpc64le-linux-gnu/SHA256SUMS.part
  a0db19b9829bd65067e2075c2d3e55065d03a4456a31ccb3ed8a70f7f3dcf1a0  guix-build-54faac968971/output/powerpc64le-linux-gnu/bitcoin-54faac968971-powerpc64le-linux-gnu-debug.tar.gz
  9971ba819854a77306358b31ddc2d21074b8cca57cfd8ce7f2ca83a1cc8f0a46  guix-build-54faac968971/output/powerpc64le-linux-gnu/bitcoin-54faac968971-powerpc64le-linux-gnu.tar.gz
  603e09db23e20ee834cfdeaa58517fa6795779131f76c8e67c79ee4118043ba6  guix-build-54faac968971/output/riscv64-linux-gnu/SHA256SUMS.part
  4879fd332bee8570e6edfe5d0cbd3eea7df18f058ed25286aedb377858e27793  guix-build-54faac968971/output/riscv64-linux-gnu/bitcoin-54faac968971-riscv64-linux-gnu-debug.tar.gz
  aad8eb83730dbf079ee2c894e33ebf6df78e302500493b10e72a2aab9fa51b49  guix-build-54faac968971/output/riscv64-linux-gnu/bitcoin-54faac968971-riscv64-linux-gnu.tar.gz
  6b119a38b8ac1dd50e3cee69e8464ab21d624217cb3f50a1aef216e9ece27946  guix-build-54faac968971/output/x86_64-apple-darwin/SHA256SUMS.part
  afff2a8184007d6a3eaf7b6735417e7b9b404a801306c71f7d653907055d442c  guix-build-54faac968971/output/x86_64-apple-darwin/bitcoin-54faac968971-x86_64-apple-darwin-unsigned.dmg
  775298169fa45197f5b560e5581d6e3c021ed009487065f7e3a042914396b3cd  guix-build-54faac968971/output/x86_64-apple-darwin/bitcoin-54faac968971-x86_64-apple-darwin-unsigned.tar.gz
  51b0d2adae63aeca021621ec25278c202e82d8bc3ef5e7a9d2bfd93bd7a3fcab  guix-build-54faac968971/output/x86_64-apple-darwin/bitcoin-54faac968971-x86_64-apple-darwin.tar.gz
  ca9cd0083083ec1632a37396076fef638c00fed99efbb9e39521195867746301  guix-build-54faac968971/output/x86_64-linux-gnu/SHA256SUMS.part
  0e5a017bca3c0a2a466d230a470ec9c44b5d0bfd60d98f62a3a54f4cccb8cd23  guix-build-54faac968971/output/x86_64-linux-gnu/bitcoin-54faac968971-x86_64-linux-gnu-debug.tar.gz
  3b26566a553f17ccbcbf548675d0e8ce47a58a1e23c6b7c9792565117a223855  guix-build-54faac968971/output/x86_64-linux-gnu/bitcoin-54faac968971-x86_64-linux-gnu.tar.gz
  da10e58c2616b7d96fb00d24f34834b737b190c91bd533fc11130c5faf77d697  guix-build-54faac968971/output/x86_64-w64-mingw32/SHA256SUMS.part
  7b69ac09edb7795b61242d8b929808b7615e4011f1d312d495cc9410ded6c574  guix-build-54faac968971/output/x86_64-w64-mingw32/bitcoin-54faac968971-win64-debug.zip
  750aa7c31cfa1bd5e0ae3f2ea52e526a73f1d3879b9f1a365967bbc317d4cca4  guix-build-54faac968971/output/x86_64-w64-mingw32/bitcoin-54faac968971-win64-setup-unsigned.exe
  f7bdda020d299df778fd68ad556d8124d87f7f9f0c4a77b62e05db20f5bbec2b  guix-build-54faac968971/output/x86_64-w64-mingw32/bitcoin-54faac968971-win64-unsigned.tar.gz
  e90e9a7e86839cbbde7b17610b7fb6eb9a960703232d3b92040dce8df55861bd  guix-build-54faac968971/output/x86_64-w64-mingw32/bitcoin-54faac968971-win64.zip
  ```

ACKs for top commit:
  laanwj:
    ACK  54faac9689

Tree-SHA512: 258e7de8e8df00995b6e952ef10d054ad127237265811eaafa537501be84459ae8f8f638618365d81e4eee8b7013db768b61c343d68e46d1d90a194bdc26b852
2022-07-01 11:27:17 +02:00
fanquake
103c0d9f7e
guix: use elfesteem 2eb1e5384ff7a220fd1afacd4a0170acff54fe56
Our patch has been merged upstream, see
https://github.com/LRGH/elfesteem/pull/3
2022-06-30 11:21:06 +01:00
laanwj
ceae0eb7e3
Merge bitcoin/bitcoin#25437: guix: remove explicit glibc stack protector disabling
4e569c8bd8 guix: remove explicit glibc stack protector disabling (fanquake)

Pull request description:

  While glibc 2.25 and newer *can* be built with stack-smashing-protection
  enabled, it isn't used by default, and still isn't, as of glibc 2.35,
  so I can't see a reason to explicitly disable it.

  I'd also like to move in the direction of enabling, by default,
  hardening options for the toolchains we build, so removing the explicit
  disabling is a step in that direction.

  Will be following up with some changes based on this change.

  Guix Build (x86_64):
  ```bash
  954b393f5c775919e32b725a45aa93af8a5e75ead348f904304c0367583b41ff  guix-build-4e569c8bd85e/output/aarch64-linux-gnu/SHA256SUMS.part
  0ff27062ba2ac4c11a966de2d9aea070f54ab5c255068dd992b19fcb33661ffd  guix-build-4e569c8bd85e/output/aarch64-linux-gnu/bitcoin-4e569c8bd85e-aarch64-linux-gnu-debug.tar.gz
  bf48baf97e21467ce439f6e733cf3a20732adee01bb1d98aa9519c2ec54b5f41  guix-build-4e569c8bd85e/output/aarch64-linux-gnu/bitcoin-4e569c8bd85e-aarch64-linux-gnu.tar.gz
  041eac2a2e045e2283cc78361adcc2232c5eecc9ad465624499225a4ad44f5fe  guix-build-4e569c8bd85e/output/arm-linux-gnueabihf/SHA256SUMS.part
  7a3bbca762f6c3c4fd851fbf74a2f00c21d98c211de5baa06d0ba2fc59505694  guix-build-4e569c8bd85e/output/arm-linux-gnueabihf/bitcoin-4e569c8bd85e-arm-linux-gnueabihf-debug.tar.gz
  89e0260075472d10d02de7e3bb382d87f9ffb3d548f533aab0ba7e39f4c796df  guix-build-4e569c8bd85e/output/arm-linux-gnueabihf/bitcoin-4e569c8bd85e-arm-linux-gnueabihf.tar.gz
  96f893eefaa9fb5af41f46eece3831a3956a5a9ab1f825e4c17c5675bd020bbe  guix-build-4e569c8bd85e/output/arm64-apple-darwin/SHA256SUMS.part
  65865e481d33e1023adef769ca9a38ca8cdf03e8476a61f1724bb1ab0bc54750  guix-build-4e569c8bd85e/output/arm64-apple-darwin/bitcoin-4e569c8bd85e-arm64-apple-darwin-unsigned.dmg
  38da0510c34d9c2bff98da60c873593c6a85bc6f73025990daaa8d5b022819c0  guix-build-4e569c8bd85e/output/arm64-apple-darwin/bitcoin-4e569c8bd85e-arm64-apple-darwin-unsigned.tar.gz
  a1b5ccda7780df15fda2131d260542e57601fed2c18092edaa3094c23eafd99d  guix-build-4e569c8bd85e/output/arm64-apple-darwin/bitcoin-4e569c8bd85e-arm64-apple-darwin.tar.gz
  f1e4fb6d96420865ee1cfdc10960d8b0407ae49d367d5df1901510a8a87a69bf  guix-build-4e569c8bd85e/output/dist-archive/bitcoin-4e569c8bd85e.tar.gz
  5cc5e3193435bdd0aafc1a43e1dfc7582e585a27453e92e3383ceb8ba6c162ad  guix-build-4e569c8bd85e/output/powerpc64-linux-gnu/SHA256SUMS.part
  56bfeecb15b0c59dcccb31d1d5df978e7bb9c60bc0661638af7b263958cb8d4d  guix-build-4e569c8bd85e/output/powerpc64-linux-gnu/bitcoin-4e569c8bd85e-powerpc64-linux-gnu-debug.tar.gz
  46e61a752ba3ac1e553c82f4615854c27b38b9c2e5abd318840d3d5383e1384d  guix-build-4e569c8bd85e/output/powerpc64-linux-gnu/bitcoin-4e569c8bd85e-powerpc64-linux-gnu.tar.gz
  52ea9adf7b3a88fa88e89b53852d1d7917af959bee0b67c218959b1123f67c57  guix-build-4e569c8bd85e/output/powerpc64le-linux-gnu/SHA256SUMS.part
  2a1a65bd55cc9c83ccbb296e7fe41d5b313466cf8d70ef8aec81aa47e346e422  guix-build-4e569c8bd85e/output/powerpc64le-linux-gnu/bitcoin-4e569c8bd85e-powerpc64le-linux-gnu-debug.tar.gz
  b8dbcf97a83a1dd53d23eeafa714e3a3cb8d0b087c060978137e47fdab2b261f  guix-build-4e569c8bd85e/output/powerpc64le-linux-gnu/bitcoin-4e569c8bd85e-powerpc64le-linux-gnu.tar.gz
  87e3823e246e139ad14c4d44c8e2ed5e1bebea1a02d3931e66232505a1b35463  guix-build-4e569c8bd85e/output/riscv64-linux-gnu/SHA256SUMS.part
  1307b92c608b1001628fda1792fbcb61183286cff707be930bcb1d887f5a4b02  guix-build-4e569c8bd85e/output/riscv64-linux-gnu/bitcoin-4e569c8bd85e-riscv64-linux-gnu-debug.tar.gz
  0f660a9165a26f627be913e6bf1bb81cbabebee742031d0a75131a7e380e6c8a  guix-build-4e569c8bd85e/output/riscv64-linux-gnu/bitcoin-4e569c8bd85e-riscv64-linux-gnu.tar.gz
  d530151878bdf70c0913a12ba1aa49dad9ba62ac9edd70cda3982fd0fe327e93  guix-build-4e569c8bd85e/output/x86_64-apple-darwin/SHA256SUMS.part
  dc3a9ee571854066ea03d60c1f2b8012fdff12ea1e74ab4ce02b1effc6689436  guix-build-4e569c8bd85e/output/x86_64-apple-darwin/bitcoin-4e569c8bd85e-x86_64-apple-darwin-unsigned.dmg
  94c0522390e5650d91d63c6afa5bce895a60c17c1365e0d87a898c2868093dc9  guix-build-4e569c8bd85e/output/x86_64-apple-darwin/bitcoin-4e569c8bd85e-x86_64-apple-darwin-unsigned.tar.gz
  364d72282e8824d5dffe184fc10bdcbc9cdf96e8c0ac379b8392e1e1992e3307  guix-build-4e569c8bd85e/output/x86_64-apple-darwin/bitcoin-4e569c8bd85e-x86_64-apple-darwin.tar.gz
  0d3ce4cbf3444fc9a3c488f12ef7b73d07b85bcf3d4d9500b689d44506a79818  guix-build-4e569c8bd85e/output/x86_64-linux-gnu/SHA256SUMS.part
  f584d494db5594ae2bc06e09f8e68c11e446bc82cb8a1dfa6afee5d3a079b5af  guix-build-4e569c8bd85e/output/x86_64-linux-gnu/bitcoin-4e569c8bd85e-x86_64-linux-gnu-debug.tar.gz
  ea0e9316dd25ebee9023f3c65cb99fe846de6fe56152d4926005f9da500a502c  guix-build-4e569c8bd85e/output/x86_64-linux-gnu/bitcoin-4e569c8bd85e-x86_64-linux-gnu.tar.gz
  a41966b6d13aa1e702cc357bbedfd51bcb431caa39bb904efd9611e3a945bf1c  guix-build-4e569c8bd85e/output/x86_64-w64-mingw32/SHA256SUMS.part
  5f150613204341d91a4b755c74120e233567187ba4f9151a12e39e5304efb3a1  guix-build-4e569c8bd85e/output/x86_64-w64-mingw32/bitcoin-4e569c8bd85e-win64-debug.zip
  6a94dc9c5dcb2a4448a37573baab50f405e08af0d5a4de8a8046cba5445153e4  guix-build-4e569c8bd85e/output/x86_64-w64-mingw32/bitcoin-4e569c8bd85e-win64-setup-unsigned.exe
  31fe85ba31ed84ebbbc4cc42f593e1de1811c1ecc9a0a094d05b0914bd151174  guix-build-4e569c8bd85e/output/x86_64-w64-mingw32/bitcoin-4e569c8bd85e-win64-unsigned.tar.gz
  0a6d590c26a47c51192e4003ad97ecd6b7ad91c8f8612ea310fb324bce5dc15a  guix-build-4e569c8bd85e/output/x86_64-w64-mingw32/bitcoin-4e569c8bd85e-win64.zip
  ```

  Guix Build (arm64):
  ```bash
  2ce621cb469772c318a29b21bc4dd546353130a688a5ecb66373256c7be2c37a  guix-build-4e569c8bd85e/output/arm-linux-gnueabihf/SHA256SUMS.part
  13abe55069581ca711529d058a8e5de732c6630a94b7e912e9c31f606241c264  guix-build-4e569c8bd85e/output/arm-linux-gnueabihf/bitcoin-4e569c8bd85e-arm-linux-gnueabihf-debug.tar.gz
  7a60cd7d9aee30bc8e08cf9d52bd032f82e48214c81130e2f61ca3da71c01477  guix-build-4e569c8bd85e/output/arm-linux-gnueabihf/bitcoin-4e569c8bd85e-arm-linux-gnueabihf.tar.gz
  d614a4acfed70f61814a5c26bf51594e0cc666fc3dadc3df805e5cc608835550  guix-build-4e569c8bd85e/output/arm64-apple-darwin/SHA256SUMS.part
  c9d5705b947c461ade878d7a0110ae5b34b384991f5bf6e86db0b79f421d4f81  guix-build-4e569c8bd85e/output/arm64-apple-darwin/bitcoin-4e569c8bd85e-arm64-apple-darwin-unsigned.dmg
  c1897d204e75b9ef8a58fb3f2c85d9c306b05dbd6c8f74a2b4ccfbd85aed5574  guix-build-4e569c8bd85e/output/arm64-apple-darwin/bitcoin-4e569c8bd85e-arm64-apple-darwin-unsigned.tar.gz
  1c9e188d76c18785d4500c1c7ab0e049cf35c878803266580913e8cc4bd01bf6  guix-build-4e569c8bd85e/output/arm64-apple-darwin/bitcoin-4e569c8bd85e-arm64-apple-darwin.tar.gz
  f1e4fb6d96420865ee1cfdc10960d8b0407ae49d367d5df1901510a8a87a69bf  guix-build-4e569c8bd85e/output/dist-archive/bitcoin-4e569c8bd85e.tar.gz
  f3e7d6b6aca3ca4f150e0e91e9532f4eb21c4f60ab1c21b6ecfaa9c862f9f8a8  guix-build-4e569c8bd85e/output/powerpc64-linux-gnu/SHA256SUMS.part
  48e630949976ee298bccf01cfbbb7fea29c9bd0bc658cf0564d4a3e1997556e8  guix-build-4e569c8bd85e/output/powerpc64-linux-gnu/bitcoin-4e569c8bd85e-powerpc64-linux-gnu-debug.tar.gz
  9e30c4987f3657ba6499a78c5c578e430c55f71991fc9ad6f3ecf4847ed1814e  guix-build-4e569c8bd85e/output/powerpc64-linux-gnu/bitcoin-4e569c8bd85e-powerpc64-linux-gnu.tar.gz
  128ce9194e377b013baceafc4ddba0f70c239e36057c9dc0a9213caa34c5064f  guix-build-4e569c8bd85e/output/powerpc64le-linux-gnu/SHA256SUMS.part
  8e4a41c07e9427de4054069c3af668157372cc6cd86d758c0b35b7ed906e5365  guix-build-4e569c8bd85e/output/powerpc64le-linux-gnu/bitcoin-4e569c8bd85e-powerpc64le-linux-gnu-debug.tar.gz
  da6924709b35f7fbaf9b7b772e0f14be5b583e9453b0cae58b6a5b1e159580c7  guix-build-4e569c8bd85e/output/powerpc64le-linux-gnu/bitcoin-4e569c8bd85e-powerpc64le-linux-gnu.tar.gz
  2415604bf3651ea18dcbb4ec5bf73372bdc19c80aa316b864de20c8a5df4bf34  guix-build-4e569c8bd85e/output/riscv64-linux-gnu/SHA256SUMS.part
  8f6ee4b69fb33b40ad505c091684258ded340ab9936b554f8fa4e499d4da1155  guix-build-4e569c8bd85e/output/riscv64-linux-gnu/bitcoin-4e569c8bd85e-riscv64-linux-gnu-debug.tar.gz
  0a941d44532287288a9859c35fdaa940c940c1e8f4a17b7994e3796c9a668d57  guix-build-4e569c8bd85e/output/riscv64-linux-gnu/bitcoin-4e569c8bd85e-riscv64-linux-gnu.tar.gz
  d530151878bdf70c0913a12ba1aa49dad9ba62ac9edd70cda3982fd0fe327e93  guix-build-4e569c8bd85e/output/x86_64-apple-darwin/SHA256SUMS.part
  dc3a9ee571854066ea03d60c1f2b8012fdff12ea1e74ab4ce02b1effc6689436  guix-build-4e569c8bd85e/output/x86_64-apple-darwin/bitcoin-4e569c8bd85e-x86_64-apple-darwin-unsigned.dmg
  94c0522390e5650d91d63c6afa5bce895a60c17c1365e0d87a898c2868093dc9  guix-build-4e569c8bd85e/output/x86_64-apple-darwin/bitcoin-4e569c8bd85e-x86_64-apple-darwin-unsigned.tar.gz
  364d72282e8824d5dffe184fc10bdcbc9cdf96e8c0ac379b8392e1e1992e3307  guix-build-4e569c8bd85e/output/x86_64-apple-darwin/bitcoin-4e569c8bd85e-x86_64-apple-darwin.tar.gz
  047d3eae54136b7f5fb20487fb2c57455dda6bb88594065b71843400fbc41824  guix-build-4e569c8bd85e/output/x86_64-linux-gnu/SHA256SUMS.part
  8bfb97bcab8d5e0a86a2a8d20be5215d8bb615a8b6c3ad69e1db5028caf2dd29  guix-build-4e569c8bd85e/output/x86_64-linux-gnu/bitcoin-4e569c8bd85e-x86_64-linux-gnu-debug.tar.gz
  4962550d7d113e8544a33e2ffa5a0e77e172984c17bfa461a631bf08dc7cc545  guix-build-4e569c8bd85e/output/x86_64-linux-gnu/bitcoin-4e569c8bd85e-x86_64-linux-gnu.tar.gz
  5ad1661c475308c6df102aee51261e36583fe0f5f73713d7f19384b63755a3c5  guix-build-4e569c8bd85e/output/x86_64-w64-mingw32/SHA256SUMS.part
  62cf3e15e638f48bd0931a847ba5e5636422fb6bd00da41251c1f636d39c5822  guix-build-4e569c8bd85e/output/x86_64-w64-mingw32/bitcoin-4e569c8bd85e-win64-debug.zip
  6a94dc9c5dcb2a4448a37573baab50f405e08af0d5a4de8a8046cba5445153e4  guix-build-4e569c8bd85e/output/x86_64-w64-mingw32/bitcoin-4e569c8bd85e-win64-setup-unsigned.exe
  31fe85ba31ed84ebbbc4cc42f593e1de1811c1ecc9a0a094d05b0914bd151174  guix-build-4e569c8bd85e/output/x86_64-w64-mingw32/bitcoin-4e569c8bd85e-win64-unsigned.tar.gz
  a3c7db0ca4b557810b5e5f1ec14cecaf47b5bf51631798d8675243bb6ecedf8f  guix-build-4e569c8bd85e/output/x86_64-w64-mingw32/bitcoin-4e569c8bd85e-win64.zip
  ```

ACKs for top commit:
  laanwj:
    Code review ACK 4e569c8bd8

Tree-SHA512: 7f75c304ec67d824ce17be1acb0d67c3946cc346444abcac0a13762365566d101aa784f92dd28ef15b664f1a5f64ae1f60ca91b2538de7ea08a7684bf33cda0d
2022-06-29 12:20:50 +02:00
Andrew Chow
54faac9689
guix: Remove guix store paths from glibc
Without ffile-prefix-map, the debug symbols will contain paths for the
guix store which will include the hashes of each package. However, the
hash for the same package will differ when on different architectures.
In order to be reproducible regardless of the architecture used to build
the package, map all guix store prefixes to something fixed, e.g. /usr.

We might be able to drop this in favour of using --with-nonshared-cflags
when we being using newer versions of glibc.
2022-06-28 14:19:33 +01:00
Andrew Chow
1d4d711de2
guix: Map all guix store prefixes to /usr
Without ffile-prefix-map, the debug symbols will contain paths for the
guix store which will include the hashes of each package. However, the
hash for the same package will differ when on different architectures.
In order to be reproducible regardless of the architecture used to build
the package, map all guix store prefixes to something fixed, e.g. /usr.
2022-06-28 14:19:33 +01:00
fanquake
5f082ad4e4
guix: patch LIEF to fix PPC64 NX default
This patches our LIEF build using the change merged upstream:
https://github.com/lief-project/LIEF/pull/718.

This can be dropped the next time we update LIEF.
2022-06-25 10:04:10 +01:00
fanquake
0b5adfda87
guix: use LIEF 0.12.1 2022-06-25 09:44:01 +01:00
fanquake
4b6b4fc537
guix: remove usage of -Wl,-z,noexecstack for PPC64 HOST
The PPC64 ABI has a non-executable stack by default, and does not need a
GNU_STACK program header.

See also:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/include/asm/page_64.h#n92
2022-06-25 09:30:57 +01:00
fanquake
8d25926643
guix: parallelize LIEF build 2022-06-23 12:01:00 +01:00
fanquake
4e569c8bd8
guix: remove explicit glibc stack protector disabling
While glibc 2.25 and newer *can* be built with stack-smashing-protection
enabled, it isn't used by default, and still isn't, as of glibc 2.35,
so I can't see a reason to explicitly disable it.

I'd also like to move in the direction of enabling, by default,
hardening options for the toolchains we build, so removing the explicit
disabling is a step in that direction.

Will be following up with some changes based on this PR.
2022-06-21 09:21:00 +01:00
fanquake
679ecdd14b
guix: use libtool 2.4.7
As of version 2.4.7, libtool now respects ARFLAGS, which we use, and has
changed the default ARFLAGS from cru to cr (which we also do, see
configure).

This eliminates spammy `ar` output such as:
```bash
  CXXLD    libunivalue.la
/root/.guix-profile/bin/x86_64-linux-gnu-ar: `u' modifier ignored since `D' is the default (see `U')
  AR       libbitcoin_zmq.a
  AR       libbitcoin_consensus.a
  CXXLD    crypto/libbitcoin_crypto_base.la
  CXXLD    crypto/libbitcoin_crypto_sse41.la
/root/.guix-profile/bin/x86_64-linux-gnu-ar: `u' modifier ignored since `D' is the default (see `U')
/root/.guix-profile/bin/x86_64-linux-gnu-ar: `u' modifier ignored since `D' is the default (see `U')
  CXXLD    crypto/libbitcoin_crypto_avx2.la
  CXXLD    crypto/libbitcoin_crypto_x86_shani.la
  CXXLD    leveldb/libleveldb.la
/root/.guix-profile/bin/x86_64-linux-gnu-ar: `u' modifier ignored since `D' is the default (see `U')
  CXXLD    crc32c/libcrc32c.la
/root/.guix-profile/bin/x86_64-linux-gnu-ar: `u' modifier ignored since `D' is the default (see `U')
  CXXLD    leveldb/libmemenv.la
/root/.guix-profile/bin/x86_64-linux-gnu-ar: `u' modifier ignored since `D' is the default (see `U')
/root/.guix-profile/bin/x86_64-linux-gnu-ar: `u' modifier ignored since `D' is the default (see `U')
/root/.guix-profile/bin/x86_64-linux-gnu-ar: `u' modifier ignored since `D' is the default (see `U')
  AR       libbitcoin_cli.a
```

Libtool 2.4.7 release notes:
https://lists.gnu.org/archive/html/autotools-announce/2022-03/msg00000.html
2022-06-16 11:17:42 +01:00
fanquake
2dcf3e153f
guix: re-revert riscv execstack workaround
Now that we use GCC 10 for release builds, we no-longer need to
pass-Wl,-z,noexecstack to get a non-executable stack in RISC-V binaries.

This was originally removed in #21036, but then re-added in #21799, when
we reverted to using GCC 8.
2022-06-08 10:43:25 +01:00
fanquake
6b9d53e1ff
guix: native GCC 10 toolchain for Linux builds 2022-05-12 08:21:16 +01:00
fanquake
88fd3f81ec
guix: use -fcommon when building glibc 2.24
GCC 10 started using -fno-common by default, which causes issues with
the powerpc builds using gibc 2.24. A patch was commited to glibc to fix
the issue, 18363b4f010da9ba459b13310b113ac0647c2fcc but is non-trvial
to backport, and was broken in at least one way, see the followup in
commit 7650321ce037302bfc2f026aa19e0213b8d02fe6.

For now, retain the legacy GCC behaviour by passing -fcommon when
building glibc 2.24.

https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html.
https://sourceware.org/git/?p=glibc.git;a=commit;h=18363b4f010da9ba459b13310b113ac0647c2fcc
https://sourceware.org/git/?p=glibc.git;a=commit;h=7650321ce037302bfc2f026aa19e0213b8d02fe6
2022-05-12 08:21:16 +01:00
fanquake
0e51913595
guix: fix glibc 2.27 multiple definition warnings with GCC 10 2022-05-12 08:21:16 +01:00
fanquake
508bd4d357
guix: adjust RISC-V __has_include() patch to work with GCC 10
The actual macro is __has_include(), not __has_include__(), using the
later would result in build failures when using GCC 10. i.e:
```bash
../sysdeps/unix/sysv/linux/riscv/flush-icache.c:24:5: warning: "__has_include__" is not defined, evaluates to 0 [-Wundef]
   24 | #if __has_include__ (<asm/syscalls.h>)
```

Looks like at least someone else has run into the same thing, see:
http://lists.busybox.net/pipermail/buildroot/2020-July/590376.html.

See also:
https://gcc.gnu.org/onlinedocs/cpp/_005f_005fhas_005finclude.html
https://clang.llvm.org/docs/LanguageExtensions.html#has-include
2022-05-12 08:21:15 +01:00
fanquake
c9c5b3060d
guix: compile glibc without -werror
Compiling glibc 2.24 and 2.27 with the new GCC 10 results in a number of new warnings,
i.e:
```bash
libc-tls.c: In function ‘__libc_setup_tls’:
libc-tls.c:208:30: error: array subscript 1 is outside the bounds of an interior zero-length array ‘struct dtv_slotinfo[0]’ [-Werror=zero-length-bounds]
  208 |   static_slotinfo.si.slotinfo[1].map = main_map;
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from ../sysdeps/x86_64/ldsodefs.h:54,
                 from ../sysdeps/gnu/ldsodefs.h:46,
                 from ../sysdeps/unix/sysv/linux/ldsodefs.h:25,
                 from libc-tls.c:20:
../sysdeps/generic/ldsodefs.h:398:7: note: while referencing ‘slotinfo’
  398 |     } slotinfo[0];
      |       ^~~~~~~~
```

While we could try and backport all the patches required to fix these up, it would
currently seem easier to disable -Werror, which Guix uses by default when building
glibc.
2022-05-12 08:21:15 +01:00
fanquake
298389e3b5
guix: bump time-machine to 998eda3067c7d21e0d9bb3310d2f5a14b8f1c681
There are two reasons to perform this bump:
* Fixes #25082 by bumping to a commit that includes a fix for time-dependent unit
tests in libgit2 (f5fe0082abe4547f3fb9f29d8351473cfb3a387b).
* Gives us access to clang-toolchain-14 (14.0.3, 998eda3067c7d21e0d9bb3310d2f5a14b8f1c681),
which is useful for the Guix portion of #21778.

Note that with this bump:
Linux kernels headers update from 5.15.28 to 5.15.37.
2022-05-09 21:23:53 +01:00
fanquake
e4478d312f
Merge bitcoin/bitcoin#25006: guix: consolidate kernel headers to 5.15, specify 3.2.0 as minimum supported
eb02713efc doc: add minimum required kernel version to dependencies.md (fanquake)
dcad5f70f1 guix: consolidate kernel headers to 5.15 (fanquake)

Pull request description:

  Our minimum supported kernel version is currently defined by Guix, as the version passed to the [`--enable-kernel=`](https://www.gnu.org/software/libc/manual/html_node/Configuring-and-compiling.html) option when configuring glibc. That version is [currently set to 3.2.0](https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/base.scm?id=34e9eae68c9583acce5abc4100add3d88932a5ae#n776):
  ```scheme
              ;; This is the default for most architectures as of GNU libc 2.26,
              ;; but we specify it explicitly for clarity and consistency.  See
              ;; "kernel-features.h" in the GNU libc for details.
              "--enable-kernel=3.2.0"
  ```
  and has been that way since we started using Guix (i.e from Guix 1.3.0, with the release v22.0).

  Passing `--enable-kernel` defines `__LINUX_KERNEL_VERSION` inside glibc, which is then used to determine supported features & syscall usage. For example, some defines in `unix/sysv/linux/kernel-features.h`, from glibc version 2.24, where glibcs default supported kernel version was still 2.6.32 (it's more modern as of recent releases):
  ```cpp
  #ifndef __LINUX_KERNEL_VERSION
  /* We assume the worst; all kernels should be supported.  */
  # define __LINUX_KERNEL_VERSION0
  #endif

  /* Support for various CLOEXEC and NONBLOCK flags was added in
     2.6.23.  */
  #define __ASSUME_O_CLOEXEC1

  /* prlimit64 is available in 2.6.36.  */
  #if __LINUX_KERNEL_VERSION >= 0x020624
  # define __ASSUME_PRLIMIT641
  #endif
  ```

  Note that because we currently specify the `5.15` headers, the exact version being used, i.e 5.15.x, changes when we update our time-machine commit, as Guix updates all it's header packages as new point releases become available. Currently it is [`5.15.28`](https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/linux.scm?id=34e9eae68c9583acce5abc4100add3d88932a5ae#n380). The changelog for the 5.15 headers is available [here](https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.36).

  Similar to glibc, it may currently be possible to build and run bitcoind against older kernels, however, for the purposes of documenting what we support for our release binaries, I can't see a reason to document anything other than the version that we are targeting when building the glibc used to build the release binaries.

  Guix Build (on x86_64):
  ```bash
  22ff2d3a72d337c4eccbfa4c834a67c7c3397f225aedb71a3c636f2708964e93  guix-build-eb02713efc17/output/aarch64-linux-gnu/SHA256SUMS.part
  e316b2d0806183e0e51a25722f48af85d145b1581f44f68b925d9f484a5aa0d3  guix-build-eb02713efc17/output/aarch64-linux-gnu/bitcoin-eb02713efc17-aarch64-linux-gnu-debug.tar.gz
  da667d935d9331c5cbca2e0e334cd7e56202ee294553459672fa50f13f501c4d  guix-build-eb02713efc17/output/aarch64-linux-gnu/bitcoin-eb02713efc17-aarch64-linux-gnu.tar.gz
  f44f2921f3dac2c545806dffb579137fb9eeeee15671395f6a7f817ed6213143  guix-build-eb02713efc17/output/arm-linux-gnueabihf/SHA256SUMS.part
  101bab25ab2a6c36729cdf840264a85700cc3cfa23d3900b0bee0ac9ae637e8d  guix-build-eb02713efc17/output/arm-linux-gnueabihf/bitcoin-eb02713efc17-arm-linux-gnueabihf-debug.tar.gz
  9f7338ee42234949ef3104c6cb2b8a723d616a46d0047d833062adc92e3b6b72  guix-build-eb02713efc17/output/arm-linux-gnueabihf/bitcoin-eb02713efc17-arm-linux-gnueabihf.tar.gz
  5ca08e7b38c4dd4456145602f25b015c164c0cd0317dd2a26855dc0495605418  guix-build-eb02713efc17/output/arm64-apple-darwin/SHA256SUMS.part
  186c9e2df4034472107964e835ee7a05777c7a0fa5e0db12b5740f18e732d7d5  guix-build-eb02713efc17/output/arm64-apple-darwin/bitcoin-eb02713efc17-arm64-apple-darwin-unsigned.dmg
  4e252c7775662777ddcb0a1b0efac6b6e71c25479d6b44b821199ae00abd18ca  guix-build-eb02713efc17/output/arm64-apple-darwin/bitcoin-eb02713efc17-arm64-apple-darwin-unsigned.tar.gz
  4360342994d54839bbf5fb4d86c6c0b0a3cbcef68b0d2c991aab6e81301638e7  guix-build-eb02713efc17/output/arm64-apple-darwin/bitcoin-eb02713efc17-arm64-apple-darwin.tar.gz
  f354822050cd625de7445cfa317475cfad90a7e39d135c5b99950ee69969f445  guix-build-eb02713efc17/output/dist-archive/bitcoin-eb02713efc17.tar.gz
  aa864574dd692bb40df95e17c08113f5bcd04b7d5997a2f74ca0557cae3edfcd  guix-build-eb02713efc17/output/powerpc64-linux-gnu/SHA256SUMS.part
  45df2a4ec5592834fd08d36068cd0968de281870cb9df48cc4783078b85985dd  guix-build-eb02713efc17/output/powerpc64-linux-gnu/bitcoin-eb02713efc17-powerpc64-linux-gnu-debug.tar.gz
  2bc1c481635ac073d61f51db425576a42a54b16218a00e5f80579426dbf9677b  guix-build-eb02713efc17/output/powerpc64-linux-gnu/bitcoin-eb02713efc17-powerpc64-linux-gnu.tar.gz
  403d7790e611d3e07b25e02549c9f50e51fff2e1a323605db4f9a569712771a7  guix-build-eb02713efc17/output/powerpc64le-linux-gnu/SHA256SUMS.part
  db40032c3b25d95012496f1b3fa5df7f207dcbeefa510bd140b96df4dfd84c88  guix-build-eb02713efc17/output/powerpc64le-linux-gnu/bitcoin-eb02713efc17-powerpc64le-linux-gnu-debug.tar.gz
  eea8b4ee96dc8a9813b727550bf07202a6f9cba99605247813beb5251c7f2623  guix-build-eb02713efc17/output/powerpc64le-linux-gnu/bitcoin-eb02713efc17-powerpc64le-linux-gnu.tar.gz
  7164e539d25c300b993a620caacdcef659bb6a7c4775a873e30ee645c9ceed15  guix-build-eb02713efc17/output/riscv64-linux-gnu/SHA256SUMS.part
  3ae271e6fb94e5d4e46a402508a02d659e879d222c6696e57c78530157eb39ae  guix-build-eb02713efc17/output/riscv64-linux-gnu/bitcoin-eb02713efc17-riscv64-linux-gnu-debug.tar.gz
  8c37d0b790c28b692804b360605baec4371af4f080c0024ba75f06c0096a4356  guix-build-eb02713efc17/output/riscv64-linux-gnu/bitcoin-eb02713efc17-riscv64-linux-gnu.tar.gz
  51bbf04cb32b579ba5609fe3ef24e9901f8d49e3311fe9776ee1fdb644f7e0b1  guix-build-eb02713efc17/output/x86_64-apple-darwin/SHA256SUMS.part
  8e81f8badb0cff1aa430a899065cf9744b4b2d45addb8e30606a2f8bf08faa26  guix-build-eb02713efc17/output/x86_64-apple-darwin/bitcoin-eb02713efc17-x86_64-apple-darwin-unsigned.dmg
  8b4120b6d83c03dae34b0b5a189522d01c523ab005d816339fdfddf9c412ef15  guix-build-eb02713efc17/output/x86_64-apple-darwin/bitcoin-eb02713efc17-x86_64-apple-darwin-unsigned.tar.gz
  26e633faba4f05f51f4e0bffaa2bbbf8c2d5d134d6777c9395bf9b65af6a808c  guix-build-eb02713efc17/output/x86_64-apple-darwin/bitcoin-eb02713efc17-x86_64-apple-darwin.tar.gz
  16c96d1f349ca3fbf5ffb8e00d5defe1af5a14abb6f61abdbd367e9a5e99bf33  guix-build-eb02713efc17/output/x86_64-linux-gnu/SHA256SUMS.part
  faa203c9c3943c2f30ca3f4f30c3eee52e38ac9a2f15c6303b0c8ff0be146e07  guix-build-eb02713efc17/output/x86_64-linux-gnu/bitcoin-eb02713efc17-x86_64-linux-gnu-debug.tar.gz
  b5cf5154ac0e2138a4ccbc7639026d909e606b9f55c5859ae54d941eb950759b  guix-build-eb02713efc17/output/x86_64-linux-gnu/bitcoin-eb02713efc17-x86_64-linux-gnu.tar.gz
  bc14a09399ef3a6d9696116ddda6509b6cb1726719dfd462106cb9d2fde32efc  guix-build-eb02713efc17/output/x86_64-w64-mingw32/SHA256SUMS.part
  7c0a773f0e892e41fe8f7b299be655e53f110a64bd6e77c2e7a6b4c699605498  guix-build-eb02713efc17/output/x86_64-w64-mingw32/bitcoin-eb02713efc17-win64-debug.zip
  27f6a50394c61c0efa2f3afe655a265c64a34249041ef0090f9043cd4cdc8c71  guix-build-eb02713efc17/output/x86_64-w64-mingw32/bitcoin-eb02713efc17-win64-setup-unsigned.exe
  dd5bb661a9d99bbc2c2c7256996b26bef116b2e61b7497ada26b3322550d53cb  guix-build-eb02713efc17/output/x86_64-w64-mingw32/bitcoin-eb02713efc17-win64-unsigned.tar.gz
  84d5068dd59180498473263d757192a422859c0704a2e45a762d1635e49efb80  guix-build-eb02713efc17/output/x86_64-w64-mingw32/bitcoin-eb02713efc17-win64.zip
  ```

  Guix build (on arm64):
  ```bash
  2bbcf455381d4be6bb402c705dba5655de3e1b62a0ed1dbbfcb573450a63d148  guix-build-eb02713efc17/output/arm-linux-gnueabihf/SHA256SUMS.part
  c9d982eb6c9efc752fffb3a1d2b14e8cc4d9e2cf4c03c2f02eb320d04f52a86d  guix-build-eb02713efc17/output/arm-linux-gnueabihf/bitcoin-eb02713efc17-arm-linux-gnueabihf-debug.tar.gz
  0c0b3122dcdc051bee1022dc9b0cf7771b7f6b30fa3e7369c97907d8c10d7ea3  guix-build-eb02713efc17/output/arm-linux-gnueabihf/bitcoin-eb02713efc17-arm-linux-gnueabihf.tar.gz
  5388f8a7525ed49d11569988e598a0ec68ddcaf9b35cff0c8bcb02187b0fbaad  guix-build-eb02713efc17/output/arm64-apple-darwin/SHA256SUMS.part
  16b745e2b2e036d65b549be740116d9b6e819730cc76075f01bdbc4beb166724  guix-build-eb02713efc17/output/arm64-apple-darwin/bitcoin-eb02713efc17-arm64-apple-darwin-unsigned.dmg
  18eaede02d12dcbb83003272b5b79a08a10067a326542687ab445bfc623ce9e8  guix-build-eb02713efc17/output/arm64-apple-darwin/bitcoin-eb02713efc17-arm64-apple-darwin-unsigned.tar.gz
  5fb73968c7ea50c9642d3cddcd745a512be3043ada314b8a1fc94f179744a1d8  guix-build-eb02713efc17/output/arm64-apple-darwin/bitcoin-eb02713efc17-arm64-apple-darwin.tar.gz
  f354822050cd625de7445cfa317475cfad90a7e39d135c5b99950ee69969f445  guix-build-eb02713efc17/output/dist-archive/bitcoin-eb02713efc17.tar.gz
  fad672b9e5d372ba5511c14ed48ef77bcf303d475f35680bd4a668fee150225a  guix-build-eb02713efc17/output/powerpc64-linux-gnu/SHA256SUMS.part
  246aa854e87675a0b90cc14f7b6affcfefabfc0f79edd3dc96ae6b98010b8b1c  guix-build-eb02713efc17/output/powerpc64-linux-gnu/bitcoin-eb02713efc17-powerpc64-linux-gnu-debug.tar.gz
  90e968e0bab84e80a9f2fe9498eea7c59d8908f5a16accd93d7f9318a7098ce0  guix-build-eb02713efc17/output/powerpc64-linux-gnu/bitcoin-eb02713efc17-powerpc64-linux-gnu.tar.gz
  65f0c018d882d7fc845a9bb1581824b17e7ecf0df7081ab2538f0e617e120a8b  guix-build-eb02713efc17/output/powerpc64le-linux-gnu/SHA256SUMS.part
  0bf7fcd127180e5e04112914747496db535226bf05126690f259fa0cf2a96642  guix-build-eb02713efc17/output/powerpc64le-linux-gnu/bitcoin-eb02713efc17-powerpc64le-linux-gnu-debug.tar.gz
  14fc3e17dfa903f83e44f970c8b4e4726e7476c59d0fffdec815a1c80ec1b51a  guix-build-eb02713efc17/output/powerpc64le-linux-gnu/bitcoin-eb02713efc17-powerpc64le-linux-gnu.tar.gz
  9018f95b54d0643d734260b6eb69ee5f086c98e62f25dd579675b467a844793d  guix-build-eb02713efc17/output/riscv64-linux-gnu/SHA256SUMS.part
  e1f2b3678c22103d7b89cbbeec9b2863c9c6f749ff4cbedd74cb6e62598c0a04  guix-build-eb02713efc17/output/riscv64-linux-gnu/bitcoin-eb02713efc17-riscv64-linux-gnu-debug.tar.gz
  bf9fa35119344dfc93048196dd9cd5bb230b0785350ae5150bb4bdb28fd8423d  guix-build-eb02713efc17/output/riscv64-linux-gnu/bitcoin-eb02713efc17-riscv64-linux-gnu.tar.gz
  51bbf04cb32b579ba5609fe3ef24e9901f8d49e3311fe9776ee1fdb644f7e0b1  guix-build-eb02713efc17/output/x86_64-apple-darwin/SHA256SUMS.part
  8e81f8badb0cff1aa430a899065cf9744b4b2d45addb8e30606a2f8bf08faa26  guix-build-eb02713efc17/output/x86_64-apple-darwin/bitcoin-eb02713efc17-x86_64-apple-darwin-unsigned.dmg
  8b4120b6d83c03dae34b0b5a189522d01c523ab005d816339fdfddf9c412ef15  guix-build-eb02713efc17/output/x86_64-apple-darwin/bitcoin-eb02713efc17-x86_64-apple-darwin-unsigned.tar.gz
  26e633faba4f05f51f4e0bffaa2bbbf8c2d5d134d6777c9395bf9b65af6a808c  guix-build-eb02713efc17/output/x86_64-apple-darwin/bitcoin-eb02713efc17-x86_64-apple-darwin.tar.gz
  6e5828e2efa4e951b147b8de42f79dee1652933e04c50093bd31ee375c0c4ca9  guix-build-eb02713efc17/output/x86_64-linux-gnu/SHA256SUMS.part
  3d3af1d078eee6f66aac2af891fd7d7a77abc3d7164a807d0a7cc44f15e52b9d  guix-build-eb02713efc17/output/x86_64-linux-gnu/bitcoin-eb02713efc17-x86_64-linux-gnu-debug.tar.gz
  13f452bc65194de16fa91ed87be9790ed0d1a178deefb102fa54d3f9832b8c25  guix-build-eb02713efc17/output/x86_64-linux-gnu/bitcoin-eb02713efc17-x86_64-linux-gnu.tar.gz
  1673b5fca6687ea0f196a5f2ce2b79662b3efe01b71f341fc596069a1ade610c  guix-build-eb02713efc17/output/x86_64-w64-mingw32/SHA256SUMS.part
  d6228bdfb4fbc7b895ed4f0c30e1343c3392bd6e8e5ed33a973887ba0bb749ba  guix-build-eb02713efc17/output/x86_64-w64-mingw32/bitcoin-eb02713efc17-win64-debug.zip
  27f6a50394c61c0efa2f3afe655a265c64a34249041ef0090f9043cd4cdc8c71  guix-build-eb02713efc17/output/x86_64-w64-mingw32/bitcoin-eb02713efc17-win64-setup-unsigned.exe
  dd5bb661a9d99bbc2c2c7256996b26bef116b2e61b7497ada26b3322550d53cb  guix-build-eb02713efc17/output/x86_64-w64-mingw32/bitcoin-eb02713efc17-win64-unsigned.tar.gz
  50a68d3644dbe5cb5de21993cd0e8992ab9c6aa88c009a75e5d5a55180476ea6  guix-build-eb02713efc17/output/x86_64-w64-mingw32/bitcoin-eb02713efc17-win64.zip

  ```

ACKs for top commit:
  laanwj:
    ACK eb02713efc
  dongcarl:
    Code Review ACK eb02713efc
  vincenzopalazzo:
    ACK eb02713efc

Tree-SHA512: afee459d881d3231b72711b0beec5410d6b37deb0d94aa0aaca13010f54bf95fadaf7e5081ea8b9c6975a9e2b8be48b761e3b6ce284c06f82be2210db1156e96
2022-05-05 16:44:50 +01:00
josibake
50635d27b4
build: include bitcoin.conf in build outputs
copy over bitcoin.conf during the build process.
this means `contrib/devtools/gen-bitcoin-conf.sh` will need
to be run and the generated file committed during the release process.

this is the same process used for generating man pages for each release.
2022-05-04 20:45:14 +02:00
fanquake
dcad5f70f1
guix: consolidate kernel headers to 5.15
Given no reason to use an older version of the kernel headers for the
non-RISCV linux builds, consolidate all Linux builds to 5.15.x.

Note that using older kernel headers isn't some sort of compatibility
"hack", and glibc explicitly recommends against doing so. See:
https://sourceware.org/glibc/wiki/FAQ#What_version_of_the_Linux_kernel_headers_should_be_used.3F.
2022-04-28 09:55:43 +01:00
Hennadii Stepanov
914076ed5f
guix: Improve error message about missed macOS SDK 2022-04-24 11:51:38 +02:00
fanquake
bfbce6cbfe
Merge bitcoin/bitcoin#24031: build: don't compress macOS DMG
1dd8cbfbc6 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 1dd8cbfbc6 on Intel macOS
  laanwj:
    Build system changes code review ACK 1dd8cbfbc6, 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 1dd8cbfbc6

Tree-SHA512: 04c5bf78f26a9877777093ec4c50c457107bef59d720839ea5e7d7e4f7961dfee9f86b40cf791524a9e60e9e77403a797e9fcdae3849b60b759f9f66cc31b6ab
2022-04-21 08:54:13 +01:00
fanquake
1dd8cbfbc6
build: don't compress macOS DMG 2022-04-11 10:34:30 +01:00
laanwj
b307279924
Merge bitcoin/bitcoin#24552: guix: make it possible to override gpg binary
af74e061c0 guix: make it possible to override gpg binary (Pavol Rusnak)

Pull request description:

  For example on Qubes OS one might want to use qubes-gpg-client-wrapper instead

  Fixes https://github.com/bitcoin/bitcoin/issues/24346

ACKs for top commit:
  laanwj:
    Concept and code review ACK af74e061c0

Tree-SHA512: 9e56b5fab231f8908fff15c88fe5b356ac4a31a14a27ae2dd3b6e876f32628910a666a4e2da5bf7c5d159de66cf57652c94c81cdc3b1c3d39a23c23e2c77dd03
2022-04-06 12:41:15 +02:00
fanquake
457148a803
guix: fix GCC 10.3.0 + mingw-w64 setjmp/longjmp issues
This commit backports a patch to the GCC 10.3.0 we build for Windows
cross-compilation in Guix. The commit has been backported to the GCC
releases/gcc-10 branch, but hasn't yet made it into a release.

The patch corrects a regression from an earlier GCC commit, see:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=357c4350680bf29f0c7a115424e3da11c53b5582
and
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=074226d5aa86cd3de517014acfe34c7f69a2ccc7,
related to the way newer versions of mingw-w64 implement setjmp/longjmp.

Ultimately this was causing a crash for us when Windows users were
viewing the network traffic tab inside the GUI. After some period, long
enough that a buffer would need reallocating, a call into FreeTypes
gray_record_cell() would result in a call to ft_longjmp (longjmp), which
would then trigger a crash.

Fixes: https://github.com/bitcoin-core/gui/issues/582.

See also:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=e8d1ca7d2c344a411779892616c423e157f4aea8.
https://bugreports.qt.io/browse/QTBUG-93476.
2022-04-13 13:10:03 +01:00
fanquake
d6fae988ef
guix: fix vmov alignment issues with gcc 10.3.0 & mingw-w64
This introduces a patch to our GCC (10.3.0) mingw-w64 compiler, in Guix, to make
it avoid using aligned vmov instructions. This works around a longstanding issue
in GCC, https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54412, which was recently
discovered to be causing issues, see #24726.

Note that distros like Debian are also patching around this issue, and that is
where this patch comes from. This would also explain why we haven't run into this
problem earlier, in development builds. See:
https://salsa.debian.org/mingw-w64-team/gcc-mingw-w64/-/blob/master/debian/patches/vmov-alignment.patch.

Fixes #24726.
Alternative to #24727.

See also:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=939559
2022-04-01 13:24:22 +01:00
Hennadii Stepanov
7762c5683f
build: Fix "ERR: Unsigned tarballs do not exist" 2022-04-01 10:28:10 +02:00
fanquake
983e0a2058
contrib: use LIEF 0.12.0 for symbol and security checks 2022-03-28 10:31:12 +01:00
fanquake
053499f371
Merge bitcoin/bitcoin#24639: guix: Drop code for the unsupported i686-linux-gnu host
97af652788 guix: Drop code for the unsupported `i686-linux-gnu` host (Hennadii Stepanov)

Pull request description:

  Now GUIX build for the `i686-linux-gnu` host is broken, and [there are no plans to re-add it](https://github.com/bitcoin/bitcoin/pull/24448).

ACKs for top commit:
  fanquake:
    ACK 97af652788

Tree-SHA512: 968181aff65e607a7c1a1b06ac7dfd79f6e2ce49b3c4c3828def020e925769fdbab1859d37ea924ded7632405b30539ac3ec81ac714cb9a01a2f7d5c93301dd9
2022-03-24 13:10:44 +00:00
fanquake
e40327d3bb
Merge bitcoin/bitcoin#24599: guix: remove mingw-w64 std::filesystem workaround
946b86cf57 Revert "build: Fix gcc-cross-x86_64-w64-mingw32-10.3.0 in Guix" (fanquake)
682962d9f6 guix: point to latest upstream commit (fanquake)

Pull request description:

  Now that https://issues.guix.gnu.org/54212 has been merged upstream, we can bump our time-machine, and then no-longer need to maintain a workaround to use `std::filesystem` for Windows builds.

  Guix build on `x86_64`:
  ```bash
  8edd06c2dbd4533c9f1b0e445cda1c2692b7d5e28e9d4c9262100dc1b4160448  guix-build-946b86cf5735/output/aarch64-linux-gnu/SHA256SUMS.part
  aca0eb632d73d08272a76837a9d15ab6df602cc95fd8d67d459881c823531816  guix-build-946b86cf5735/output/aarch64-linux-gnu/bitcoin-946b86cf5735-aarch64-linux-gnu-debug.tar.gz
  5795e2893a81d2a260e7290a9204e63f78e7994cae54277a0ae952fd977108b3  guix-build-946b86cf5735/output/aarch64-linux-gnu/bitcoin-946b86cf5735-aarch64-linux-gnu.tar.gz
  90dc12f37f9b66a553be3251374da04f022fd98a871a8d0b122f69ff4fdc5a3d  guix-build-946b86cf5735/output/arm-linux-gnueabihf/SHA256SUMS.part
  d03dbb12963328afe050c212dac6c42f5f34ce6f36d5a22f6b262ed17acd00fa  guix-build-946b86cf5735/output/arm-linux-gnueabihf/bitcoin-946b86cf5735-arm-linux-gnueabihf-debug.tar.gz
  d02cac8b56285bec488d3f4ac92174ee1a25a3f75d069a9e54a872905fcab311  guix-build-946b86cf5735/output/arm-linux-gnueabihf/bitcoin-946b86cf5735-arm-linux-gnueabihf.tar.gz
  14122032ce024eec843552d6fb6eefad4eb849a0bfac1f7679f0723e7aa69d7d  guix-build-946b86cf5735/output/arm64-apple-darwin/SHA256SUMS.part
  a2392b37cde87f1a9db599197e7516f31024b88e86699a6bdc9bc0e95edcd450  guix-build-946b86cf5735/output/arm64-apple-darwin/bitcoin-946b86cf5735-arm64-apple-darwin-unsigned.dmg
  8b3596ff5dda6f978f7d19ed33b29357226f17449db65058676b911d110b2fb8  guix-build-946b86cf5735/output/arm64-apple-darwin/bitcoin-946b86cf5735-arm64-apple-darwin-unsigned.tar.gz
  94baa2dae8c7b920fdd3e78097084c4550cb9441769b851924671265b032724b  guix-build-946b86cf5735/output/arm64-apple-darwin/bitcoin-946b86cf5735-arm64-apple-darwin.tar.gz
  ee13d5669928c2d09e1091871c3e1a4e4fe7e2aa76ef0cfb472cac26fe304372  guix-build-946b86cf5735/output/dist-archive/bitcoin-946b86cf5735.tar.gz
  b757ff56eb2b4b6c07ea1b784a5d72e2d6dce53a6b15068e6b10beb101068d9b  guix-build-946b86cf5735/output/powerpc64-linux-gnu/SHA256SUMS.part
  b6f29f9a3d1e78e37a56da3a98fd74037a622070f8d5f3e677db3714f2f0ab90  guix-build-946b86cf5735/output/powerpc64-linux-gnu/bitcoin-946b86cf5735-powerpc64-linux-gnu-debug.tar.gz
  fa575269b25154ad9d258bfe4c89d9c083d199084229a9c2c44235d22e0499de  guix-build-946b86cf5735/output/powerpc64-linux-gnu/bitcoin-946b86cf5735-powerpc64-linux-gnu.tar.gz
  ee73c68dfa2923da17553aee26e9c26c1e9b5ecfae0f032e6cac56f951ea7353  guix-build-946b86cf5735/output/powerpc64le-linux-gnu/SHA256SUMS.part
  9eb4d47506765b7d2e93cdf1ef5e53a2f53e22a318cbd7d5d7a9f97de292e2e7  guix-build-946b86cf5735/output/powerpc64le-linux-gnu/bitcoin-946b86cf5735-powerpc64le-linux-gnu-debug.tar.gz
  5541f70c5d5e935d5c71e2aef3995e0df76202782d296b81c692c05250d3ba6c  guix-build-946b86cf5735/output/powerpc64le-linux-gnu/bitcoin-946b86cf5735-powerpc64le-linux-gnu.tar.gz
  46dbe4710fbb962a8a8c8a2d60e3fd7a53fc0ea47096f776de9b2d865b6dcd99  guix-build-946b86cf5735/output/riscv64-linux-gnu/SHA256SUMS.part
  3dbcb703d699e400a6d23082e545e52ac6d3100d54bf0f544216940c0f336e24  guix-build-946b86cf5735/output/riscv64-linux-gnu/bitcoin-946b86cf5735-riscv64-linux-gnu-debug.tar.gz
  b2dc20a418192478e9b892dcaec982bf23899a5742bb33791ed9e621d4b2bd87  guix-build-946b86cf5735/output/riscv64-linux-gnu/bitcoin-946b86cf5735-riscv64-linux-gnu.tar.gz
  a25c379f2c81be647491b10fa50486c780bf0096f437e4db351d32ccf235ad7d  guix-build-946b86cf5735/output/x86_64-apple-darwin/SHA256SUMS.part
  c017523424767593daaf4037598683ffa360c4142df4986b9548e42b125587a5  guix-build-946b86cf5735/output/x86_64-apple-darwin/bitcoin-946b86cf5735-x86_64-apple-darwin-unsigned.dmg
  a6e1e5bb358ec7f8f4f5289225ea07f6d3bef417da90756c7eb748a2e9a9276d  guix-build-946b86cf5735/output/x86_64-apple-darwin/bitcoin-946b86cf5735-x86_64-apple-darwin-unsigned.tar.gz
  95283762bafa08106c841cb43a19b18a541fdae7cb759f13a2e9bf81ac24b176  guix-build-946b86cf5735/output/x86_64-apple-darwin/bitcoin-946b86cf5735-x86_64-apple-darwin.tar.gz
  56876f95dc4ce82b35f1206ef4093962431887f5a0eac28abfbfdacab68b55f7  guix-build-946b86cf5735/output/x86_64-linux-gnu/SHA256SUMS.part
  8305d7b92b30fd8a14ea44459d673c077ec8971aeaa79cb6331c4f9fccd51f0f  guix-build-946b86cf5735/output/x86_64-linux-gnu/bitcoin-946b86cf5735-x86_64-linux-gnu-debug.tar.gz
  a6f1e12fd15e0eb6ef8e1182ecf564b587a0d2b77f799570bdcbad747617d202  guix-build-946b86cf5735/output/x86_64-linux-gnu/bitcoin-946b86cf5735-x86_64-linux-gnu.tar.gz
  79cd3e1b9a6cbb06bb19f24cb03d02a5e87f1c96c42648d0397bf6edca912114  guix-build-946b86cf5735/output/x86_64-w64-mingw32/SHA256SUMS.part
  c119dd7bebfd76d9692c37efa150862feb98256a1ec6e2fcedf85dbaf185a47d  guix-build-946b86cf5735/output/x86_64-w64-mingw32/bitcoin-946b86cf5735-win64-debug.zip
  a48af7b53c9c863ced4d7b9864f91f4f4a54cc63275858427fb7636f90f464fe  guix-build-946b86cf5735/output/x86_64-w64-mingw32/bitcoin-946b86cf5735-win64-setup-unsigned.exe
  2ebd813a39299a687f4cfd0e60b76808f9e8fee5a60a16e84148d3f0b3da6128  guix-build-946b86cf5735/output/x86_64-w64-mingw32/bitcoin-946b86cf5735-win64-unsigned.tar.gz
  c628444e07c18ff13db76cb5a51386d77be8135ca7fe80a4d1b97b07e4f34baf  guix-build-946b86cf5735/output/x86_64-w64-mingw32/bitcoin-946b86cf5735-win64.zip
  ```

  Guix build on `aarch64`:
  ```bash
  83f7387975d043e29a994d4d8e9bbdd65c8ba2002a1ca97fe76a61ad2333d37e  guix-build-946b86cf5735/output/arm-linux-gnueabihf/SHA256SUMS.part
  8791579ecc7c0799bd53be7c0bdab18eb4bae2fb06ed41d0aa77e28ee0dde487  guix-build-946b86cf5735/output/arm-linux-gnueabihf/bitcoin-946b86cf5735-arm-linux-gnueabihf-debug.tar.gz
  28d6a41d7ccb88197ef75e1e83d202a0a11caefde3a6f86ed9186d9e19c2c682  guix-build-946b86cf5735/output/arm-linux-gnueabihf/bitcoin-946b86cf5735-arm-linux-gnueabihf.tar.gz
  0c34bfb74a3ff7b2f69967e00ac02af145b7af3f539e7b5f817e8453b49efdb8  guix-build-946b86cf5735/output/arm64-apple-darwin/SHA256SUMS.part
  57357182b3630fa7b02cefab2b662944d2f226d8c739f934fd15e669b11de01a  guix-build-946b86cf5735/output/arm64-apple-darwin/bitcoin-946b86cf5735-arm64-apple-darwin-unsigned.dmg
  f5d761f3b5d98c830ec7247ad2ec42e9d6fbe723539b0c47f4a91c2e8a7214c7  guix-build-946b86cf5735/output/arm64-apple-darwin/bitcoin-946b86cf5735-arm64-apple-darwin-unsigned.tar.gz
  fb2ab7cfc7a9f01b1507ec08775ac8f7267cfbeb28d13f4b62f15cbd81ef15fe  guix-build-946b86cf5735/output/arm64-apple-darwin/bitcoin-946b86cf5735-arm64-apple-darwin.tar.gz
  ee13d5669928c2d09e1091871c3e1a4e4fe7e2aa76ef0cfb472cac26fe304372  guix-build-946b86cf5735/output/dist-archive/bitcoin-946b86cf5735.tar.gz
  a269e7ef2bac18e7bbdf8488023fa1dd202d5b7cd18f4127b122b9fa82cd9317  guix-build-946b86cf5735/output/powerpc64-linux-gnu/SHA256SUMS.part
  9b5ad80352b9d211dd8e3b2d7ac5b304a83aaaa43e54a96f4ec6e130d37415e5  guix-build-946b86cf5735/output/powerpc64-linux-gnu/bitcoin-946b86cf5735-powerpc64-linux-gnu-debug.tar.gz
  4b7c09ebe7b729957f345629acb8ce0c3966ed17d8a4cc3da6401100dd29c05b  guix-build-946b86cf5735/output/powerpc64-linux-gnu/bitcoin-946b86cf5735-powerpc64-linux-gnu.tar.gz
  abc357d83966bf3f2dba201786b315cf673da197c1e3e2ee56e99e5e44df32a6  guix-build-946b86cf5735/output/powerpc64le-linux-gnu/SHA256SUMS.part
  d057eb88fb33363345026e2fe39881dff65c06cd1266427ef018befa4f21d5a7  guix-build-946b86cf5735/output/powerpc64le-linux-gnu/bitcoin-946b86cf5735-powerpc64le-linux-gnu-debug.tar.gz
  9067057d983ed79acaf252fc7ca8cbe89dbad92280a95f079a417a20a7fe1f83  guix-build-946b86cf5735/output/powerpc64le-linux-gnu/bitcoin-946b86cf5735-powerpc64le-linux-gnu.tar.gz
  cd05ef28fbaad0512edc012a124f32079b8fe831d7c7882f0f8a754756712bc3  guix-build-946b86cf5735/output/riscv64-linux-gnu/SHA256SUMS.part
  2dcdb32faa687ed14956338c4876ea2a4a113c52cdf835eb4e66cbcd98e6ebdc  guix-build-946b86cf5735/output/riscv64-linux-gnu/bitcoin-946b86cf5735-riscv64-linux-gnu-debug.tar.gz
  940c6404d506c353256018eea9b77560f618c75e1becae1ac262149b2f30d01a  guix-build-946b86cf5735/output/riscv64-linux-gnu/bitcoin-946b86cf5735-riscv64-linux-gnu.tar.gz
  a980ef922b3af77ee7d9118b7db1d0893bdc1dbdf7c39d076f5dc4e368296447  guix-build-946b86cf5735/output/x86_64-apple-darwin/SHA256SUMS.part
  c017523424767593daaf4037598683ffa360c4142df4986b9548e42b125587a5  guix-build-946b86cf5735/output/x86_64-apple-darwin/bitcoin-946b86cf5735-x86_64-apple-darwin-unsigned.dmg
  090479eecdd7169184f29009eb498dd498d504a4d642ae034ec82210cd08dca2  guix-build-946b86cf5735/output/x86_64-apple-darwin/bitcoin-946b86cf5735-x86_64-apple-darwin-unsigned.tar.gz
  95283762bafa08106c841cb43a19b18a541fdae7cb759f13a2e9bf81ac24b176  guix-build-946b86cf5735/output/x86_64-apple-darwin/bitcoin-946b86cf5735-x86_64-apple-darwin.tar.gz
  a94a4ed02ff71ca6a5594cb3aed7f600cfacf40fa14ceb3dd8af6a251502bea4  guix-build-946b86cf5735/output/x86_64-linux-gnu/SHA256SUMS.part
  04b1e08c5482b5fd37b360e2950775626838a7c2429bcceec3d082615b52c300  guix-build-946b86cf5735/output/x86_64-linux-gnu/bitcoin-946b86cf5735-x86_64-linux-gnu-debug.tar.gz
  0e0d8260f3898a59e23878fc17f47e20af0b2e35f628196df3977ca53418ad19  guix-build-946b86cf5735/output/x86_64-linux-gnu/bitcoin-946b86cf5735-x86_64-linux-gnu.tar.gz
  942aced6e2a6df3c0f31d2040db2a61b51b4014fc6530410eb5ece5a6b05f11d  guix-build-946b86cf5735/output/x86_64-w64-mingw32/SHA256SUMS.part
  a8119d7db4dcde912dfff27d2690da0935e08a2996f0282715afd9ea7cde11f8  guix-build-946b86cf5735/output/x86_64-w64-mingw32/bitcoin-946b86cf5735-win64-debug.zip
  a48af7b53c9c863ced4d7b9864f91f4f4a54cc63275858427fb7636f90f464fe  guix-build-946b86cf5735/output/x86_64-w64-mingw32/bitcoin-946b86cf5735-win64-setup-unsigned.exe
  2ebd813a39299a687f4cfd0e60b76808f9e8fee5a60a16e84148d3f0b3da6128  guix-build-946b86cf5735/output/x86_64-w64-mingw32/bitcoin-946b86cf5735-win64-unsigned.tar.gz
  7aa5627bb706654734525b7ef76736fe24b8f314e5a20f850ea6a0dca1559d1f  guix-build-946b86cf5735/output/x86_64-w64-mingw32/bitcoin-946b86cf5735-win64.zip
  ```

ACKs for top commit:
  hebasto:
    ACK 946b86cf57, I have reviewed the code and it looks OK, I agree it can be merged.

Tree-SHA512: c0545440a61395eb2957c98da8d7987169e3b6a866279d56950e7ff19b7700a817937e0f66fea17aeb98e9092b7662bbd8a69446ae89b348e7b786e39951dba9
2022-03-24 11:25:21 +00:00
fanquake
6fee9de542
Merge bitcoin/bitcoin#24508: guix: Drop unneeded openssl dependency for signapple
e857f0bb55 guix: Drop unneeded openssl dependency for signapple (Hennadii Stepanov)

Pull request description:

  `openssl` is not mentioned as a dependency in the https://github.com/achow101/signapple repo.

  #### GUIX builds on `x86_64`:
  ```
  $ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  533f65e86f038ede9a665472279fc7569a3c9323c8c9c8f751ec1cb03d181638  guix-build-e857f0bb55b1/output/arm64-apple-darwin/SHA256SUMS.part
  835b1b48d139f76213a7289d09bfa05e32d14a5351f8f9b6624059db5c621479  guix-build-e857f0bb55b1/output/arm64-apple-darwin/bitcoin-e857f0bb55b1-arm64-apple-darwin.tar.gz
  076b385ec3aa21045a9d3269848ba20ec5e3150bf1e6a6a4f9cb940087588b72  guix-build-e857f0bb55b1/output/arm64-apple-darwin/bitcoin-e857f0bb55b1-osx-unsigned.dmg
  9cd50f1fb66b817f76a7dda5db29cab1abe68a8eba5f0192c7e7350ebc160313  guix-build-e857f0bb55b1/output/arm64-apple-darwin/bitcoin-e857f0bb55b1-osx-unsigned.tar.gz
  af674d14f616526de8737cf79ab4f4dff81a9737bebf92fd45ebd17b99b560a1  guix-build-e857f0bb55b1/output/dist-archive/bitcoin-e857f0bb55b1.tar.gz
  ebea43c2fd7f7883055219c99c96bab5b77c82060d5e977de9be9639fe343cd8  guix-build-e857f0bb55b1/output/x86_64-apple-darwin/SHA256SUMS.part
  9d4a93f1a82224b901fabe04081fa15e19692c91b5b53f17af5cab468b1185fe  guix-build-e857f0bb55b1/output/x86_64-apple-darwin/bitcoin-e857f0bb55b1-osx-unsigned.dmg
  df3fc3644b4ce51a58b8f527594b5351af1b6f468d3dd929a901094bdec8adeb  guix-build-e857f0bb55b1/output/x86_64-apple-darwin/bitcoin-e857f0bb55b1-osx-unsigned.tar.gz
  7f665e8dcb485c71da70cfcff12547dfc801d09dae3133a5e79d5dba2e1b4048  guix-build-e857f0bb55b1/output/x86_64-apple-darwin/bitcoin-e857f0bb55b1-osx64.tar.gz
  ```

ACKs for top commit:
  laanwj:
    If only direct dependencies count, ACK e857f0bb55.
  achow101:
    ACK e857f0bb55

Tree-SHA512: 333aab2d538a7e31ba057223f143810fe6f8f612cb3c36e80e78d51bcdad533918662f10909e215455b71ee8d87a18c623dfcf7763e2c6e55bd7f26ad510eaf4
2022-03-24 10:57:34 +00:00
Hennadii Stepanov
97af652788
guix: Drop code for the unsupported i686-linux-gnu host
Now GUIX build for the `i686-linux-gnu` host is broken, and there are no
plans to re-add it.
2022-03-22 14:20:01 +01:00
fanquake
979271a5d9
macdeploy: remove unused detached-sig-apply
Signature application is now done with signapple.
2022-03-17 12:38:36 +00:00
fanquake
946b86cf57
Revert "build: Fix gcc-cross-x86_64-w64-mingw32-10.3.0 in Guix"
This reverts commit 7f2f35fe20.
2022-03-17 09:59:34 +00:00
fanquake
682962d9f6
guix: point to latest upstream commit 2022-03-17 09:59:34 +00:00
Hennadii Stepanov
1f4801b6b1
doc, guix: Include arm64-apple-darwin into codesigned archs 2022-03-17 08:55:07 +01:00
fanquake
d6cb4e8ff0
Merge bitcoin/bitcoin#24549: guix: Use $HOST instead of generic osx{64} for macOS artifacts
53dd6165b8 guix: Use "win64" for Windows artifacts consistently (Hennadii Stepanov)
4b4b04a66d guix: Drop "-signed" suffix for signed macOS .dmg files (Hennadii Stepanov)
933a43018f guix: Use $HOST instead of generic osx{64} for macOS artifacts (Hennadii Stepanov)

Pull request description:

  On master (f94784f5bc) and 23.x branches some GUIX artifacts for `x86_64` and `arm64` macOS have indistinguishable names:
  ```
  d34646cbaf05e03195eb1e426f72fb471fe2d87ab18c9a656600089597703a38  bitcoin-23.0rc2-arm64-apple-darwin.tar.gz
  968767b39442e179e5976b948112a0904374eb4cfb9cba22863408a70a1d99f9  bitcoin-23.0rc2-osx-unsigned.dmg
  d8a7037d5bb845a214e45a52abcf9119bfbe72a76d6370e9560c18fda74a70db  bitcoin-23.0rc2-osx-unsigned.tar.gz
  71092f37985d556bdd25d33fb8571e13664eacadda90efcf21eaa1ba8a32eabd  bitcoin-23.0rc2-osx-unsigned.dmg
  cb10c49b486085b89393955a7a168c32e2f2a4911f2b8d44494bd8f2bd0acf2f  bitcoin-23.0rc2-osx-unsigned.tar.gz
  6d4c44726cd45711c4cb7257c6b46731be1446fc85e79ac86f2def19be45ced3  bitcoin-23.0rc2-osx64.tar.gz
  ```

  With this PR:
  ```
  $ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  054c3765381b6d59c6ad8e5e3cbbdd23e330bd579f88b399f78f296d1a4536d0  guix-build-53dd6165b899/output/arm64-apple-darwin/SHA256SUMS.part
  18750c1ff71d014fe5f976da738bfa04a4cd02af6b0d575def8d83160552de2d  guix-build-53dd6165b899/output/arm64-apple-darwin/bitcoin-53dd6165b899-arm64-apple-darwin-unsigned.dmg
  fa2b16684060202d1918c658b446909ee10999a8b9a85018ca2f6a09eaa11c8e  guix-build-53dd6165b899/output/arm64-apple-darwin/bitcoin-53dd6165b899-arm64-apple-darwin-unsigned.tar.gz
  b865000eb4b291a51d1920eec63dcbc9b47dedb1cc7fda0af3ab9b321db36b82  guix-build-53dd6165b899/output/arm64-apple-darwin/bitcoin-53dd6165b899-arm64-apple-darwin.tar.gz
  dd88ce6660754987abf95fc2c4d09f6d2248f12ecee4ef2c03f4fa74bbd8e3ae  guix-build-53dd6165b899/output/dist-archive/bitcoin-53dd6165b899.tar.gz
  fb1871c134e079aa970c5317cad258540e2642cc7ff60a794c85651c85fc6fc4  guix-build-53dd6165b899/output/x86_64-apple-darwin/SHA256SUMS.part
  b1f4c04f7dbd85798ed7cd76fd7948299dfb5653c6c68df0b0839be1c1b295dd  guix-build-53dd6165b899/output/x86_64-apple-darwin/bitcoin-53dd6165b899-x86_64-apple-darwin-unsigned.dmg
  f1f8b2774ba3028d6cdde509076614067a6affc0fa176fdbb03829109ae47022  guix-build-53dd6165b899/output/x86_64-apple-darwin/bitcoin-53dd6165b899-x86_64-apple-darwin-unsigned.tar.gz
  20b9386a81e70f848db7c4f14bcb6cf2fbc1dc17aad1b9a2e6f04ac6fa86a4c9  guix-build-53dd6165b899/output/x86_64-apple-darwin/bitcoin-53dd6165b899-x86_64-apple-darwin.tar.gz
  6f764a8fe876359d3c377fd934eb6595cc06d746980e07320565566abe9409f9  guix-build-53dd6165b899/output/x86_64-w64-mingw32/SHA256SUMS.part
  446b24b2e01608d3dc09db29545db2cdb716c161b19356f4fae930d3ebb299f8  guix-build-53dd6165b899/output/x86_64-w64-mingw32/bitcoin-53dd6165b899-win64-debug.zip
  d1660e6839a1358ae2d164958b551b81338cca9b740b3dc314397a35b17ba2a6  guix-build-53dd6165b899/output/x86_64-w64-mingw32/bitcoin-53dd6165b899-win64-setup-unsigned.exe
  4ab0d948f3864f0d5d220c570b57a02e040f936a8f6b9dba3b4688c80667def9  guix-build-53dd6165b899/output/x86_64-w64-mingw32/bitcoin-53dd6165b899-win64-unsigned.tar.gz
  481177329998fcbb71ab1fc9542a6ffcea623cebddf567981cfa76a7320ec115  guix-build-53dd6165b899/output/x86_64-w64-mingw32/bitcoin-53dd6165b899-win64.zip
  ```

  Also naming of Windows artifacts has been improved.

ACKs for top commit:
  gruve-p:
    ACK 53dd6165b8
  achow101:
    ACK 53dd6165b8

Tree-SHA512: 2a60d8b33608aa18b8bc4376eccca813e482571138524b9e3f8f7ab9a085df79faa1f05bc6e07bbfaf01ddd7a3d17172a6061162ab055fb51ea01e8ccf3e4422
2022-03-16 20:41:36 +00:00
Andrew Chow
3c74f775ac Update signapple for platform identifier fix 2022-03-16 09:10:50 -04:00
Hennadii Stepanov
53dd6165b8
guix: Use "win64" for Windows artifacts consistently 2022-03-16 12:03:22 +01:00
Hennadii Stepanov
4b4b04a66d
guix: Drop "-signed" suffix for signed macOS .dmg files
This change makes naming of the signed artifacts consistent across
different OSes, including Windows.
2022-03-16 07:37:35 +01:00
Pavol Rusnak
af74e061c0
guix: make it possible to override gpg binary
For example on Qubes OS one might want to use qubes-gpg-client-wrapper instead
2022-03-15 14:35:09 +01:00
Hennadii Stepanov
933a43018f
guix: Use $HOST instead of generic osx{64} for macOS artifacts 2022-03-13 11:04:52 +01:00
fanquake
e8023100be
guix: only check for the macOS SDK once
If we are building for both macOS HOSTS, there's no need to check and
print that the SDK exists two times.
2022-03-10 11:14:26 +00:00
Andrew Chow
6e9308c6d4 guix: use latest signapple 2022-03-09 10:38:24 -05:00
fanquake
fe5fdbd687
Merge bitcoin/bitcoin#24495: guix: only use native GCC 7 toolchain for Linux builds
bb12870bac guix: only use native GCC 7 toolchain for Linux builds (fanquake)

Pull request description:

  The macOS and Windows builds do not require a GCC 7 toolchain, and this
  is actually causing build issues, i.e #24211. So switch to using a GCC
  10 native toolchain for both. We can't switch to using a GCC 7+ native
  toolchain for Linux without patching around glibc build issues (something
  to look at for a future change).

  Fixes #24211.

  Guix Builds (on x86_64):
  ```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
  6fece1c8ed69bd724c76dfd768f03b1d43c9dfb1767f0fad743fb3e068ce8f7f  guix-build-bb12870bac23/output/aarch64-linux-gnu/SHA256SUMS.part
  555c1245581eff3013a2b56a3c7acb2923de9117dd5d108d4b7954e22f386dd1  guix-build-bb12870bac23/output/aarch64-linux-gnu/bitcoin-bb12870bac23-aarch64-linux-gnu-debug.tar.gz
  e8f10a3791a4245566dab8253b76dcac3354bdfad9b9575743e937b52e364494  guix-build-bb12870bac23/output/aarch64-linux-gnu/bitcoin-bb12870bac23-aarch64-linux-gnu.tar.gz
  c4339db89259e5a8e5666fc807c198a49162d500c2143f8a1dc86e6e7ca32bbc  guix-build-bb12870bac23/output/arm-linux-gnueabihf/SHA256SUMS.part
  6123682411cbb16bfa41d31cb4a9673744ad8c09b6f8586a4dfda08bc5f7a682  guix-build-bb12870bac23/output/arm-linux-gnueabihf/bitcoin-bb12870bac23-arm-linux-gnueabihf-debug.tar.gz
  3dcd70f65dd3dfd7385ac6715244fb6c696257e622220310abae7279cbd2a3a4  guix-build-bb12870bac23/output/arm-linux-gnueabihf/bitcoin-bb12870bac23-arm-linux-gnueabihf.tar.gz
  47c5235cce1e3e2e88a461e48e54a29dffb7ac0d8b57955f4e6977273af113f3  guix-build-bb12870bac23/output/arm64-apple-darwin/SHA256SUMS.part
  3584eec693b82b1b4e81094132a9a5e3ebf4a72a3c3cfe9914f24da62c2e2014  guix-build-bb12870bac23/output/arm64-apple-darwin/bitcoin-bb12870bac23-arm64-apple-darwin.tar.gz
  4a6e561abfc3f69e57a05fc278d75b6f58f82dec50b9b3acbf9745706be91d60  guix-build-bb12870bac23/output/arm64-apple-darwin/bitcoin-bb12870bac23-osx-unsigned.dmg
  36a88bc090927493ed31635e1412dc01a81fb034d612c21ebb8b8602b7529ad2  guix-build-bb12870bac23/output/arm64-apple-darwin/bitcoin-bb12870bac23-osx-unsigned.tar.gz
  d77871d97198c521fc54cf4ea547c0ee723bfe94036bf40987837e529a59b4e9  guix-build-bb12870bac23/output/dist-archive/bitcoin-bb12870bac23.tar.gz
  b676ae5d37fdac267c82bcc57d76e25694f2ee2292f4d012648a0e496104f48d  guix-build-bb12870bac23/output/powerpc64-linux-gnu/SHA256SUMS.part
  00cad11e137030b1165437a91d4e9f2827b1abe54b5ff14709abeab0a33711b8  guix-build-bb12870bac23/output/powerpc64-linux-gnu/bitcoin-bb12870bac23-powerpc64-linux-gnu-debug.tar.gz
  e715686469924452e1d35b93a64aa1fe1a85f5592757e8c24feda03db821fc48  guix-build-bb12870bac23/output/powerpc64-linux-gnu/bitcoin-bb12870bac23-powerpc64-linux-gnu.tar.gz
  20547e405ab88d84a228563ec7aaa965515b2714f65cc16f3288f8c885fe39db  guix-build-bb12870bac23/output/powerpc64le-linux-gnu/SHA256SUMS.part
  707d2f14a7b73cc73710297d4d8f1773864c27a5e44ef45a97c0437ce4b291e0  guix-build-bb12870bac23/output/powerpc64le-linux-gnu/bitcoin-bb12870bac23-powerpc64le-linux-gnu-debug.tar.gz
  6930ddbb6d5aebfd901ec30ad68749338265d43b73ad11015a320af37620d6e9  guix-build-bb12870bac23/output/powerpc64le-linux-gnu/bitcoin-bb12870bac23-powerpc64le-linux-gnu.tar.gz
  2af7a3a50622ed1b2b271b655b8319f1b34f605f97381a66ee4625c1864cc3e2  guix-build-bb12870bac23/output/riscv64-linux-gnu/SHA256SUMS.part
  0e9e0878e446af7cd33782cf6d8a0cfb163b1ade7c87d5a6c6d7c315436bbb31  guix-build-bb12870bac23/output/riscv64-linux-gnu/bitcoin-bb12870bac23-riscv64-linux-gnu-debug.tar.gz
  6c8994f11fadbfda8fc9c57deeaf67568b8368084c7959a56aabde89c99033d1  guix-build-bb12870bac23/output/riscv64-linux-gnu/bitcoin-bb12870bac23-riscv64-linux-gnu.tar.gz
  5214d7276030ea9721b2f8ed715308d2e3bf46158ddc030c7aa6f40098e3bc9b  guix-build-bb12870bac23/output/x86_64-apple-darwin/SHA256SUMS.part
  5783948617c4b0f7b47642b0045d5c648318bfc454a5d93db1a7ccb066ed17e2  guix-build-bb12870bac23/output/x86_64-apple-darwin/bitcoin-bb12870bac23-osx-unsigned.dmg
  3a26d5e127fd2a723601fe14855b49cdb39c6fe6f407ca0d84a833eac6e4f47d  guix-build-bb12870bac23/output/x86_64-apple-darwin/bitcoin-bb12870bac23-osx-unsigned.tar.gz
  92e341ec48c74a5a0a9b7af6665a400bb12f6b35b983f2c9f8fd1819e390b57e  guix-build-bb12870bac23/output/x86_64-apple-darwin/bitcoin-bb12870bac23-osx64.tar.gz
  056a78e9f0aaed10aa7d734746d3adb27bb8ea0856829e7fedd2cb02f1234c62  guix-build-bb12870bac23/output/x86_64-linux-gnu/SHA256SUMS.part
  77a493b1e5409d422b2006d46bf9de1e151485fc65680e4d4dd07c28a0264c51  guix-build-bb12870bac23/output/x86_64-linux-gnu/bitcoin-bb12870bac23-x86_64-linux-gnu-debug.tar.gz
  ccef5699e8a6153dbf35deb35f9d63439a5ef19234b9923840fe23780d41a983  guix-build-bb12870bac23/output/x86_64-linux-gnu/bitcoin-bb12870bac23-x86_64-linux-gnu.tar.gz
  0d64b0f1797f2b25eb7be65045f25b0297409250e8cc298a711a790b69534066  guix-build-bb12870bac23/output/x86_64-w64-mingw32/SHA256SUMS.part
  471d48dd50c7f3a3ebffd68aceb7537613e581acc55ad5dd3c15e8095027c322  guix-build-bb12870bac23/output/x86_64-w64-mingw32/bitcoin-bb12870bac23-win-unsigned.tar.gz
  be7af6c54a52b58f696a9cabda21ec9c9748150b5874b21d4377199db7d70b7b  guix-build-bb12870bac23/output/x86_64-w64-mingw32/bitcoin-bb12870bac23-win64-debug.zip
  d522c2b27638f99b6faacb7f478e4908cfc01ca86c71f17c34cbc395d47c4504  guix-build-bb12870bac23/output/x86_64-w64-mingw32/bitcoin-bb12870bac23-win64-setup-unsigned.exe
  43a038525f2383fdb9ed7f0d0d709d7f353933f3bf066779bc27503282acc0c5  guix-build-bb12870bac23/output/x86_64-w64-mingw32/bitcoin-bb12870bac23-win64.zip
  ```

  Guix Builds (on arm64 [skipping aarch64 HOST](https://github.com/bitcoin/bitcoin/issues/22458)):
  ```bash
  root@3b26b9608b88:/bitcoin# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  9da540efe1e32ea74c1da5b9d17436d4de75f5d2b370d09cfdb06b044b3c816a  guix-build-bb12870bac23/output/arm-linux-gnueabihf/SHA256SUMS.part
  ade319778d571de3727600d2bbbccbdb35cdaa138f2a941e0be58d94899b2ce5  guix-build-bb12870bac23/output/arm-linux-gnueabihf/bitcoin-bb12870bac23-arm-linux-gnueabihf-debug.tar.gz
  1bd1790c002a40b6db1378f5344e7e34df0cd0fd7f29dbe98db5397b52b9dde9  guix-build-bb12870bac23/output/arm-linux-gnueabihf/bitcoin-bb12870bac23-arm-linux-gnueabihf.tar.gz
  e457b5f6a30d713faa521969d2f8b56e3176f63c3e116c4d149b63f9fa0de80f  guix-build-bb12870bac23/output/arm64-apple-darwin/SHA256SUMS.part
  13f1b769c6af61ee4ef057f36715d63390c42ae29fae301f6cf65bdf644c6adf  guix-build-bb12870bac23/output/arm64-apple-darwin/bitcoin-bb12870bac23-arm64-apple-darwin.tar.gz
  278c0c1134aed42e575d8af2c328a26e88765f0b0686e06cea1c884bd821cd28  guix-build-bb12870bac23/output/arm64-apple-darwin/bitcoin-bb12870bac23-osx-unsigned.dmg
  6b5602fe63b9fb546ba0897bf5563714fad83e4c3a0cb285ed4961ec1a5e488d  guix-build-bb12870bac23/output/arm64-apple-darwin/bitcoin-bb12870bac23-osx-unsigned.tar.gz
  d77871d97198c521fc54cf4ea547c0ee723bfe94036bf40987837e529a59b4e9  guix-build-bb12870bac23/output/dist-archive/bitcoin-bb12870bac23.tar.gz
  0292906278db266a67f5c780af12a2c91ec62007c6a72e6c8b37463701d838cb  guix-build-bb12870bac23/output/powerpc64-linux-gnu/SHA256SUMS.part
  83362d3d84b00674359df9300729e1a2b3cf14cf2b9b71b9bb46fe9610ab0e6d  guix-build-bb12870bac23/output/powerpc64-linux-gnu/bitcoin-bb12870bac23-powerpc64-linux-gnu-debug.tar.gz
  3d5a538d28ccb97a239da358d1390add1d20e4c4d89e873a29aed3f92728e532  guix-build-bb12870bac23/output/powerpc64-linux-gnu/bitcoin-bb12870bac23-powerpc64-linux-gnu.tar.gz
  8eb7194b2019b5ddb12f88fee8a76d8923bd0883de817c3bf396ea16e5b0543e  guix-build-bb12870bac23/output/powerpc64le-linux-gnu/SHA256SUMS.part
  3ec4a6cff3c974a1603276e5d75bc398522d543b6f9770a74c9a7acf6dc79c82  guix-build-bb12870bac23/output/powerpc64le-linux-gnu/bitcoin-bb12870bac23-powerpc64le-linux-gnu-debug.tar.gz
  5b5eeb539362d6664a007d4856b5779a55ab714a96134749b5cfe870a4b5a7f9  guix-build-bb12870bac23/output/powerpc64le-linux-gnu/bitcoin-bb12870bac23-powerpc64le-linux-gnu.tar.gz
  3201f796777a9fc029dddc085489afcf14b68cf77b0511d3b52cc336fb58baad  guix-build-bb12870bac23/output/riscv64-linux-gnu/SHA256SUMS.part
  a46286b4d94de7189c93682d37c8bd3910f5ca2f612fc939b6e8ff3e56a4feff  guix-build-bb12870bac23/output/riscv64-linux-gnu/bitcoin-bb12870bac23-riscv64-linux-gnu-debug.tar.gz
  e88fd7b312879fd7dc254674532535a05efaeb7167145541440289d45ec9ba17  guix-build-bb12870bac23/output/riscv64-linux-gnu/bitcoin-bb12870bac23-riscv64-linux-gnu.tar.gz
  31659aa39146ad25631cc2030b415bec6892fa9cffebfd8c6da2d9b0c552773b  guix-build-bb12870bac23/output/x86_64-apple-darwin/SHA256SUMS.part
  5783948617c4b0f7b47642b0045d5c648318bfc454a5d93db1a7ccb066ed17e2  guix-build-bb12870bac23/output/x86_64-apple-darwin/bitcoin-bb12870bac23-osx-unsigned.dmg
  7a75daff1427fa8839f35ce84fda19c95a6c82365937dc67f988bc8853fc1948  guix-build-bb12870bac23/output/x86_64-apple-darwin/bitcoin-bb12870bac23-osx-unsigned.tar.gz
  92e341ec48c74a5a0a9b7af6665a400bb12f6b35b983f2c9f8fd1819e390b57e  guix-build-bb12870bac23/output/x86_64-apple-darwin/bitcoin-bb12870bac23-osx64.tar.gz
  bbc0c2fc3b142191ea5403095b9da1691073375b178e06eea68736c3a4b8477f  guix-build-bb12870bac23/output/x86_64-linux-gnu/SHA256SUMS.part
  121fc43297b045af7fbe3904a1df94ff55e4908344eb97d48e50091216ecfdc2  guix-build-bb12870bac23/output/x86_64-linux-gnu/bitcoin-bb12870bac23-x86_64-linux-gnu-debug.tar.gz
  b2fbab5153a52f82390c67e6a14187eb791a3f052cedca0183b81e939932618f  guix-build-bb12870bac23/output/x86_64-linux-gnu/bitcoin-bb12870bac23-x86_64-linux-gnu.tar.gz
  4ffca23b6d93ed888b7ac5a54eb1c06bd04f304f336361655033796f3117d145  guix-build-bb12870bac23/output/x86_64-w64-mingw32/SHA256SUMS.part
  471d48dd50c7f3a3ebffd68aceb7537613e581acc55ad5dd3c15e8095027c322  guix-build-bb12870bac23/output/x86_64-w64-mingw32/bitcoin-bb12870bac23-win-unsigned.tar.gz
  b226fe0f139bc2c4773e67784fc928874cba2ec0322d5da9a60fe5e6fd440f95  guix-build-bb12870bac23/output/x86_64-w64-mingw32/bitcoin-bb12870bac23-win64-debug.zip
  d522c2b27638f99b6faacb7f478e4908cfc01ca86c71f17c34cbc395d47c4504  guix-build-bb12870bac23/output/x86_64-w64-mingw32/bitcoin-bb12870bac23-win64-setup-unsigned.exe
  a435f9e1637281a8c6b174ec5dbc729ae35cca64928a42e435d57fb3292b9f3f  guix-build-bb12870bac23/output/x86_64-w64-mingw32/bitcoin-bb12870bac23-win64.zip
  ```

ACKs for top commit:
  dongcarl:
    Code Review ACK bb12870bac
  hebasto:
    ACK bb12870bac, I have reviewed the code and it looks OK, I agree it can be merged.

Tree-SHA512: 304d1e76b5e74e4f5a946ae29208d695f558891eca6e711c0cb528133896ceca2147f1cdc4c39e5155ef90652555c1e6de52efcb93f1124bf2dde8d9201b630d
2022-03-09 10:24:53 +00:00
Hennadii Stepanov
e857f0bb55
guix: Drop unneeded openssl dependency for signapple 2022-03-09 10:19:36 +01:00
fanquake
40894f6771
guix: use latest upstream signapple
This should improve support for signing for M1 binaries.
2022-03-08 16:09:24 +00:00
fanquake
cbc3f63f41
guix: use latest upstream python-certvalidator
This should also allow re-enabling previously failing tests.
2022-03-08 16:09:24 +00:00
fanquake
bb12870bac
guix: only use native GCC 7 toolchain for Linux builds
The macOS and Windows builds do not require a GCC 7 toolchain, and this
is actually causing build issues, i.e #24211. So switch to using a GCC
10 native toolchain for both.
2022-03-07 15:18:41 +00:00
laanwj
6833aceac9 build: Move guix time machine to prelude
This deduplicates some code, and enforces consistency of the time
machine configuration between scripts.
2022-03-07 11:08:46 +01:00
fanquake
29862bdd40
guix: use same commit for codesigning time-machine
The time machines should be updated in lockstep.
2022-03-06 10:18:22 +00:00
Jon Atack
48742693ac
Replace "can not" with "cannot" in docs, user messages, and tests 2022-02-21 19:07:29 +01:00
Hennadii Stepanov
b3617a99c1
build: Point Guix to recent commit on the master branch 2022-02-15 15:29:00 +02:00
Hennadii Stepanov
7f2f35fe20
build: Fix gcc-cross-x86_64-w64-mingw32-10.3.0 in Guix 2022-02-15 15:28:31 +02:00
fanquake
5a51815275
Merge bitcoin/bitcoin#24129: build: Fix xargs warnings for Guix builds
c73415bc10 build: Fix xargs warnings for Guix builds (Hennadii Stepanov)

Pull request description:

  On master (e3ce019667) there are warnings in `./contrib/guix/guix-build` logs:
  ```
  xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value
  ```

  This PR fixes such warnings.

ACKs for top commit:
  prusnak:
    utACK c73415b

Tree-SHA512: a7b55f59afbb19b78f795cea64acacf29903cfcd5fd7c37a771b073c1f2ff54555a26f3d00c1c73a8ef588396217ddf598e32b2ae961559042cc051b0aad162a
2022-01-31 14:07:43 +08:00
fanquake
0628815e95
guix: add arm64-apple-darwin triplet 2022-01-26 17:32:46 +08:00
fanquake
ca47f2e211
guix: use autoconf 2.71
This allows for building with newer targets, like arm64-apple-darwin, due to
having a newer bundled config.guess and config.sub.
2022-01-26 17:32:46 +08:00
fanquake
446e73cc0b
build: use macOS 11 SDK (Xcode 12.2)
This should be sufficient to support building for Apple ARM when
cross-compiling.
2022-01-26 17:28:16 +08:00
Hennadii Stepanov
c73415bc10
build: Fix xargs warnings for Guix builds 2022-01-22 23:18:41 +02:00
fanquake
8588591965
guix: ignore additioanl failing certvalidator test
======================================================================
ERROR: test_revocation_mode_soft (tests.test_validate.ValidateTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/guix-build-python-certvalidator-0.1-1.e5bdb4b.drv-0/source/tests/test_validate.py", line 85, in test_revocation_mode_soft
    validate_path(context, path)
  File "/tmp/guix-build-python-certvalidator-0.1-1.e5bdb4b.drv-0/source/tests/../certvalidator/validate.py", line 50, in validate_path
    return _validate_path(validation_context, path)
  File "/tmp/guix-build-python-certvalidator-0.1-1.e5bdb4b.drv-0/source/tests/../certvalidator/validate.py", line 358, in _validate_path
    raise PathValidationError(pretty_message(
certvalidator.errors.PathValidationError: The path could not be validated because the end-entity certificate expired 2022-01-14 12:00:00Z
2022-01-20 14:50:17 +08:00
fanquake
e8a6c888e4
build: point to latest commit on the master branch
The version-1.4.0 branch no-longer exists, and will be branched off
master again shortly.
2022-01-20 13:20:04 +08:00
Hennadii Stepanov
a229451590
build: Point Guix to the current top of the "version-1.4.0" branch 2022-01-11 19:21:05 +02:00
fanquake
84f9931cb4
guix: use upstream python-requests (2.26.0)
Upstream python requests is now modern enough to be used as a dependency for
signapple. Which requires requests>=2.25.1.
2022-01-05 10:32:24 +08:00
fanquake
187dc1ec0c
build: use python-asn1crypto from upstream
It is the exact same package definition.
2022-01-05 10:32:24 +08:00
fanquake
b1e8f0b96e
guix: use uptream nsis-x86_64
Our patch is now used upstream.
2022-01-05 10:32:24 +08:00
fanquake
3ccfba1c7f
guix: use GCC 10 (over GCC 8) to build releases
This currently points to the version-1.4.0 branch.
2022-01-05 10:32:19 +08:00
fanquake
e09773d20a
build: use a static .tiff for macOS .dmg over generating
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
2022-01-02 15:38:19 +08:00
Hennadii Stepanov
1362d6173f
scripted-diff: Insert missed copyright headers
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py insert contrib/guix/libexec/build.sh
./contrib/devtools/copyright_header.py insert contrib/guix/libexec/codesign.sh
./contrib/devtools/copyright_header.py insert contrib/tracing/log_raw_p2p_msgs.py
./contrib/devtools/copyright_header.py insert contrib/tracing/log_utxocache_flush.py
./contrib/devtools/copyright_header.py insert contrib/tracing/p2p_monitor.py
./contrib/devtools/copyright_header.py insert test/lint/lint-files.sh
-END VERIFY SCRIPT-
2021-12-30 19:46:41 +02:00
fanquake
1b76b18f8a
Merge bitcoin/bitcoin#23585: scripted-diff: Drop Darwin version for better maintainability
2f356a0ca8 scripted-diff: Drop Darwin version for better maintainability (Hennadii Stepanov)

Pull request description:

  After this PR, any macOS tools version bumping in the future will touch fewer files in the repo.

  Pointing a Darwin version for the `--host` system does not matter for the following reasons:

  - in terms of the resulted binaries, we should only care about the minimum supported macOS version which is a separated parameter in our build system.

  - in terms of the build system itself, the usage of the `$(host)` variable is self-consistent enough. Btw `$(host_os)` value already has the version dropped:
  ```
  $ make -C depends --no-print-directory print-host_os HOST=x86_64-apple-darwin19
  host_os=darwin
  ```

ACKs for top commit:
  gruve-p:
    ACK 2f356a0ca8
  promag:
    ACK 2f356a0ca8.
  fanquake:
    ACK 2f356a0ca8

Tree-SHA512: 374896ab0ba02b0d8b4b21431fe963bd213b0d09586e0898c13a4c5fa294c1b693f1b2c92880c245c4157c14217b4825b36522f461930477f4d2a727086ebb2a
2021-12-09 16:13:33 +08:00
Hennadii Stepanov
5202bd1dc0
test: Bump shellcheck version to 0.8.0 2021-11-30 21:15:40 +02:00
W. J. van der Laan
c5712d172e
Merge bitcoin/bitcoin#23506: test: Make more shell scripts verifiable by the shellcheck tool
a3f61676e8 test: Make more shell scripts verifiable by the `shellcheck` tool (Hennadii Stepanov)

Pull request description:

  Some shell scripts from `contrib/guix` and `contrib/shell` are not verifiable by the `shellcheck` tool for the following reasons:
  - they have no extension (see 4eccf063b2 from bitcoin/bitcoin#21375)
  - they have the `.bash` extension while `.sh` is expected

  This PR adds these scripts to the input for the `shellcheck` tool, and it fixes discovered `shellcheck` warnings.

ACKs for top commit:
  dongcarl:
    Code Review ACK a3f61676e8, this is a good robustness improvement for our shell scripts.
  jamesob:
    crACK a3f61676e8

Tree-SHA512: 6703f5369d9c04c1a174491f381afa5ec2cc4d37321c1b93615abcdde4dfd3caae82868b699c25b72132d8c8c6f2e9cf24d38eb180ed4d0f0584d8c282e58935
2021-11-30 20:05:44 +01:00
Hennadii Stepanov
a3f61676e8
test: Make more shell scripts verifiable by the shellcheck tool 2021-11-28 14:08:54 +02:00
Hennadii Stepanov
2f356a0ca8
scripted-diff: Drop Darwin version for better maintainability
-BEGIN VERIFY SCRIPT-
sed -i 's/darwin19/darwin/g' $(git grep --files-with-matches 'darwin19')
-END VERIFY SCRIPT-
2021-11-25 01:12:46 +02:00
fanquake
dbfca4a815
build: require glibc 2.18+ for release builds
From what I can see the only platform this drops support for is CentOS
7. CentOS 7 reached the end of it's "full update" support at the end of
2020. It does receive maintenance updates until 2024, however I don't
think supporting glibc 2.17 until 2024 is realistic. Note that anyone
wanting to self-compile and target a glibc 2.17 runtime could build with
--disable-threadlocal.

glibc 2.18 was released in August 2013.
https://sourceware.org/legacy-ml/libc-alpha/2013-08/msg00160.html
2021-11-16 07:51:24 +08:00
fanquake
a7f28af437
Merge bitcoin/bitcoin#22646: build: tighter Univalue integration, remove --with-system-univalue
0f95247246 Integrate univalue into our buildsystem (Cory Fields)
9b49ed656f Squashed 'src/univalue/' changes from 98fadc0909..a44caf65fe (fanquake)

Pull request description:

  This PR more tightly integrates building Univalue into our build system. This follows the same approach we use for [LevelDB](https://github.com/bitcoin-core/leveldb/), ([`Makefile.leveldb.include`](https://github.com/bitcoin/bitcoin/blob/master/src/Makefile.leveldb.include)), and [CRC32C](https://github.com/bitcoin-core/crc32c) ([`Makefile.crc32c.include`](https://github.com/bitcoin/bitcoin/blob/master/src/Makefile.crc32c.include)), and will be the same approach we use for [minisketch](https://github.com/sipa/minisketch); see #23114.

  This approach yields a number of benefits, including:
  * Faster configuration due to one less subconfigure being run during `./configure` i.e 22s with this PR vs 26s
  * Faster autoconf i.e 13s with this PR vs 17s
  * Improved caching
  * No more issues with compiler flags i.e https://github.com/bitcoin/bitcoin/pull/12467
  * More direct control means we can build exactly the objects we want

  There might be one argument against making this change, which is that builders should have the option to use "proper shared/system libraries". However, I think that falls down for a few reasons. The first being that we already don't support building with a number of system libraries (secp256k1, leveldb, crc32c); some for good reason. Univalue is really the odd one out at the moment.

  Note that the only fork of Core I'm aware of, that actively patches in support for using system libs, also explicitly marks them as ["DANGEROUS"](a886811721/configure.ac (L1430)) and ["NOT SUPPORTED"](a886811721/configure.ac (L1312)). So it would seem they exist more to satisfy a distro requirement, as opposed to something that anyone should, or would actually use in practice.

  PRs like #22412 highlight the "issue" with us operating with our own Univalue fork, where we actively fix bugs, and make improvements, when upstream (https://github.com/jgarzik/univalue) may not be taking those improvements, and by all accounts, is not currently actively maintained. Bitcoin Core should not be hamstrung into not being able to fix bugs in a library, and/or have to litter our source with "workarounds", i.e #22412, for bugs we've already fixed, based on the fact that an upstream project is not actively being maintained. Allowing builders to use system libs is really only exacerbating this problem, with little benefit to our project. Bitcoin Core is not quite like your average piece of distro packaged software.

  There is the potential for us to give the same treatment to libsecp256k1, however it seems doing that is currently less straightforward.

ACKs for top commit:
  dongcarl:
    ACK 0f95247246 less my comment above, always nice to have an include-able `sources.mk` which makes integration easier.
  theuni:
    ACK 0f95247246. Thanks fanquake for keeping this going.

Tree-SHA512: a7f2e41ee7cba06ae72388638e86b264eca1b9a8b81c15d1d7b45df960c88c3b91578b4ade020f8cc61d75cf8d16914575f9a78fa4cef9c12be63504ed804b99
2021-10-20 11:01:38 +08:00
Carl Dong
b96adcbfae guix: Fix powerpc64(le) dynamic linker name
I used Guix's values for the powerpc64(le) dynamic linkers, and the
/lib-prefix seems to be a Guix-ism rather than standard. The standard
path for the linker-loaders start with /lib64.

I've taken the new loader values from SYSDEP_KNOWN_INTERPRETER_NAMES in
glibc's sysdeps/unix/sysv/linux/powerpc/ldconfig.h file.

For future reference, loader path values can also be found on glibc's
website: https://sourceware.org/glibc/wiki/ABIList?action=recall&rev=16
2021-10-13 08:38:40 -04:00
Cory Fields
0f95247246
Integrate univalue into our buildsystem
This addresses issues like the one in #12467, where some of our compiler flags
end up being dropped during the subconfigure of Univalue. Specifically, we're
still using the compiler-default c++ version rather than forcing c++17.

We can drop the need subconfigure completely in favor of a tighter build
integration, where the sources are listed separately from the build recipes,
so that they may be included directly by upstream projects. This is
similar to the way leveldb build integration works in Core.

Core benefits of this approach include:
- Better caching (for ex. ccache and autoconf)
- No need for a slow subconfigure
- Faster autoconf
- No more missing compile flags
- Compile only the objects needed

There are no benefits to Univalue itself that I can think of. These changes
should be a no-op there, and to downstreams as well until they take advantage
of the new sources.mk.

This also removes the option to use an external univalue to avoid similar ABI
issues with mystery binaries.

Co-authored-by: fanquake <fanquake@gmail.com>
2021-10-11 20:46:25 +08:00
fanquake
8f022a59b8
Merge bitcoin/bitcoin#22993: build: set OSX_MIN_VERSION to 10.15
a43b8e9555 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 a43b8e9555
  jarolrod:
    ACK a43b8e9

Tree-SHA512: 9ac77be7cb56c068578860a3b2b8b7487c9e18b71b14aedd77a9c663f5d4bb19756d551770c02ddd12f1797beea5757b261588e7b67fb53509bb998ee8022369
2021-09-21 15:37:12 +08:00
Jeremy Rand
9bdda50151
Enable TLS in links in documentation 2021-09-16 22:00:20 +00:00
fanquake
a43b8e9555
build: set OSX_MIN_VERSION to 10.15
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-09-16 17:50:19 +08:00
Carl Dong
96cc6bb04f guix/prelude: Override VERSION with FORCE_VERSION
Previously, if the builder exported $VERSION in their environment (as
past Gitian-building docs told them to), but their HEAD does not
actually point to v$VERSION, their build outputs will differ from those
of other builders.

This is because the contrib/guix/guix-* scripts only ever act on the
current git worktree, and does not try to check out $VERSION if $VERSION
is set in the environment.

Setting $VERSION only makes the scripts pretend like the current
worktree is $VERSION.

This problem was seen in jonatack's attestation for all.SHA256SUMS,
where only his bitcoin-22.0rc3-osx-signed.dmg differed from everyone
else's.

Here is my deduced sequence of events:

1. Aug 27th: He guix-builds 22.0rc3 and uploads his attestations up to
   guix.sigs

2. Aug 30th, sometime after POSIX time 1630310848: he pulls the latest
   changes from master in the same worktree where he guix-built 22.0rc3
   and ends up at 7be143a960

3. Aug 30th, sometime before POSIX time 1630315907: With his worktree
   still on 7be143a960, he guix-codesigns. Normally, this would result
   in outputs going in guix-build-7be143a960e2, but he had
   VERSION=22.0rc3 in his environment, so the guix-* scripts pretended
   like he was building 22.0rc3, and used 22.0rc3's guix-build directory
   to locate un-codesigned outputs and dump codesigned ones.

   However, our SOURCE_DATE_EPOCH defaults to the POSIX time of HEAD
   (7be143a960), which made all timestamps in the resulting codesigned
   DMG 1630310848, 7be143a960e2's POSIX timestamp. This differs from the
   POSIX timestamp of 22.0rc3, which is 1630348517. Note that the
   windows codesigning procedure does not consider SOURCE_DATE_EPOCH.

We resolve this by only allowing VERSION overrides via the FORCE_VERSION
environment variable.
2021-08-31 10:57:04 -04:00
Andrew Chow
fb17c99e35 guix: Don't include directory name in SHA256SUMS
The SHA256SUMS file can be used in a sha256sum -c command to verify
downloaded binaries. However users are likely to download just a single
file and not place this file in the correct directory relative to the
SHA256SUMS file for the simple verification command to work. By not
including the directory name in the SHA256SUMS file, it will be easier
for users to verify downloaded binaries.

Co-authored-by: Carl Dong <contact@carldong.me>
2021-08-18 20:07:32 -04:00
fanquake
8193294cab
Merge bitcoin/bitcoin#22642: release: Release with separate SHA256SUMS and sig files
90b3e482e9 release: Release with separate SHA256SUMS and sig files (Carl Dong)

Pull request description:

  This allows us to:
  - remove the rfc4880 EOL hacks, and
  - release with a SHA256SUMS.asc file that's a combination of all signer signatures

ACKs for top commit:
  achow101:
    ACK 90b3e482e9
  laanwj:
    Concept and code review ACK 90b3e482e9

Tree-SHA512: 5d5086063d303aa0cbd590e5fdf2ae8f555e25f4e43bf67545e33384449b990e94834c711622530ad0eb3dcc83f52746884a5081dadb0acff8dd799cfadafac7
2021-08-09 16:19:49 +08:00
Carl Dong
d451b60d22 guix-verify: Non-zero exit code when anything fails
Previously, if verification fails, the correct message will be printed,
but the exit code would still be 0.
2021-08-05 19:05:16 -04:00
Carl Dong
90b3e482e9 release: Release with separate SHA256SUMS and sig files
This allows us to remove the rfc4880 EOL hacks and release with a
SHA256SUMS.asc file that's a combination of all signer signatures.
2021-08-05 16:58:54 -04:00
fanquake
8f76f9f613
Merge bitcoin/bitcoin#22531: guix: Fixes to guix-{attest,verify}
9b313dfef1 guix: Ensure EPOCH_SOURCE_DATE does not include GPG information (Andrew Chow)
43225f0a2a guix: Remove extra \r from all.SHA256SUMS line ending (Andrew Chow)
d080c27066 guix, doc: Add a note that codesigners need to rebuild after tagging (Andrew Chow)
4a466388a0 guix: Allow changing the base manifest in guix-verify (Andrew Chow)
33455c7696 guix: Make all.SHA256SUMS rather than codesigned.SHA256SUMS (Andrew Chow)

Pull request description:

  `guix-verify` expects `all.SHA256SUMS` but `guix-attest` produces `codesigned.SHA256SUMS`. Since `all.SHA256SUMS` makes more sense (as the file contains all the sha256sums, not just the codesigned ones), `guix-attest` has been changed to output a file of that name.

  As a quality of life improvement, `guix-verify` can take `SIGNER` and use the signer's manifest as the base to compare against. This makes it easier to compare a single person's attestations with everyone else's and can make it more obvious when one builder is clearly mismatching with everyone else.

  Lastly `release-process.md` is updated with a note about a gotcha that can cause a mismatch in the codesigned attestation.

ACKs for top commit:
  fanquake:
    ACK 9b313dfef1

Tree-SHA512: 0d60627def38288dbd3059ad1e72cad224f9205da11b1a561c082ef28250a074df5cc5f2797c91a7be027bc486a3fda3319c2e496a8724e5b539337236c6f990
2021-07-29 11:13:12 +08:00
Andrew Chow
9b313dfef1 guix: Ensure EPOCH_SOURCE_DATE does not include GPG information
If the user has set log.showSignature=true in their git config, then the
git log will always output GPG signature information. Since git log is
used to set EPOCH_SOURCE_DATE, this will mistakenly have GPG signature
information in it which causes issues for the build. To avoid this
issue, we override the config and force log.showSignature=false.
2021-07-28 12:59:47 -04:00
Andrew Chow
43225f0a2a guix: Remove extra \r from all.SHA256SUMS line ending
guix-attest mistakenly added an extra \r to the line endings in
all.SHA256SUMS, causing guix-verify to erroneously fail.

Co-Authored-By: Carl Dong <contact@carldong.me>
2021-07-28 12:59:47 -04:00
jonatack
198ceb82f9 script, doc: guix touchups 2021-07-23 21:23:37 +05:30
h
d7b7f610a5 Updated Readme, Corrected the codesign typo 2021-07-23 20:15:16 +05:30
fanquake
2b5563bb1e
Merge bitcoin/bitcoin#22533: guix/build: Remove vestigial SKIPATTEST.TAG
9f01feda0a guix/build: Remove vestigial SKIPATTEST.TAG (Carl Dong)

Pull request description:

  No longer needed or referenced by anything. A relic from prior to the great hierarchy overhaul of #22182

ACKs for top commit:
  achow101:
    ACK 9f01feda0a
  fanquake:
    ACK 9f01feda0a

Tree-SHA512: a94cf63f0c5cb8dbacf1025b6c0e81b219c2a3c93b3cbcefc239ccde29e602ecd4b717b1d93dbe53cb791a5017236fb09823c034aec42b0c31894fc9e0ab8b21
2021-07-23 14:03:24 +08:00
Andrew Chow
4a466388a0 guix: Allow changing the base manifest in guix-verify
When verifying guix attestations, it is useful to set a particular
signer's manifest as the base to compare against.
2021-07-22 18:48:25 -04:00
Andrew Chow
33455c7696 guix: Make all.SHA256SUMS rather than codesigned.SHA256SUMS 2021-07-22 17:57:35 -04:00
Carl Dong
9f01feda0a guix/build: Remove vestigial SKIPATTEST.TAG 2021-07-22 17:47:22 -04:00
Carl Dong
a884a1edcd guix/INSTALL: Misc fixups 2021-07-22 17:42:46 -04:00
Carl Dong
3c4d2c418e guix: Silence getent(1) invocation 2021-07-20 19:47:28 -04:00
fanquake
201c5e4aec
Merge bitcoin/bitcoin#22465: guix: Pin kernel-header version, time-machine to upstream 1.3.0 commit
e6a94d4446 guix: Bump to version-1.3.0 from upstream (Carl Dong)
90fd13b954 guix: Pin kernel header version (Carl Dong)

Pull request description:

  ```
  - Use 4.19 for riscv64 (earliest LTS release w/ riscv64 support)
  - Use 4.9 for all others (second-oldest LTS release, released in
    combination with glibc glibc 2.24 in Debian stretch)
  ```

  ```
  The chosen commit is the HEAD of Guix's version-1.3.0 branch as of July
  15th, 2021.

  Also fix visual indenting.
  ```

  -----

  This + the documentation PR should make our Guix system ready for release!

ACKs for top commit:
  MarcoFalke:
    review ACK e6a94d4446 to change to vanilla guix. Did not review the kernel change.
  laanwj:
    ACK e6a94d4446
  fanquake:
    ACK e6a94d4446

Tree-SHA512: a175e4ddb3ee786a39f5e800ce336932ad2f6797a3a28400a6f723875d0f19833fd36cedc41b3580e4604110517211bd9f557be36adf7265fd8e591c434ae032
2021-07-20 12:23:56 +08:00
fanquake
e7441a6a45
Merge bitcoin/bitcoin#21711: guix: Add full installation and usage documentation
fac4814106 doc/release-process: Add torrent creation details (Carl Dong)
5d24cc3d82 guix/INSTALL: Guix installs init scripts in libdir (Carl Dong)
5da2ee49d5 guix/INSTALL: Add coreutils/inotify-dir-recreate troubleshooting (Carl Dong)
318c60700b guix: Adapt release-process.md to new Guix process (Carl Dong)
fcab35b229 guix-attest: Produce and sign normalized documents (Carl Dong)
c2541fd0ca guix: Overhaul README (Carl Dong)
46ce6ce378 tree-wide: Rename gitian-keys to builder-keys (Carl Dong)
fc4f8449f3 guix: Update various check_tools lists (Carl Dong)
263220a85c guix: Check for a sane services database (Carl Dong)

Pull request description:

  Based on: #21462

  Keeping the README in one file so that it's easy to search through. Will add more jumping links later so navigation is easier.

  Current TODOs:
  - [x] Shell installer option: prompt user to re-login for `/etc/profile.d` entry to be picked up
  - [x] Binary tarball option: prompt user to create `/etc/profile.d` entry and re-login
  - [x] Fanquake docker option: complete section
  - [x] Arch Linux AUR option: prompt to start `guix-daemon-latest` unit after finishing "optional setup" section
  - [x] Building from source option: Insert dependency tree diagram that I made
  - [x] Building from source option: redo sectioning, kind of a mess right now
  - [x] Optional setup: make clear which parts are only needed if building from source
  - [x] Workaround 1 for GnuTLS: perhaps mention how to remove Guix build farm's key
  - [x] Overall (after everything): Make the links work.

  Note to self: wherever possible, tell user how to check that something is true rather than branching by installation option.

ACKs for top commit:
  fanquake:
    ACK fac4814106 - going to go ahead and merge this now. It's a lot of documentation, and could probably be nit-picked / improved further, however, that can continue over the next few weeks. I'm sure more (backportable) improvements / clarifications will be made while we progress through RCs towards a new release.

Tree-SHA512: dc46c0ecdfc67c7c7743ca26e4a603eb3f54adbf81be2f4c1f4c20577ebb84b5250b9c9ec89c0e9860337ab1c7cff94d7963c603287267deecfe1cd987fa070a
2021-07-20 11:09:39 +08:00
Carl Dong
5d24cc3d82 guix/INSTALL: Guix installs init scripts in libdir 2021-07-19 18:24:36 -04:00
Carl Dong
5da2ee49d5 guix/INSTALL: Add coreutils/inotify-dir-recreate troubleshooting 2021-07-19 18:24:36 -04:00
Carl Dong
fcab35b229 guix-attest: Produce and sign normalized documents
That way we can easily combine the document and detached signature to
produce cleartext signature files for upload during the release process.

See subsequent commits which modify doc/release-process.md for more
details.
2021-07-19 18:24:36 -04:00
Carl Dong
c2541fd0ca guix: Overhaul README
- Added detailed Guix bootstrap/installation instructions
2021-07-19 18:24:36 -04:00
fanquake
4371e635d6
Merge bitcoin/bitcoin#22410: Avoid GCC 7.1 ABI change warning in guix build
1edddf5de4 Avoid GCC 7.1 ABI change warning in guix build (Pieter Wuille)

Pull request description:

  The arm-linux-gnueabihf guix build output is littered with warnings like:

  ```
  /gnu/store/7a96hdqdb2qi8a39f09n84xjy2hr23rs-gcc-cross-arm-linux-gnueabihf-8.4.0/include/c++/bits/stl_vector.h:1085:4: note:
                   parameter passing for argument of type '__gnu_cxx::__normal_iterator<CRecipient*, std::vector<CRecipient> >' changed in GCC 7.1
  ```

  These are irrelevant for us. Disable them using `-Wno-psabi`.

ACKs for top commit:
  laanwj:
    ACK 1edddf5de4
  hebasto:
    ACK 1edddf5de4, after thorough reading related materials, I agree this change can be merged. As I mentioned above, I have been compiling my arm-32bit binaries with `-Wno-psabi` flag for two years, and no related flaws were observed.

Tree-SHA512: 485c7500547ac5da567ad23847341c18ff832607f5a1002676404cc647e437cf3445b6894ecff5b52929ca52bea946c06bd90eace1997c895e56204e787065e4
2021-07-18 14:33:22 +08:00