summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2022-09-29 23:17:19 +0200
committerRicardo Wurmus <rekado@elephly.net>2022-09-29 23:21:16 +0200
commit1ee2d117d8fa9e2e0d4ec46cc5555497bb5e6337 (patch)
treef7b1e46cf4455bbc895861d6dab7ebea540e1b04 /gnu
parent4244f5e9a7be02b67ba2cf76f8a67da221349bd3 (diff)
downloadguix-1ee2d117d8fa9e2e0d4ec46cc5555497bb5e6337.tar.gz
gnu: blast+: Build reproducibly.
Fixes <https://issues.guix.gnu.org/42141>.

* gnu/packages/bioinformatics.scm (blast+)[source]: Do not record kernel
version and use fix set of random numbers.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/bioinformatics.scm22
1 files changed, 21 insertions, 1 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index a034bf134e..ca341a45a7 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1656,7 +1656,27 @@ package provides command line tools using the Bio++ library.")
                   ;; Remove useless msbuild directory
                   (delete-file-recursively
                    "c++/src/build-system/project_tree_builder/msbuild")
-                  #t))))
+
+                  ;; Build reproducibly.
+                  ;; Do not record the kernel version
+                  (substitute* "c++/src/build-system/configure"
+                    (("kver=.*") "kver=\"\""))
+                  ;; Do not generate random numbers.
+                  (substitute* "c++/scripts/common/impl/define_random_macros.sh"
+                    (("#define NCBI_RANDOM_VALUE_MAX  0xffffffffu" m)
+                     (string-append m "
+#define NCBI_RANDOM_VALUE_0    2845495105u
+#define NCBI_RANDOM_VALUE_1    2158634051u
+#define NCBI_RANDOM_VALUE_2    4072202242u
+#define NCBI_RANDOM_VALUE_3    902228395u
+#define NCBI_RANDOM_VALUE_4    1353323915u
+#define NCBI_RANDOM_VALUE_5    574823513u
+#define NCBI_RANDOM_VALUE_6    4119501261u
+#define NCBI_RANDOM_VALUE_7    2477640938u
+#define NCBI_RANDOM_VALUE_8    2776595395u
+#define NCBI_RANDOM_VALUE_9    270550684u
+"))
+                    (("cksum") "cksum >/dev/null"))))))
     (build-system gnu-build-system)
     (arguments
      `(;; There are two(!) tests for this massive library, and both fail with