Package: guix-patches;
Reported by: Ludovic Courtès <ludo <at> gnu.org>
Date: Fri, 7 Apr 2023 14:07:01 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Timothy Sample <samplet <at> ngyro.com> To: Ludovic Courtès <ludo <at> gnu.org> Cc: 62712 <at> debbugs.gnu.org, Ludovic Courtès <ludovic.courtes <at> inria.fr> Subject: [bug#62712] [PATCH 0/2] Disable keyword expansion for Subversion downloads Date: Fri, 07 Apr 2023 10:54:05 -0600
[Message part 1 (text/plain, inline)]
Hi Ludo, Whoops! I guess I was a little slow getting my patch in. I’ve highlighted a few sources you missed below, as well as attached my patch (for comparison and for listing the new hashes of the missing sources). Ludovic Courtès <ludo <at> gnu.org> writes: > * gnu/packages/java.scm (java-geronimo-xbean-reflect): Also java-geronimo-genesis-2.1. > * gnu/packages/tex.scm (texlive-hyphen-base): Likewise. > (texlive-dvips): Likewise. Also texlive-dvipdfmx. > (texlive-cm): Likewise. > (texlive-tex-plain): Likewise. > (texlive-kpathsea): Likewise > (texlive-latexconfig): Likewise. > (texlive-tetex): Likewise. > (texlive-pdftex): Likewise. Also texlive-xetex. There’s also the “texlive-scripts” input in texlive-bin, and the “texlive-luatexconfig” native input in texlive-latex-base. > [...] I generated a big diff for all 17 sources that I found (mostly because it excites me that Guix can do stuff like that). Basically all the changes were boring (as we expected). For “texlive-scripts”, I added a phase that approximates keyword expansion for the few scripts that use it to output version information. It‘s not exactly the same as what Subversion does. Subversion uses the last revision that updated the given file, and I just use ‘%texlive-revision’ for every file. I’m not too attached to this approach, but it felt like the right thing to do. > The second patch makes ‘recursive?’ default to #f, which AFAICS is > what all the SVN-using packages that were not explicit expected (no > changes required). I also carefully checked turning recursion off by default. I’m confident that nothing changes. -- Tim
[0001-svn-download-Do-not-expand-keywords.patch (text/x-patch, inline)]
From 19c14a09e9e1d92a1035d15dbbb8d12fb3b59d17 Mon Sep 17 00:00:00 2001 From: Timothy Sample <samplet <at> ngyro.com> Date: Wed, 5 Apr 2023 13:46:28 -0600 Subject: [PATCH] svn-download: Do not expand keywords. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See <https://issues.guix.gnu.org/43442#15>. * 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 <at> 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 | 7 ++++- 6 files changed, 53 insertions(+), 20 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index de3a0003e5..4fad4b06f6 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -11216,7 +11216,7 @@ (define-public java-geronimo-xbean-reflect (file-name (string-append name "-" version)) (sha256 (base32 - "18q3i6jgm6rkw8aysfgihgywrdc5nvijrwnslmi3ww497jvri6ja")))) + "0zjqmsad4xk0iar23hdyvx19nxczybd2bh0i35xrafli5cmh720k")))) (build-system ant-build-system) (arguments `(#:jar-name "geronimo-xbean-reflect.jar" @@ -11267,7 +11267,7 @@ (define java-geronimo-genesis-2.1 (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 37d4ef78ad..503b41d64c 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -233,7 +233,7 @@ (define-public ghmm (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 b40e72c582..3ced782c44 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -25,6 +25,7 @@ ;;; Copyright © 2022 Philip McGrath <philip <at> philipmcgrath.com> ;;; Copyright © 2023 Thomas Albers Raviola <thomas <at> thomaslabs.org> ;;; Copyright © 2023 John Kehayias <john.kehayias <at> protonmail.com> +;;; Copyright © 2023 Timothy Sample <samplet <at> ngyro.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -293,7 +294,7 @@ (define-public texlive-bin "-checkout")) (sha256 (base32 - "10xpa4nnz1biap7qfv7fb0zk6132ki5g1j8w0bqwkggfncdfl07d")))) + "1jrphfjhmw17rp1yqsl70shmvka3vg0g8841q6zx2lfn48p7vqf3")))) ("cairo" ,cairo) ("fontconfig" ,fontconfig) ("fontforge" ,fontforge) @@ -413,7 +414,32 @@ (define-public texlive-bin (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") @@ -731,7 +757,7 @@ (define-public texlive-hyphen-base "/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") @@ -751,7 +777,7 @@ (define-public texlive-dvipdfmx "fonts/cmap/dvipdfmx/" "fonts/map/dvipdfmx/") (base32 - "04x93w777l9qzdzglwanb14k8cmq74kjcsgyanvp3bsmnn5zfrgz") + "08i81hciksh0sm9pw6lw8v8s2rj92p58wd5j2mq1mzqbp171wjmr") #:trivial? #t))) (package (inherit template) @@ -783,7 +809,7 @@ (define-public texlive-dvips "/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") @@ -1041,7 +1067,7 @@ (define-public texlive-cm "/fonts/map/dvips/cm/cmtext-bsr-interpolated.map" "/doc/fonts/cm/") (base32 - "1ky4gvcn8qn3d61bvb39512b8r92igv6il7vh02hw04223yj6q8i") + "0mfslqs9saqkb3z3xdhsqnklxk858nmipgj1y93by2791jzkma1d") #:trivial? #t))) (package (inherit template) @@ -1645,7 +1671,7 @@ (define-public texlive-tex-plain "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") @@ -2851,7 +2877,7 @@ (define-public texlive-kpathsea "/web2c/tcvn-t5.tcx" "/web2c/viscii-t5.tcx") (base32 - "00q2nny7lw7jxyln6ch4h0alygbrzk8yynliyc291m53kds1h0mr") + "08nfk5hicqbvnz73rjbxi97lcakd9i1k2cy4qi2cwghan92650jq") #:trivial? #t))) (package (inherit template) @@ -2914,7 +2940,7 @@ (define-public texlive-latexconfig "texlive-latexconfig" (list "/tex/latex/latexconfig/") (base32 - "10ynmd8b9b9l1wl1mva23yz4zir53p6r5z31s39wmxz19pj12qvx") + "1x5fyr2185nx3qlyariykdz44hcy5azimrk9db2p707dg08bjhsd") #:trivial? #t)) (home-page "https://www.tug.org/") (synopsis "Configuration files for LaTeX-related formats") @@ -3068,7 +3094,7 @@ (define-public texlive-latex-base "/tex/generic/config/luatexiniconfig.tex" "/web2c/texmfcnf.lua") (base32 - "0yjx7nw9mgfgnq1givkzbxh7z7ncw1liaddjgm7n2nwn0aw6xfdg"))))) + "065j47i2785nbj2507pzxlscyrwr4ghv6nksc3a01rp62bq8kkjp"))))) (propagated-inputs (list texlive-dehyph-exptl texlive-etex @@ -3748,7 +3774,7 @@ (define-public texlive-tetex "/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") @@ -8195,7 +8221,7 @@ (define-public texlive-pdftex "/tex/generic/pdftex/glyphtounicode.tex" "/tex/generic/pdftex/pdfcolor.tex") (base32 - "1wx928rqsv0x1a8vc7aq49w3nglr4bmlhl822slqglymfxrmb91b") + "0w4ar5g7x4w8zw8z6hdwqxwcbglfzzq7pcznz8rawllwy6dssr8g") #:trivial? #t)) ;; TODO: add this missing package: ;; dehyph @@ -12524,7 +12550,7 @@ (define-public texlive-xetex "/fonts/misc/xetex/fontmapping/base/" "/tex/xelatex/xetexconfig/") (base32 - "1gmgagvsv2qknrjzjk840ca3wging8wfc20rgq7bnhphm9n87m6q") + "0j396anlhk5pqrnwxr8bpq55sp3qfyb6n9g08x4nmaa6p9b9y8ab") #:trivial? #t)) (propagated-inputs (list texlive-generic-atbegshi diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 2559634c29..131f001400 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3795,7 +3795,7 @@ (define-public libsmpeg (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 @@ -3831,7 +3831,7 @@ (define-public libsmpeg-with-sdl1 (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 @@ (define-module (guix build-system texlive) texlive-ref texlive-origin %texlive-tag - %texlive-revision)) + %texlive-revision + %texlive-date)) ;; Commentary: ;; @@ -46,6 +47,7 @@ (define-module (guix build-system texlive) ;; 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..bc6f3155a0 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 <at> gnu.org> +;;; Copyright © 2014, 2020, 2023 Ludovic Courtès <ludo <at> gnu.org> ;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha <at> totakura.in> ;;; Copyright © 2018 Mark H Weaver <mhw <at> netris.org> ;;; Copyright © 2020 Simon Tournier <zimon.toutoune <at> gmail.com> @@ -47,6 +47,11 @@ (define* (svn-fetch url revision directory ;; verify the checksum later. This can be removed when ;; ca-certificates package is added. "--trust-server-cert" "-r" (number->string revision) + + ;; Disable keyword substitution (keywords are CVS-like strings + ;; like "$Date$", "$Id$", and so on). + "--ignore-keywords" + `(,@(if (and user-name password) (list (string-append "--username=" user-name) (string-append "--password=" password)) -- 2.39.2
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.