summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* self: Move core (guix script ...) modules to a separate derivation.Ludovic Courtès2021-10-13
| | | | | | | | | This adds an opportunity for parallelism and reduces the amount of rebuild needed when "secondary" modules are modified. * guix/self.scm (compiled-guix)[*core-cli-modules*]: New variable. [*cli-modules*]: Depend on it. [built-modules]: Likewise.
* gnu: Add platform support.Mathieu Othacehe2021-10-11
| | | | | | | | | * gnu/platform.scm: New file. * gnu/platforms/arm.scm: Ditto. * gnu/platforms/hurd.scm: Ditto. * gnu/local.mk (GNU_SYSTEM_MODULES): Add them. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* home: services: configuration: Support file-like objects.Oleg Pykhalov2021-10-09
| | | | | | | | | | | | | | | | | * gnu/home/services/configuration.scm (interpose): Operate only with file-like objects. (string-or-gexp?): Delete procedure. (serialize-string-or-gexp): Rename to 'serialize-file-like'. (text-config?): Call 'file-like' intead of 'string-or-gexp?'. * guix/scripts/home/import.scm: (generate-bash-module+configuration): Don't call slurp-file-gexp. * gnu/home/services/configuration.scm: Move content ... * gnu/services/configuration.scm: here. * gnu/home/services/shells.scm: Delete (gnu home services configuration). * gnu/home/services/xdg.scm: Same. * gnu/local.mk: Same. * tests/guix-home.sh: Test home-bash-service-type and extension with home-bash-extension.
* scripts: home: Make sure profile directory exists.Oleg Pykhalov2021-10-09
| | | | * guix/scripts/home.scm (process-action): Make sure profile directory exists.
* Move (gnu home-services) to (gnu home services).Oleg Pykhalov2021-10-09
| | | | | | | | | | | | | | | | | | | * gnu/home-services.scm (%guix-home-root-directory): Replace gnu/home-services.scm with "gnu/home/services.scm". Rename to gnu/home/services.scm. * gnu/local.mk (GNU_SYSTEM_MODULES): Rename gnu/home-services.scm to gnu/home/services.scm. * doc/he-config-bare-bones.scm: Replace (gnu home-services) with (gnu home services). * gnu/home.scm: Same. * gnu/home/services/fontutils.scm: Same. * gnu/home/services/mcron.scm: Same. * gnu/home/services/shells.scm: Same. * gnu/home/services/shepherd.scm: Same. * gnu/home/services/symlink-manager.scm: Same. * gnu/home/services/xdg.scm: Same. * guix/scripts/home.scm: Same. * guix/self.scm: Same.
* Revert the #51061 patch series for now.Tobias Geerinckx-Rice2021-10-08
| | | | | | | This reverts commits f63c79bf7674df012517f8e9148f94c611e35f32 ..f86f7e24b39928247729020df0134e2e1c4cde62 for more chillax reviewing. See <https://issues.guix.gnu.org/51061#32>.
* guix: self: Fix home modules in compiled-guix.Oleg Pykhalov2021-10-08
| | | | | | This commit follows ba8ddb348045f81f061a1c7f51c0f7c2b0024e71. * guix/self.scm (compiled-guix): Update home modules location.
* gnu: Move (gnu home-services) to (gnu home services).Oleg Pykhalov2021-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/home-services/configuration.scm: Move the content ... * gnu/home/services/configuration.scm: ... here. * doc/guix.texi: Replace (gnu home-services mcron) with (gnu home services mcron). Replace (gnu home-services) with (gnu home services). * gnu/home.scm: Replace (gnu home-services fontutils) with (gnu services fontutils). Replace (gnu home-services shells) with (gnu home services shells). Replace (gnu home-services symlink-manager) with (gnu home services symlink-manager). Replace (gnu home-services xdg) with (gnu home services xdg). * gnu/home-services/fontutils.scm: Rename to gnu/services/fontutils.scm. * gnu/home-services/mcron.scm: Move to gnu/home/services/mcron.scm. Replace (gnu home-services shepherd) with (gnu home services shepherd). * gnu/home-services.scm (%service-type-path): Search home services in "gnu/services". * gnu/home-services/shells.scm: Replace (gnu home-services configuration) with (gnu home services configuration). Rename to gnu/home/services/shells.scm. Replace (gnu home-services utils) with (gnu home services utils). * gnu/home-services/shepherd.scm: Move to gnu/home/services/shepherd.scm. * gnu/home-services/symlink-manager.scm: Rename to gnu/home/services/symlink-manager.scm. * gnu/home-services/utils.scm: Rename to gnu/home/services/utils.scm. * gnu/home-services/xdg.scm: Rename to gnu/home/services/xdg.scm. * guix/scripts/home/import.scm: Replace (gnu home-services bash) with (gnu home services bash). * gnu/home-services.scm: Update documentation string. * doc/he-config-bare-bones.scm: Apply new (gnu home-services ...) modules location. * gnu/local.mk (GNU_SYSTEM_MODULES): Same.
* build-system/haskell: Explain failure.Lars-Dominik Braun2021-10-08
| | | | | | | Provide human-readable failure message and explain how to fix it. * guix/build/haskell-build-system.scm (register): Raise error if source file does not exist.
* import: hackage: Support mirror:// URLsLars-Dominik Braun2021-10-08
| | | | | | * guix/import/hackage.scm (guix-package->hackage-name): Support mirror://-style URI’s. (hackage-package?): Ditto.
* build-system/haskell: Accept line breaks in config files.Lars-Dominik Braun2021-10-08
| | | | | | | | Long id’s will break to the next line. * guix/build/haskell-build-system.scm (grep): Remove. (register): Modify regular expression to account for newlines between key and value, fail if package id is empty.
* build-system/haskell: Do not rely on compiler name.Lars-Dominik Braun2021-10-08
| | | | | | | | | | We’ve been relying on the compiler name matching its package subdir. Since we effectively only support GHC we can hard-code this and avoid issues with “ghc-next”. * guix/build/haskell-build-system.scm (make-ghc-package-database): Use GHC_PACKAGE_PATH. (register): Hard-code ghc prefix.
* import: stackage: Support input changes.Lars-Dominik Braun2021-10-08
| | | | | * guix/import/stackage.scm (latest-lts-release): Rename package to pkg to avoid name conflict and add input-changes.
* import: hackage: Update GHC’s standard libraries.Lars-Dominik Braun2021-10-08
| | | | | * guix/import/hackage.scm (ghc-standard-libraries): Add exceptions library.
* import: stackage: Update %default-lts-version to 18.10.Lars-Dominik Braun2021-10-08
| | | | * guix/import/stackage.scm (%default-lts-version): Update to 18.10.
* guix: haskell-build-system: Always pass -package-db option.John Kehayias2021-10-08
| | | | | | * guix/build/haskell-build-system.scm (run-setuphs): Pass -package-db option. Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
* build-system: Add 'rebar3-build-system'.Hartmut Goebel2021-10-07
| | | | | * guix/build-system/rebar3.scm, guix/build/rebar3-build-system.scm: New files. * Makefile.am (MODULES): Add them.
* import: Add hex.pm importer.Hartmut Goebel2021-10-07
| | | | | | | | | | | | | hex.pm is a package repository for Erlang and Elixir. * guix/scripts/import.scm (importers): Add "hexpm". * guix/scripts/import/hexpm.scm, guix/import/hexpm.scm, guix/hexpm-download.scm: New files. * guix/import/utils.scm (source-spec->object): Add "hexpm-fetch" to list of fetch methods. * guix/upstream.scm (package-update/hexpm-fetch): New function. (%method-updates) Add it. * Makefile.am: Add them.
* Add (guix extracting-download).Hartmut Goebel2021-10-07
| | | | | * guix/extracting-download.scm: New file * Makefile.am (MODULES): Add it.
* import: crate: Gracefully handle missing license info.Ludovic Courtès2021-10-07
| | | | | | | | Fixes <https://issues.guix.gnu.org/51048>. Reported by Michael Zappa <me@michzappa.com>. * guix/import/crate.scm (<crate-version>)[license]: Translate 'null to #f. (make-crate-sexp): Handle LICENSE = #f.
* guix system: Adjust bootloader message to plural "targets".Ludovic Courtès2021-10-07
| | | | | | This is a followup to 2ca982ff41270288913ad6b7d5d9e1cad87b06d9. * guix/scripts/system.scm (install): Adjust message to plural 'targets'.
* download: Honor #:verify-certificate? for SWH downloads.Ludovic Courtès2021-10-07
| | | | | | | | | | | | | | | | | | | Previously, the SWH + Disarchive fallback could fail with: Trying to use Disarchive to assemble /gnu/store/…-ucsim-0.6-pre68.tar.gz... Assembling the directory ucsim-0.6-pre68 Downloading /gnu/store/…-ucsim-0.6-pre68.tar.gz from Software Heritage... X.509 certificate of 'archive.softwareheritage.org' could not be verified: signer-not-found invalid Could not resolve directory reference This will no longer be the case since 'guix perform-download' passes #:verify-certificate? #f. * guix/build/download.scm (disarchive-fetch/any): Parameterize '%verify-swh-certificate?'.
* publish: Defer narinfo string creation to the http-write.Mathieu Othacehe2021-10-05
| | | | | | | | | | | | | | | | | | The "narinfo-string" procedure is expensive in term of IO operations and can take a while under IO pressure, such a GC collecting. Defer its call to a new thread created in the http-write procedure. Fixes: <https://issues.guix.gnu.org/48468> Partially fixes: <https://issues.guix.gnu.org/49089> * guix/scripts/publish.scm (render-narinfo): Defer the narinfo string creation to the http-write procedure. (compression->sexp, sexp->compression): New procedures. ("X-Nar-Compression"): Use them. ("X-Narinfo-Compressions"): New custom header. (strip-headers): Add the x-nar-path header. (http-write): Add narinfo on-the-fly creation support. It happens in a separated thread to prevent blocking the main thread.
* import: go: Recognize major version suffixes.Sarah Morgensen2021-10-04
| | | | | | | | | | | Do not treat major version suffixes (such as "/v3") as repository subdirectories. See <https://golang.org/ref/mod#major-version-suffixes>. * guix/import/go.scm (go-module->guix-package): When determining the unpack path, compare 'root-module-path' to 'module-path-sans-suffix' instead of 'module-path'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* import: go: Handle extra whitespace in "go-import" meta tags.Sarah Morgensen2021-10-04
| | | | | | | | | | | Some packages sites use extra whitespace in the content portion of <meta name="go-import" ...> tags, so handle that. Example: <https://k8s.io/api?go-get=1> * guix/import/go.scm (fetch-module-meta-data)[go-import->module-meta]: Use 'string-tokenize' instead of 'string-split'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* scripts: home: Support dry-run.Efraim Flashner2021-10-04
| | | | * guix/scripts/home.scm (%options): Add option for dry-run.
* scripts: home: Wire and document --expression flag.Pierre Langlois2021-10-02
| | | | | | * guix/scripts/home.scm (show-help): Add --expression option. (%options): Likewise. * doc/guix.texi (Invoking guix home): Document it.
* import/minetest: Define an updater for mods on ContentDB.Maxime Devos2021-10-02
| | | | | | | | | | | | | | | | | | | | | Only detecting updates is currently supported. To actually perform the uppdates, a patch like <https://issues.guix.gnu.org/50072#4> is required. * guix/import/minetest.scm (version-style,minetest-package?,latest-minetest-release): New procedures. (%minetest-updater): New updater. * tests/minetest.scm (upstream-source->sexp,expected-sexp,example-package): New procedure. (test-release,test-no-release): New macro's. ("same version","new version (dotted)","new version (date)") ("new version (git -> dotted)","dotted->date","date->dotted") ("no commit informaton, no new release") ("minetest is not a minetest mod") ("technic is a minetest mod") ("upstream-name is required"): New tests. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* import: stackage: Use the standard diagnostic procedures.Ludovic Courtès2021-10-02
| | | | | | | * guix/import/stackage.scm (leave-with-message): Remove. (stackage-lts-info-fetch): Use 'raise' and 'formatted-message'. (stackage->guix-package): Likewise. (latest-lts-release): Use 'warning' instead of 'format'.
* import: stackage: Use 'define-json-mapping'.Ludovic Courtès2021-10-02
| | | | | | | | | | | | | | | | | * guix/import/stackage.scm (<stackage-lts>, <snapshot>) (<stackage-package>): New record types and JSON mappings. (lts-info-packages, stackage-package-name) (stackage-package-version): Remove. (lts-package-version): Rename 'pkgs-info' to 'packages'; assume 'packages' is a list of <stackage-package>. (stackage->guix-package): Use 'stackage-lts-packages' instead of 'lts-info-packages'. Rename 'packages-info' to 'packages'. (latest-lts-release): Likewise. (stackage-package?): Rename to... (stackage-lts-package?): ... this. Adjust to new API. (%stackage-updater)[pred]: Update accordingly. * tests/lint.scm ("haskell-stackage"): Add "snapshot" entry in JSON snippet.
* build-system: linux-module: Don't explicitly return #t from phases.Tobias Geerinckx-Rice2021-10-01
| | | | * guix/build-system/linux-module.scm (configure): Remove explicit #t return value.
* build-system: linux-module: Build and install in parallel.Tobias Geerinckx-Rice2021-10-01
| | | | | | | | * guix/build-system/linux-module.scm (linux-module-build) (guix/build-system/linux-module.scm): Accept the PARALLEL-BUILD? keyword and pass it on to the builder. * guix/build/linux-module-build-system.scm (build, install): Capture and honour it.
* import: pypi: Honor the 'upstream-name' package property.Xinglu Chen2021-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, when a PyPI package had a “-” followed by one or more digits in its name, e.g., “AV-98”, the importer would interpret “98” as the version of the package and thus mistake the “AV-98” package for the “av” package on PyPI. $ ./pre-inst-env guix refresh av-98 following redirection to `https://pypi.org/pypi/av/json'... /home/yoctocell/src/guix/gnu/packages/web-browsers.scm:914:13: av-98 would be upgraded from 1.0.1 to 8.0.3 Setting the ‘upstream-name’ property to “AV-98” would solve the problem. $ ./pre-inst-env guix refresh av-98 /home/yoctocell/src/guix/gnu/packages/web-browsers.scm:914:13: 1.0.1 is already the latest version of av-98 * guix/import/pypi.scm (guix-package->pypi-name): Honor ‘upstream-name’ property. (make-pypi-sexp): Set ‘upstream-name’ property when appropriate. * tests/pypi.scm (test-json): Rename to ... (test-json-1): ... this. (test-json-2): New variable ("guix-package->pypi-name, honor 'upstream-name'"): New test. ("pypi->guix-package, package name contains \"-\" followed by digits"): Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* discovery: Hide Guile warnings when loading modules.Ludovic Courtès2021-09-30
| | | | | | Fixes <https://issues.guix.gnu.org/43747>. * guix/discovery.scm (scheme-modules): Parameterize 'current-warning-port'.
* packages: Factorize and document 'computed-origin-method'.zimoun2021-09-30
| | | | | | | | | | | | The 'computed-origin-method' had been introduced to work around limitations of the 'snippet' mechanism. The procedure was duplicated, which made it hard to automatically detect packages using it. * guix/packages.scm (computed-origin-method): Move procedure from... * gnu/packages/gnuzilla.scm: ...here and... * gnu/packages/gnuzilla.scm: ...there. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* build-system: linux-module: Normalise the ‘M’ source-directory.Tobias Geerinckx-Rice2021-09-30
| | | | | | | | | | | | | "make modules_install" with an "M=" file name ending in "/." breaks at least rtl8812au-aircrack-ng-linux-module. In general, passing a more human-generated-looking value seems prudent as these are more likely to be tested upstream. * guix/build/linux-module-build-system.scm (build, install): Call CANONICALIZE-PATH on SOURCE-DIRECTORY instead of STRING-APPEND. Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>. as apteryx on #guix
* import: minetest: Fix typos.Tobias Geerinckx-Rice2021-09-28
| | | | | | * guix/import/minetest.scm (elaborate-contentdb-name): Fix ‘ambiguous’ and ‘thes’ typos. * tests/minetest.scm: Likewise for all tests.
* home-services: Add missing imports and function definition.Andrew Tropin2021-09-28
| | | | | | | | | | * gnu/home-services/configuration.scm: Add missing imports. * gnu/home-services/utils.scm (list->human-readable-list): Add new function. * gnu/home-services/configuration.scm: Add missing imports. * gnu/home-services/xdg.scm: Fix ensure-list function. * guix/scripts/home/import.scm: Add missing imports. Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
* Merge branch 'wip-guix-home'Oleg Pykhalov2021-09-27
|\
| * guix: self: Add *home-modules*.Andrew Tropin2021-09-13
| | | | | | | | | | | | * guix/self.scm(*home-modules*): New variable. Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
| * scripts: home: Add import subcommand.Andrew Tropin2021-09-09
| | | | | | | | | | | | | | * guix/scripts/home/import.scm: New file. * Makefile.am (MODULES): Add it. Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
| * scripts: Add 'guix home'.Andrew Tropin2021-09-09
| | | | | | | | | | | | | | * guix/scripts/home.scm: New file. * Makefile.am (MODULES): Add it. Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
* | import: stackage: Don’t try to update packages not available on Stackage.Xinglu Chen2021-09-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the ‘hackage-package?’ predicate was used which meant that the updater would try to update non-Stackage packages, and lead to messages like these: $ guix refresh -t stackage warning: failed to parse https://hackage.haskell.org/package/hurl/hurl.cabal warning: failed to parse https://hackage.haskell.org/package/idris/idris.cabal Since ‘hurl’ and ‘idris’ aren’t available on the current Stackage LTS release, they should be filtered out before the Stackage updater even tries to update them. * stackage.scm (stackage-package?): New procedure. (%stackage-updater): Use it. Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
* | Update copyright assignments for Liliana Marie Prikler.Liliana Marie Prikler2021-09-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/guix.texi: Update copyright name for Liliana Marie Prikler. * gnu/packages/build-tools.scm: Update copyright name and email for Liliana Marie Prikler. * gnu/packages/convmv.scm: Likewise. * gnu/packages/emacs-xyz.scm: Likewise. * gnu/packages/emacs.scm: Likewise. * gnu/packages/esolangs.scm: Likewise. * gnu/packages/game-development.scm: Likewise. * gnu/packages/games.scm: Likewise. * gnu/packages/gnome-xyz.scm: Likewise. * gnu/packages/gnome.scm: Likewise. * gnu/packages/gstreamer.scm: Likewise. * gnu/packages/guile-xyz.scm: Likewise. * gnu/packages/minetest.scm: Likewise. * gnu/packages/music.scm: Likewise. * gnu/packages/patches/minetest-add-MINETEST_MOD_PATH.patch: Likewise. * gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch: Likewise. * gnu/packages/patches/webkitgtk-bind-all-fonts.patch: Likewise. * gnu/packages/python-xyz.scm: Likewise. * gnu/packages/unicode.scm: Likewise. * gnu/packages/xorg.scm: Likewise. * gnu/services/sound.scm: Likewise. * guix/build-system/renpy.scm: Likewise. * guix/build/emacs-utils.scm: Likewise. * guix/build/renpy-build-system.scm: Likewise.
* | syscalls: Deduplicate device number conversion.Tobias Geerinckx-Rice2021-09-23
| | | | | | | | | | | | | | | | | | | | | | * guix/cpio.scm (device-number, device->major+minor): Move to, and subsequently import from, … * guix/build/syscalls.scm (device-number, device-number->major+minor): …here. Note the slight name change. (mounts): Replace 16-bit open code with a DEVICE-NUMBER call. * gnu/build/linux-boot.scm (device-number): Remove duplicate 16-bit implementation in favour of the one above. (resume-if-hibernated): Reuse DEVICE-NUMBER->MAJOR+MINOR.
* | download: Fall back to web.archive.org as a very last resort.Ludovic Courtès2021-09-22
| | | | | | | | | | | | | | | | Suggested by Florian Pelz <pelzflorian@pelzflorian.de>. * guix/build/download.scm (internet-archive-uri): New procedure. (url-fetch): Append it to the list of URIs after CONTENT-ADDRESSED-URIS.
* | graph: Add '--max-depth'.Ludovic Courtès2021-09-21
| | | | | | | | | | | | | | | | | | | | * guix/graph.scm (export-graph): Add #:max-depth and honor it, adding 'depths' argument to 'loop'. * guix/scripts/graph.scm (%options, show-help): Add '--max-depth'. (%default-options): Add 'max-depth'. (guix-graph): Pass #:max-depth to 'export-graph'. * tests/graph.scm ("package DAG, limited depth"): New test. * doc/guix.texi (Invoking guix graph): Document it.
* | base32: Work around (ash x N) miscompilation at '-O1' and below.Ludovic Courtès2021-09-21
| | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/50696>. Reported by Marius Bakke <marius@gnu.org>. * guix/base32.scm (bit-field): Introduce 'minus-start' syntax and use it.
* | git: 'reference-available?' recognizes 'tag-or-commit'.Ludovic Courtès2021-09-18
| | | | | | | | | | * guix/git.scm (reference-available?): Handle 'tag-or-commit' with a 40-digit hex string.
* | git: 'update-cached-checkout' can fall back to SWH when cloning.Ludovic Courtès2021-09-18
| | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/44187>. Reported by zimoun <zimon.toutoune@gmail.com>. * guix/git.scm (GITERR_HTTP): New variable. (clone-from-swh, clone/swh-fallback): New procedures. (update-cached-checkout): Use 'clone/swh-fallback' instead of 'clone*'.