~ruther/guix-local

f8e7fdc4165afa8c54638bcc8c40da91bf7c9618 — Ludovic Courtès 10 years ago 79c8a07
gnu: tcl: Produce 'tclIndex' files deterministically.

* gnu/packages/patches/tcl-mkindex-deterministic.patch: New patch.
* gnu/packages/tcl.scm (tcl)[source]: Use it.
* gnu-system.am (dist_patch_DATA): Add it.
3 files changed, 38 insertions(+), 8 deletions(-)

M gnu-system.am
A gnu/packages/patches/tcl-mkindex-deterministic.patch
M gnu/packages/tcl.scm
M gnu-system.am => gnu-system.am +1 -0
@@ 696,6 696,7 @@ dist_patch_DATA =						\
  gnu/packages/patches/synfig-build-fix.patch			\
  gnu/packages/patches/tar-d_ino_in_dirent-fix.patch		\
  gnu/packages/patches/tar-skip-unreliable-tests.patch		\
  gnu/packages/patches/tcl-mkindex-deterministic.patch		\
  gnu/packages/patches/tcsh-fix-autotest.patch			\
  gnu/packages/patches/texi2html-document-encoding.patch	\
  gnu/packages/patches/texi2html-i18n.patch			\

A gnu/packages/patches/tcl-mkindex-deterministic.patch => gnu/packages/patches/tcl-mkindex-deterministic.patch +29 -0
@@ 0,0 1,29 @@
This patch ensures that the 'tclIndex' files generated by 'auto_mkindex'
are sorted in a deterministic fashion.

Fixes a non-determinism issue reported
at <https://lists.gnu.org/archive/html/guix-devel/2015-10/msg00696.html>.

--- tcl8.6.4/library/auto.tcl	2015-02-26 17:57:28.000000000 +0100
+++ tcl8.6.4/library/auto.tcl	2015-11-13 23:18:34.964831717 +0100
@@ -207,6 +207,9 @@ proc auto_mkindex {dir args} {
 	set args *.tcl
     }
 
+    # Keep file names sorted in a determistic order.
+    set args [lsort -ascii $args]
+
     auto_mkindex_parser::init
     foreach file [glob -- {*}$args] {
 	try {
@@ -241,6 +244,10 @@ proc auto_mkindex_old {dir args} {
     if {![llength $args]} {
 	set args *.tcl
     }
+
+    # Keep file names sorted in a determistic order.
+    set args [lsort -ascii $args]
+
     foreach file [glob -- {*}$args] {
 	set f ""
 	set error [catch {

M gnu/packages/tcl.scm => gnu/packages/tcl.scm +8 -8
@@ 35,14 35,14 @@
  (package
    (name "tcl")
    (version "8.6.4")
    (source
     (origin
      (method url-fetch)
      (uri (string-append "mirror://sourceforge/tcl/Tcl/"
                          version "/tcl" version "-src.tar.gz"))
      (sha256
       (base32
        "13cwa4bc85ylf5gfj9vk182lvgy60qni3f7gbxghq78wk16djvly"))))
    (source (origin
              (method url-fetch)
              (uri (string-append "mirror://sourceforge/tcl/Tcl/"
                                  version "/tcl" version "-src.tar.gz"))
              (sha256
               (base32
                "13cwa4bc85ylf5gfj9vk182lvgy60qni3f7gbxghq78wk16djvly"))
              (patches (list (search-patch "tcl-mkindex-deterministic.patch")))))
    (build-system gnu-build-system)
    (arguments
     '(#:phases (alist-cons-before