Age | Commit message (Collapse) | Author |
|
* guix/ui.scm (display-search-results): New procedure.
* guix/scripts/package.scm (find-packages-by-description): Remove
'unzip2' call and return a list of pairs.
(process-query): Change to use 'display-search-results'.
* guix/scripts/system/search.scm (find-service-types): Remove 'unzip2'
call and return a list of pairs.
(guix-system-search): Use 'display-search-results'.
|
|
* guix/build/syscalls.scm (terminal-dimension): New procedure.
(terminal-columns): Rewrite in terms of 'terminal-dimension'.
(terminal-rows): New procedure.
* tests/syscalls.scm ("terminal-rows"): New test.
|
|
* guix/ui.scm (relevance)[score]: Change to return 0 when one of REGEXPS
doesn't match.
* tests/ui.scm ("package-relevance"): New test.
|
|
* guix/build/compile.scm (%warnings): Add 'shadowed-toplevel'.
|
|
Guile 2.2.5 and 2.9.2 would catch the issue.
This is a followup to 88bc3c89bf5145d24c2270d2192b7be547e0024f.
* guix/progress.scm (display-download-progress)[elapsed]: Pass
'current-time' the same type as START-TIME.
|
|
* guix/scripts/publish.scm: Replace (@@ (web http) read-header-line) on
Guile 2.2.5.
|
|
Fixes a regression introduced in
9353b199c18caca4a429f20423e1a5e7bc26a8da whereby something like:
guix build --log-file $(guix build -d guile)
would return two log files. This led to a failure of 'tests/guix-build.sh'.
* guix/scripts/build.scm (guix-build): Filter out derivation file names
from ITEMS.
|
|
* guix/scripts/build.scm (options->derivations): Use 'warning' instead
of 'format'.
|
|
* guix/build/python-build-system.scm (get-python-version): Rename to...
(python-version): ... this. Update callers. Make public.
* gnu/packages/gstreamer.scm (python-gst)[arguments]: Adjust accordingly.
* gnu/packages/machine-learning.scm (ghmm)[arguments]: Likewise.
* gnu/packages/openldap.scm (389-ds-base)[arguments]: Import (guix
build python-build-system). Use 'python-version'.
* gnu/packages/package-management.scm (conda)[arguments]: Use
'python-version'.
|
|
Fixes <https://bugs.gnu.org/34066>.
* guix/packages.scm (patch-and-repack)<tarxz-name>: If FILE-NAME is a source
checkout, reuse the name without the '-checkout' part.
|
|
|
|
* gnu/licenses.scm (hpnd): New variable.
|
|
Prior to this change the added test fails for me locally at byte
1024. It might depend on some default buffer sizes.
Fixes <https://bugs.gnu.org/35863>.
* tests/utils.scm ("canonical-newline-port-1024"): Add test.
* guix/utils.scm (canonical-newline-port): Correct comments on CR/LF.
Remove CR even when they're at the end of the buffer.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
Previously we'd make 502 'query-valid-derivers' RPCs for
"guix build vim -d", and after this patch, we don't do any.
Furthermore, the previous strategy was "stateful" in the sense that
'item->deriver' could return a derivation that is not the one that was
actually computed by this process, but an "equivalent" one (due to
fixed-output derivations); which one is chosen would depend on the state
of the store.
This in turn means that we'd have to call 'read-derivation-from-file' to
actually read .drv files (as opposed to getting them from
%DERIVATION-CACHE). This is costly and doesn't work with
GUIX_DAEMON_SOCKET=ssh://….
* guix/grafts.scm (item->deriver): Remove.
(reference-origin): New procedure.
(cumulative-grafts): Use it instead of 'item->deriver'.
|
|
* guix/derivations.scm (derivation-input-derivation): New procedure.
(derivation-prerequisites): Use it.
|
|
Previously, '--log-file' would look for log files only for the current
derivation, and thus wouldn't find log files of equivalent derivations
that produce the same output.
* guix/scripts/build.scm (guix-build) <log-file?>: Replace
'derivation-file-name' by 'derivation->output-path'.
|
|
* gnu/build/bootloader.scm (G_): Remove.
(open-pipe-with-stderr, invoke/quiet): Move to...
* guix/build/utils.scm: ... here. Use 'let-values' instead of
'define-values' because Guile 2.0 (the bootstrap Guile) doesn't know
about 'define-values'.
* po/guix/POTFILES.in: Remove gnu/build/bootloader.scm, and add
guix/build/utils.scm.
* tests/build-utils.scm: Remove import of (gnu build bootloader).
|
|
* guix/packages.scm (patch-and-repack): Remove #:deprecation-warnings
argument passed to 'gexp->derivation'.
|
|
* guix/gexp.scm (gexp->derivation): Remove #:pre-load-modules?.
(compiled-modules): Likewise. Inline the case correspoding to
PRE-LOAD-MODULES? = #t.
* guix/packages.scm (patch-and-repack): Remove #:pre-load-modules?.
|
|
Fixes a regression introduced in
03d76577b96ba81c9921eb3a297d42db8644280b whereby 'guix-extra.drv' would
pull in (guix tests), which in turn would pull in a large number of (gnu
packages …), which would fail to build due to missing .patch files.
* guix/self.scm (compiled-guix)[*extra-modules*]: Exclude (guix tests …)
from the list of modules.
|
|
|
|
Fixes <https://bugs.gnu.org/35387>.
Reported by Christopher Baines <mail@cbaines.net>.
* guix/build/gnu-build-system.scm (first-subdirectory): Rewrite using
'scandir' so that the result is deterministic.
|
|
* gnu/packages.scm (%bootstrap-binaries-path, search-bootstrap-binary):
Remove.
* gnu/packages/bootstrap.scm (bootstrap-executable): Export.
* guix/tests.scm (bootstrap-binary-file, search-bootstrap-binary):
Export.
* tests/derivations.scm: Remove (gnu packages) import.
* tests/grafts.scm: Likewise.
* tests/guix-daemon.sh: Likewise.
|
|
The switch to the reduced bootstrap broke build time assumptions made by
tests, notably the assumption that GNU-MAKE-BOOT0 was cheap to build.
This commit adjusts this to make these tests cheaper.
* gnu/packages/bootstrap.scm (%bootstrap-inputs-for-tests): New variable.
* guix/tests.scm (gnu-make-for-tests): New variable.
* tests/guix-environment.sh: Use GNU-MAKE-FOR-TESTS instead of
GNU-MAKE-BOOT0. Remove test with FINDUTILS-BOOT0.
* tests/guix-package-net.sh (boot_make): Use GNU-MAKE-FOR-TESTS.
* tests/packages.scm ("GNU Make, bootstrap"): Likewise.
* tests/profiles.scm ("profile-derivation relative symlinks, two entries"):
Likewise.
* tests/union.scm (%bootstrap-inputs): Remove.
("union-build"): Use %BOOTSTRAP-INPUTS-FOR-TESTS instead of
%BOOTSTRAP-INPUTS.
|
|
* gnu/packages/bootstrap.scm (%bootstrap-executables): New variable.
(bootstrap-executable-url, bootstrap-executable): New procedure.
(raw-build)[->store]: Use 'run-with-store' and 'origin->derivation'.
Add calls to 'derivation->output-path', and remove the list of
references passed to 'add-text-to-store' for BUILDER. Augment the list
of #:inputs passed to 'derivation'.
(package-from-tarball): Use 'bootstrap-executable' instead of
'search-bootstrap-binary'.
(%bootstrap-glibc, %bootstrap-gcc, %bootstrap-mescc-tools)
(%bootstrap-mes): Likewise.
* guix/scripts/environment.scm (environment-bash): Use
'bootstrap-executable' instead of 'search-bootstrap-binary'.
(guix-environment): Adjust CONTAINER? case accordingly.
* po/guix/POTFILES.in: Add gnu/packages/bootstrap.scm.
|
|
* guix/download.scm (built-in-download): Add #:executable? parameter.
Pass #:recursive? to 'raw-derivation' and add "executable" to the #:env-vars
alist when EXECUTABLE? is true.
(url-fetch): Add #:executable? and pass it to 'built-in-download'.
(url-fetch/executable): New procedure.
|
|
Hackage packages can have metadata revisions (Cabal file only) that are
not reflected in the source archive. The Haskell build system has
support for this, but until now the Hackage importer would create a
package based on the revised Cabal file which would then build using the
old Cabal file.
Fixes <https://bugs.gnu.org/35750>.
* guix/import/cabal.scm (<cabal-package>): Add 'revision' field.
(eval-cabal): Parse 'x-revision:' property.
* guix/import/hackage.scm (read-cabal-and-hash): New procedure.
(hackage-fetch-and-hash): New procedure.
(hackage-fetch): Rewrite using 'hackage-fetch-and-hash'.
(hackage-module->sexp): Add 'cabal-hash' argument and use it to populate
the '#:cabal-revision' argument.
(hackage->guix-package): Use the new '-and-hash' functions to get the
hash of the Cabal file and pass it to 'hackage-module->sexp'.
* guix/tests/hackage.scm: Test import of Cabal file revision.
Signed-off-by: Timothy Sample <samplet@ngyro.com>
|
|
The default Setup.hs is boilerplate that is frequently left out of
source packages. Several packages already add a phase to generate it,
so moving this phase to the build system is just factoring out an
existing pattern.
See <https://github.com/phadej/time-compat/issues/4>.
* guix/build/haskell-build-system.scm (generate-setuphs): New procedure.
(%standard-phases): Add it after 'unpack'.
* gnu/packages/haskell.scm (ghc-foundation, ghc-inline-c,
ghc-inline-c-cpp, ghc-rio): Remove 'arguments'.
Signed-off-by: Timothy Sample <samplet@ngyro.com>
|
|
* guix/build/haskell-build-system.scm (haddock): Fix docstring.
Signed-off-by: Timothy Sample <samplet@ngyro.com>
|
|
|
|
* guix/import/crate.scm:
(crate-fetch)[input-crates]: Rename to dev-crates.
[native-input-crates]: Rename to dev-dep-crates.
[inputs]: Rename to cargo-inputs.
[native-inputs]: Rename to cargo-development-inputs.
(maybe-cargo-inputs, maybe-cargo-development-inputs, maybe-arguments): Add
them.
(make-crate-sexp)[inputs]: Rename to cargo-inputs.
[native-inputs]: Rename to cargo-development-inputs.
[maybe-native-inputs, maybe-inputs]: Replace with maybe-arguments.
* guix/import/utils.scm: (package-names->package-inputs): Make public. Add
docstring.
* tests/crate.scm (crate->guix-package): Update the match pattern.
Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
|
|
* guix/build-system/cargo.scm: (cargo-build)[build-expression->derivation]:
Don't add "src" output.
* guix/build/cargo-build-system.scm: (install-source): Delete it.
(%standard-phases): Delete 'install-source.
Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
|
|
* guix/build/cargo-build-system.scm (crate-src?): New procedure.
(configure): Use the new procedure to expand crate tarballs in the vendor
directory.
Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
|
|
* guix/build/cargo: (package-cargo-inputs): Add it.
(package-cargo-development-inputs): Add it.
(crate-closure): Add it.
(expand-crate-sources): Add it.
(lower)[private-keywords]: Add #:cargo-inputs and
[bag]: Use expand-crate-sources to augment build-inputs.
Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
|
|
Regression introduced in a0f352b30f4869a7af7017b8a5011ac7602dd115.
* guix/scripts/pack.scm (docker-image): Check whether ENTRY-POINT is
true before returning (string-append #$profile ...).
|
|
This allows callers to request the substitution of a single derivation
output.
* guix/store.scm (build-things): Accept derivation/output pairs among
THINGS.
* guix/derivations.scm (build-derivations): Likewise.
* tests/store.scm ("substitute + build-things with specific output"):
New test.
* tests/derivations.scm ("build-derivations with specific output"):
New test.
* doc/guix.texi (The Store): Adjust accordingly.
|
|
* guix/ssh.scm: Use (ice-9 format).
|
|
* guix/download.scm (%content-addressed-mirrors): Change
"berlin.guixsd.org" to "ci.guix.gnu.org" and move it first.
|
|
mirrors.mit.edu seems no longer available over FTP.
* guix/gnu-maintenance.scm (latest-kde-release): Change from mirrors.mit.edu
to ftp.mirrorservice.org.
|
|
* guix/import/utils.scm (specs->package-lists): Match "out", not ("out").
|
|
Fixes <http://bugs.gnu.org/35893>.
Reported by Jesse Gibbons <jgibbons2357@gmail.com>.
* guix/import/print.scm (package->code)[package-lists->code]: Preserve
OUT in the result.
* tests/print.scm (define-with-source): New macro.
(pkg): Use it.
(pkg-source): New variable.
(pkg-with-inputs, pkg-with-inputs-source): New variables.
("simple package"): Refer to 'pkg-source'.
("package with inputs"): New test.
|
|
* guix/scripts/pack.scm (self-contained-tarball): Add #:entry-point and
warn when it's true.
(squashfs-image): Add #:entry-point and honor it.
(docker-image): Add #:entry-point and honor it.
(%options, show-help): Add '--entry-point'.
(guix-pack): Honor '--entry-point' and pass #:entry-point to BUILD-IMAGE.
* gnu/tests/docker.scm (run-docker-test): Test 'docker run' with the
default entry point.
(build-tarball&run-docker-test): Pass #:entry-point to 'docker-image'.
* doc/guix.texi (Invoking guix pack): Document it.
* gnu/tests/singularity.scm (run-singularity-test)["singularity run"]:
New test.
(build-tarball&run-singularity-test): Pass #:entry-point to
'squashfs-image'.
|
|
With guile-git version 0.2, repository-working-directory is no
longer private.
* guix/git-download.scm (git-file-list): Refer to public
repository-working-directory.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
Previously, 'lock-store-file' would immediately close the file
descriptor of the '.lock' file, and thus it would immediately release
the lock.
* guix/nar.scm (lock-store-file, unlock-store-file): Remove.
(finalize-store-file): Use 'lock-file' and 'unlock-file' instead.
|
|
* guix/build/syscalls.scm (call-with-file-lock): Catch ENOSYS raised by
'lock-file'.
|
|
* guix/build/syscalls.scm (call-with-file-lock): New procedure.
(with-file-lock): Expand to a call to 'call-with-file-lock'.
|
|
* guix/scripts/offload.scm (lock-file, unlock-file, with-file-lock):
Move to...
* guix/build/syscalls.scm: ... here.
|
|
Fixes <https://bugs.gnu.org/35942>.
* guix/scripts/package.scm (display-search-paths): Rename to...
(display-search-path-hint): ... this. Adjust callers.
Remove #:kind parameter. Replace the list of environment variables with
an invitation to source $GUIX_PROFILE/etc/profile or run 'guix package
--search-paths'.
|
|
Until now, (guix deprecation) had its own warning mechanism, which was
inconsistent (it did not use colors, etc.)
* guix/deprecation.scm (deprecation-warning-port): Remove
(source-properties->location-string): Remove.
(warn-about-deprecation): Use 'warning' instead of 'format'.
(define-deprecated, define-deprecated/alias): Adjust docstring.
* guix/channels.scm (build-from-source): Refer to 'guix-warning-port'
instead of 'deprecation-warning-port'.
|
|
* guix/ui.scm (warning, info, report-error, leave)
(location->string, guix-warning-port, program-name)
(highlight-argument, %highlight-argument, define-diagnostic)
(%warning-color, %info-color, %error-color)
(print-diagnostic-prefix): Move to...
* guix/diagnostics.scm: ... here. New file.
* Makefile.am (MODULES): Add it.
|