diff options
-rw-r--r-- | doc/guix.texi | 8 | ||||
-rw-r--r-- | gnu/packages/base.scm | 19 | ||||
-rw-r--r-- | gnu/packages/tex.scm | 21 | ||||
-rw-r--r-- | guix/packages.scm | 3 | ||||
-rw-r--r-- | tests/packages.scm | 10 |
5 files changed, 41 insertions, 20 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 57030102ca..9bf177a185 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -8061,8 +8061,8 @@ inputs. Look up @var{name} among @var{package}'s inputs (or native, propagated, or direct inputs). Return it if found, @code{#f} otherwise. -@var{name} is the name of a package depended on. Here's how you might -use it: +@var{name} is the name of a package or the file name of an origin +depended on. Here's how you might use it: @lisp (use-modules (guix packages) (gnu packages base)) @@ -8073,6 +8073,10 @@ use it: In this example we obtain the @code{gmp} package that is among the direct inputs of @code{coreutils}. + +When looking up an origin, use the name that appears in the origin's +@code{file-name} field or its default file name---e.g., +@code{"foo-1.2.tar.gz"}. @end deffn @cindex development inputs, of a package diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 3a46ad2ec5..87c7568ef2 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1778,14 +1778,17 @@ command.") (delete-file-recursively (string-append out "/share/zoneinfo-leaps"))))) (delete 'configure)))) - (inputs (list (origin - (method url-fetch) - (uri (string-append - "https://data.iana.org/time-zones/releases/tzcode" - version ".tar.gz")) - (sha256 - (base32 - "07hn7hn2klw4dfyr673ril2nrk18198hbfv25gljsvc833hzk9g9"))))) + (inputs `(("_" + ;; Note: The "_" label above is here to avoid a full rebuild. + ;; TODO: Remove it on next rebuild cycle. + ,(origin + (method url-fetch) + (uri (string-append + "https://data.iana.org/time-zones/releases/tzcode" + version ".tar.gz")) + (sha256 + (base32 + "07hn7hn2klw4dfyr673ril2nrk18198hbfv25gljsvc833hzk9g9")))))) (home-page "https://www.iana.org/time-zones") (synopsis "Database of current and historical time zones") (description "The Time Zone Database (often called tz or zoneinfo) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 9f8cccecc8..f5dd1243ab 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -706,14 +706,15 @@ of user-specified directories similar to how shells look up executables.") (string-append "File.join(\"" ptex "\""))) (invoke "ruby" "generate-ptex-patterns.rb")))))))) (native-inputs - (list ruby-2.7 - ruby-hydra-minimal/pinned - ;; Build phase requires "docstrip.tex" from TEXLIVE-LATEX. - ;; However, adding this package to native inputs would initiate - ;; a circular dependency. To work around this, use TEXLIVE-LATEX - ;; source, then add "docstrip.tex" to TEXINPUTS before build. - (package-source texlive-latex) - texlive-tex)) + ;; TODO: Remove input labels on next rebuild cycle. + `(("ruby" ,ruby-2.7) + ("ruby-hydra-minimal" ,ruby-hydra-minimal/pinned) + ;; Build phase requires "docstrip.tex" from TEXLIVE-LATEX. + ;; However, adding this package to native inputs would initiate + ;; a circular dependency. To work around this, use TEXLIVE-LATEX + ;; source, then add "docstrip.tex" to TEXINPUTS before build. + ("_" ,(package-source texlive-latex)) + ("texlive-tex" ,texlive-tex))) (home-page "https://ctan.org/pkg/hyph-utf8") (synopsis "Hyphenation patterns expressed in UTF-8") (description @@ -65048,7 +65049,9 @@ Unicode option of @code{inputenc} or @code{inputenx}, or by XeLaTeX/LuaLaTeX.") "tex/generic/ydoc/ydocstrip.tex") "build/") (setenv "TEXINPUTS" (string-append (getcwd) "/build:"))))))) - (native-inputs (list (package-source texlive-ydoc))) + (native-inputs + ;; TODO: Remove input label on next rebuild cycle. + `(("_" ,(package-source texlive-ydoc)))) (home-page "https://ctan.org/pkg/newverbs") (synopsis "Define new versions of @code{\\verb}") (description diff --git a/guix/packages.scm b/guix/packages.scm index 0ce3276051..84f2c6f838 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -678,6 +678,9 @@ Texinfo. Otherwise, return the string." "_") ,obj ,@(if (string=? output "out") '() (list output))))) + ((? origin? origin) + ;; Allow references to origins by their file name. + (list (or (origin-actual-file-name origin) "_") origin)) (x `("_" ,x)))) diff --git a/tests/packages.scm b/tests/packages.scm index 7c28e75c45..1d901505aa 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012-2023 Ludovic Courtès <[email protected]> +;;; Copyright © 2012-2024 Ludovic Courtès <[email protected]> ;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <[email protected]> ;;; Copyright © 2021 Maxim Cournoyer <[email protected]> ;;; Copyright © 2021 Maxime Devos <[email protected]> @@ -2051,6 +2051,14 @@ (dummy-package "a" (arguments (this-package-native-input "hello"))))) +(test-equal "this-package-input, origin" + "http://example.org/foo.tar.gz" + (origin-uri + (package-arguments + (dummy-package "a" + (inputs (list (dummy-origin (uri "http://example.org/foo.tar.gz")))) + (arguments (this-package-input "foo.tar.gz")))))) + (test-eq "modify-inputs, replace" coreutils ;; Replace an input; notice that the label in unchanged. |