summary refs log tree commit diff
diff options
context:
space:
mode:
authorBen J. Woodcroft <donttrustben near gmail.com>2017-03-10 20:25:00 +1000
committerBen Woodcroft <donttrustben@gmail.com>2017-03-10 20:31:30 +1000
commit79f09fa2394c5de06668406222a655eac39c36f6 (patch)
tree26227903f0410b2fabd93e66271b7c9576a89535
parent5ded35d89d33a58294956c4a6c86cfb2fc7c7924 (diff)
downloadguix-79f09fa2394c5de06668406222a655eac39c36f6.tar.gz
gnu: hmmer: Build reproducibly.
* gnu/packages/patches/hmmer-remove-cpu-specificity.patch: New file.
* gnu/packages/bioinformatics.scm (hmmer): Use it.
-rw-r--r--gnu/packages/bioinformatics.scm20
-rw-r--r--gnu/packages/patches/hmmer-remove-cpu-specificity.patch22
2 files changed, 33 insertions, 9 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index b6f753ef0a..866900d40b 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -2839,15 +2839,17 @@ indexing scheme is called a @dfn{Hierarchical Graph FM index} (HGFM).")
   (package
     (name "hmmer")
     (version "3.1b2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "http://eddylab.org/software/hmmer"
-                    (version-prefix version 1) "/"
-                    version "/hmmer-" version ".tar.gz"))
-              (sha256
-               (base32
-                "0djmgc0pfli0jilfx8hql1axhwhqxqb8rxg2r5rg07aw73sfs5nx"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "http://eddylab.org/software/hmmer"
+             (version-prefix version 1) "/"
+             version "/hmmer-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0djmgc0pfli0jilfx8hql1axhwhqxqb8rxg2r5rg07aw73sfs5nx"))
+       (patches (search-patches "hmmer-remove-cpu-specificity.patch"))))
     (build-system gnu-build-system)
     (native-inputs `(("perl" ,perl)))
     (home-page "http://hmmer.org/")
diff --git a/gnu/packages/patches/hmmer-remove-cpu-specificity.patch b/gnu/packages/patches/hmmer-remove-cpu-specificity.patch
new file mode 100644
index 0000000000..ba98db4d0e
--- /dev/null
+++ b/gnu/packages/patches/hmmer-remove-cpu-specificity.patch
@@ -0,0 +1,22 @@
+This patch removes compilation flags which make the build for the machine
+where compilation takes place, rendering the build not reproducible.
+
+diff --git a/configure b/configure
+index 8b6aaef..49a6afc 100755
+--- a/configure
++++ b/configure
+@@ -6125,14 +6125,6 @@ fi # guess arch
+ 
+ if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
+ for arch in $ax_gcc_arch; do
+-  if test "x$acx_maxopt_portable" = xyes; then # if we require portable code
+-    flags="-mtune=$arch"
+-    # -mcpu=$arch and m$arch generate nonportable code on every arch except
+-    # x86.  And some other arches (e.g. Alpha) don't accept -mtune.  Grrr.
+-    case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
+-  else
+-    flags="-march=$arch -mcpu=$arch -m$arch"
+-  fi
+   for flag in $flags; do
+     as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5