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.
master
Ludovic Courtès 2015-11-25 09:46:40 +01:00
parent 39570137e5
commit b6094b1f0a
3 changed files with 20 additions and 1 deletions

View File

@ -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 \

View File

@ -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 _

View File

@ -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"