From f8e7fdc4165afa8c54638bcc8c40da91bf7c9618 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 13 Nov 2015 23:17:15 +0100 Subject: [PATCH] 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. --- gnu-system.am | 1 + .../patches/tcl-mkindex-deterministic.patch | 29 +++++++++++++++++++ gnu/packages/tcl.scm | 16 +++++----- 3 files changed, 38 insertions(+), 8 deletions(-) create mode 100644 gnu/packages/patches/tcl-mkindex-deterministic.patch diff --git a/gnu-system.am b/gnu-system.am index 99e8e7dff4..1fdbd00731 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -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 \ diff --git a/gnu/packages/patches/tcl-mkindex-deterministic.patch b/gnu/packages/patches/tcl-mkindex-deterministic.patch new file mode 100644 index 0000000000..2fcef6a4f7 --- /dev/null +++ b/gnu/packages/patches/tcl-mkindex-deterministic.patch @@ -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 . + +--- 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 { diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index c18b8b5112..6f6838c039 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -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