aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/import/texlive.scm27
-rw-r--r--tests/texlive.scm88
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"))))