aboutsummaryrefslogtreecommitdiff
path: root/guix/build/svn.scm
diff options
context:
space:
mode:
authorTimothy Sample <samplet@ngyro.com>2023-04-05 13:46:28 -0600
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2023-06-11 18:13:44 +0200
commite6da6e3152b01b36d925d8670f1b8c3e1a39ef4b (patch)
treebc91074bbe76ca8e041f11cc5b9b13dec5b2fc58 /guix/build/svn.scm
parent2ffa3a400b6493330007928fc25af637488aa3bc (diff)
downloadguix-e6da6e3152b01b36d925d8670f1b8c3e1a39ef4b.tar
guix-e6da6e3152b01b36d925d8670f1b8c3e1a39ef4b.tar.gz
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/build/svn.scm')
-rw-r--r--guix/build/svn.scm9
1 files changed, 8 insertions, 1 deletions
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))