summaryrefslogtreecommitdiff
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
parent39570137e5a7f4d1ca2ba78d189c107caebd5b6c (diff)
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.
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/dico.scm5
-rw-r--r--gnu/packages/patches/dico-libtool-deterministic.patch15
3 files changed, 20 insertions, 1 deletions
diff --git a/gnu-system.am b/gnu-system.am
index 3f83b8bd7e..91f36f4eb9 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -437,6 +437,7 @@ dist_patch_DATA = \
gnu/packages/patches/dbus-helper-search-path.patch \
gnu/packages/patches/dealii-p4est-interface.patch \
gnu/packages/patches/devil-fix-libpng.patch \
+ gnu/packages/patches/dico-libtool-deterministic.patch \
gnu/packages/patches/diffutils-gets-undeclared.patch \
gnu/packages/patches/dfu-programmer-fix-libusb.patch \
gnu/packages/patches/doxygen-test.patch \
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"