summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
...
* self: Factorize package dependency enumeration.Ludovic Courtès2020-12-03
| | | | | * guix/self.scm (transitive-package-dependencies): New procedure. (compiled-guix)[dependencies]: Use it.
* gnu: guile-semver: Switch to Guile 3.0.Ludovic Courtès2020-12-03
| | | | | | * gnu/packages/guile-xyz.scm (guile-semver)[inputs]: Use GUILE-3.0. (guile3.0-semver): Define in terms of 'deprecated-package'. (guile2.2-semver): New variable.
* import: crate: Use existing package satisfying semver requirement.Hartmut Goebel2020-12-02
| | | | | | | | | | | | | | | | | | | | If a package satisfying the dependency's semver requirement already exists, use it. Prior to this change the highest version matching the semver requirement was used (and imported in case it was not defined as package already). When resolving a dependency (now done in `sort-map-dependencies`), first search for a package matching the semver requirement and only if this fails reach out for a crate. * guix/import/crate.scm (crate->guix-package)[find-package-version]: New function. [dependency-name+version]: New function. [sort-map-dependencies]: Use it instead of lambda function. * tests/crate.scm (test-doctool-crate, test-doctool-dependencies): New variables. ("self-test …", "cargo-recursive-import-hoors-existing-packages"): New tests.
* import: crate: Trim version for names after left-most non-zero part.Hartmut Goebel2020-12-02
| | | | | | | | | | | | | | This complies to how versions are matched for caret requirements in crates: An update is allowed if the new version number does not modify the left-most non-zero digit in the major, minor, patch grouping. * guix/import/crate.scm (version->semver-prefix): New function. (make-crate-sexp)[format-inputs]: Use it. (make-crate-sexp): Use it to pass shorter version to package->definition. * guix/import/utils.scm (package->definition): Change optional parameter APPEND-VERSION? into APPEND-VERSION?/STRING. If it is a string, append its value to name. * tests/crate.scm: Adjust tests accordingly.
* import: utils: Trim patch version from names.Hartmut Goebel2020-12-02
| | | | | | | | | This remove the patch version from generated package names. For example 'rust-my-crate-1.1.2' now becomes 'rust-my-crate-1.1'. * guix/import/utils.scm (package->definition): Trim patch version from generated package names. * tests/crate.scm: (cargo>guix-package, cargo-recursive-import): Likewise.
* import: crate: Parameterized importing of dev dependencies.Martin Becze2020-12-02
| | | | | | | | | | | | The recursive crate importer will now include development dependencies only for the top level package, but not for any of the recursively imported packages. Also #:skip-build will be false for the top-most package. * guix/import/crate.scm (make-crate-sexp): Add the key BUILD?. (crate->guix-package): Add the key INCLUDE-DEV-DEPS?. (crate-recursive-import): Likewise. * guix/scripts/import/crate.scm (guix-import-crate): Likewise. * tests/crate.scm (cargo-recursive-import): Likewise.
* import: crate: Memorize crate->guix-package.Martin Becze2020-12-02
| | | | | | | | | | | | This adds memorization to procedures that involve network lookups. 'lookup-crate*' is used on every dependency of a package to get its version list. It is also used to lookup a package's metadata. 'crate-recursive-import' is also memorized since creating the same package twice will trigger a lookup on its dependencies. * guix/import/crate.scm (lookup-crate*): New procedure. (crate->guix-package): Memorize package metadata lookups. (crate-recursive-import): Memorize package creation.
* import: crate: Use guile-semver to resolve module versions.Martin Becze2020-12-02
| | | | | | | | | | | | | | | | | | * guix/import/crate.scm: Add guile-semver as a soft dependency. (make-crate-sexp): Don't allow other keys. Add '#:skip-build?' to build system args. Pass a VERSION argument to 'cargo-inputs'. (crate->guix-package): Use guile-semver to resolve the correct module versions. Treat "build" dependencies as normal dependencies. (crate-name->package-name): Reuse the procedure 'guix-name' instead of duplicating its logic. * guix/import/utils.scm (package-names->package-inputs): Implement handling of (name version) pairs. * guix/scripts/import/crate.scm (guix-import-crate): Use crate-recursive-import instead of duplicate code. * tests/crate.scm (recursive-import): Change test packages versions to be distinguishable. Add version data to the test. Check created symbols, too. Co-authored-by: Hartmut Goebel <h.goebel@crazy-compilers.com>
* import: utils: 'recursive-import' accepts an optional version parameter.Martin Becze2020-12-02
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds a key VERSION to 'recursive-import' and moves the parameter REPO to a key. This also changes all the places that rely on 'recursive-import'. * guix/import/utils.scm (recursive-import): Add the VERSION key. Make REPO a key. (package->definition): Add optional 'append-version?'. * guix/scripts/import/crate.scm (guix-import-crate): Add the VERSION key. * guix/import/crate.scm (crate->guix-package): Add the VERSION key. (crate-recursive-import): Pass VERSION to recursive-import, remove now unnecessary code. * guix/import/cran.scm (cran->guix-package, cran-recursive-import): Change the REPO parameter to a key. * guix/import/elpa.scm (elpa->guix-package, elpa-recursive-import): Likewise. * guix/import/gem.scm (gem->guix-package, recursive-import): Likewise. * guix/import/opam.scm (opam-recurive-import): Likewise. * guix/import/pypi.scm (pypi-recursive-import): Likewise. * guix/import/stackage.scm (stackage-recursive-import): Likewise. * guix/scripts/import/cran.scm (guix-import-cran): Likewise. * guix/scripts/import/elpa.scm (guix-import-elpa): Likewise. * tests/elpa.scm (eval-test-with-elpa): Likewise. * tests/import-utils.scm (recursive-import): Likewise. Co-authored-by: Hartmut Goebel <h.goebel@crazy-compilers.com>
* guix: self: Add guile-semver as a depenedency.Martin Becze2020-12-02
| | | | * guix/self.scm (compiled-guix): Add guile-semver as a depenedency.
* upgrade: Allow several regexps.zimoun2020-12-01
| | | | | | | | | | Fixes <https://bugs.gnu.org/44928>. Reported by Luis Felipe <luis.felipe.la@protonmail.com>. * guix/scripts/upgrade.scm (guix-upgrade): Allow several regexps and remove "extraneous arguement" check. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* processes: Add '--format' and the "normalized" format.John Soo2020-11-29
| | | | | | | | | | | | | | | | | | | * guix/scripts/processes.scm (lock->recutils): New procedure. (daemon-session->recutils): Use it. (daemon-sessions->recutils, session-key->recutils) (session-scalars->normalized-record) (child-process->normalized-record) (daemon-sessions->normalized-record): New procedures. (session-rec-type, lock-rec-type, child-process-rec-type) (%available-formats): New variables. (list-formats): New procedure. (%options, show-help): Add '--format'. (%default-options): New variable. (guix-processes): Use 'parse-command-line' instead of 'args-fold*'. Honor the 'format' value in OPTIONS. * doc/guix.texi (Invoking guix processes): Document '--format'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* processes: Put ChildProcess and ChildPID on separate lines.John Soo2020-11-29
| | | | | | | | | * guix/scripts/processes.scm (daemon-session->recutils): Put child process information in separate fields. * doc/guix.texi (Invoking guix processes): Document change in output of 'guix processes'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* Make "guile-avahi" dependency optional.Mathieu Othacehe2020-11-29
| | | | | | | | * configure.ac (HAVE_GUILE_AVAHI): New conditional. * Makefile.am (MODULES): Add "guix/avahi.scm" and "guix/scripts/discover.scm" if HAVE_GUILE_AVAHI is set. * guix/scripts/publish.scm: Autoload (guix avahi). * guix/scripts/substitute.scm: Autoload (guix scripts discovery).
* self: Fix guile-avahi lookup.Mathieu Othacehe2020-11-29
| | | | | | | This is a follow-up of 375cc7dea20da7117c9459e4a4d15144095e015b. * guix/self.scm (specification->package): Search for "guile-avahi" in (gnu package guile-xyz).
* Use substitute servers on the local network.Mathieu Othacehe2020-11-29
| | | | | | | | | | | | | | | * guix/scripts/discover.scm: New file. * Makefile.am (MODULES): Add it. * nix/nix-daemon/guix-daemon.cc (options): Add "discover" option, (parse-opt): parse it, (main): start "guix discover" process when the option is set. * guix/scripts/substitute.scm (%local-substitute-urls): New variable, (substitute-urls): add it. * gnu/services/base.scm (<guix-configuration>): Add "discover?" field, (guix-shepherd-service): honor it. * doc/guix.texi (Invoking guix-daemon): Document "discover" option, (Base Services): ditto.
* publish: Add advertising support.Mathieu Othacehe2020-11-29
| | | | | | | | | | | | | * guix/scripts/publish.scm (%options): Add "--advertise" option. (show-help): Document it. (service-name): New procedure, (publish-service-type): new variable. (run-publish-server): Add "advertise?" and "port" parameters. Use them to publish the server using Avahi. (guix-publish): Pass the "advertise?" option to "run-publish-server". * gnu/services/base.scm (<guix-publish-configuration>): Add "advertise?" field. (guix-publish-shepherd-service): Honor it.
* Add Avahi support.Mathieu Othacehe2020-11-29
| | | | | | | | | | | | * guix/avahi.scm: New file. * Makefile.am (MODULES): Add it. * configure.ac: Add Guile-Avahi dependency. * doc/guix.texi (Requirements): Document it. * gnu/packages/package-management.scm (guix)[native-inputs]: Add "guile-avahi", [propagated-inputs]: ditto. * guix/self.scm (specification->package): Add guile-avahi. (compiled-guix): Ditto.
* Merge branch 'staging'Marius Bakke2020-11-28
|\
| * Merge branch 'master' into stagingMarius Bakke2020-11-26
| |\
| * \ Merge branch 'master' into stagingMarius Bakke2020-11-26
| |\ \
| * \ \ Merge branch 'master' into stagingMarius Bakke2020-11-23
| |\ \ \
| * \ \ \ Merge branch 'master' into stagingMarius Bakke2020-11-22
| |\ \ \ \
| * | | | | build-system/cargo: Do not pass --features to Cargo unless specified.Marius Bakke2020-11-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/44692>. * guix/build/cargo-build-system.scm (build): Default to the empty list for FEATURES. Check whether the list is empty when building the Cargo arguments.
| * | | | | Merge branch 'master' into stagingMarius Bakke2020-11-19
| |\ \ \ \ \
| * \ \ \ \ \ Merge branch 'master' into stagingMarius Bakke2020-11-15
| |\ \ \ \ \ \
| * \ \ \ \ \ \ Merge branch 'master' into stagingMarius Bakke2020-11-11
| |\ \ \ \ \ \ \
| * \ \ \ \ \ \ \ Merge branch 'master' into stagingMarius Bakke2020-11-07
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: gnu/local.mk gnu/packages/gdb.scm gnu/packages/lisp-xyz.scm gnu/packages/web-browsers.scm
| * \ \ \ \ \ \ \ \ Merge branch 'master' into stagingMarius Bakke2020-10-19
| |\ \ \ \ \ \ \ \ \
| * | | | | | | | | | build-system/haskell: Disable parallel builds.zimoun2020-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/43843>. * guix/build-system/haskell.scm (haskell-build): Turn off PARALLEL-BUILD? by default. Signed-off-by: Marius Bakke <marius@gnu.org>
| * | | | | | | | | | Merge branch 'master' into stagingMarius Bakke2020-10-13
| |\ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into stagingGuillaume Le Vaillant2020-10-05
| |\ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ Merge branch 'staging' into wip-lispGuillaume Le Vaillant2020-09-23
| |\ \ \ \ \ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ \ \ \ Merge remote-tracking branch 'origin/master' into stagingEfraim Flashner2020-09-05
| | |\ \ \ \ \ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into stagingMarius Bakke2020-07-24
| | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | | | | build/cargo-utils: Use all allocated threads to generate checksums.Efraim Flashner2020-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/cargo-utils.scm (generate-all-checksums): Use n-par-for-each instead of for-each when regenerating checksums for source crates.
| * | | | | | | | | | | | | | | build-system: asdf: Improve install phase for CL source packages.Guillaume Le Vaillant2020-09-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/asdf-build-system.scm (install)[parent-source]: Add support for package names not containing a hyphen.
| * | | | | | | | | | | | | | | build-system: asdf: Read all .asd files if no #:asd-files specified.Guillaume Le Vaillant2020-09-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build-system/asdf.scm (asdf-build): Remove the 'files' variable. * guix/build/asd-build-system.scm (find-asd-files): New variable. (build, check): Use it.
| * | | | | | | | | | | | | | | build-system: asdf: Switch from bundles to regular compilation.Guillaume Le Vaillant2020-09-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/packages/lisp.scm (sbcl, ecl)[native-search-paths]: Add 'XDG_CONFIG_DIRS'. * guix/build-system/asdf.scm (asdf-build): Replace 'asd-file' and 'asd-system-name' keywords by 'asd-files' and 'asd-systems'. * guix/build/asdf-build-system.scm (%object-prefix, %lisp-source-install-prefix): Update variables. (install): Update variable. (main-system-name): New variable. (copy-source): Replace 'asd-file' and 'asd-system-name' keywords by 'asd-files' and 'asd-systems'. (configure): New variable. (build, check): Replace 'asd-file' and 'asd-system-name' keywords by 'asd-files' and 'asd-systems'. (create-asd-file, symlink-asd-files): Remove variables. (create-asdf-configuration): New variable. (cleanup-files): Update variable. (%standard-phases): Remove 'create-asd-file' and 'symlink-asd-files' phases. Add 'configure' and 'create-asdf-configuration' phases. * guix/build/lisp-utils.scm (%bundle-install-prefix, normalize-dependency, inputs->asd-file-map, asdf-load-all, compile-system): Remove variables. (compile-systems): New variable. (system-dependencies, compiled-system, generate-system-definition): Remove variable. (test-system): Replace 'asd-file' parameter by 'asd-files'. (generate-executable-for-system): Update variable. (generate-dependency-links, make-asd-file, bundle-asd-file): Remove variables. (make-asdf-configuration): New variable. (build-program, build-image): Set 'XDG_CONFIG_DIRS'. (generate-executable): Update variable.
* | | | | | | | | | | | | | | | channels: Expose the default channel in %default-channel.Zhu Zihao2020-11-28
| |_|_|_|_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/channels(%default-guix-channel): New variable taken from the inner of %default-channels. (%default-channels): Refactored. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | | | | | | | | | | | | | | deploy: Let key-and-args exceptions through.Ludovic Courtès2020-11-26
| |_|_|_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/44825>. Reported by Christopher Lemmer Webber <cwebber@dustycloud.org>. * guix/ui.scm (guard*): Export. * guix/scripts/deploy.scm (deploy-machine*): Use 'guard*' instead of 'guard'. Add '&exception-with-kind-and-args' case.
* | | | | | | | | | | | | | weather: Fix '--substitute-urls'.zimoun2020-11-25
| |_|_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/44574>. Reported by Efraim Flashner <efraim@flashner.co.il>. * guix/scripts/weather.scm (guix-weather): Fix when substitute-urls is a list. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* | | | | | | | | | | | | store: Fix ensure-path docstring.Mathieu Othacehe2020-11-23
| |_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suggested by Ludovic Courtès. * guix/store.scm (ensure-path): Fix the docstring.
* | | | | | | | | | | | build-system/cargo: Set gettext environment variable when available.Efraim Flashner2020-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/cargo-build-system.scm (configure): When gettext is available in the build environment set the GETTEXT_SYSTEM variable. * gnu/packages/crates-io.scm (rust-gettext-rs-0.5, rust-gettext-rs-0.4, rust-gettext-sys-0.19)[arguments]: Remove phase to help find system gettext.
* | | | | | | | | | | | build-system/cargo: Set libclang environment variable when available.Efraim Flashner2020-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/cargo-build-system.scm (configure): When clang is available in the build environment set the LIBCLANG_PATH variable. * gnu/packages/crates-graphics.scm (rust-aom-sys-0.1, uust-dav1d-sys-0.3), * gnu/packages/crates-io.scm (rust-bindgen-0.55, rust-bindgen-0.54, rust-bindgen-0.53, rust-bindgen-0.52, rust-cexpr-0.4, rust-cexpr-0.3, rust-cexpr-0.2, rust-clang-sys-1, rust-clang-sys-0.29, rust-clang-sys-0.26, rust-clang-sys-0.22, rust-clang-sys-0.11, rust-libpijul-0.12, rust-nettle-7, rust-nettle-sys-2, rust-sequoia-openpgp-0.9)[arguments]: Remove phases which set an environment variable to find clang. [inputs]: Rename instances of libclang with clang.
* | | | | | | | | | | | build-system/cargo: Set openssl environment variable when available.Efraim Flashner2020-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/cargo-build-system.scm (configure): When openssl is available set the OPENSSL_DIR variable to discover its location. * gnu/packages/crates-io.scm (rust-curl-sys-0.4, rust-libgit2-sys-0.10, rust-libpijul-0.12, rust-libssh2-sys-0.2, rust-native-tls-0.2, rust-openssl-sys-0.9, rust-openssl-0.7, rust-trust-dns-rustls-0.6), * gnu/packages/rust-apps.scm (tokei, exa)[arguments]: Remove redundant setenv for openssl.
* | | | | | | | | | | | scripts: publish: Export procedures.Mathieu Othacehe2020-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/publish.scm (open-server-socket, run-publish-server): Export those procedures. (%default-gzip-compression): Export it.
* | | | | | | | | | | | guix: store: Add ensure-path.Mathieu Othacehe2020-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/store.scm (ensure-path): New procedure.
* | | | | | | | | | | | linux-initrd: Add special-file->cpio-header*.Danny Milosavljevic2020-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/cpio.scm (special-file->cpio-header*): New public procedure.
* | | | | | | | | | | | linux-initrd: Handle 'block-special and 'char-special cpio headers as well.Danny Milosavljevic2020-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/cpio.scm (make-cpio-header): Handle size correctly for all file types. (mode->type): Add 'block-special, 'char-special.