From b6094b1f0a6760b9f5296364cf5edb8a2e64953c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 25 Nov 2015 09:46:40 +0100 Subject: 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. --- gnu-system.am | 1 + gnu/packages/dico.scm | 5 ++++- gnu/packages/patches/dico-libtool-deterministic.patch | 15 +++++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/dico-libtool-deterministic.patch 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" -- cgit v1.2.3