From 4ab789d4411f39ddbb347617a5328779485ad2f0 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 22 Jun 2024 11:19:55 +0200 Subject: [PATCH] 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 --- guix/import/texlive.scm | 4 ++++ tests/texlive.scm | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm index e4e0654b78..6d04cc25ee 100644 --- a/guix/import/texlive.scm +++ b/guix/import/texlive.scm @@ -703,6 +703,10 @@ at VERSION." ,@(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, diff --git a/tests/texlive.scm b/tests/texlive.scm index 0e21c2e9b0..8e7e596962 100644 --- a/tests/texlive.scm +++ b/tests/texlive.scm @@ -191,6 +191,9 @@ (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 @@ completely compatible with Plain TeX.") (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")