svn-download: Do not expand keywords.

Subversion keyword expansion is potentially non-reproducible as some of
them expand time strings relative to the local time zone:

  https://issues.guix.gnu.org/43442#18

In practice this is not a problem in Guix since Subversion checkouts
happen in an isolated environment using the "default timezone" (UTC).

However, Software Heritage disables keyword expansion for this very
reason.  By following suit, we make sure content can be retrieved from
there.

* guix/build/svn.scm (svn-fecth): Pass "--ignore-keywords" to
Subversion.
* guix/build-system/texlive.scm (%texlive-date): New variable.
* gnu/packages/java.scm (java-geronimo-xbean-reflect)
(java-geronimo-genesis-2.1): Update the source hash.
* gnu/packages/machine-learning.scm (ghmm): Likewise.
* gnu/packages/video.scm (libsmpeg, libsmpeg-with-sdl1): Likewise.
* gnu/packages/tex.scm (texlive-bin): Update the hash of the
"texlive-scripts" input, and a add a new phase that imitates
Subversion keyword expansion for scripts that need it.
(texlive-latex-base): Update the hash of the "texlive-luatexconfig"
native input.
(texlive-hyphen-base, texlive-dvipdfmx, texlive-dvips, texlive-cm)
(texlive-tex-plain, texlive-kpathsea, texlive-latexconfig)
(texlive-tetex, texlive-pdftex, texlive-xetex): Update the source
hash.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Timothy Sample 2023-04-05 13:46:28 -06:00 committed by Nicolas Goaziou
parent 2ffa3a400b
commit e6da6e3152
No known key found for this signature in database
GPG Key ID: DA00B4F048E92F2D
6 changed files with 55 additions and 20 deletions

View File

@ -11240,7 +11240,7 @@ outputting XML data from Java code.")
(file-name (string-append name "-" version)) (file-name (string-append name "-" version))
(sha256 (sha256
(base32 (base32
"18q3i6jgm6rkw8aysfgihgywrdc5nvijrwnslmi3ww497jvri6ja")))) "0zjqmsad4xk0iar23hdyvx19nxczybd2bh0i35xrafli5cmh720k"))))
(build-system ant-build-system) (build-system ant-build-system)
(arguments (arguments
`(#:jar-name "geronimo-xbean-reflect.jar" `(#:jar-name "geronimo-xbean-reflect.jar"
@ -11291,7 +11291,7 @@ and graphs of objects for dependency injection frameworks")
(file-name (string-append name "-" version "-source")) (file-name (string-append name "-" version "-source"))
(sha256 (sha256
(base32 (base32
"119yn795jvnjf52si84q192s8wag1k013iabg78b7wnadssnnh31")))) "1mky4zyl2xsqlgrkairaj5971byvhwk2z9bq8snsgvlr11ydc0zf"))))
(build-system ant-build-system) (build-system ant-build-system)
(arguments (arguments
`(#:tests? #f `(#:tests? #f

View File

@ -239,7 +239,7 @@ classification.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0qbq1rqp94l530f043qzp8aw5lj7dng9wq0miffd7spd1ff638wq")))) "07kdsngvr4n1qxpqzv1nlay7g41d6jzjppa8vzmrg220s8ing87z"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:imported-modules (,@%gnu-build-system-modules `(#:imported-modules (,@%gnu-build-system-modules

View File

@ -27,6 +27,7 @@
;;; Copyright © 2023 Thomas Albers Raviola <thomas@thomaslabs.org> ;;; Copyright © 2023 Thomas Albers Raviola <thomas@thomaslabs.org>
;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw> ;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw>
;;; Copyright © 2023 Timothy Sample <samplet@ngyro.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -295,7 +296,7 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
"-checkout")) "-checkout"))
(sha256 (sha256
(base32 (base32
"10xpa4nnz1biap7qfv7fb0zk6132ki5g1j8w0bqwkggfncdfl07d")))) "1jrphfjhmw17rp1yqsl70shmvka3vg0g8841q6zx2lfn48p7vqf3"))))
("cairo" ,cairo) ("cairo" ,cairo)
("fontconfig" ,fontconfig) ("fontconfig" ,fontconfig)
("fontforge" ,fontforge) ("fontforge" ,fontforge)
@ -423,7 +424,32 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
(mkdir "texlive-scripts") (mkdir "texlive-scripts")
(with-directory-excursion "texlive-scripts" (with-directory-excursion "texlive-scripts"
(apply (assoc-ref %standard-phases 'unpack) (apply (assoc-ref %standard-phases 'unpack)
(list #:source (assoc-ref inputs "texlive-scripts")))))) (list #:source (assoc-ref inputs "texlive-scripts")))
;; Configure the version string for some scripts.
;; Normally this would be done by Subversion.
;; See <https://issues.guix.gnu.org/43442#15>.
(for-each (lambda (file)
(substitute* file
(("\\$Id\\$")
(format #f "$Id: ~a ~a ~a nobody $"
file
,%texlive-revision
,%texlive-date))
(("\\$Revision\\$")
(format #f "$Revision: ~a $"
,%texlive-revision))
(("\\$Date\\$")
(format #f "$Date: ~a $"
,%texlive-date))))
'("fmtutil.pl"
"mktexlsr"
"mktexlsr.pl"
"mktexmf"
"mktexpk"
"mktextfm"
"tlmgr.pl"
"tlmgrgui.pl"
"updmap.pl")))))
(add-after 'unpack-texlive-scripts 'patch-scripts (add-after 'unpack-texlive-scripts 'patch-scripts
(lambda _ (lambda _
(let* ((scripts (append (find-files "texk/kpathsea" "^mktex") (let* ((scripts (append (find-files "texk/kpathsea" "^mktex")
@ -784,7 +810,7 @@ out to date by @code{unicode-letters.tex}.")
"/tex/generic/hyphen/hypht1.tex" "/tex/generic/hyphen/hypht1.tex"
"/tex/generic/hyphen/zerohyph.tex") "/tex/generic/hyphen/zerohyph.tex")
(base32 (base32
"1sagn9aybs34m1s6m3zwya5g5kbiwfnw8ifcgxssygmzzs88dgjp") "1nad1bqpjsywm49hlv7d75mqvgha3j5vayvkvfhv8wwzgdb3mk84")
#:trivial? #t)) #:trivial? #t))
(home-page "https://tug.org/texlive/") (home-page "https://tug.org/texlive/")
(synopsis "Core hyphenation support files") (synopsis "Core hyphenation support files")
@ -804,7 +830,7 @@ default versions of those), etc.")
"fonts/cmap/dvipdfmx/" "fonts/cmap/dvipdfmx/"
"fonts/map/dvipdfmx/") "fonts/map/dvipdfmx/")
(base32 (base32
"04x93w777l9qzdzglwanb14k8cmq74kjcsgyanvp3bsmnn5zfrgz") "08i81hciksh0sm9pw6lw8v8s2rj92p58wd5j2mq1mzqbp171wjmr")
#:trivial? #t))) #:trivial? #t)))
(package (package
(inherit template) (inherit template)
@ -836,7 +862,7 @@ features as does pdfTeX.")
"/fonts/enc/dvips/base/" "/fonts/enc/dvips/base/"
"/tex/generic/dvips/") "/tex/generic/dvips/")
(base32 (base32
"0rns1hpjy4fmsskmkwx197j8qbgdmyj0j9214sq9vhpa6nv7czm3") "1fb73mfw9mp4ylp6sfc0465rbdb7k830aq0qf3c085c3n0zyrin8")
#:trivial? #t)) #:trivial? #t))
(home-page "https://www.ctan.org/pkg/dvips") (home-page "https://www.ctan.org/pkg/dvips")
(synopsis "DVI to PostScript drivers") (synopsis "DVI to PostScript drivers")
@ -1094,7 +1120,7 @@ cite bundle of the author's citation-related packages.")
"/fonts/map/dvips/cm/cmtext-bsr-interpolated.map" "/fonts/map/dvips/cm/cmtext-bsr-interpolated.map"
"/doc/fonts/cm/") "/doc/fonts/cm/")
(base32 (base32
"1ky4gvcn8qn3d61bvb39512b8r92igv6il7vh02hw04223yj6q8i") "0mfslqs9saqkb3z3xdhsqnklxk858nmipgj1y93by2791jzkma1d")
#:trivial? #t))) #:trivial? #t)))
(package (package
(inherit template) (inherit template)
@ -1698,7 +1724,7 @@ incorporates the e-TeX extensions.")
"texlive-tex-plain" "texlive-tex-plain"
(list "/tex/plain/") (list "/tex/plain/")
(base32 (base32
"0gwygkm8i2jmpf7bfg6fb6824rl7fq4a2s0wni73v0fz6s4chr1n") "1hafbphx1486069cky87hyksx6ia5gd83m4wp2xmgc09z87faf0h")
#:trivial? #t)) #:trivial? #t))
(home-page "https://www.ctan.org/pkg/plain") (home-page "https://www.ctan.org/pkg/plain")
(synopsis "Plain TeX format and supporting files") (synopsis "Plain TeX format and supporting files")
@ -2904,7 +2930,7 @@ package.")
"/web2c/tcvn-t5.tcx" "/web2c/tcvn-t5.tcx"
"/web2c/viscii-t5.tcx") "/web2c/viscii-t5.tcx")
(base32 (base32
"00q2nny7lw7jxyln6ch4h0alygbrzk8yynliyc291m53kds1h0mr") "08nfk5hicqbvnz73rjbxi97lcakd9i1k2cy4qi2cwghan92650jq")
#:trivial? #t))) #:trivial? #t)))
(package (package
(inherit template) (inherit template)
@ -2967,7 +2993,7 @@ default and narrow versions of multiple integrals.")
"texlive-latexconfig" "texlive-latexconfig"
(list "/tex/latex/latexconfig/") (list "/tex/latex/latexconfig/")
(base32 (base32
"10ynmd8b9b9l1wl1mva23yz4zir53p6r5z31s39wmxz19pj12qvx") "1x5fyr2185nx3qlyariykdz44hcy5azimrk9db2p707dg08bjhsd")
#:trivial? #t)) #:trivial? #t))
(home-page "https://www.tug.org/") (home-page "https://www.tug.org/")
(synopsis "Configuration files for LaTeX-related formats") (synopsis "Configuration files for LaTeX-related formats")
@ -3121,7 +3147,7 @@ formats.")
"/tex/generic/config/luatexiniconfig.tex" "/tex/generic/config/luatexiniconfig.tex"
"/web2c/texmfcnf.lua") "/web2c/texmfcnf.lua")
(base32 (base32
"0yjx7nw9mgfgnq1givkzbxh7z7ncw1liaddjgm7n2nwn0aw6xfdg"))))) "065j47i2785nbj2507pzxlscyrwr4ghv6nksc3a01rp62bq8kkjp")))))
(propagated-inputs (propagated-inputs
(list texlive-dehyph-exptl (list texlive-dehyph-exptl
texlive-etex texlive-etex
@ -4019,7 +4045,7 @@ of file names.")
"/fonts/enc/dvips/tetex/" "/fonts/enc/dvips/tetex/"
"/fonts/map/dvips/tetex/") "/fonts/map/dvips/tetex/")
(base32 (base32
"1si3as8mwi8837965djlw6jhwwzsp3r1hkflvdxv2avx9vb45hjb") "05mf8yqdj2wrc1zm3al2j4aam2wx0ky6a7slxw17pkd1c7rmvjrq")
#:trivial? #t)) #:trivial? #t))
(home-page "https://www.ctan.org/pkg/tetex") (home-page "https://www.ctan.org/pkg/tetex")
(synopsis "Font maps originally from teTeX") (synopsis "Font maps originally from teTeX")
@ -8689,7 +8715,7 @@ e-TeX.")
"/tex/generic/pdftex/glyphtounicode.tex" "/tex/generic/pdftex/glyphtounicode.tex"
"/tex/generic/pdftex/pdfcolor.tex") "/tex/generic/pdftex/pdfcolor.tex")
(base32 (base32
"1wx928rqsv0x1a8vc7aq49w3nglr4bmlhl822slqglymfxrmb91b") "0w4ar5g7x4w8zw8z6hdwqxwcbglfzzq7pcznz8rawllwy6dssr8g")
#:trivial? #t)) #:trivial? #t))
;; TODO: add this missing package: ;; TODO: add this missing package:
;; dehyph ;; dehyph
@ -13548,7 +13574,7 @@ itself may be shipped out to the DVI file.")
"/fonts/misc/xetex/fontmapping/base/" "/fonts/misc/xetex/fontmapping/base/"
"/tex/xelatex/xetexconfig/") "/tex/xelatex/xetexconfig/")
(base32 (base32
"1gmgagvsv2qknrjzjk840ca3wging8wfc20rgq7bnhphm9n87m6q") "0j396anlhk5pqrnwxr8bpq55sp3qfyb6n9g08x4nmaa6p9b9y8ab")
#:trivial? #t)) #:trivial? #t))
(propagated-inputs (propagated-inputs
(list texlive-atbegshi (list texlive-atbegshi

View File

@ -3718,7 +3718,7 @@ Other features include a live preview and live streaming.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"18yfkr70lr1x1hc8snn2ldnbzdcc7b64xmkqrfk8w59gpg7sl1xn")))) "1srzyjks9s0g4k7ms8vc0hjby2g6shndnr552hl63pn90sgmwxs9"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; libsmpeg fails to build with -std=c++11, which is the default with ;; libsmpeg fails to build with -std=c++11, which is the default with
@ -3754,7 +3754,7 @@ and MPEG system streams.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0jfi085rf3fa5xsn0vd3nqf32my8ph9c6a9445y7a8lrlz4dms64")))) "1jy9xqykhwfg8in0fxjcqcvwazii1ckzs39wp749b926q7ny5bwy"))))
(inputs (inputs
(list sdl)))) (list sdl))))

View File

@ -34,7 +34,8 @@
texlive-ref texlive-ref
texlive-origin texlive-origin
%texlive-tag %texlive-tag
%texlive-revision)) %texlive-revision
%texlive-date))
;; Commentary: ;; Commentary:
;; ;;
@ -46,6 +47,7 @@
;; are taken from https://www.tug.org/svn/texlive/tags/ ;; are taken from https://www.tug.org/svn/texlive/tags/
(define %texlive-tag "texlive-2021.3") (define %texlive-tag "texlive-2021.3")
(define %texlive-revision 59745) (define %texlive-revision 59745)
(define %texlive-date "2021-06-28 21:59:21Z")
(define (texlive-origin name version locations hash) (define (texlive-origin name version locations hash)
"Return an <origin> object for a TeX Live package consisting of multiple "Return an <origin> object for a TeX Live package consisting of multiple

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2020, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in> ;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com> ;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com>
@ -47,6 +47,13 @@ valid Subversion revision. Return #t on success, #f otherwise."
;; verify the checksum later. This can be removed when ;; verify the checksum later. This can be removed when
;; ca-certificates package is added. ;; ca-certificates package is added.
"--trust-server-cert" "-r" (number->string revision) "--trust-server-cert" "-r" (number->string revision)
;; Disable keyword substitutions (keywords are CVS-like strings
;; like "$Date$", "$Id$", and so on) for two reasons: (1) some
;; expansions depend on the local time zone, and (2) SWH disables
;; it in its archive for this very reason.
"--ignore-keywords"
`(,@(if (and user-name password) `(,@(if (and user-name password)
(list (string-append "--username=" user-name) (list (string-append "--username=" user-name)
(string-append "--password=" password)) (string-append "--password=" password))