guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

06/06: svn-download: Do not expand keywords.


From: guix-commits
Subject: 06/06: svn-download: Do not expand keywords.
Date: Sun, 11 Jun 2023 12:16:59 -0400 (EDT)

ngz pushed a commit to branch master
in repository guix.

commit e6da6e3152b01b36d925d8670f1b8c3e1a39ef4b
Author: Timothy Sample <samplet@ngyro.com>
AuthorDate: Wed Apr 5 13:46:28 2023 -0600

    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>
---
 gnu/packages/java.scm             |  4 +--
 gnu/packages/machine-learning.scm |  2 +-
 gnu/packages/tex.scm              | 52 +++++++++++++++++++++++++++++----------
 gnu/packages/video.scm            |  4 +--
 guix/build-system/texlive.scm     |  4 ++-
 guix/build/svn.scm                |  9 ++++++-
 6 files changed, 55 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 067284017c..49f027b226 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -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
diff --git a/gnu/packages/machine-learning.scm 
b/gnu/packages/machine-learning.scm
index cc20ef68dd..49284407d7 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -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
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index c81f9b1917..b55dd2a5fd 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -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
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 6f0a6e6ad9..66e6cb5408 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -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))))
 
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))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]