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))
(sha256
(base32
"18q3i6jgm6rkw8aysfgihgywrdc5nvijrwnslmi3ww497jvri6ja"))))
"0zjqmsad4xk0iar23hdyvx19nxczybd2bh0i35xrafli5cmh720k"))))
(build-system ant-build-system)
(arguments
`(#: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"))
(sha256
(base32
"119yn795jvnjf52si84q192s8wag1k013iabg78b7wnadssnnh31"))))
"1mky4zyl2xsqlgrkairaj5971byvhwk2z9bq8snsgvlr11ydc0zf"))))
(build-system ant-build-system)
(arguments
`(#:tests? #f

View File

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

View File

@ -27,6 +27,7 @@
;;; Copyright © 2023 Thomas Albers Raviola <thomas@thomaslabs.org>
;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw>
;;; Copyright © 2023 Timothy Sample <samplet@ngyro.com>
;;;
;;; 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"))
(sha256
(base32
"10xpa4nnz1biap7qfv7fb0zk6132ki5g1j8w0bqwkggfncdfl07d"))))
"1jrphfjhmw17rp1yqsl70shmvka3vg0g8841q6zx2lfn48p7vqf3"))))
("cairo" ,cairo)
("fontconfig" ,fontconfig)
("fontforge" ,fontforge)
@ -423,7 +424,32 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
(mkdir "texlive-scripts")
(with-directory-excursion "texlive-scripts"
(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
(lambda _
(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/zerohyph.tex")
(base32
"1sagn9aybs34m1s6m3zwya5g5kbiwfnw8ifcgxssygmzzs88dgjp")
"1nad1bqpjsywm49hlv7d75mqvgha3j5vayvkvfhv8wwzgdb3mk84")
#:trivial? #t))
(home-page "https://tug.org/texlive/")
(synopsis "Core hyphenation support files")
@ -804,7 +830,7 @@ default versions of those), etc.")
"fonts/cmap/dvipdfmx/"
"fonts/map/dvipdfmx/")
(base32
"04x93w777l9qzdzglwanb14k8cmq74kjcsgyanvp3bsmnn5zfrgz")
"08i81hciksh0sm9pw6lw8v8s2rj92p58wd5j2mq1mzqbp171wjmr")
#:trivial? #t)))
(package
(inherit template)
@ -836,7 +862,7 @@ features as does pdfTeX.")
"/fonts/enc/dvips/base/"
"/tex/generic/dvips/")
(base32
"0rns1hpjy4fmsskmkwx197j8qbgdmyj0j9214sq9vhpa6nv7czm3")
"1fb73mfw9mp4ylp6sfc0465rbdb7k830aq0qf3c085c3n0zyrin8")
#:trivial? #t))
(home-page "https://www.ctan.org/pkg/dvips")
(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"
"/doc/fonts/cm/")
(base32
"1ky4gvcn8qn3d61bvb39512b8r92igv6il7vh02hw04223yj6q8i")
"0mfslqs9saqkb3z3xdhsqnklxk858nmipgj1y93by2791jzkma1d")
#:trivial? #t)))
(package
(inherit template)
@ -1698,7 +1724,7 @@ incorporates the e-TeX extensions.")
"texlive-tex-plain"
(list "/tex/plain/")
(base32
"0gwygkm8i2jmpf7bfg6fb6824rl7fq4a2s0wni73v0fz6s4chr1n")
"1hafbphx1486069cky87hyksx6ia5gd83m4wp2xmgc09z87faf0h")
#:trivial? #t))
(home-page "https://www.ctan.org/pkg/plain")
(synopsis "Plain TeX format and supporting files")
@ -2904,7 +2930,7 @@ package.")
"/web2c/tcvn-t5.tcx"
"/web2c/viscii-t5.tcx")
(base32
"00q2nny7lw7jxyln6ch4h0alygbrzk8yynliyc291m53kds1h0mr")
"08nfk5hicqbvnz73rjbxi97lcakd9i1k2cy4qi2cwghan92650jq")
#:trivial? #t)))
(package
(inherit template)
@ -2967,7 +2993,7 @@ default and narrow versions of multiple integrals.")
"texlive-latexconfig"
(list "/tex/latex/latexconfig/")
(base32
"10ynmd8b9b9l1wl1mva23yz4zir53p6r5z31s39wmxz19pj12qvx")
"1x5fyr2185nx3qlyariykdz44hcy5azimrk9db2p707dg08bjhsd")
#:trivial? #t))
(home-page "https://www.tug.org/")
(synopsis "Configuration files for LaTeX-related formats")
@ -3121,7 +3147,7 @@ formats.")
"/tex/generic/config/luatexiniconfig.tex"
"/web2c/texmfcnf.lua")
(base32
"0yjx7nw9mgfgnq1givkzbxh7z7ncw1liaddjgm7n2nwn0aw6xfdg")))))
"065j47i2785nbj2507pzxlscyrwr4ghv6nksc3a01rp62bq8kkjp")))))
(propagated-inputs
(list texlive-dehyph-exptl
texlive-etex
@ -4019,7 +4045,7 @@ of file names.")
"/fonts/enc/dvips/tetex/"
"/fonts/map/dvips/tetex/")
(base32
"1si3as8mwi8837965djlw6jhwwzsp3r1hkflvdxv2avx9vb45hjb")
"05mf8yqdj2wrc1zm3al2j4aam2wx0ky6a7slxw17pkd1c7rmvjrq")
#:trivial? #t))
(home-page "https://www.ctan.org/pkg/tetex")
(synopsis "Font maps originally from teTeX")
@ -8689,7 +8715,7 @@ e-TeX.")
"/tex/generic/pdftex/glyphtounicode.tex"
"/tex/generic/pdftex/pdfcolor.tex")
(base32
"1wx928rqsv0x1a8vc7aq49w3nglr4bmlhl822slqglymfxrmb91b")
"0w4ar5g7x4w8zw8z6hdwqxwcbglfzzq7pcznz8rawllwy6dssr8g")
#:trivial? #t))
;; TODO: add this missing package:
;; dehyph
@ -13548,7 +13574,7 @@ itself may be shipped out to the DVI file.")
"/fonts/misc/xetex/fontmapping/base/"
"/tex/xelatex/xetexconfig/")
(base32
"1gmgagvsv2qknrjzjk840ca3wging8wfc20rgq7bnhphm9n87m6q")
"0j396anlhk5pqrnwxr8bpq55sp3qfyb6n9g08x4nmaa6p9b9y8ab")
#:trivial? #t))
(propagated-inputs
(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"))
(sha256
(base32
"18yfkr70lr1x1hc8snn2ldnbzdcc7b64xmkqrfk8w59gpg7sl1xn"))))
"1srzyjks9s0g4k7ms8vc0hjby2g6shndnr552hl63pn90sgmwxs9"))))
(build-system gnu-build-system)
(arguments
;; 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"))
(sha256
(base32
"0jfi085rf3fa5xsn0vd3nqf32my8ph9c6a9445y7a8lrlz4dms64"))))
"1jy9xqykhwfg8in0fxjcqcvwazii1ckzs39wp749b926q7ny5bwy"))))
(inputs
(list sdl))))

View File

@ -34,7 +34,8 @@
texlive-ref
texlive-origin
%texlive-tag
%texlive-revision))
%texlive-revision
%texlive-date))
;; Commentary:
;;
@ -46,6 +47,7 @@
;; are taken from https://www.tug.org/svn/texlive/tags/
(define %texlive-tag "texlive-2021.3")
(define %texlive-revision 59745)
(define %texlive-date "2021-06-28 21:59:21Z")
(define (texlive-origin name version locations hash)
"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
;;; 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 © 2018 Mark H Weaver <mhw@netris.org>
;;; 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
;; ca-certificates package is added.
"--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)
(list (string-append "--username=" user-name)
(string-append "--password=" password))