summary refs log tree commit diff
path: root/build-aux
AgeCommit message (Collapse)Author
2015-04-19packages: Add 'supported-package?'.Ludovic Courtès
* 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-17Merge branch 'master' into core-updatesMark H Weaver
Conflicts: gnu-system.am gnu/packages/gstreamer.scm
2015-04-16hydra: Increase size of USB image.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (qemu-jobs) <usb-image>: Increase from 800 MiB to 850 MiB.
2015-04-14build: Add missing 'make-binary-tarball.scm' script.Ludovic Courtès
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-14hydra: Add jobs for the self-contained tarball.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (tarball-jobs): New procedure. (hydra-jobs): Use it.
2015-03-06list-packages: Use GuixSD logo and name.Ludovic Courtès
* build-aux/list-packages.scm (packages->sxml): Change to use GuixSD-V.png and use the name "Guix System Distribution".
2015-02-24build: Disable grafting in sanity checks.Ludovic Courtès
* build-aux/check-available-binaries.scm: Wrap body in 'parameterize' form that clears '%graft?'. * build-aux/check-final-inputs-self-contained.scm: Likewise.
2015-01-16Merge branch 'core-updates'Ludovic Courtès
Conflicts: gnu/packages/bootstrap.scm
2015-01-14check-available-binaries: Use 'substitution-oracle'.Ludovic Courtès
* build-aux/check-available-binaries.scm: Use 'substitution-oracle'. Changer caller and 'warn' accordingly.
2015-01-14check-available-binaries: Use 'with-store'.Ludovic Courtès
* build-aux/check-available-binaries.scm: Use 'with-store' instead of an explicit 'open-connection'.
2015-01-14build: Use the canonical list of supported systems in 'assert-*'.Ludovic Courtès
* build-aux/check-available-binaries.scm (%supported-systems): Remove. * build-aux/check-final-inputs-self-contained.scm (%supported-systems): Remove.
2015-01-14monads: Move '%store-monad' and related procedures where they belong.Ludovic Courtès
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-07gnu: Add bootstrap binaries for 'armhf-linux'.Mark H Weaver
* 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.
2014-12-29list-packages: Expand 'mirror://' URIs for patches.Ludovic Courtès
* build-aux/list-packages.scm (package->sxml)[patches](patch-url): Use 'maybe-expand-mirrors' to get the real URL.
2014-11-29system: Change "en_US.UTF-8" to "en_US.utf8".Ludovic Courtès
* build-aux/hydra/demo-os.scm (locale): Change to "en_US.utf8". * gnu/system/install.scm (installation-os)[locale]: Ditto.
2014-11-21hydra: Build only non-grafted variants of the packages.Ludovic Courtès
* 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-19lint: Fold 'sync-descriptions' script as 'gnu-description' lint checker.Ludovic Courtès
* 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-13Revert "hydra: Build only non-grafted variants of the packages."Ludovic Courtès
This reverts commit 9de1defe790d8baa6a230b2d02e7ba023783b022. Passing #:graft? was not possible because of the use of 'cut' on call sites.
2014-11-13hydra: Build only non-grafted variants of the packages.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (package->alist): Pass #:graft? #f to PACKAGE-DERIVATION.
2014-11-12hydra: Make USB installation image bigger.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (qemu-jobs): Require 800 MiB for the USB disk image.
2014-11-09pull: Use the build procedure provided by the newly-downloaded Guix.Ludovic Courtès
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-10-28list-packages: Add Hydra links only for the supported systems.Ludovic Courtès
* build-aux/list-packages.scm (package->sxml)[status]: Use 'package-transitive-supported-systems' instead of a hard-coded list of systems.
2014-10-17packages: Add 'package-transitive-supported-systems'.Ludovic Courtès
* 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-12list-packages: Handle 'origin' patches.Ludovic Courtès
* build-aux/list-packages.scm (package->sxml)[patches]: Handle the case where PATCH is an 'origin'.
2014-10-06hydra: Honor 'package-supported-systems'.Ludovic Courtès
* 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-09-13sync-descriptions: Improve output of proposed descriptions.Ludovic Courtès
* build-aux/sync-descriptions.scm (escape-quotes): New procedure. Use it. Add quotes around the proposed description.
2014-08-28hydra: Adjust to (gnu packages commencement) split from (gnu packages base).Mark H Weaver
* build-aux/hydra/gnu-system.scm: Import (gnu packages commencement).
2014-08-28gnu: Split (gnu packages base), adding (gnu packages commencement).Ludovic Courtès
* 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-07-22system: Add '%devtmpfs-file-system' for udev, and '%base-file-systems'.Ludovic Courtès
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-12services: Add Tor service.Ludovic Courtès
* 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-10gnu: linux-libre: Add i686 and x86_64 full-blown configs.Ludovic Courtès
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-06-22system: Use the default 'groups' field.Ludovic Courtès
* gnu/system/install.scm (installation-os): Remove 'groups' field. * build-aux/hydra/demo-os.scm: Likewise.
2014-06-22system: Remove useless 'members' field of 'user-group'.Ludovic Courtès
* 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-18build: Add 'assert-final-inputs-self-contained' rule.Ludovic Courtès
* 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-04system: Define '%base-packages' and use it.Ludovic Courtès
* 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-03hydra: Add Avahi to the demo OS.Ludovic Courtès
* build-aux/hydra/demo-os.scm: Use 'avahi-service' and 'dbus-service'. Add AVAHI to 'packages'.
2014-06-03list-packages: Add links to Hydra for mips64el-linux.Ludovic Courtès
* build-aux/list-packages.scm (package->sxml): Add 'url' call for mips64el-linux.
2014-06-01hydra: Make USB installation image smaller.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (qemu-jobs): Reduce size of 'usb-image' to 630 MiB.
2014-05-31hydra: Build the installation image.Ludovic Courtès
* 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-31system: Add 'issue' field.Ludovic Courtès
* 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-29hydra: Don't cross-build from MIPS to MIPS.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (hydra-jobs)[same?, either]: New procedure. Use it in 'remove' call.
2014-05-28hydra: Build for mips64el-linux.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (hydra-jobs)[systems]: Add mips64el-linux.
2014-05-22Add (gnu) module.Ludovic Courtès
* 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-20Add (gnu system file-systems).Ludovic Courtès
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-18system: Add 'grub-configuration' record.Ludovic Courtès
* 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-16hydra: Add dummy root file system declaration.Ludovic Courtès
* build-aux/hydra/demo-os.scm (file-systems): Add "/" file system.
2014-05-15build: Remove fusectl from the default file systems in the demo OS.Ludovic Courtès
* 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-14system: Provide declarations for the 'fusectl' and 'binfmt_misc' file systems.Ludovic Courtès
* 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-11system: Make accounts and groups at activation time.Ludovic Courtès
* 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-01system: Add 'sudo' to the setuid programs, and handle /etc/sudoers.Ludovic Courtès
* gnu/system.scm (<operating-system>)[groups]: Change default to just the 'root' group. [sudoers]: New field. (etc-directory): Add #:sudoers parameter. Add 'sudoers' to the file union. (operating-system-etc-directory): Pass #:sudoers to 'etc-directory'. (%setuid-programs): Add 'sudo'. (%sudoers-specification): New variable. * gnu/system/linux.scm (base-pam-services): Add 'sudo'. * build-aux/hydra/demo-os.scm: Add 'groups' field; add 'guest' to the 'wheel' group.