From d62b35bbe922b94baffe1ffcf810ad5f29669e5d Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 27 May 2023 21:39:26 +0200 Subject: guix: import: Improve importing texlive meta packages. * guix/import/texlive.scm (tlpdb->package): Generate more appropriate source, home page and license fields when importing meta packages, i.e., TeX Live collections and schemes. * tests/texlive.scm (%fake-tlpdb): Add test data. ("texlive->guix-package, meta-package"): New test. --- tests/texlive.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'tests') diff --git a/tests/texlive.scm b/tests/texlive.scm index 704c86e24a..4172262fb2 100644 --- a/tests/texlive.scm +++ b/tests/texlive.scm @@ -62,6 +62,11 @@ (define %fake-tlpdb . ("texmf-dist/tex/latex/chs-physics-report/chs-physics-report.sty")) (catalogue-license . "pd cc-by-sa-3"))) + ("collection-texworks" + (name . "collection-texworks") + (shortdesc . "TeXworks editor...") + (longdesc . "See http...") + (depend "texworks" "collection-basic")) ("example" . ((name . "example") (shortdesc . "Typeset examples...") @@ -401,4 +406,38 @@ (define %fake-tlpdb (format #t "~s~%" result) (pk 'fail result #f))))))) +(test-assert "texlive->guix-package, meta-package" + ;; 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 "collection-texworks" + #:package-database + (lambda _ %fake-tlpdb)))) + (match result + (('package + ('name "texlive-collection-texworks") + ('version _) + ('source #f) + ('build-system 'texlive-build-system) + ('propagated-inputs + ('list 'texlive-collection-basic 'texlive-texworks)) + ('home-page "https://www.tug.org/texlive/") + ('synopsis (? string?)) + ('description (? string?)) + ('license + ('license:fsf-free "https://www.tug.org/texlive/copying.html"))) + #true) + (_ + (begin + (format #t "~s~%" result) + (pk 'fail result #f))))))) + (test-end "texlive") -- cgit v1.2.3