* gnu/packages/patches/kmod-module-directory.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/linux.scm (kmod)[origin]: Use it.
* gnu/packages/base.scm (canonical-package): New procedure.
* gnu/system.scm (%base-packages): Pass BASH, COREUTILS, FINDUTILS,
GREP, and SED through 'canonical-package'.
* gnu/packages/patches/guile-ncurses-tests.patch: New file.
* gnu/packages/guile.scm (guile-ncurses)[source]: Use it.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/patches/icu4c-test-date-format.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/icu4c.scm (icu4c)[source]: Use it.
This reverts commit 953c9fcf8c. It turns
out that most packages (guile-ncurses, cursynth, aumix, util-linux,
etc.) expect libncurses to provide everything. So they had to be
patched to add -ltinfow to their LDFLAGS, which is counterproductive.
Other recent distros take that approach---e.g.,
<https://bugs.launchpad.net/ubuntu/+source/ncurses/+bug/259139>.
* gnu/packages/games.scm (pingus): New variable.
* gnu/packages/patches/pingus-sdl-libs-config.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc)[native-inputs]:
Add 'outputs' field for the rewritten GCC.
(%gcc-stripped): Add 'outputs' field.
Reported by Carlos Carleos <carleos@uniovi.es>.
* gnu/packages/skribilo.scm (skribilo)[inputs]: Move
GUILE-READER/GUILE-2.0 and GUILE-LIB to...
[propagated-inputs]: ... here. New field.
* gnu/packages/base.scm (coreutils)[arguments] <patch-shell-references>:
Leave src/split.c unpatched. Set $SHELL. Use .../bin/sh and not
.../bin/bash in tests.
This fixes a top-level circular dependency between linux.scm and
base.scm introduced in 2e92375.
* gnu/packages/base.scm (glibc-final): Remove call to
'package-with-restricted-references', and use an 'arguments' field
instead.
This fixes a bug whereby the bootstrap-glibc headers could be picked up
when building libc.so, which could be noticed by the fact that the
.debug files contained references to bootstrap-glibc.
* gnu/packages/base.scm (glibc-final-with-bootstrap-bash)[arguments]:
Add 'pre-configure' phase.
[inputs]: Remove 'alist-delete' call.
This fixes a bug whereby Findutils' 'updatedb' script would retain a
reference to the bootstrap binaries ('sort', etc.)
* gnu/packages/base.scm (coreutils-final, %boot5-inputs): New variables.
(%final-inputs): Use them.
* gnu/packages/gettext.scm (gnu-gettext): Upgrade to 0.19.
[arguments] <phases>: Remove now unneeded 'link-expat' phase. Patch
lang-sh and msgfilter test scripts; patch msginit.c and project-id.
Add #:make-flags.
This partly reverts commit 185f669 ("services: Make sure the store's
group is the build group.")
* gnu/services/base.scm (guix-service)[activate]: Remove 'chown' call.
Add 'id' field to 'user-group' form.
* guix/build/install.scm (directives): Set the store's GID to 30000.
* gnu/services/base.scm (guix-service)[activate]: New variable. Add
'chown' call for (%store-prefix). Set the 'activate' field to
ACTIVATE.
* guix/build/install.scm (directives): Add comment about STORE's group.
* gnu/packages/linux.scm (module-init-tools)[source](patches): New
field.
* gnu/packages/patches/module-init-tools-moduledir.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/system.scm (etc-directory): Add #:kernel parameter. Set
'LINUX_MODULE_DIRECTORY' in bashrc.
(operating-system-etc-directory): Pass #:kernel to 'etc-directory'.
* gnu/system.scm (<operating-system>)[packages]: Change default value to
%BASE-PACKAGES.
(%base-packages): New variable.
* gnu/system/install.scm (installation-os): Use it when defining the
'packages' field.
* doc/guix.texi (Using the Configuration System): Use %BASE-PACKAGES in
example. Remove now unneeded module imports. Explain this.
* gnu/system/file-systems.scm (<file-system>)[title]: New field.
* gnu/services/base.scm (file-system-service): Add #:title parameter.
In 'start' gexp, use 'canonicalize-device-spec' and honor TITLE.
* gnu/system.scm (other-file-system-services,
operating-system-root-file-system, operating-system-initrd-file):
Adjust accordingly.
* gnu/system/linux-initrd.scm (file-system->spec): Likewise.
* gnu/system/vm.scm (system-disk-image): Add 'title' field for the root
file system.
* guix/build/linux-initrd.scm (mount-file-system): Expect the second
element of SPEC to be the title.
(boot-system)[root-mount-point?, root-fs-type]: Likewise.
* gnu/services/dmd.scm (dmd-configuration-file): Select
'canonicalize-device-spec'.
* gnu/packages/linux.scm (util-linux)[source](patches): New field.
* gnu/packages/patches/util-linux-perl.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/system/vm.scm (system-disk-image)[root-label]: New variable.
Use it for the root file system, and pass it as #:file-system-label to
'qemu-image'.
* guix/build/vm.scm (format-partition): Add #:label parameter, and honor
it.
(initialize-hard-disk): Add #:file-system-label parameter, and pass it
to 'format-partition'.
* gnu/system/vm.scm (qemu-image): Add #:file-system-label parameter and
pass it to 'initialize-hard-disk'.
* gnu/packages/version-control.scm (cssc): New variable.
* gnu/packages/patches/cssc-gets-undeclared.patch: New file
* gnu/packages/patches/cssc-missing-include.patch: New file
* gnu-system.am: Add gnu/packages/patches/cssc-gets-undeclared.patch
and gnu/packages/patches/cssc-missing-include.patch
* gnu/packages/maths.scm (hdf5): Use "release" directory and not the "current"
directory for the source, which does not break on new upstream releases.
* gnu/services.scm (<service>)[activate]: New field.
* gnu/system.scm (operating-system-activation-script)[service-activations]:
New procedure. Use it, and primitive-load each activation.
* gnu/system.scm (operating-system-activation-script): New procedure,
containing most of the former 'operating-system-boot-script'.
(operating-system-boot-script): Call it, and 'primitive-load' its
result.
* guix/build/activation.scm (%booted-system): Remove.
(activate-current-system): Remove #:boot? parameter and related code.
* guix/build/vm.scm (load-in-linux-vm): When MAKE-DISK-IMAGE?, use
'-drive ...,if=virtio' for better performance.
* gnu/system/vm.scm (qemu-image): Use /dev/vda instead of /dev/sda.
This fixes a circular dependency between (gnu system) and (gnu system
linux-initrd), where the latter could end up being compiled before
'file-system-type' was defined as a macro.
* gnu/system.scm (<file-system>, %fuse-control-file-system,
%binary-format-file-system): Move to...
* gnu/system/file-systems.scm: ... here. New file.
* build-aux/hydra/demo-os.scm, gnu/system/linux-initrd.scm,
gnu/system/vm.scm: Use it.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/maths.scm (superlu-dist): New variable.
* gnu/packages/patches/superlu-dist-scotchmetis.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/maths.scm (scotch): New variable.
* gnu/packages/patches/scotch-test-threading.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/system/grub.scm (<grub-configuration>): New record type.
(grub-configuration-file): Add 'config' parameter; remove
#:default-entry and #:timeout. Honor CONFIG.
* gnu/system.scm (<operating-system>): Remove 'bootloader-entries'
field; remove default value for 'bootloader' field.
(operating-system-grub.cfg): Pass the 'bootloader' field to
'grub-configuration-file'.
* build-aux/hydra/demo-os.scm (bootloader): New field.
* gnu/system.scm (etc-directory): Change default value of #:profile.
Change contents of SHELLS. Use /run/current-system/profile/{s,}bin in
BASHRC.
(operating-system-boot-script)[%modules]: Add (guix build
linux-initrd). Add call to 'activate-current-system' in gexp.
(operating-system-initrd-file, operating-system-grub.cfg): New
procedures.
(operating-system-derivation): Don't build grub.cfg here and remove it
from the file union.
* gnu/system/vm.scm (qemu-image): Remove #:populate.
(operating-system-build-gid, operating-system-default-contents):
Remove.
(system-qemu-image): Remove call to
'operating-system-default-contents'. Use 'operating-system-grub.cfg'
to get grub.cfg. Add GRUB.CFG to #:inputs.
(system-qemu-image/shared-store): Likewise, but don't add GRUB.CFG to
#:inputs.
(system-qemu-image/shared-store-script): Pass --system kernel option.
* guix/build/activation.scm (%booted-system, %current-system): New
variables.
(boot-time-system, activate-current-system): New procedures.
* guix/build/install.scm (evaluate-populate-directive): Add case
for ('directory name uid gid mode).
(directives, populate-root-file-system): New procedures.
* guix/build/vm.scm (initialize-hard-disk): Replace calls to
'evaluate-populate-directive' by a call to
'populate-root-file-system'.
* gnu/services/dmd.scm (dmd-configuration-file): Use
/run/current-system/profile/bin.
* gnu/services/xorg.scm (slim-service): Likewise.
* gnu/system/vm.scm (qemu-image): Rename #:inputs-to-copy to #:inputs,
and #:initialize-store? to #:register-closures?. Add #:copy-inputs?.
Adjust build gexp accordingly.
(system-qemu-image): Remove #:initialize-store? argument and add
#:copy-inputs?.
(system-qemu-image/shared-store): Add #:inputs, #:register-closures?,
and #:copy-inputs? arguments.
* guix/build/vm.scm (register-closure): New procedure.
(MS_BIND): New variable.
(initialize-hard-disk): Rename #:initialize-store? to
#:register-closures?, #:closures-to-copy to #:closures, and add
#:copy-closures?.
Add 'target-directory' and 'target-store' variables.
Call 'populate-store' only when COPY-CLOSURES?.
Bind-mount the store to TARGET-STORE when REGISTER-CLOSURES? and not
COPY-CLOSURES?. Add call to 'register-closure'.
* gnu/system/vm.scm (virtualized-operating-system): Instead of
completely overriding 'file-systems', use 'remove' to filter out some
of those declared in OS.
(system-qemu-image): Likewise.
* guix/build/linux-initrd.scm (pidof): New procedure.
(mount-root-file-system)[mark-as-not-killable]: New procedure.
Use it for unionfs when VOLATILE-ROOT?.
* gnu/services/base.scm (%do-not-kill-file): New variable.
(user-processes-service)[stop]: Honor it.