M doc/guix.texi => doc/guix.texi +6 -2
@@ 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
M gnu/packages/base.scm => gnu/packages/base.scm +11 -8
@@ 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)
M gnu/packages/tex.scm => gnu/packages/tex.scm +12 -9
@@ 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
M guix/packages.scm => guix/packages.scm +3 -0
@@ 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))))
M tests/packages.scm => tests/packages.scm +9 -1
@@ 1,5 1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
@@ 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.