ngz pushed a commit to branch tex-team
in repository guix.

commit 90cbaa9ebb10f9fcb945e08fa6c7a454b9e761d1
Author: Nicolas Goaziou <m...@nicolasgoaziou.fr>
AuthorDate: Fri Jun 21 12:26:10 2024 +0200

    guix: import texlive: Adjust to generate new source format.
    
    * guix/import/texlive.scm (tlpdb->package): Adjust source according to new 
format.
    * tests/texlive.scm (%fake-tlpdb): Add database revision.
    ("texlive->guix-package, no docfiles"):
    ("texlive->guix-package"):
    ("texlive->guix-package, with catalogue entry, no inputs"):
    ("texlive->guix-package, multiple licenses"):
    ("texlive->guix-package, with TeX format"): Update checks.
    
    Change-Id: I60d5fe0f5f8db194c679dcb262f64c824cd19909
---
 guix/import/texlive.scm | 27 +++++++++------
 tests/texlive.scm       | 88 ++++++++++++++++++++++++++++++++-----------------
 2 files changed, 75 insertions(+), 40 deletions(-)

diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm
index 109bfc07e9..5aae1c3d49 100644
--- a/guix/import/texlive.scm
+++ b/guix/import/texlive.scm
@@ -623,16 +623,23 @@ at VERSION."
        `(package
           (name ,name)
           (version ,(if empty-package? '%texlive-version version))
-          (source ,(and (not meta-package?)
-                        `(texlive-origin
-                          name version
-                          (list ,@(svn-multi-reference-locations reference))
-                          (base32
-                           ,(bytevector->nix-base32-string
-                             (let-values (((port get-hash) (open-sha256-port)))
-                               (write-file source port)
-                               (force-output port)
-                               (get-hash)))))))
+          (source
+           ,(and (not meta-package?)
+                 `(origin
+                    (method svn-multi-fetch)
+                    (uri (svn-multi-reference
+                          (url (texlive-packages-repository version))
+                          (revision ,(svn-multi-reference-revision reference))
+                          (locations
+                           (list ,@(svn-multi-reference-locations 
reference)))))
+                    (file-name (git-file-name name version))
+                    (sha256
+                     (base32
+                      ,(bytevector->nix-base32-string
+                        (let-values (((port get-hash) (open-sha256-port)))
+                          (write-file source port)
+                          (force-output port)
+                          (get-hash))))))))
           ,@(if (assoc-ref data 'docfiles)
                 '((outputs '("out" "doc")))
                 '())
diff --git a/tests/texlive.scm b/tests/texlive.scm
index 39f7a8f856..0e21c2e9b0 100644
--- a/tests/texlive.scm
+++ b/tests/texlive.scm
@@ -32,7 +32,8 @@
 (test-begin "texlive")
 
 (define %fake-tlpdb
-  '(("12many"
+  '((database-revision . 12345)
+    ("12many"
      . ((name
          . "12many")
         (catalogue
@@ -375,10 +376,15 @@ completely compatible with Plain TeX.")
             (('package
                ('name "texlive-example")
                ('version _)
-               ('source ('texlive-origin
-                         'name 'version
-                         ('list "tex/latex/example/")
-                         ('base32 (? string? hash))))
+               ('source ('origin
+                          ('method 'svn-multi-fetch)
+                          ('uri ('svn-multi-reference
+                                 ('url ('texlive-packages-repository 'version))
+                                 ('revision 12345)
+                                 ('locations ('list "tex/latex/example/"))))
+                          ('file-name ('git-file-name 'name 'version))
+                          ('sha256
+                           ('base32 (? string? hash)))))
                ('build-system 'texlive-build-system)
                ('home-page (? string?))
                ('synopsis (? string?))
@@ -409,15 +415,21 @@ completely compatible with Plain TeX.")
             (('package
                ('name "texlive-texsis")
                ('version _)
-               ('source ('texlive-origin
-                         'name 'version
-                         ('list "bibtex/bst/texsis/"
-                                "doc/man/man1/texsis.1"
-                                "doc/man/man1/texsis.man1.pdf"
-                                "doc/otherformats/texsis/base/"
-                                "tex/texsis/base/"
-                                "tex/texsis/config/")
-                         ('base32 (? string? hash))))
+               ('source ('origin
+                          ('method 'svn-multi-fetch)
+                          ('uri ('svn-multi-reference
+                                 ('url ('texlive-packages-repository 'version))
+                                 ('revision 12345)
+                                 ('locations
+                                  ('list "bibtex/bst/texsis/"
+                                         "doc/man/man1/texsis.1"
+                                         "doc/man/man1/texsis.man1.pdf"
+                                         "doc/otherformats/texsis/base/"
+                                         "tex/texsis/base/"
+                                         "tex/texsis/config/"))))
+                          ('file-name ('git-file-name 'name 'version))
+                          ('sha256
+                           ('base32 (? string? hash)))))
                ('outputs ''("out" "doc"))
                ('build-system 'texlive-build-system)
                ('propagated-inputs
@@ -489,12 +501,17 @@ completely compatible with Plain TeX.")
             (('package
                ('name "texlive-12many")
                ('version _)
-               ('source ('texlive-origin
-                         'name 'version
-                         ('list "doc/latex/12many/"
-                                "source/latex/12many/"
-                                "tex/latex/12many/")
-                         ('base32 (? string? hash))))
+               ('source ('origin
+                          ('method 'svn-multi-fetch)
+                          ('uri ('svn-multi-reference
+                                 ('url ('texlive-packages-repository 'version))
+                                 ('revision 12345)
+                                 ('locations ('list "doc/latex/12many/"
+                                                    "source/latex/12many/"
+                                                    "tex/latex/12many/"))))
+                          ('file-name ('git-file-name 'name 'version))
+                          ('sha256
+                           ('base32 (? string? hash)))))
                ('outputs ''("out" "doc"))
                ('build-system 'texlive-build-system)
                ('home-page "https://ctan.org/pkg/one2many";)
@@ -526,11 +543,17 @@ completely compatible with Plain TeX.")
             (('package
                ('name "texlive-chs-physics-report")
                ('version _)
-               ('source ('texlive-origin
-                         'name 'version
-                         ('list "doc/latex/chs-physics-report/"
-                                "tex/latex/chs-physics-report/")
-                         ('base32 (? string? hash))))
+               ('source ('origin
+                          ('method 'svn-multi-fetch)
+                          ('uri ('svn-multi-reference
+                                 ('url ('texlive-packages-repository 'version))
+                                 ('revision 12345)
+                                 ('locations
+                                  ('list "doc/latex/chs-physics-report/"
+                                         "tex/latex/chs-physics-report/"))))
+                          ('file-name ('git-file-name 'name 'version))
+                          ('sha256
+                           ('base32 (? string? hash)))))
                ('outputs ''("out" "doc"))
                ('build-system 'texlive-build-system)
                ('home-page (? string?))
@@ -598,11 +621,16 @@ completely compatible with Plain TeX.")
             (('package
                ('name "texlive-lollipop")
                ('version _)
-               ('source ('texlive-origin
-                         'name 'version
-                         ('list "doc/otherformats/lollipop/"
-                                "tex/lollipop/")
-                         ('base32 (? string? hash))))
+               ('source ('origin
+                          ('method 'svn-multi-fetch)
+                          ('uri ('svn-multi-reference
+                                 ('url ('texlive-packages-repository 'version))
+                                 ('revision 12345)
+                                 ('locations ('list 
"doc/otherformats/lollipop/"
+                                                    "tex/lollipop/"))))
+                          ('file-name ('git-file-name 'name 'version))
+                          ('sha256
+                           ('base32 (? string? hash)))))
                ('outputs ''("out" "doc"))
                ('build-system 'texlive-build-system)
                ('arguments ('list '#:create-formats ('gexp ('list 
"lollipop"))))

Reply via email to