~ruther/guix-local

b6094b1f0a6760b9f5296364cf5edb8a2e64953c — Ludovic Courtès 10 years ago 3957013
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.
3 files changed, 20 insertions(+), 1 deletions(-)

M gnu-system.am
M gnu/packages/dico.scm
A gnu/packages/patches/dico-libtool-deterministic.patch
M gnu-system.am => gnu-system.am +1 -0
@@ 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			\

M gnu/packages/dico.scm => gnu/packages/dico.scm +4 -1
@@ 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 _

A gnu/packages/patches/dico-libtool-deterministic.patch => gnu/packages/patches/dico-libtool-deterministic.patch +15 -0
@@ 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"