| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
This changes the behavoir of the recusive crate importer so that it will
include the importing of development dependencies for the top level package
but will not inculded the development dependencies for any other imported package.
* guix/import/crate.scm (crate->guix-package, make-crate-sexp)
<guix import crate>: added new parameter
|
|
|
|
|
| |
* guix/import/utils.scm (package->definition): trim patch version from names
* tests/crate.scm: updated the tests
|
|
|
|
|
|
|
|
|
|
| |
This adds memorization to procedures that involve network lookups.
(mem-lookup-crate) is used on every dependency of a package to find
it's versions. (mem-crate->guix-package) is needed becuase
(topological-sort) depduplicates after dependencies have been turned
into dependencies.
* guix/import/crate.scm (mem-crate->guix-package, mem-lookup-crate)
|
|
|
|
| |
* guix/import/crate.scm (crate-version-dependencies): deduplicate dependencies
|
|
|
|
|
|
| |
* guix/import/utils.scm (package-names->package-inputs): Added the ability to
handle (name version) pairs
* guix/import/crate.scm (make-crate-sexp): cleaned up input field generation
|
|
|
|
|
|
|
|
| |
* guix/import/crate.scm (make-crate-sexp): formatting, added '#:skip-build?'
to build system args; added package definition geneation
* guix/import/crate.scm (crate->guix-package): Use semver to resolve the
correct module versions
* tests/crate.scm: added version data to (recursuve-import) test
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a key VERSION to (recursive-import) and move the paramter REPO to a
key. This also changes all the things that rely on (recursive-import)
* guix/import/utils.scm (package->definition): added optional `append-version?`
* guix/import/utils.scm (recursive-import): added key `version` and
moved `repo` to be a key
* guix/import/cran.scm (cran->guix-package): change `repo` to a key
* guix/import/cran.scm (cran-recursive-import): change `repo` to a key
* guix/scripts/import/cran.scm: change `repo` to a key
* guix/import/elpa.scm (elpa->guix-pakcage): change `repo` to a key
* guix/import/elpa.scm (elpa-recursive-import): change `repo` to a key
* guix/scripts/import/elpa.scm: change `repo` to a key
* guix/import/gem.scm (gem->guix-package): change `repo` to a key
* guix/import/gem.scm (recursive-import): change `repo` to a key
* guix/import/opam.scm (opam-recurive-import): change `repo` to a key
* guix/import/pypi.scm (pypi-recursive-import): change `repo` to a key
* guix/import/stackage.scm (stackage-recursive-import): change `repo` to a key
|
|
|
|
|
|
| |
* guix/licenses.scm (unicode): New variable.
Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
|
|
|
|
|
|
| |
* gnu/packages/game-development.scm (allegro-4, allegro)[home-page]:
Use HTTPS.
* guix/licenses.scm (giftware): Likewise.
|
|
|
|
|
|
|
|
|
| |
* guix/build/cargo-build-system.scm (configure): Add environment
variables to use system libgit2 and libssh2.
* gnu/packages/crates-io.scm (rust-libgit2-sys-0.10,
rust-libssh2-sys-0.2)[arguments]: Remove LIBGIT2 and LIBSSH2 environment
variable settings.
* gnu/packages/rust-apps.scm (tokei)[arguments]: Same.
|
|
|
|
|
| |
* guix/build/cargo-build-system.scm (crate-src?): Don't check for a
gzipped tarball, just make sure it's not a directory.
|
|
|
|
|
| |
* guix/build-system/ocaml.scm (package-with-explicit-ocaml): Take a dune
argument and add it to transformed packages when relevant.
|
|
|
|
|
|
|
|
|
| |
On "guix build libreoffice -nd", this reduces the number of read(2)
system calls from 10,434 to 8092.
* guix/serialization.scm (sub-bytevector): New procedure.
(read-byte-string): Make a single 'get-bytevector-n*' call and use
'sub-bytevector'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids an 'lstat' storm. Specifically:
./pre-inst-env strace -c guix build -nd libreoffice
goes from 1,711 to 214 'lstat' calls.
* guix/scripts/build.scm (options->things-to-build): When SPEC matches
'derivation-path?', call 'canonicalize-path'.
(guix-build): Remove 'with-fluids' for %FILE-PORT-NAME-CANONICALIZATION.
* guix/scripts/archive.scm (guix-archive): Remove 'with-fluids' for
%FILE-PORT-NAME-CANONICALIZATION.
* guix/scripts/graph.scm (guix-graph): Likewise.
|
|
|
|
|
|
|
|
|
|
| |
On Guile 3, with, say, an error in ~/.guile, we'd get:
$ guix repl
guix repl: error: Unbound variable: ~S
* guix/ui.scm (call-with-error-handling): Add
'&exception-with-kind-and-args' case.
|
|
|
|
|
|
|
| |
* guix/self.scm (specification->package): Return the "guile3.0-"
variants.
(guix-derivation): Change 'guile' to (specification->package "guile").
Pass "3.0" as #:guile-version.
|
|
|
|
|
|
|
|
|
| |
Previously the first argument to 'find' would show up high in profiles
of 'package-derivation'. This speeds things up a big, especially on
Guile 3.
* guix/derivations.scm (coalesce-duplicate-inputs)[find]: New
procedure.
|
|
|
|
|
|
|
|
| |
This is a followup to fed36328129def5f10b1d1f3e4ea8886916fd22a.
* guix/build/compile.scm: Remove exports of '%lightweight-optimizations'
and '%default-optimizations'.
* guix/self.scm: Remove unused (guix build compile) module.
|
|
|
|
|
|
|
| |
* guix/build-system/guix.scm (package-with-ocaml4.01)
(strip-ocaml4.01-variant): Rename to...
(package-with-ocaml4.07, strip-ocaml4.07-variant): ... this and rename
internal implementation.
|
|
|
|
|
|
|
|
|
| |
Fixes <https://bugs.gnu.org/39194>.
Reported by Matt Wette <matt.wette@gmail.com>.
* guix/scripts/package.scm (build-and-use-profile): Move
'ensure-default-profile' call to...
(process-actions): ... here.
|
|
|
|
|
|
|
|
| |
Reported by Matt Wette <matt.wette@gmail.com>
in <https://bugs.gnu.org/39194>.
* guix/build/syscalls.scm (call-with-file-lock/no-wait): When
re-throwing, pass KEY in addition to ARGS.
|
|
|
|
|
|
| |
* guix/scripts/repl.scm: Remove imports of (guix scripts build), (gnu
packages), (guix utils), and (guix packages).
(%options): Define "--load-path" option right here.
|
|
|
|
| |
* guix/scripts/repl.scm (show-help): Adjust "--listen" string.
|
|
|
|
|
| |
* guix/scripts/repl.scm (%options, show-help): Add "-q".
(guix-repl): Add 'user-config' and use it. Honor 'ignore-dot-guile?'.
|
|
|
|
| |
* guix/scripts/refresh.scm (%option): Fix internal variable name.
|
|
|
|
|
| |
* guix/ui.scm (last-frame-with-source): Check whether FRAME corresponds
to 'raise-exception' and skip it if it does.
|
|
|
|
|
|
|
|
| |
* guix/import/texlive.scm (fetch-sxml, sxml->package): Export.
* tests/texlive.scm <top level>: Call '%http-server-port'.
("fetch-sxml: returns SXML for valid XML"): Use 'with-http-server' and
set 'current-http-proxy' instead of using 'mock'.
("sxml->package"): Remove use of '@@'.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* guix/import/opam.scm (string-pat, multiline-string, list-pat)
(dict, condition): Export.
(opam-fetch): Add optional 'repository' parameter.
(opam->guix-package): Add #:repository parameter and pass it to
'opam-fetch'.
* tests/opam.scm ("opam->guix-package"): Remove use of 'mock' and pass
TEST-REPO to 'opam->guix-package' instead.
("parse-strings", "parse-multiline-strings")
("parse-lists", "parse-dicts", "parse-conditions"): Remove uses of '@@',
which are no longer needed.
|
|
|
|
|
|
| |
* guix/lint.scm (check-vulnerabilities): Add 'package-vulnerabilities'
optional parameter.
* tests/lint.scm ("cve: one vulnerability"): Use it instead of 'mock'.
|
|
|
|
|
|
|
|
|
| |
This makes sure the "derivation: invalid arguments" test passes on
Guile 3.0.0. Without this change, the lint warning would only include
the format string instead of the key and arguments.
* guix/lint.scm (exception-with-kind-and-args?): New procedure.
(check-derivation): Use it.
|
|
|
|
|
|
|
|
|
|
|
| |
* guix/import/elpa.scm (elpa-url): Add 'gnu/http'.
(elpa->guix-package): Handle it.
* tests/elpa.scm (elpa-package-info-mock, auctex-readme-mock)
(elpa-version->string, package-source-url, ensure-list)
(package-home-page, make-elpa-package): Remove.
<top level>: Call '%http-server-port'.
(eval-test-with-elpa): Remove uses of 'mock'. Use 'with-http-server'
and parameterize 'current-http-proxy' instead.
|
|
|
|
|
|
|
| |
* guix/import/cran.scm (description->alist, description->package): Export.
<top level>: Set! 'listify'.
* tests/cran.scm (description-alist, "description->package"): Remove use
of '@@' to access the relevant bindings.
|
|
|
|
|
| |
* guix/import/crate.scm (string->license): Export.
* tests/crate.scm (string->license): Remove.
|
|
|
|
|
|
|
|
| |
* guix/lzlib.scm (%compression-levels): Splice the rest of each element.
(dictionary-size+match-length-limit): New procedure.
(make-lzip-output-port, make-lzip-input-port/compressed): Use it.
* tests/lzlib.scm ("Bytevector of size relative to Lzip internal buffers (2 * dictionary)"):
Use 'dictionary-size+match-length-limit' instead of 'assoc-ref'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously users would just see:
error: invalid field specifier
without source location or hints.
* guix/records.scm (expand): Add optional 'parent-form' parameter and
pass it to 'syntax-violation' when it is true.
(make-syntactic-constructor): Pass S as a third argument to
'report-invalid-field-specifier'.
* guix/ui.scm (report-load-error): For 'syntax-error', show SUBFORM or
FORM in the message.
* tests/records.scm ("define-record-type* & wrong field specifier"): Add
a 'subform' parameter and adjust test accordingly.
("define-record-type* & wrong field specifier, identifier"): New test.
* tests/guix-system.sh: Add test.
|
|
|
|
|
|
|
|
| |
* guix/scripts/package.scm (transaction-upgrade-entry): Add 'store'
parameter and use it instead of (%store). Export.
* tests/packages.scm ("transaction-upgrade-entry, zero upgrades")
("transaction-upgrade-entry, one upgrade")
("transaction-upgrade-entry, superseded package"): Adjust accordingly.
|
|
|
|
|
|
| |
* guix/scripts/publish.scm (signed-string): Export and improve docstring.
* tests/publish.scm ("/*.narinfo")
("/*.narinfo with properly encoded '+' sign"): Adjust accordingly.
|
|
|
|
| |
* guix/scripts/repl.scm: (show-help): Add '--listen' option message.
|
|
|
|
|
| |
* guix/scripts/repl.scm (%option): Add '--load-path' option.
* doc/guix.texi: Document it.
|
|
|
|
|
| |
* guix/scripts/edit.scm (%option): Add '--load-path' option.
* doc/guix.texi: Document it.
|
|
|
|
|
| |
* guix/scripts/refresh.scm (%option): Add '--load-path' option.
* doc/guix.texi: Document it.
|
|
|
|
|
| |
* guix/scripts/size.scm (%option): Add '--load-path' option.
* doc/guix.texi: Document it.
|
|
|
|
|
|
| |
* guix/scripts/graph.scm (%option): Add '--load-path' option.
* doc/guix.texi: Document it.
* tests/guix-graph.sh: Test it.
|
|
|
|
|
|
| |
* guix/build/clojure-utils.scm (%doc-regex): Avoid @@, which doesn't
work on Guile 3.
(file-sans-extension): Likewise.
|
|
|
|
|
| |
* guix/serialization.scm (dump): Export as 'dump-port*'.
* guix/scripts/challenge.scm (dump-port*): Remove.
|
|
|
|
|
|
|
| |
* guix/import/cpan.scm (%metacpan-base-url): New variable.
(module->dist-name, cpan-fetch): Refer to it instead of the hard-coded URL.
* tests/cpan.scm ("cpan->guix-package"): Use 'with-http-server' instead
of 'mock'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* guix/import/cpan.scm (<cpan-dependency>, <cpan-release>): New
JSON-mapped record types.
(metacpan-url->mirror-url): New procedure.
(cpan-source-url): Rewrite in terms of it.
(cpan-version): Remove.
(cpan-module->sexp): Rewrite to take a <cpan-release> instead of an
alist, and rename 'meta' to 'release'.
[convert-inputs]: Rewrite to use 'cpan-release-dependencies'.
Update calls to 'convert-inputs' to pass a list of symbols.
Replace 'assoc-ref' calls with the appropriate field accessors.
(cpan->guix-package): Rename 'module-meta' to 'release'.
(latest-release): Likewise, and use the appropriate accessors.
* tests/cpan.scm (test-json): Remove "prereqs" record; add "dependency"
list.
("source-url-http", "source-url-https"): Remove.
("metacpan-url->mirror-url, http")
("metacpan-url->mirror-url, https"): New tests.
|
|
|
|
|
|
|
|
| |
This is a followup to 7a0836cffdfe3ab9ee899602f218277646959144.
* guix/scripts/package.scm: Adjust binding list of the (guix store roots)
autoload.
* guix/inferior.scm: Adjust binding list of the (guix cache) autoload.
|
|
|
|
|
|
|
|
|
| |
On Guile 3, importing (guix build utils) leads to warnings such as:
WARNING: (gnu packages embedded): imported module (guix build utils) overrides core binding `delete'
* gnu/packages/embedded.scm: Select 'alist-replace' from (guix build utils).
* guix/ui.scm: Hide 'delete' from (guix build utils).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes <https://bugs.gnu.org/39090>.
Reported by Gábor Boskovits <boskovits@gmail.com>.
Fixes a regression introduced in 9e3f9ac3c00906f5bc647ea8398e4ed5a370614e.
* guix/scripts/substitute.scm (http-multiple-get): In the "Connection: close"
case, pass (drop requests (+ 1 processed)) to 'loop' as the remaining
REQUESTS value.
Previously, we would pass a list containing duplicates, and thus the
final result would also contain duplicates. When sent to the daemon,
that list would lead to a daemon error:
got unexpected path `/gnu/store/…' from substituter
|