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
This commit is contained in:
Nicolas Goaziou 2024-06-21 12:26:10 +02:00 committed by Ludovic Courtès
parent 9faca7c25b
commit 415ed34860
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 75 additions and 40 deletions

View file

@ -623,16 +623,23 @@ (define (tlpdb->package upstream-name version database)
`(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")))
'())

View file

@ -32,7 +32,8 @@ (define-module (test-texlive)
(test-begin "texlive")
(define %fake-tlpdb
'(("12many"
'((database-revision . 12345)
("12many"
. ((name
. "12many")
(catalogue
@ -375,10 +376,15 @@ (define %fake-tlpdb
(('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 @@ (define %fake-tlpdb
(('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 @@ (define %fake-tlpdb
(('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 @@ (define %fake-tlpdb
(('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 @@ (define %fake-tlpdb
(('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"))))