summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-11-25 09:46:40 +0100
committerLudovic Courtès <ludo@gnu.org>2015-11-25 11:59:54 +0100
commitb6094b1f0a6760b9f5296364cf5edb8a2e64953c (patch)
treeb35b0b9f8cfc83c193018f06207c3ef31938f7df /gnu/packages
parent39570137e5a7f4d1ca2ba78d189c107caebd5b6c (diff)
downloadguix-b6094b1f0a6760b9f5296364cf5edb8a2e64953c.tar.gz
gnu: dico: Sort entries in .a files deterministically.
* gnu/packages/patches/dico-libtool-deterministic.patch: New file.
* gnu/packages/dico.scm (dico)[source]: Use it.
[arguments]: Add #:make-flags.
* gnu-system.am (dist_patch_DATA): Add the patch.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/dico.scm5
-rw-r--r--gnu/packages/patches/dico-libtool-deterministic.patch15
2 files changed, 19 insertions, 1 deletions
diff --git a/gnu/packages/dico.scm b/gnu/packages/dico.scm
index 372c090c6f..317eeeebea 100644
--- a/gnu/packages/dico.scm
+++ b/gnu/packages/dico.scm
@@ -43,11 +43,14 @@
              (sha256
               (base32
                "04pjks075x20d19l623mj50bw64g8i41s63z4kzzqcbg9qg96x64"))
-             (patches (list (search-patch "cpio-gets-undeclared.patch")))))
+             (patches (map search-patch
+                           '("cpio-gets-undeclared.patch"
+                             "dico-libtool-deterministic.patch")))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags (list (string-append "--with-guile-site-dir=" %output
                                               "/share/guile/site/2.0"))
+       #:make-flags '("V=1")
        #:phases (modify-phases %standard-phases
                   (add-before 'check 'silence-guile
                     (lambda _
diff --git a/gnu/packages/patches/dico-libtool-deterministic.patch b/gnu/packages/patches/dico-libtool-deterministic.patch
new file mode 100644
index 0000000000..957fc79786
--- /dev/null
+++ b/gnu/packages/patches/dico-libtool-deterministic.patch
@@ -0,0 +1,15 @@
+Dico 2.2 uses an old Libtool (2.2.7a) that did not sort the output
+of 'find', thereby leading to non-deterministic file name ordering
+in the arguments passed to 'ar rcu' for libdico.a & co.
+
+--- dico-2.2/build-aux/ltmain.sh	1970-01-01 01:00:00.000000000 +0100
++++ dico-2.2/build-aux/ltmain.sh	2015-11-25 09:39:30.826169050 +0100
+@@ -2926,7 +2926,7 @@ func_extract_archives ()
+         func_extract_an_archive "$my_xdir" "$my_xabs"
+ 	;;
+       esac
+-      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
++      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
+     done
+ 
+     func_extract_archives_result="$my_oldobjs"