This addresses the following backtrace from
"guix lint -c wrapper-inputs hostapd":
Backtrace:ostapd@2.10 [wrapper-inputs]...
[...]
174:9 3 (gexp->approximate-sexp #<gexp (modify-phases %standard?>)
In srfi/srfi-1.scm:
586:17 2 (map1 (#<gexp-output out> #<gexp-input "pkg-config":o?>))
In guix/gexp.scm:
175:16 1 (_ _)
In ice-9/boot-9.scm:
1685:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Throw to key `match-error' with args `("match" "no matching pattern" #<gexp-output out>)'.
* guix/gexp.scm (gexp->approximate-sexp): Handle the case where 'reference' is
a <gexp-output>,, by returning (*approximate*).
* tests/gexp.scm ("gexp->approximate-sexp, outputs"): Test it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This fixes a false-positive in the linter:
guix lint -c 'wrapper-inputs' libaio
* guix/gexp.scm (gexp->approximate-sexp): Allow the 'thing' in <gexp-input> to
be a sexp, without approximation, by testing if it is a record.
* tests/gexp.scm ("unquoted sexp (not a gexp!)"): Test it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
The removed code below affected two locations where Elixir uses Git:
* At build-time, Git is used to see if the build is inside a Git repo and if so, git info
is added to the build information that Elixir returns with `System.build_info()`. The code
uses PATH + `git` so the Git version from the inputs is used which is just fine.
* At run-time, Git is used by Mix if, and only if, there are any Git-based dependencies. This
is not the normal case, and in that sense Git is an optional dependency of Elixir - most
projects will work just fine without Git being present. Here, too, PATH + `git` is used
so if there is a need on a user's system to use Git-based dependencies, the user can just
add the package to the profile and things will just work.
I feel that leaving this alone is cleaner than trying to fix the dependency (if we want to
keep it, it needs to be in propagated-inputs in order to keep Git around; I stumbled upon
this building a project with Git dependencies after doing a `guix gc`. However, given that
using Git dependencies is the exception and I think that minimizing dependencies is nicer
I opted to just remove the substition completely).
* gnu/packages/elixir.scm (elixir)[arguments]: In 'replace-paths' phase,
remove substitutions of "git".
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/maven.scm (maven-pom): Update to 3.8.5.
(maven-model-builder)[arguments]: Build from the subdirectory to work
around a test issue.
(maven-3.0-model-builder)[arguments]: Fix accordingly.
* gnu/packages/python-crypto.scm (python-pgpy)[native-inputs]: Move
python-cryptography, python-pyasn1, python-singledispatch, python-six from
here ...
[propagated-inputs]: ... to here.
* gnu/packages/haskell-web.scm
(ghc-bsb-http-chunked)[arguments]<#:tests?>: Set to #false when
cross-compiling.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* gnu/packages/kde-frameworks.scm
(extra-cmake-modules)[arguments]<#:tests?>: Set to #false when
cross-compiling.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* gnu/packages/ocaml.scm (lablgtk)[arguments]: Remove #:tests?
instead of unconditionally setting it to #t.
[inputs]: Use new style.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* gnu/packages/perl.scm (perl-unicode-utf8)[arguments]<#:tests?>:
Set to #false when cross-compiling.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* gnu/packages/lean.scm (lean): Update to 3.41.0.
[phases]: Remove trailing #t.
[tests?] Set to #false when cross-compiling.
[inputs]: Add bash-minimal.
Co-authored-by: Maxime Devos <maximedevos@telenet.be>
emacs-build-system sets #:tests? #f by default, so the linter shouldn't warn
if #:tests? #t is set for packages using emacs-build-system. Likewise for
texlive-build-system.
* guix/lint.scm (check-tests-true): Do not warn if the build system
is emacs-build-system or texlive-build-system.
* tests/lint.scm
("tests-true: #:tests? #t acceptable for emacs packages")
("tests-true: #:tests? #t acceptable for texlive packages"): New tests.
Fixes: <https://issues.guix.gnu.org/50299>
Reported-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* gnu/packages/embedded.scm (ucsim): Update to 0.7.1.
[source]: Update URI.
[arguments]<#:configure-flags>: Remove as all stable ports are now built by
default.
<#:phases>: Remove obsolete "remove-empty-directory" phase.
[inputs]: Add ncurses, needed for the serialview utility.
[native-inputs]: Add sdcc when needed for tests.
[description]: Update to mention newly supported microcontroller families.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/patches/transfig-gcc10-fno-common.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/xfig.scm (transfig)[source]<origin>: Use patch
"transfig-gcc10-fno-common.patch" to avoid "multiple definition" errors with
GCC 10+ and "-f-no-common".
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Fixes <https://issues.guix.gnu.org/53425>.
* gnu/packages/xfig.scm (transfig)[arguments]<#:phases>: Remove "l" option
from "ar" invocation in makefiles to avoid incompatible meaning in binutils
2.36 causing error "ar: libdeps specified more than once".
Signed-off-by: Ludovic Courtès <ludo@gnu.org>