guix: import texlive: Add UPSTREAM-NAME property when necessary.

* guix/import/texlive.scm (tlpdb->package): Add UPSTREAM-NAME property when necessary.
* tests/texlive.scm ("texlive->guix-package, with upstream-name property"):
Add new test.

Change-Id: I134a065cbe0a7f0ff4d72b0929dba4e4d46cfaeb
This commit is contained in:
Nicolas Goaziou 2024-06-22 11:19:55 +02:00 committed by Ludovic Courtès
parent a8fbfb8607
commit 4ab789d441
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 39 additions and 0 deletions

View file

@ -703,6 +703,10 @@ (define (tlpdb->package upstream-name version database)
,@(if (assoc-ref data 'docfiles)
'((outputs '("out" "doc")))
'())
,@(if (string= upstream-name
(string-drop name (string-length "texlive-")))
'()
`((properties '((upstream-name . ,upstream-name)))))
;; Build system.
;;
;; Use trivial build system only when the package contains no files,

View file

@ -191,6 +191,9 @@ (define %fake-tlpdb
(shortdesc . "x86_64-linux files of pax")
(binfiles
"bin/x86_64-linux/pdfannotextractor"))
("r_und_s"
(name . "r_und_s")
(runfiles "texmf-dist/tex/latex/r_und_s/r_und_s.sty"))
("stricttex"
. ((name
. "stricttex")
@ -952,4 +955,36 @@ (define %fake-tlpdb
(format #t "~s~%" result)
(pk 'fail result #f)))))))
(test-assert "texlive->guix-package, with upstream-name property"
;; Replace network resources with sample data.
(mock ((guix build svn) svn-fetch
(lambda* (url revision directory
#:key (svn-command "svn")
(user-name #f)
(password #f)
(recursive? #t))
(mkdir-p directory)
(with-output-to-file (string-append directory "/foo")
(lambda ()
(display "source")))))
(let ((result (texlive->guix-package "r_und_s"
#:version "0"
#:database %fake-tlpdb)))
(match result
(('package
('name "texlive-r-und-s")
('version _)
('source _)
('properties _)
('build-system 'texlive-build-system)
('home-page _)
('synopsis _)
('description _)
('license _))
#true)
(_
(begin
(format #t "~s~%" result)
(pk 'fail result #f)))))))
(test-end "texlive")