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.
This commit is contained in:
Ludovic Courtès 2015-11-13 23:17:15 +01:00
parent 79c8a071e7
commit f8e7fdc416
3 changed files with 38 additions and 8 deletions

View File

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

View File

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

View File

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