Commit graph

842 commits

Author SHA1 Message Date
Xinglu Chen
40acbaf078
Add tests for ‘guix home import’.
* tests/home-import.scm: New file.
* Makefile.am (SCM_TESTS): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-10-31 00:51:05 +02:00
Ludovic Courtès
80edb7df65
Add 'guix shell'.
* guix/scripts/shell.scm, tests/guix-shell.sh: New files.
* Makefile.am (MODULES): Add 'shell.scm'.
(SH_TESTS): Add 'tests/guix-shell.sh'.
* guix/scripts/environment.scm (show-environment-options-help): New
procedure.
(show-help): Use it.
(guix-environment*): New procedure.
(guix-environment): Use it.
* po/guix/POTFILES.in: Add it.
* doc/guix.texi (Features): Refer to "guix shell"
(Invoking guix package): Likewise.
(Development): Likewise.
(Invoking guix shell): New node.
(Invoking guix environment): Add deprecation warning.
(Debugging Build Failures): Use 'guix shell' in examples.
(Invoking guix container): Refer to 'guix shell'.
(Invoking guix processes, Virtualization Services): Adjust examples to
use 'guix shell'.
* doc/contributing.texi (Building from Git): Refer to 'guix shell'.
* etc/completion/bash/guix: Handle "shell".
2021-10-25 18:58:18 +02:00
Julien Lepiller
0623138ffa
maint: Factorize po xref translation.
This ensures we use the same method in "make" as in "guix/self.scm".

* Makefile.am: Build guix/build/po.scm.
* build-aux/convert-xref.scm: New file.
* doc/local.mk (xref_command): Use it.
* guix/self.scm (translate-cross-references): Move it...
* guix/build/po.scm: Parse comments and flags separately to find fuzzy
flags.
(translate-cross-references): ...here.
(parse-tree->assoc): Ignore fuzzy entries.
2021-10-17 18:26:44 +02:00
Oleg Pykhalov
5e68f7a7b3
tests: Add guix-home.sh.
* tests/guix-home.sh: New file.
* Makefile.am (SH_TESTS): Add this.
2021-10-09 19:24:19 +03:00
Tobias Geerinckx-Rice
a1679b74c9
Revert the #51061 patch series for now.
This reverts commits f63c79bf76
..f86f7e24b39928247729020df0134e2e1c4cde62 for more chillax reviewing.

See <https://issues.guix.gnu.org/51061#32>.
2021-10-08 23:31:34 +02:00
Hartmut Goebel
1660253c3c
build-system: Add 'rebar3-build-system'.
* guix/build-system/rebar3.scm, guix/build/rebar3-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
2021-10-07 22:35:28 +02:00
Hartmut Goebel
d780d0a2bb
import: Add hex.pm importer.
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.
2021-10-07 22:35:28 +02:00
Hartmut Goebel
f63c79bf76
Add (guix extracting-download).
* guix/extracting-download.scm: New file
* Makefile.am (MODULES): Add it.
2021-10-07 22:24:23 +02:00
Oleg Pykhalov
6ae4644984
Merge branch 'wip-guix-home' 2021-09-27 17:27:12 +03:00
Leo Famulari
3db282a161
gnu: linux-libre: Update to 5.14.7.
* gnu/packages/linux.scm (linux-libre-5.13-version,
linux-libre-5.13-gnu-revision, linux-libre-5.13-pristine-source,
linux-libre-5.13-source, linux-libre-headers-5.13, linux-libre-5.13): Remove
variables.
(linux-libre-version, linux-libre-gnu-revision, linux-libre-pristine-source,
linux-libre-source, linux-libre, linux-libre-with-bpf): Use 5.14.
* gnu/packages/aux-files/linux-libre/5.13-arm.conf,
gnu/packages/aux-files/linux-libre/5.13-arm64.conf,
gnu/packages/aux-files/linux-libre/5.13-i686.conf,
gnu/packages/aux-files/linux-libre/5.13-x86_64.conf: Delete files.
* Makefile.am (AUX_FILES): Remove them.
2021-09-22 14:47:56 -04:00
Xinglu Chen
59ee10754e
import: Add 'generic-git' updater.
* guix/git.scm (ls-remote-refs): New procedure.
* tests/git.scm ("remote-refs" "remote-refs: only tags"): New tests.
* guix/import/git.scm: New file.
* doc/guix.texi (Invoking guix refresh): Document it.
* tests/import-git.scm: New test file.
* Makefile.am (MODULES, SCM_TESTS): Register the new files.

Co-authored-by: Sarah Morgensen <iskarian@mgsn.dev>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-09-18 19:37:45 +02:00
Ludovic Courtès
98712c14fe
etc: Add 'disarchive-manifest.scm'.
* etc/disarchive-manifest.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2021-09-14 11:50:58 +02:00
Ludovic Courtès
3b758dd22d
etc: Add 'source-manifest.scm'.
* etc/source-manifest.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2021-09-14 11:50:58 +02:00
Andrew Tropin
879abff4fd
scripts: home: Add import subcommand.
* guix/scripts/home/import.scm: New file.
* Makefile.am (MODULES): Add it.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2021-09-09 20:26:51 +03:00
Andrew Tropin
89e05a6955
scripts: Add 'guix home'.
* guix/scripts/home.scm: New file.
* Makefile.am (MODULES): Add it.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2021-09-09 20:26:51 +03:00
Leo Famulari
8b2b027df9
gnu: Add linux-libre 5.14.1.
* gnu/packages/linux.scm (linux-libre-5.14-version, deblob-scripts-5.14,
linux-libre-5.14-pristine-source, linux-libre-5.14-source,
linux-libre-headers-5.14, linux-libre-5.14): New variables.
* gnu/packages/aux-files/linux-libre/5.14-arm.conf,
gnu/packages/aux-files/linux-libre/5.14-arm64.conf,
gnu/packages/aux-files/linux-libre/5.14-i686.conf,
gnu/packages/aux-files/linux-libre/5.14-x86_64.conf: New files.
* Makefile.am (AUX_FILES): Add them.
2021-09-06 22:27:43 -04:00
Maxim Cournoyer
0f853ab773
build: Distribute tests/go.scm even when the host lacks guile-lib.
This is a follow-up commit to 38d337a5b7.

* Makefile.am (EXTRA_DIST)[!HAVE_GUILE_LIB]: Add tests/go.scm.

Reported-by: Chris Marusich <cmmarusich@gmail.com>
2021-08-27 14:59:21 -04:00
Maxime Devos
467e874a86
guix: Add ContentDB importer.
* guix/import/contentdb.scm: New file.
* guix/scripts/import/contentdb.scm: New file.
* tests/contentdb.scm: New file.
* Makefile.am (MODULES, SCM_TESTS): Register them.
* po/guix/POTFILES.in: Likewise.
* doc/guix.texi (Invoking guix import): Document it.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
2021-08-20 12:41:54 +02:00
Maxime Devos
3df485152c
build-system: Add 'minetest-mod-build-system'.
* guix/build-system/minetest.scm: New module.
* guix/build/minetest-build-system.scm: Likewise.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document 'minetest-mod-build-system'.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
2021-08-20 12:41:54 +02:00
Maxim Cournoyer
10f554700c
Reinstate "services: Add a service for Jami."
This reverts commit 4673f81793, which reverted
commit 69dcc24c9f with the fix detailed below.

Thanks to Christopher Baines for reporting the failure and proposing a fix.

* guix/self.scm (compiled-guix) [*system-test-modules*]: Add the test data
files via the 'extra-files' argument.
* gnu/local.mk (dist_patch_DATA): Move the tests/data/jami-dummy-account.dat
file to...
* gnu/local.mk (MODULES_NOT_COMPILED): ... here.
2021-08-02 17:23:30 -04:00
Maxim Cournoyer
4673f81793
Revert "services: Add a service for Jami."
This reverts commit 69dcc24c9f.  It broke 'guix
pull'.
2021-08-02 15:48:59 -04:00
Maxim Cournoyer
69dcc24c9f
services: Add a service for Jami.
* gnu/services/telephony.scm (string-or-computed-file?)
(string-list?, account-fingerprint-list?): New procedures.
(maybe-string-list, maybe-account-fingerprint-list)
(maybe-boolean, maybe-string, jami-account-list): New configuration field
types.
(serialize-string-list, serialize-boolean, serialize-string)
(jami-account, jami-account->alist, jami-configuration)
(jami-account-list?, jami-account-list-maybe): New procedures.
(%jami-accounts): New variable.
(jami-configuration->command-line-arguments): New procedure.
(jami-dbus-session-activation, jami-shepherd-services): New procedures.
(jami-service-type): New variable.
* gnu/build/jami-service.scm: New file.
* gnu/tests/data/jami-dummy-account.dat: Likewise.
* gnu/tests/telephony.scm: Likewise.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register them.
* Makefile.am (SCM_TESTS): Register the test file.
(dist_patch_DATA): Register the new data file.
* doc/guix.texi (Telephony Services): Document it.
2021-08-02 15:15:02 -04:00
Leo Famulari
4f108e4e5c
gnu: linux-libre: Update to 5.13.6.
* gnu/packages/linux.scm (linux-libre-5.12-version, deblob-scripts-5.12
linux-libre-5.12-pristine-source, linux-libre-5.12-source,
linux-libre-headers-5.12, linux-libre-5.12): Remove variables.
(linux-libre-version, linux-libre-pristine-source, linux-libre-source,
linux-libre): Update to the 5.13 kernel series.
(linux-libre-with-bpf): Update to 5.13 kernel series.
* gnu/packages/aux-files/linux-libre/5.12-arm.conf,
gnu/packages/aux-files/linux-libre/5.12-arm64.conf,
gnu/packages/aux-files/linux-libre/5.12-i686.conf,
gnu/packages/aux-files/linux-libre/5.12-x86_64.conf: Delete files.
* Makefile.am (AUX_FILES): Remove them.
2021-07-28 17:18:02 -04:00
Leo Famulari
627db5611d
gnu: Add linux-libre 5.13.
* gnu/packages/linux.scm (linux-libre-5.13-version, deblob-scripts-5.13,
linux-libre-5.13-pristine-source, linux-libre-5.13-source,
linux-libre-headers-5.13, linux-libre-5.13): New variables.
* gnu/packages/aux-files/linux-libre/5.13-arm.conf,
gnu/packages/aux-files/linux-libre/5.13-arm64.conf,
gnu/packages/aux-files/linux-libre/5.13-i686.conf,
gnu/packages/aux-files/linux-libre/5.13-x86_64.conf: New files.
* Makefile.am (AUX_FILES): Add them.
2021-07-13 13:15:59 -04:00
Maxim Cournoyer
7708c0b5e3
pack: Factorize base tar options.
* guix/docker.scm (%tar-determinism-options): Move to a new module and rename
to `tar-base-options'.  Adjust references accordingly.
* guix/build/pack.scm: New file.
* Makefile.am (MODULES): Register it.
* guix/scripts/pack.scm (self-contained-tarball/builder): Use it.
2021-06-29 14:53:21 -04:00
Ludovic Courtès
0a02abde88
build: Build guix.scm and gnu.scm.
Fixes a regression introduced in
ef82ba9dd9 that was causing these two
files to not be built.  In turn, 'tests/inferior.scm' would determine
the wrong %TOP-BUILDDIR value, causing the "&inferior-exception" test to
fail because for lack of an inferior stack trace.

* Makefile.am (MODULES_CORE): Add guix.scm.
(MODULES_SYSTEM): Add gnu.scm.
2021-06-25 15:12:06 +02:00
Ludovic Courtès
ef82ba9dd9
build: Makefile splits Scheme compilation in four steps.
Fixes <https://bugs.gnu.org/48963>.
Reported by Julien Lepiller <julien@lepiller.eu>.

This reduces peak memory consumption to something less unreasonable.

* Makefile.am (make-go): Depend on 'make-*-go' targets; remove body.
(guile-compilation-rule): New function.
(MODULES_CORE, MODULES_PACKAGES, MODULES_SYSTEM, MODULES_CLI): New
variables.
<top level>: Call 'guile-compilation-rule' 4 times.
* build-aux/compile-all.scm <top level>: Expect "--total" and
"--processed".  Take them into account when displaying progress
reports.
2021-06-23 23:35:27 +02:00
Christopher Baines
26499816a9
etc: Add "bordeaux.guix.gnu.org.pub" public key file.
* etc/substitutes/bordeaux.guix.gnu.org.pub: New file.
* Makefile.am (dist_pkgdata_DATA): Add it.
* guix/self.scm (miscellaneous-files): Add
"share/guix/bordeaux.guix.gnu.org.pub".
2021-06-07 11:31:17 +01:00
Xinglu Chen
bdc298ecee
import: Add CHICKEN egg importer.
* guix/import/egg.scm: New file.
* guix/scripts/import/egg.scm: New file.
* tests/egg.scm: New file.
* Makefile.am (MODULES, SCM_TESTS): Register them.
* po/guix/POTFILES.in: Likewise.
* guix/scripts/import.scm (importers): Add egg importer.
* doc/guix.texi (Invoking guix import, Invoking guix refresh): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-03 13:05:18 +02:00
Leo Famulari
ed5a75c730
gnu: linux-libre: Update to 5.12.5.
* gnu/packages/linux.scm (linux-libre-5.11-version, deblob-scripts-5.11,
linux-libre-5.11-pristine-source, linux-libre-5.11-source,
linux-libre-headers-5.11, linux-libre-5.11): Remove variables.
(linux-libre-version, linux-libre-pristine-source, linux-libre-source,
linux-libre): Update to the 5.12 kernel series.
(linux-libre-with-bpf): Update to the 5.12 kernel series.
* gnu/packages/aux-files/linux-libre/5.11-arm.conf,
gnu/packages/aux-files/linux-libre/5.11-arm64.conf,
gnu/packages/aux-files/linux-libre/5.11-i686.conf,
gnu/packages/aux-files/linux-libre/5.11-x86_64.conf: Delete files.
* Makefile.am (AUX_FILES): Remove them.
2021-05-21 11:40:12 -04:00
Maxim Cournoyer
38d337a5b7
tests: Conditionally include tests/go.scm.
The Go importer module requires a recent guile-glib; the test should only be
run when such requirement is met.

* Makefile.am (SCM_TESTS)[HAVE_GUILE_LIB]: Add tests/go.scm only if this
condition is met.

Reported-by: Chris Marusich <cmmarusich@gmail.com>
2021-05-15 08:40:00 -04:00
Maxim Cournoyer
b7cbca221f
Merge branch 'version-1.3.0' 2021-05-11 22:42:59 -04:00
Leo Famulari
a21355bd10
gnu: Add linux-libre 5.12.2.
* gnu/packages/linux.scm (linux-libre-5.12-version, deblob-scripts-5.12,
linux-libre-5.12-pristine-source, linux-libre-5.12-source,
linux-libre-headers-5.12, linux-libre-5.12): New variables.
* gnu/packages/aux-files/linux-libre/5.12-arm.conf,
gnu/packages/aux-files/linux-libre/5.12-arm64.conf,
gnu/packages/aux-files/linux-libre/5.12-i686.conf,
gnu/packages/aux-files/linux-libre/5.12-x86_64.conf: New files.
* Makefile.am (AUX_FILES): Add them.
2021-05-08 18:41:45 -04:00
Maxim Cournoyer
a77e3a5846
services: configuration: Add tests.
* tests/services/configuration.scm: New file.
* Makefile.am (SCM_TESTS): Register it.
2021-05-08 01:04:31 -04:00
Maxim Cournoyer
b1b41a23f4
build: Do not compress the (already compressed) VM qcow2 images.
The qcow2 format supports compression, and the qcow2 type supported by 'guix
system image' produces compressed qcow2 images.

* Makefile.am (release): Do not re-compress the qcow2 VM images with xz.
* doc/guix.texi (Running Guix in a VM): Adjust VM image URL.
2021-05-05 16:31:06 -04:00
Maxim Cournoyer
6e71e71952
maint: Remove a workaround in Makefile.am.
This workaround was made obsolete by commit a23789bbbd, which prevented the PO
files from being spuriously updated upon running 'make'.

* Makefile.am (release) <git checkout>: Remove command.
2021-05-05 16:31:06 -04:00
Ludovic Courtès
82c0f34c7e
maint: Do not xz-compress ISO images.
The xz-compressed image is 23% smaller than the original ISO image (with
built-in zlib compression), but the extra decompression step is
unconventional and often a hindrance for users.  See discussion at
<https://lists.gnu.org/archive/html/guix-devel/2021-04/msg00497.html>.

* Makefile.am (release): Do not compress ISO images.
* doc/guix.texi (USB Stick and DVD Installation): Remove ".xz" suffix
from URL and file name.
(Copying to a USB Stick, Burning on a DVD): Remove introductory words,
@enumerate, and first item.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-05-03 22:41:36 -04:00
Maxim Cournoyer
f995f710e8
build: Replace the doc-po-update prerequisite by doc-pot-update.
What is really required for the dist target is the presence of the
auto-generated .pot files; updating the PO files is not necessary nor
desirable (it causes spurious changes in the tree).

* Makefile.am (dist) <doc-po-update>: Replace prerequisite with...
<doc-pot-update>: ... this one.
2021-05-03 09:29:44 -04:00
Julien Lepiller
283d4960a4
Makefile: Reimplement download-po target.
The weblate API rate limit is very close to the number of files we need
to download.  The previous implementation did not add new translations.

* Makefile.am (download-po): Update target.
(make-download-po-rule, make-check-po-rule): Remove functions.
2021-05-03 09:29:44 -04:00
Julien Lepiller
45549e9f31
Makefile: Reimplement download-po target.
The weblate API rate limit is very close to the number of files we need
to download.  The previous implementation did not add new translations.

* Makefile.am (download-po): Update target.
(make-download-po-rule, make-check-po-rule): Remove functions.
2021-05-01 14:16:27 +02:00
Maxim Cournoyer
868113126c
build: Have the release target depend on 'all'.
Otherwise, the scripts/guix wrapper may not be present, which would cause the
user's guix wrapper to be used, which in turn would manipulate GUILE_LOAD_PATH
in a way that would cause its Guix modules to take precedence over those of
the tree, with confusion ensuing.

* Makefile.am (release): Add 'all' as a prerequisite.
2021-04-29 14:09:23 -04:00
Maxim Cournoyer
ebf5d77eab
build: Add the qcow2 file extension to the VM image.
Including the extension of the format type of the image is not only useful to
the user, but also to software.  One example is GNOME Boxes, which will reject
an image with an unknown file extension.

This should be fixed more definitely in Guix, where the output of the VM image
derivation would already have the correct file extension but for now this will
do.

* Makefile.am (release): Add .qcow2 to the file extension of the VM images.
2021-04-29 14:09:22 -04:00
Maxim Cournoyer
54dc9d36fa
build: Update and add new comments for the release target.
* Makefile.am (release): Update and add new comments.
2021-04-29 14:09:22 -04:00
Maxim Cournoyer
c8b1799fd7
Makefile.am: Remove the GUIX_FOR_BINARY_TARBALL variable.
There is no use case where the Guix package is not named 'guix'.

* Makefile.am (GUIX_FOR_BINARY_TARBALL): Remove variable and replace its uses
by 'guix'.
2021-04-29 14:09:22 -04:00
Ludovic Courtès
c59cc2383d
import: Remove Nix importer.
This importer has suffered from bitrot and no longer works with current
Nix and Nixpkgs.  See <https://bugs.gnu.org/32339> and
<https://bugs.gnu.org/36255>.

* guix/import/snix.scm, guix/scripts/import/nix.scm,
tests/snix.scm: Remove.
* Makefile.am (MODULES, SCM_TESTS): Remove them.
* guix/scripts/import.scm (importers): Remove "nix".
* build-aux/test-env.in: Remove NIXPKGS variable.
* configure.ac: Remove '--with-nixpkgs' option.
* doc/guix.texi (Invoking guix import): Remove bit about "guix import
nix".
* etc/completion/fish/guix.fish: Likewise.
2021-04-25 14:34:09 +02:00
Maxim Cournoyer
7aeef7ee3d
build: Use guix system image instead of disk-image, vm-image.
These older system actions are deprecated and cause warnings to be emitted.

* Makefile.am (release) <guix system disk-image>
<guix system vm-image>: Replace by...
<guix system image>: ... this.  Specify the type of the VM image as qcow2.
2021-04-23 23:37:10 -04:00
Maxim Cournoyer
b3f4df3f71
build: Add doc-update-po as a prerequisite to the dist target.
Otherwise 'make dist' would fail with the message: "No rule to make target
'po/doc/guix-manual.pot', needed by 'distdir-am'.  Stop.".

* Makefile.am (dist) <doc-po-update>: Add prerequisite.
(dist-hook) <doc-po-update>: Remove prerequisite.
2021-04-23 21:32:46 -04:00
Ludovic Courtès
d95168321f
import: Remove Nix importer.
This importer has suffered from bitrot and no longer works with current
Nix and Nixpkgs.  See <https://bugs.gnu.org/32339> and
<https://bugs.gnu.org/36255>.

* guix/import/snix.scm, guix/scripts/import/nix.scm,
tests/snix.scm: Remove.
* Makefile.am (MODULES, SCM_TESTS): Remove them.
* guix/scripts/import.scm (importers): Remove "nix".
* build-aux/test-env.in: Remove NIXPKGS variable.
* configure.ac: Remove '--with-nixpkgs' option.
* doc/guix.texi (Invoking guix import): Remove bit about "guix import
nix".
* etc/completion/fish/guix.fish: Likewise.
2021-04-20 12:13:16 +02:00
Ludovic Courtès
b18f45c21f
Add (guix ipfs).
This module allows for communicating with the IPFS
gateway over the HTTP interface.  The commit has been
cherry-picked from <https://issues.guix.gnu.org/33899>.

The procedures for adding and restoring file trees have
been removed as according to a reply issue 33899, a different
format will be used.  The procedure 'add-data' has been
exported as it will be used in the system test for IPFS.

* guix/ipfs.scm: New file.
* Makefile.am (MODULES): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-04-12 18:42:22 +02:00
Chris Marusich
a16eb6c5f9
Add powerpc64le-linux as a supported Guix architecture.
This makes powerpc64le-linux a supported architecture for Guix, but not for
Guix System.

* Makefile.am (SUPPORTED_SYSTEMS): Add an entry for powerpc64le-linux.
* etc/guix-install.sh (chk_sys_arch): Same.
* guix/packages.scm (%supported-systems): Same.
* m4/guix.m4 (GUIX_ASSERT_SUPPORTED_SYSTEM): Same.
* tests/guix-build.sh (all_systems): Same.
2021-03-23 23:19:57 -07:00