Age | Commit message (Expand) | Author |
2021-07-14 | packages: Define this-package-input and this-package-native-input....These macros are intended to be used in build phases.
More precisely, (assoc-ref %build-inputs "input") can be
replaced by #$(this-package-input "input") or #+(this-package-native-input
"native-input") as appropriate.
* guix/packages.scm
(package-input, package-native-input): New (unexported) procedures.
(this-package-input, this-package-native-input): New macros.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Maxime Devos |
2021-07-14 | utils: Define a target-x86-32? and target-x86-64? predicate....* guix/utils.scm (target-x86-32?, target-x86-64?): New predicates.
* tests/utils.scm ("target-x86-32?", "target-x86-64?"): New tests.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Maxime Devos |
2021-07-14 | utils: Give 'target-mingw?' a docstring....target-hurd? and target-linux? have docstrings, but
target-mingw? doesn't.
* guix/utils.scm (target-mingw?): Add a docstring.
Reported-By: Mathieu Othacehe <othacehe@gnu.org>
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Maxime Devos |
2021-07-14 | utils: Define 'target-hurd?' predicate....It behaves similarily to the other target-...? procedures.
The usage of hurd-triplet? / target-hurd? in libgc appears
incorrect to me, as (%current-system) is normally never false.
* gnu/packages/hurd.scm (hurd-triplet?): Move to ...
* guix/util.scm (target-hurd?): ... here, let its argument
default to (%current-target-system) or (%current-system),
and write a docstring.
* gnu/packages/hurd.scm
(hurd-target?, hurd-system?): Use target-hurd? instead of
hurd-triplet?.
* gnu/packages/bdw-gc.scm (libgc): Likewise.
* gnu/packages/cross-base.scm
(cross-libc)[arguments]<#:configure-flags>: Likewise.
(cross-libc)[arguments]<#:phases>: Likewise.
(cross-libc)[arguments]<#:native-inputs>: Likewise.
* gnu/packages/make-boostrap.scm
(%glibc-stripped)[inputs]: Likewise.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Maxime Devos |
2021-07-14 | utils: Define 'target-linux?' predicate....* guix/utils.scm (target-linux?): New predicate.
* tests/utils.scm
("target-linux?"): Test it.
("target-mingw?"): Also test ‘target-mingw?’.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Maxime Devos |
2021-07-11 | import: elpa: Emit new-style package inputs....* guix/import/elpa.scm (elpa-package->sexp)[dependencies]: Turn into a
list of symbols.
[maybe-inputs]: Wrap in 'list' instead of 'quasiquote'.
| Ludovic Courtès |
2021-07-11 | import: print: Emit new-style package inputs when possible....* guix/import/print.scm (redundant-input-labels?): New procedure.
(package->code)[package-lists->code]: Rename to...
[inputs->code]: ... this. When 'redundant-input-labels?' returns true,
emit label-less inputs. Adjust callers to new name.
* tests/print.scm (pkg-with-inputs): Adjust accordingly.
| Ludovic Courtès |
2021-07-11 | import: cran: Emit new-style package inputs....* guix/import/cran.scm (format-inputs): Emit symbols or
'specification->package' calls.
(maybe-inputs): Wrap in 'list' instead of 'quasiquote'.
* tests/cran.scm ("description->package"): Adjust accordingly.
| Ludovic Courtès |
2021-07-11 | import: pypi: Emit new-style package inputs....* guix/import/pypi.scm (maybe-inputs): Wrap PACKAGE-INPUTS in 'list'
instead of 'quasiquote'.
(compute-inputs)[requirement->package-name/sort]: Return a list of symbols.
* tests/pypi.scm ("pypi->guix-package, no wheel")
("pypi->guix-package, wheels"): Adjust accordingly.
| Ludovic Courtès |
2021-07-11 | packages: 'hidden-package' inherits the original package location....* guix/packages.scm (hidden-package): Inherit 'location' from P.
| Ludovic Courtès |
2021-07-11 | Add 'guix style'....* guix/scripts/style.scm, tests/style.scm: New files.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* po/guix/POTFILES.in: Add 'guix/scripts/style.scm'.
* doc/guix.texi (Invoking guix style): New node.
(package Reference): Reference it.
(Invoking guix lint): Likewise.
| Ludovic Courtès |
2021-07-11 | utils: 'edit-expression' copies part of the original source map....* guix/utils.scm (source-location-key/stamp): New procedure.
(go-to-location): Use it.
(move-source-location-map!): New procedure.
(edit-expression): Call it.
| Ludovic Courtès |
2021-07-11 | utils: 'edit-expression' modifies the file only if necessary....* guix/utils.scm (edit-expression): Check whether STR* equals STR.
| Ludovic Courtès |
2021-07-11 | utils: Add 'go-to-location' with source location caching....* guix/utils.scm (%source-location-map): New variable.
(go-to-location): New procedure.
(edit-expression): Use it instead of custom loop.
* guix/packages.scm (package-field-location)[goto]: Remove.
Use 'go-to-location' instead of 'goto'.
| Ludovic Courtès |
2021-07-11 | utils: 'edit-expression' no longer leaks file ports....* guix/utils.scm (edit-expression): Use 'call-with-input-file' to make
sure IN gets closed.
| Ludovic Courtès |
2021-07-11 | packages: Add 'modify-inputs'....* guix/packages.scm (inputs-sans-labels, replace-input): New procedures.
(prepend, replace, modify-inputs): New macros.
* doc/guix.texi (Defining Package Variants): Document 'modify-inputs'.
* dir-locals.el: Add 'modify-inputs' and its keywords.
| Ludovic Courtès |
2021-07-11 | packages: Add 'lookup-package-input' & co....* guix/packages.scm (lookup-input, lookup-package-input)
(lookup-package-native-input, lookup-package-propagated-input)
(lookup-package-direct-input): New procedures.
* doc/guix.texi (package Reference): Document them.
| Ludovic Courtès |
2021-07-11 | lint: Add 'input-labels' checker....* guix/lint.scm (check-input-labels): New procedure.
(%local-checkers): Add 'input-labels' checker.
* tests/lint.scm ("input labels: no warnings")
("input labels: one warning"): New tests.
* doc/guix.texi (Invoking guix lint): Mention it.
| Ludovic Courtès |
2021-07-11 | packages: Allow inputs to be plain package lists....* guix/packages.scm (add-input-label, sanitize-inputs): New procedures.
(<package>)[inputs, propagated-inputs, native-inputs]: Add 'sanitize' property.
* doc/guix.texi (Defining Packages, package Reference):
(Defining Package Variants): Adjust examples accordingly.
* tests/packages.scm ("transaction-upgrade-entry, zero upgrades, propagated inputs")
("transaction-upgrade-entry, grafts")
("package-transitive-inputs")
("package-transitive-supported-systems")
("package-closure")
("supported-package?")
("package-derivation, inputs deduplicated")
("package-transitive-native-search-paths")
("package-grafts, indirect grafts")
("package-grafts, indirect grafts, propagated inputs")
("package-grafts, same replacement twice")
("package-grafts, dependency on several outputs")
("replacement also grafted")
("package->bag, sensitivity to %current-target-system")
("package->bag, propagated inputs")
("package->bag, sensitivity to %current-system")
("package-input-rewriting/spec, identity")
("package-input-rewriting, identity"): Use the label-less input style.
| Ludovic Courtès |
2021-07-11 | records: Support field sanitizers....* guix/records.scm (make-syntactic-constructor): Add #:sanitizers.
[field-sanitizer]: New procedure.
[wrap-field-value]: Honor F's sanitizer.
(define-record-type*)[field-sanitizer]: New procedure.
Pass #:sanitizer to 'make-syntactic-constructor'.
* tests/records.scm ("define-record-type* & sanitize")
("define-record-type* & sanitize & thunked"): New tests.
| Ludovic Courtès |
2021-07-08 | utils: Add 'search-input-directory'....* guix/build/utils.scm (search-input-directory): New procedure.
* doc/guix.texi (Build Utilities): Document it next to
'search-input-file'. Tweak wording.
| Ludovic Courtès |
2021-07-08 | build-system/gnu: patch-shebangs: Also patch shebangs in "/libexec"....Shebangs in "/bin" and "/sbin" subdirectories are currently
patched by patch-shebangs. But shebangs in "/libexec" currently
aren't, even though they occasionally need to be. E.g. when using
wrap-program on an executable in "libexec" without an explicit #:sh
when cross-compiling.
* guix/build/gnu-build-system.scm (patch-shebangs):
Add "/libexec" to 'bin-directories'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Maxime Devos |
2021-07-05 | build-system/trivial: Honor build inputs when cross-compiling....Fixes a regression introduced in
7d873f194ca69d6096d28d7a224ab78e83e34fe1 whereby host inputs would be
missing altogether from '%build-inputs', which broke cross-compilation.
* guix/build-system/trivial.scm (trivial-cross-build): Append
HOST-INPUTS to the 'with-build-variables' argument.
| Ludovic Courtès |
2021-07-05 | tests: Unset NIX_STORE_DIR when running external tests....This is a followup to cfcead2e515c0dae02127e5a76496463898be6b6 and
47a6a938c3c4d0bbe7b6a3c64ff75d7bfb2f24fb, which made (guix packages)
dependent on the value of NIX_STORE_DIR.
* guix/tests.scm (call-with-external-store): Unset NIX_STORE_DIR before
calling PROC.
| Ludovic Courtès |
2021-07-05 | build-system/gnu: Define '%build-inputs' when cross-compiling....Reported by Maxime Devos.
* guix/build-system/gnu.scm (gnu-cross-build)[builder]: Define
'%build-inputs' as it existed before
7d873f194ca69d6096d28d7a224ab78e83e34fe1.
| Ludovic Courtès |
2021-07-05 | build-system/texlive: Change default format to pdftex...LuaTeX has a bug where sometimes it corrupts the heap and aborts. This
causes the build of texlive packages to fail at random. The problem is
being tracked at https://issues.guix.gnu.org/48064.
While a fix isn't found, switch the default TeX format (and consequently
also the engine) to pdftex to avoid the issue.
* guix/build-system/texlive.scm (texlive-build): Change default value of
the ‘tex-format’ key parameter to “pdftex”.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Thiago Jung Bauermann |
2021-07-01 | packages: 'package-derivation' honors 'system' again....Fixes a regression introduced in
7d873f194ca69d6096d28d7a224ab78e83e34fe1.
Starting from 7d873f194ca69d6096d28d7a224ab78e83e34fe1, running
guix build -s aarch64-linux sed
on an x86_64-linux machine would return an x86_64-linux machine, whereby
only the top derivation of the graph would be aarch64-linux while all
its dependencies would be x86_64-linux.
* guix/packages.scm (expand-input): Add 'system' parameter and honor it.
(bag->derivation, bag->cross-derivation): Pass SYSTEM to 'expand-input'.
* tests/packages.scm ("package-derivation, different system"): New test.
| Ludovic Courtès |
2021-06-23 | Merge branch 'master' into core-updates...Conflicts:
gnu/packages/cups.scm
gnu/packages/python-web.scm
gnu/packages/web.scm
guix/build/maven/pom.scm
| Tobias Geerinckx-Rice |
2021-06-22 | tests: Remove stale reference to %derivation-cache....* guix/tests.scm (call-with-external-store): Remove the stale reference to
%derivation-cache. This was causing the tests to error out, since it was
removed from (guix packages) in 7d873f194ca69d6096d28d7a224ab78e83e34fe1.
| Chris Marusich |
2021-06-22 | profiles: Build union of inputs in the right order....Fixes <https://bugs.gnu.org/49102>.
Reported by Mathieu Othacehe <othacehe@gnu.org>
and Tobias Geerinckx-Rice <me@tobias.gr>.
Fixes a regression introduced in
8cef92d0633850d97c1a1d4521812268f56672be, whereby in case of file
collisions, the "wrong" one would take precedence.
* guix/build/profiles.scm (manifest-sexp->inputs+search-paths): Perform
a breadth-first traversal. Reverse INPUTS and SEARCH-PATHS in the base
case.
* tests/profiles.scm ("profile-derivation, ordering & collisions"):
New test.
| Ludovic Courtès |
2021-06-22 | guix: java-utils: Look for actual jar files....* guix/build/java-utils.scm (install-from-pom): Fix `find-files` to look
only for jar files.
| Julien Lepiller |
2021-06-22 | guix: maven: Use a temporary file to fix pom files....* guix/build/maven/pom.scm (fix-pom-dependencies): Actually use the
temporary file that was created.
| Julien Lepiller |
2021-06-22 | guix: maven: Look in local packages when searching for package version....* guix/build/maven/pom.scm (fix-pom-dependencies): Also look at local
packages when looking for a package version.
| Julien Lepiller |
2021-06-22 | guix: maven: Support fixing modules....* guix/build/maven/pom.scm (fix-pom-dependencies): Support fixing
modules that do not exist.
* guix/build/maven-build-system.scm (fix-pom): Fix modules.
| Julien Lepiller |
2021-06-22 | guix: maven: Support fixing extensions....* guix/build/maven/pom.scm (fix-pom-dependencies): Add support for fixing
extension versions.
| Julien Lepiller |
2021-06-22 | guix: maven: Simplify finding local packages and modules....* guix/build/maven-build-system (fix-pom): Fix a single pom file without
recursing
(fix-pom-files): Find local packages and all submodules, and fix them
all at once.
(add-local-package): Move to...
* guix/build/maven/pom.scm (add-local-package): ...here.
(pom-and-submodules, pom-local-packages): New procedures.
| Julien Lepiller |
2021-06-22 | guix: maven: Simplify finding version and group information....* guix/build/maven/pom.scm (pom-version, pom-groupid): Do not use inputs
and local packages information anymore. Adapt file to new arguments.
* guix/build/maven-build-system.scm: Adapt to new arguments.
* guix/build/java-utils.scm: Adapt to new arguments.
| Julien Lepiller |
2021-06-22 | guix: java-utils: Factorize pom.xml generation....* guix/build/java-utils.scm (generate-pom.xml): New procedure.
* gnu/packages/maven.scm (java-surefire-junit4): Use it.
* gnu/packages/java.scm (java-qdox, java-jsr250, java-jsr305)
(java-aopalliance, java-jboss-el-api-spec)
(java-jboss-interceptors-api-spec): Use it.
(java-qdox-M9): Ensure the generated pom file has the correct version.
| Julien Lepiller |
2021-06-21 | import: egg: Edit egg->guix-package docstring....* guix/import/egg.scm (egg->guix-package): Edit docstring.
| Tobias Geerinckx-Rice |
2021-06-19 | import: launchpad: Fix typo....* guix/import/launchpad.scm (latest-release): Rename 'origin-github-uri'
to 'origin-launchpad-uri'.
| Brice Waegeneire |
2021-06-19 | import: launchpad: Use repository to retrieve releases....* guix/import/launchpad.scm (latest-released-version): Use repository instead
of package name.
(latest-release): Pass repository to latest-released-version.
Signed-off-by: Brice Waegeneire <brice@waegenei.re>
| Matthew James Kraai |
2021-06-19 | Merge branch 'master' into core-updates...Note: this merge actually changes the 'curl' and 'python-attrs' derivations,
as part of solving caf4a7a2770ef4d05a6e18f40d602e51da749ddc and
12964df69a99de6190422c752fef65ef813f3b6b respectively.
4604d43c0e (gnu: gnutls@3.6.16: Fix cross-compilation.) was ignored because it
cannot currently be tested.
Conflicts:
gnu/local.mk
gnu/packages/aidc.scm
gnu/packages/boost.scm
gnu/packages/curl.scm
gnu/packages/nettle.scm
gnu/packages/networking.scm
gnu/packages/python-xyz.scm
gnu/packages/tls.scm
| Marius Bakke |
2021-06-19 | build-system/haskell: Import build variables....* guix/build-system/haskell.scm (haskell-build): Wrap in WITH-BUILD-VARIABLES
in order to get %build-inputs and friends.
| Marius Bakke |
2021-06-19 | build-system/node: Add missing module import....This accidentally disappeared in fcc39864dba82e14895afbe841091091366c96bc.
* guix/build-system/node.scm: Import (guix store).
| Marius Bakke |
2021-06-18 | profiles: Add "XAUTHORITY" to the precious variables....Suggested by Maxime Devos <maximedevos@telenet.be>.
* guix/profiles.scm (%precious-variables): Add "XAUTHORITY".
| Ludovic Courtès |
2021-06-18 | profiles: Add 'load-profile'....* guix/profiles.scm (%precious-variables): New variable.
(purify-environment, load-profile): New procedures.
* guix/scripts/environment.scm (%precious-variables)
(purify-environment, create-environment): Remove.
(launch-environment): Call 'load-profile' instead of 'create-environment'.
* tests/profiles.scm ("load-profile"): New test.
| Ludovic Courtès |
2021-06-18 | lint: check-patch-headers: Recognize Git diffs....* guix/lint.scm (check-patch-headers): Add "diff --git " prefix.
| Ludovic Courtès |
2021-06-18 | import: launchpad: Gracefully handle 404s from api.launchpad.net....Fixes <https://bugs.gnu.org/49031>.
Reported by Emad Alblueshi <emad.albloushi@gmail.com>.
* guix/import/launchpad.scm (latest-released-version): Gracefully handle
'json-fetch' returning #f.
| Ludovic Courtès |
2021-06-18 | Start enabling substitutes from bordeaux.guix.gnu.org....In addition to substitutes from ci.guix.gnu.org. There are more changes that
can be made in the future, but these changes seem like a good start.
* config-daemon.ac (guix_substitute_urls): Add https://bordeaux.guix.gnu.org.
* guix/scripts/substitute.scm (%default-substitute-urls): Add
http://bordeaux.guix.gnu.org.
* guix/store.scm (%default-substitute-urls): Add bordeaux.guix.gnu.org.
* doc/guix.texi: Adjust accordingly.
* doc/contributing.texi: Adjust accordingly.
| Christopher Baines |
2021-06-16 | pack: Fix the system value passed to build-docker-image....Before this change, the system value would be passed as x86_64 when using a
i686-linux emulated system, e.g.:
$ guix environment --system=i686-linux --ad-hoc guile -- \
guile -c '(display (utsname:machine (uname))) (newline)'
x86_64
This change uses the Guile builtin %host-type variable, which doesn't have
this problem:
$ guix environment --system=i686-linux --ad-hoc guile -- \
guile -c '(display %host-type) (newline)'
i686-unknown-linux-gnu
* guix/scripts/pack.scm (docker-image)[#:system] Use %host-type as a fall-back
when target is not defined.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |