Mark H Weaver
95203be9ef
hydra: Add %hydra-supported-systems variable and use it.
...
* build-aux/hydra/gnu-system.scm (%hydra-supported-systems): New variable.
(hydra-jobs): Use %hydra-supported-systems instead of %supported-systems.
2015-04-22 17:25:28 -04:00
Ludovic Courtès
bbceb0ef8a
packages: Add 'supported-package?'.
...
* guix/packages.scm (supported-package?): New procedure.
* tests/packages.scm ("supported-package?"): New test.
* build-aux/hydra/gnu-system.scm (package->job): Use it instead of
'package-transitive-supported-systems'.
2015-04-19 23:34:53 +02:00
Mark H Weaver
933204e5b1
Merge branch 'master' into core-updates
...
Conflicts:
gnu-system.am
gnu/packages/gstreamer.scm
2015-04-17 09:54:11 -04:00
Ludovic Courtès
e1600f6996
hydra: Increase size of USB image.
...
* build-aux/hydra/gnu-system.scm (qemu-jobs) <usb-image>: Increase from
800 MiB to 850 MiB.
2015-04-16 10:05:36 +02:00
Ludovic Courtès
8bc35f85b7
build: Add missing 'make-binary-tarball.scm' script.
...
This script is used by the target added in 9d3fb6c.
* build-aux/make-binary-tarball.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2015-04-14 23:29:26 +02:00
Ludovic Courtès
b607593533
hydra: Add jobs for the self-contained tarball.
...
* build-aux/hydra/gnu-system.scm (tarball-jobs): New procedure.
(hydra-jobs): Use it.
2015-04-14 23:26:41 +02:00
Ludovic Courtès
36a1eec50a
list-packages: Use GuixSD logo and name.
...
* build-aux/list-packages.scm (packages->sxml): Change to use
GuixSD-V.png and use the name "Guix System Distribution".
2015-03-06 13:58:06 +01:00
Ludovic Courtès
43da8f018d
build: Disable grafting in sanity checks.
...
* build-aux/check-available-binaries.scm: Wrap body in 'parameterize'
form that clears '%graft?'.
* build-aux/check-final-inputs-self-contained.scm: Likewise.
2015-02-24 23:43:03 +01:00
Ludovic Courtès
57b7e1a62d
Merge branch 'core-updates'
...
Conflicts:
gnu/packages/bootstrap.scm
2015-01-16 13:27:03 +01:00
Ludovic Courtès
df5188ddfa
check-available-binaries: Use 'substitution-oracle'.
...
* build-aux/check-available-binaries.scm: Use 'substitution-oracle'.
Changer caller and 'warn' accordingly.
2015-01-14 18:28:46 +01:00
Ludovic Courtès
619c9522b2
check-available-binaries: Use 'with-store'.
...
* build-aux/check-available-binaries.scm: Use 'with-store' instead of an
explicit 'open-connection'.
2015-01-14 18:20:01 +01:00
Ludovic Courtès
58caebf032
build: Use the canonical list of supported systems in 'assert-*'.
...
* build-aux/check-available-binaries.scm (%supported-systems): Remove.
* build-aux/check-final-inputs-self-contained.scm (%supported-systems):
Remove.
2015-01-14 17:05:10 +01:00
Ludovic Courtès
e87f0591f3
monads: Move '%store-monad' and related procedures where they belong.
...
This turns (guix monads) into a generic module for monads, and moves the
store monad and related monadic procedures in their corresponding
module.
* guix/monads.scm (store-return, store-bind, %store-monad, store-lift,
text-file, interned-file, package-file, package->derivation,
package->cross-derivation, origin->derivation, imported-modules,
compiled, modules, built-derivations, run-with-store): Move to...
* guix/store.scm (store-return, store-bind, %store-monad, store-lift,
text-file, interned-file): ... here.
(%guile-for-build): New variable.
(run-with-store): Moved from monads.scm. Remove default value for
#:guile-for-build.
* guix/packages.scm (default-guile): Export.
(set-guile-for-build): New procedure.
(package-file, package->derivation, package->cross-derivation,
origin->derivation): Moved from monads.scm.
* guix/derivations.scm (%guile-for-build): Remove.
(imported-modules): Rename to...
(%imported-modules): ... this.
(compiled-modules): Rename to...
(%compiled-modules): ... this.
(built-derivations, imported-modules, compiled-modules): New
procedures.
* gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/dbus.scm,
gnu/services/dmd.scm, gnu/services/networking.scm,
gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system/install.scm,
gnu/system/linux-initrd.scm, gnu/system/shadow.scm, guix/download.scm,
guix/gexp.scm, guix/git-download.scm, guix/profiles.scm,
guix/svn-download.scm, tests/monads.scm: Adjust imports accordingly.
* guix/monad-repl.scm (default-guile-derivation): New procedure.
(store-monad-language, run-in-store): Use it.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Add explicit
'set-guile-for-build' call.
* guix/scripts/archive.scm (derivation-from-expression): Likewise.
* guix/scripts/build.scm (options/resolve-packages): Likewise.
* guix/scripts/environment.scm (guix-environment): Likewise.
* guix/scripts/system.scm (guix-system): Likewise.
* doc/guix.texi (The Store Monad): Adjust module names accordingly.
2015-01-14 13:34:52 +01:00
Mark H Weaver
aa1e19477b
gnu: Add bootstrap binaries for 'armhf-linux'.
...
* gnu/packages/bootstrap/armhf-linux/bash,
gnu/packages/bootstrap/armhf-linux/mkdir,
gnu/packages/bootstrap/armhf-linux/tar,
gnu/packages/bootstrap/armhf-linux/xz: New files.
* gnu-system.am (bootstrap_armhf_linuxdir, dist_bootstrap_armhf_linux_DATA)
(nodist_bootstrap_armhf_linux_DATA): New variables.
(DISTCLEANFILES): Add $(nodist_bootstrap_armhf_linux_DATA).
(gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz): New target.
* build-aux/download.scm (file-name->uri): Use newer date in URI for
armhf-linux.
* gnu/packages/bootstrap.scm (raw-build): Use "guile-2.0.11.tar.xz" on
armhf-linux.
(glibc-dynamic-linker, %bootstrap-coreutils&co, %bootstrap-binutils)
(%bootstrap-glibc, %bootstrap-gcc): Add armhf-linux cases.
* m4/guix.m4 (GUIX_SYSTEM_TYPE): Add armhf case.
(GUIX_ASSERT_SUPPORTED_SYSTEM): Add armhf-linux to list of
supported systems.
* doc/guix.texi (GNU Distribution): Add armhf-linux to the list of
supported systems.
2015-01-07 21:47:51 -05:00
Ludovic Courtès
1c69e4ce3f
list-packages: Expand 'mirror://' URIs for patches.
...
* build-aux/list-packages.scm (package->sxml)[patches](patch-url): Use
'maybe-expand-mirrors' to get the real URL.
2014-12-29 21:19:17 +01:00
Ludovic Courtès
9cd0dfaa46
system: Change "en_US.UTF-8" to "en_US.utf8".
...
* build-aux/hydra/demo-os.scm (locale): Change to "en_US.utf8".
* gnu/system/install.scm (installation-os)[locale]: Ditto.
2014-11-29 11:37:53 +01:00
Ludovic Courtès
9c960731d6
hydra: Build only non-grafted variants of the packages.
...
* build-aux/hydra/gnu-system.scm (package->alist): Pass #:graft? #f.
(package-cross-job): Adjust last argument of 'package->alist' to
accept #:graft?. This fixes the problem reported in commit a480307.
2014-11-21 16:33:53 +01:00
Ludovic Courtès
37627ffa89
lint: Fold 'sync-descriptions' script as 'gnu-description' lint checker.
...
* build-aux/sync-descriptions.scm: Remove. Move payload to...
* guix/scripts/lint.scm: ... here.
(escape-quotes, official-gnu-packages*,
check-gnu-synopsis+description): New procedures.
(%checkers): Add 'gnu-descriptions'.
* Makefile.am (EXTRA_DIST): Remove build-aux/sync-descriptions.scm.
(sync-descriptions): Use 'guix lint'.
2014-11-19 22:52:28 +01:00
Ludovic Courtès
a480307449
Revert "hydra: Build only non-grafted variants of the packages."
...
This reverts commit 9de1defe790d8baa6a230b2d02e7ba023783b022.
Passing #:graft? was not possible because of the use of 'cut' on call
sites.
2014-11-13 17:46:57 +01:00
Ludovic Courtès
9de1defe79
hydra: Build only non-grafted variants of the packages.
...
* build-aux/hydra/gnu-system.scm (package->alist): Pass #:graft? #f to
PACKAGE-DERIVATION.
2014-11-13 14:21:09 +01:00
Ludovic Courtès
91781e0268
hydra: Make USB installation image bigger.
...
* build-aux/hydra/gnu-system.scm (qemu-jobs): Require 800 MiB for the
USB disk image.
2014-11-12 13:52:09 +01:00
Ludovic Courtès
f81ac34dd9
pull: Use the build procedure provided by the newly-downloaded Guix.
...
Fixes <http://bugs.gnu.org/18534 >.
* guix/scripts/pull.scm (with-environment-variable, with-PATH): New
macros.
(temporary-directory, first-directory, interned-then-deleted): New
procedures.
(unpack): Rewrite to do the unpacking in the current process rather
than as a separate derivation.
(%self-build-file): New variable.
(build-from-source): New procedure.
(build-and-install): Use it.
* guix/build/pull.scm (build-guix): Rename 'tarball' argument to
'source'. Remove #:tar and #:gzip parameters, as well as 'tar'
invocation. Remove 'scandir' invocation. Wrap body in
'with-directory-excursion'.
* build-aux/build-self.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2014-11-09 22:33:45 +01:00
Ludovic Courtès
bc36105651
list-packages: Add Hydra links only for the supported systems.
...
* build-aux/list-packages.scm (package->sxml)[status]: Use
'package-transitive-supported-systems' instead of a hard-coded list of
systems.
2014-10-28 10:30:38 +01:00
Ludovic Courtès
7c3c0374de
packages: Add 'package-transitive-supported-systems'.
...
* guix/packages.scm (package-transitive-supported-systems): New procedure.
* tests/packages.scm ("package-transitive-supported-systems"): New test.
* build-aux/hydra/gnu-system.scm (package->job): Use it.
2014-10-17 23:23:21 +02:00
Ludovic Courtès
572bcdf0bc
list-packages: Handle 'origin' patches.
...
* build-aux/list-packages.scm (package->sxml)[patches]: Handle the case
where PATCH is an 'origin'.
2014-10-12 15:33:07 +02:00
Ludovic Courtès
4e097f8606
hydra: Honor 'package-supported-systems'.
...
* guix/packages.scm (%supported-systems): New variable.
(<package>)[platforms]: Rename to...
[supported-systems]: ... this. Change default to %SUPPORTED-SYSTEMS.
* build-aux/hydra/gnu-system.scm (job-name, package->job): New
procedures, formerly in 'hydra-jobs'. Honor 'package-supported-systems'.
(hydra-jobs): Use them.
2014-10-06 19:34:27 +02:00
Ludovic Courtès
bed035c560
sync-descriptions: Improve output of proposed descriptions.
...
* build-aux/sync-descriptions.scm (escape-quotes): New procedure.
Use it. Add quotes around the proposed description.
2014-09-13 15:26:37 +02:00
Mark H Weaver
9e9cb0c7ba
hydra: Adjust to (gnu packages commencement) split from (gnu packages base).
...
* build-aux/hydra/gnu-system.scm: Import (gnu packages commencement).
2014-08-28 13:57:08 -04:00
Ludovic Courtès
bdb36958fb
gnu: Split (gnu packages base), adding (gnu packages commencement).
...
* gnu/packages/base.scm (gnu-make-boot0, diffutils-boot0,
findutils-boot0, %boot0-inputs, nix-system->gnu-triplet, boot-triplet,
binutils-boot0, gcc-boot0, perl-boot0, linux-libre-headers-boot0,
texinfo-boot0, %boot1-inputs, glibc-final-with-bootstrap-bash,
cross-gcc-wrapper, static-bash-for-glibc, glibc-final,
gcc-boot0-wrapped, %boot2-inputs, binutils-final, libstdc++,
gcc-final, ld-wrapper-boot3, %boot3-inputs, bash-final, %boot4-inputs,
guile-final, gnu-make-final, ld-wrapper, coreutils-final, grep-final,
%boot5-inputs, %final-inputs, canonical-package, gcc-toolchain,
gcc-toolchain-4.8, gcc-toolchain-4.9): Move to...
* gnu/packages/commencement.scm: ... here. New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* build-aux/check-final-inputs-self-contained.scm: Adjust accordingly.
* gnu/packages/cross-base.scm: Likewise.
* gnu/packages/make-bootstrap.scm: Likewise.
* guix/build-system/cmake.scm (cmake-build): Likewise.
* guix/build-system/gnu.scm (standard-packages, gnu-build,
gnu-cross-build): Likewise.
* guix/build-system/perl.scm (perl-build): Likewise.
* guix/build-system/python.scm (python-build): Likewise.
* guix/build-system/trivial.scm (guile-for-build): Likewise.
* guix/download.scm (url-fetch): Likewise.
* guix/gexp.scm (default-guile): Likewise.
* guix/git-download.scm (git-fetch): Likewise.
* guix/monads.scm (run-with-store): Likewise.
* guix/packages.scm (default-guile): Likewise.
* guix/scripts/package.scm (guix-package): Likewise.
* guix/scripts/refresh.scm: Likewise.
* guix/svn-download.scm (svn-fetch): Likewise.
* tests/builders.scm (%bootstrap-inputs, %bootstrap-search-paths):
Likewise.
* tests/packages.scm ("GNU Make, bootstrap"): Likewise.
* tests/guix-package.sh: Likewise.
* gnu/services/base.scm: Use 'canonical-package' instead of xxx-final.
* gnu/services/xorg.scm: Likewise.
* gnu/system/vm.scm: Likewise.
* guix/scripts/pull.scm (guix-pull): Likewise.
2014-08-28 09:21:54 +02:00
Ludovic Courtès
a69576ea85
system: Add '%devtmpfs-file-system' for udev, and '%base-file-systems'.
...
Suggested by Adam Pribyl <pribyl@lowlevel.cz>.
* gnu/services/base.scm (udev-service)[requirement]: Add
'file-system-/dev'.
* gnu/system/file-systems.scm (%devtmpfs-file-system,
%base-file-systems): New variables.
* gnu/system/install.scm (installation-services)[file-systems]: Use
%base-file-systems.
* build-aux/hydra/demo-os.scm (file-systems): Likewise.
* doc/guix.texi (System Installation): Show %BASE-FILE-SYSTEMS in the
example.
(Using the Configuration System): Likewise.
(File Systems): Document %base-file-systems, %devtmpfs-file-system,
%binary-format-file-system, and %fuse-control-file-system.
2014-07-22 16:59:10 +02:00
Ludovic Courtès
927097effd
services: Add Tor service.
...
* gnu/services/networking.scm (tor-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
* build-aux/hydra/demo-os.scm: Use it. Add TOR and TORSOCKS to
'packages'.
2014-07-12 23:17:54 +02:00
Ludovic Courtès
a94546ecc4
gnu: linux-libre: Add i686 and x86_64 full-blown configs.
...
Thanks to Jason Self <jself@gnu.org> for the kernel configs.
* gnu/packages/linux.scm (kernel-config): New procedure.
(linux-libre)[build-phase]: Copy it to .config. Reduce the list of
things appended to .config.
[native-inputs]: Add "kconfig" input.
* gnu/packages/linux-libre-i686.conf,
gnu/packages/linux-libre-x86_64.conf: New files, from
<http://jxself.org/x86-32.txt > and <http://jxself.org/x86-64.txt >.
* Makefile.am (KCONFIGS): New variable.
(nobase_dist_guilemodule_DATA): Add it.
2014-07-10 00:35:27 +02:00
Ludovic Courtès
b76a384715
system: Use the default 'groups' field.
...
* gnu/system/install.scm (installation-os): Remove 'groups' field.
* build-aux/hydra/demo-os.scm: Likewise.
2014-06-22 22:28:24 +02:00
Ludovic Courtès
72507e23b5
system: Remove useless 'members' field of 'user-group'.
...
* gnu/system/shadow.scm (<user-group>)[members]: Remove field.
* gnu/system/install.scm (installation-os)[users]: Remove 'members'
fields. Use 'supplementary-groups' for 'guest'.
* build-aux/hydra/demo-os.scm (users): Likewise.
* gnu/services/base.scm (guix-service): Remove 'members' field.
2014-06-22 21:48:35 +02:00
Ludovic Courtès
81f61c17c5
build: Add 'assert-final-inputs-self-contained' rule.
...
* build-aux/check-final-inputs-self-contained.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
(assert-final-inputs-self-contained): New target.
(distcheck-hook): Depend on it.
2014-06-18 15:03:13 +02:00
Ludovic Courtès
6f436c54d6
system: Define '%base-packages' and use it.
...
* 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.
2014-06-04 18:15:50 +02:00
Ludovic Courtès
a549ab4bcf
hydra: Add Avahi to the demo OS.
...
* build-aux/hydra/demo-os.scm: Use 'avahi-service' and 'dbus-service'.
Add AVAHI to 'packages'.
2014-06-03 11:49:28 +02:00
Ludovic Courtès
57c0992927
list-packages: Add links to Hydra for mips64el-linux.
...
* build-aux/list-packages.scm (package->sxml): Add 'url' call for
mips64el-linux.
2014-06-03 00:17:00 +02:00
Ludovic Courtès
9e69b09857
hydra: Make USB installation image smaller.
...
* build-aux/hydra/gnu-system.scm (qemu-jobs): Reduce size of 'usb-image'
to 630 MiB.
2014-06-01 23:50:39 +02:00
Ludovic Courtès
10d86d54f0
hydra: Build the installation image.
...
* build-aux/hydra/gnu-system.scm (demo-os): New procedure.
(qemu-jobs): Build for both x86_64-linux and i686-linux. Add
'usb-image' job that builds INSTALLATION-OS.
2014-05-31 22:15:06 +02:00
Ludovic Courtès
548d4c1395
system: Add 'issue' field.
...
* gnu/system.scm (<operating-system>)[issue]: New field.
(%default-issue): New variable.
(etc-directory): Add #:issue parameter and honor it.
(operating-system-etc-directory): Adjust call accordingly.
* build-aux/hydra/demo-os.scm: Add 'issue' field.
2014-05-31 22:01:05 +02:00
Ludovic Courtès
411fc81d63
hydra: Don't cross-build from MIPS to MIPS.
...
* build-aux/hydra/gnu-system.scm (hydra-jobs)[same?, either]: New
procedure. Use it in 'remove' call.
2014-05-29 23:32:47 +02:00
Ludovic Courtès
0ba10e086f
hydra: Build for mips64el-linux.
...
* build-aux/hydra/gnu-system.scm (hydra-jobs)[systems]: Add
mips64el-linux.
2014-05-28 23:33:58 +02:00
Ludovic Courtès
c938494598
Add (gnu) module.
...
* gnu.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* build-aux/hydra/demo-os.scm: Use (gnu) and strip import list
accordingly.
* doc/guix.texi (Using the Configuration System): Adjust example
accordingly.
2014-05-22 23:24:13 +02:00
Ludovic Courtès
c5df183956
Add (gnu system file-systems).
...
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.
2014-05-20 23:37:11 +02:00
Ludovic Courtès
d5b429abda
system: Add 'grub-configuration' record.
...
* 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.
2014-05-18 22:27:23 +02:00
Ludovic Courtès
d216323f0a
hydra: Add dummy root file system declaration.
...
* build-aux/hydra/demo-os.scm (file-systems): Add "/" file system.
2014-05-16 21:57:11 +02:00
Ludovic Courtès
c336a66fe8
build: Remove fusectl from the default file systems in the demo OS.
...
* build-aux/hydra/demo-os.scm (file-systems): Comment out
%FUSE-CONTROL-FILE-SYSTEM, since fuse.ko is missing by default in the
freestanding VM image.
2014-05-15 22:47:53 +02:00
Ludovic Courtès
2717a89a84
system: Provide declarations for the 'fusectl' and 'binfmt_misc' file systems.
...
* gnu/system.scm (%fuse-control-file-system,
%binary-format-file-system): New variables.
* build-aux/hydra/demo-os.scm (file-systems): New field.
2014-05-14 23:17:03 +02:00
Ludovic Courtès
ab6a279abb
system: Make accounts and groups at activation time.
...
* gnu/services/base.scm (guix-build-accounts): Remove #:gid parameter;
add #:group. Remove 'password' and 'gid' fields in 'user-account'
form, and add 'group'.
(guix-service): Remove #:build-user-gid parameter. Remove 'id' field
in 'user-group' form.
* gnu/system.scm (etc-directory): Remove #:groups and #:accounts. No
longer produce files "passwd", "shadow", and "group". Adjust caller
accordingly.
(%root-account): New variable.
(operating-system-accounts): Add 'users' variable. Add %ROOT-ACCOUNT
only of 'operating-system-users' doesn't already contain a root
account.
(user-group->gexp, user-account->gexp): New procedures.
(operating-system-boot-script): Add calls to 'setenv' and
'activate-users+groups' in gexp.
* gnu/system/linux.scm (base-pam-services): Add PAM services for
"user{add,del,mode}" and "group{add,del,mod}".
* gnu/system/shadow.scm (<user-account>)[gid]: Rename to...
[group]: ... this.
[supplementary-groups]: New field.
[uid, password]: Default to #f.
(<user-group>)[id]: Default to #f.
(group-file, passwd-file): Remove.
* gnu/system/vm.scm (operating-system-default-contents)[user-directories]:
Remove. Add "/home" to the directives.
* guix/build/activation.scm (add-group, add-user,
activate-users+groups): New procedures.
2014-05-11 22:41:58 +02:00