diff options
author | Timothy Sample <samplet@ngyro.com> | 2023-04-05 13:46:28 -0600 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2023-06-11 18:13:44 +0200 |
commit | e6da6e3152b01b36d925d8670f1b8c3e1a39ef4b (patch) | |
tree | bc91074bbe76ca8e041f11cc5b9b13dec5b2fc58 /guix | |
parent | 2ffa3a400b6493330007928fc25af637488aa3bc (diff) |
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>
Diffstat (limited to 'guix')
-rw-r--r-- | guix/build-system/texlive.scm | 4 | ||||
-rw-r--r-- | guix/build/svn.scm | 9 |
2 files changed, 11 insertions, 2 deletions
diff --git a/guix/build-system/texlive.scm b/guix/build-system/texlive.scm index d970c1beb9..aefd573d11 100644 --- a/guix/build-system/texlive.scm +++ b/guix/build-system/texlive.scm @@ -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 diff --git a/guix/build/svn.scm b/guix/build/svn.scm index 2d960cb364..875d3c50ca 100644 --- a/guix/build/svn.scm +++ b/guix/build/svn.scm @@ -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)) |