* gnu/ci.scm (channel-build-system, channel-source->package): Remove.
* gnu/packages/package-management.scm (channel-source->package): New
procedure, moved from (gnu ci).
* guix/build-system/channel.scm: New file, with code moved from (gnu ci).
* doc/guix.texi (Build Systems): Document it.
This manifest makes it easy to test travels from the current revision
back to the revision of a past Guix release.
Suggested by zimoun <zimon.toutoune@gmail.com>.
* etc/time-travel-manifest.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
If "$HOME/.guix-home/profile" exists, use it for GUIX_PROFILE instead of
"$HOME/.guix-profile".
* etc/guix-install.sh (sys_create_init_profile): Check for 'guix home'
profile.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
The default values from the XDG base directory specification make little
sense for Guix System, and some scripts in Guix assume that they are not
"empty or unset": for example, see <https://issues.guix.gnu.org/56050>.
On foreign distros, however, omitting the default values is likely to
break software from the distro, perhaps even preventing the desktop
environment from starting. To smooth over the difference, use the
system-wide configuration to ensure the environment variables are always
explicitly set on foreign distros.
* etc/guix-install.sh (sys_create_init_profile): Explicitly initialize
XDG base directory variables.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
We now correctly recognise ‘guix -Abcdef’ as equivalent to ‘guix -f’.
* etc/completion/bash/guix (_guix_is_short_option, guix_is_long_option):
New functions.
(_guix_is_dash_f, _guix_is_dash_l, _guix_is_dash_L, _guix_is_dash_m)
(_guix_is_dash_C, _guix_is_dash_p): Use them.
* etc/committer.scm.in (hunk-types): New variable.
(<hunk>): Rename hunk-definition? getter to 'hunk-type'.
(diff-info): Mute a git warning by separating file names from arguments with
'--'. Rename the 'definitions?' variable to 'type'.
Use the 'addition type when a new package addition is detected, 'removal when
removed else #f.
(add-commit-message): Re-indent.
(remove-commit-message): New procedure.
(main)[definitions]: Make commit message conditional depending on whether it
is an addition or removal.
[changes]: Adjust indentation.
This avoids a naming conflict for 'filter', provided by both (srfi srfi-1)
and (sxml xpath).
* etc/committer.scm.in: Use 'use-modules' instead of 'import', and use a
prefix for the (sxml xpath) module.
(new-sexp): Adjust accordingly.
(change-commit-message): Likewise.
* gnu/ci.scm (%cross-targets): Remove it ...
(cross-jobs): ... and use the targets procedure instead.
* etc/release-manifest.scm: Adapt it.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Until now, 'current-guix-package' was parameterized in the wrong
context. Thus, 'current-guix' would end up building a variant of the
'guix' package instead of the package returned by
'channel-source->package', which is much less expensive to build.
* etc/system-tests.scm (mparameterize): New macro.
(tests-for-current-guix): Change the 'value' field of each <system-test>
record to parameterize 'current-guix-package' for good.