Commit Graph

83 Commits

Author SHA1 Message Date
Ludovic Courtès 8781c3d9fc
hydra: Do not cross-build from non-Intel platforms.
* build-aux/hydra/gnu-system.scm (hydra-jobs)[cross-jobs](pointless?):
Return #t on non-Intel.
2017-12-29 13:38:06 +01:00
Ludovic Courtès e2e6e9ebf0
hydra: Pre-load the compiler.
Starting from Guile 2.2.3, '%fresh-auto-compile' does what it says and
would auto-compile everything, including the compiler (see
<https://bugs.gnu.org/29226>).

* build-aux/hydra/gnu-system.scm: Call 'compile'.
2017-12-13 23:11:54 +01:00
Ludovic Courtès 34797d8afc
hydra: Invalidate derivation caches after each architecture evaluation.
This reduces max RSS from 1.3G to 1.0G.

* guix/derivations.scm (invalidate-derivation-caches!): New procedure.
* build-aux/hydra/gnu-system.scm (hydra-jobs): Use it.  Add 'format'
call.
2017-12-13 23:11:53 +01:00
Ludovic Courtès b574cee361
hydra: Add jobs for all of '%final-inputs'.
* build-aux/hydra/gnu-system.scm (package->job): Create a 'base.' job
when PACKAGE is a member of BASE-PACKAGES.
(all-packages)[adjust]: New procedure.
Fold over %FINAL-INPUTS and add it to the result.
2017-11-07 18:09:13 +01:00
Ludovic Courtès 25a5b187e8
hydra: Build hidden packages.
* build-aux/hydra/gnu-system.scm (all-packages): Pass #:select? to
'fold-packages'.
2017-11-07 18:09:12 +01:00
Ludovic Courtès b5033c5a9e
hydra: Factorize package list creation.
* build-aux/hydra/gnu-system.scm (all-packages): New procedure, with
body taken from...
(hydra-jobs): ... here.  Use it.
2017-11-07 18:09:12 +01:00
Jan Nieuwenhuizen 516b53828e
cuirass: Support subset with list of package[@version].
* build-aux/hydra/gnu-system.scm (hydra-jobs): Support subset of
packages: ("name[@version" ...).
2017-09-27 22:19:28 +02:00
Jan Nieuwenhuizen 66bc1d2aaf
cuirass: Add gnu-system build spec.
* build-aux/hydra/gnu-system.scm (hydra-jobs): Support subset "hello".
* build-aux/cuirass/gnu-system.scm: New file.
* doc/guix.texi (Continuous Integration): Update example spec.
2017-09-27 22:19:28 +02:00
Danny Milosavljevic be1033a334
build: Add iso9660 system image generator.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Add 'iso9660-image .
* gnu/build/vm.scm (make-iso9660-image): New variable.  Export it.
* gnu/system/vm.scm (iso9660-image): New variable.  Use make-iso9660-image.
(system-disk-image): Use iso9660-image.
2017-07-03 10:07:59 +02:00
Ludovic Courtès 82c955c0a5
hydra: Don't build non-substitutable packages.
* build-aux/hydra/gnu-system.scm (package->job): Compute PACKAGE's
derivation; return #f if 'substitutable-derivation?' returns #f.
2017-06-15 23:07:47 +02:00
Ludovic Courtès d116695b31
hydra: Cross-build Guile 2.2.
* build-aux/hydra/gnu-system.scm (%core-packages): Add GUILE-2.2.
2017-05-16 14:16:56 +02:00
Ludovic Courtès 6f9f01fbf6
hydra: Don't build deprecated packages.
* build-aux/hydra/gnu-system.scm (hydra-jobs): When iterating over the
packages, exclude those that match 'package-superseded'.
2017-03-30 23:46:07 +02:00
Marius Bakke 84157bb8bf
Merge branch 'master' into core-updates
Most conflicts are from 6fd52309b8.
2017-03-30 22:59:53 +02:00
Ludovic Courtès 32e18d3754
hydra: Include the localstatedir in the binary tarball.
This is a followup to 6b63c43e06.

* build-aux/hydra/gnu-system.scm (tarball-jobs): Pass #:localstatedir? #t
to 'self-contained-tarball'.
2017-03-30 11:15:16 +02:00
Efraim Flashner 3f9543aee1
Merge remote-tracking branch 'origin/master' into core-updates 2017-03-13 23:08:49 +02:00
Ludovic Courtès 239c22663a
Add 'guix pack'.
* gnu/system/install.scm (self-contained-tarball): Move to...
* guix/scripts/pack.scm: ... here.  New file.
* doc/guix.texi (Binary Installation): Mention 'guix pack'.
(Invoking guix pack): New node.
* build-aux/make-binary-tarball.scm: Remove.
* Makefile.am (MODULES): Add guix/scripts/pack.scm.
(EXTRA_DIST): Remove build-aux/make-binary-tarball.scm.
(guix-binary.%.tar.xz): Rewrite using 'guix pack'.
* build-aux/hydra/gnu-system.scm (tarball-jobs): Adjust accordingly.
2017-03-12 17:47:25 +01:00
Ludovic Courtès e90e0fad1b
Merge branch 'master' into core-updates 2017-03-09 16:35:41 +01:00
Ludovic Courtès 9ec2a4d3fe
hydra: Really disable 32-to-64-bit cross-builds.
Fixes <http://bugs.gnu.org/26022>.
Reported by Efraim Flashner <efraim@flashner.co.il>.

* build-aux/hydra/gnu-system.scm (hydra-jobs)[cross-jobs](from-32-to-64?):
Check whether TARGET contains "64" rather than checking whether TARGET
ends in "64", which is rarely the case.
(same?): Add special case for armhf-linux.
2017-03-09 16:28:36 +01:00
Efraim Flashner ac16cf3ece
hydra: Add "aarch64-linux-gnu" as a cross-compilation target.
* build-aux/hydra/gnu-system.scm (%cross-targets): Add
"aarch64-linux-gnu".
2017-02-17 12:33:55 +02:00
Efraim Flashner 300211e349
hydra: Add "aarch64-linux-gnu" as a cross-compilation target.
* build-aux/hydra/gnu-system.scm (%cross-targets): Add
"aarch64-linux-gnu".
2017-02-14 23:40:22 +02:00
Ludovic Courtès 677b30221b
hydra: Add "i586-pc-gnu" as a cross-compilation target.
* build-aux/hydra/gnu-system.scm (%cross-targets): Add "i586-pc-gnu".
2017-01-20 22:32:47 +01:00
Leo Famulari 74288230ea
Merge branch 'master' into core-updates 2017-01-06 17:14:41 -05:00
Ludovic Courtès 9410a5aa91
hydra: Add "powerpc-linux-gnu" as a cross-compilation target.
* build-aux/hydra/gnu-system.scm (%cross-targets): Add
"powerpc-linux-gnu".
2017-01-05 00:00:59 +01:00
Ludovic Courtès a3a2774501
hydra: Remove 'qemu-image' job.
As per the discussion at
<https://lists.gnu.org/archive/html/guix-devel/2016-12/msg01098.html>.

* build-aux/hydra/gnu-system.scm (demo-os): Remove.
(qemu-jobs): Remove 'qemu-image' job.
* build-aux/hydra/demo-os.scm: Remove.
2016-12-31 01:44:04 +01:00
Ludovic Courtès a69bc7071e
hydra: Fix wrong-num-args error when computing the cross jobs.
Fixes a regression introduced in
dea91108cf.

* build-aux/hydra/gnu-system.scm (hydra-jobs)[cross-jobs](either): Add
third parameter and honor it.
2016-12-08 00:28:48 +01:00
Ludovic Courtès 530b8bda1f
hydra: Adjust to make-bootstrap.scm change.
This is a followup to commit f13f60cb26.

* build-aux/hydra/gnu-system.scm (%core-packages): Call
'%glibc-bootstrap-tarball' since it's now a thunk, not a package.
2016-12-08 00:28:48 +01:00
Ludovic Courtès 0a050ebc35
hydra: Use '%final-inputs' from base.scm, not commencement.scm.
* build-aux/hydra/gnu-system.scm (package->job): Use the '%final-inputs'
procedure from (gnu packages base).
2016-12-08 00:28:47 +01:00
Ludovic Courtès dea91108cf
hydra: Add "i686-w64-mingw32" as a cross-compilation target.
* build-aux/hydra/gnu-system.scm (%cross-targets): Add "i686-w64-mingw32".
(hydra-jobs)[cross-jobs?](pointless?): New procedure.
Use it.
2016-12-07 10:23:18 +01:00
Ludovic Courtès 6ef6246cfc
hydra: Add "arm-linux-gnueabihf" as a cross-compilation target.
* build-aux/hydra/gnu-system.scm (%cross-targets): Add
"arm-linux-gnueabihf".
2016-10-20 15:43:59 +02:00
Ludovic Courtès ab23fb83c2
hydra: Fix the construction of system test jobs.
* build-aux/hydra/gnu-system.scm (system-test-jobs)[test->thunk]: New
procedure.
[->job]: Use it.
2016-06-21 15:59:06 +02:00
Ludovic Courtès 5c310940ed
hydra: Set the guile-for-build for the test jobs.
* build-aux/hydra/gnu-system.scm (system-test-jobs): Call
'set-guile-for-build'.
2016-06-21 00:20:50 +02:00
Ludovic Courtès e702e26a38
hydra: Add jobs for the system tests.
* build-aux/hydra/gnu-system.scm (%guixsd-supported-systems): New
variable.
(qemu-jobs): Use it.
(system-test-jobs): New procedure.
(hydra-jobs): Use it.
2016-06-20 23:50:46 +02:00
Ludovic Courtès 9c3bb4c54d hydra: Really completely disable grafting.
This is a followup to 49c4fd2a.

* build-aux/hydra/gnu-system.scm (package->alist): Parameterize %graft?.
(qemu-jobs)[->job]: Likewise.
(tarball-jobs)[->job]: Likewise.
2016-04-13 19:20:03 +02:00
Ludovic Courtès 622b2304ce doc: We now need 1 GiB for the installation USB image.
* doc/guix.texi (Building the Installation Image): Change image size to 1G.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Likewise.
2016-03-24 23:31:56 +01:00
Ludovic Courtès 49c4fd2aab hydra: Completely disable grafting.
* build-aux/hydra/gnu-system.scm (hydra-jobs): Parameterize '%graft?'.
Build package replacements when they are available.
2016-03-03 00:18:30 +01:00
Ludovic Courtès f8187bde7f hydra: Improve readability.
* build-aux/hydra/gnu-system.scm (hydra-jobs): Use 'filter-map' instead
of directly 'fold-packages'.
2016-03-03 00:18:30 +01:00
Ludovic Courtès af46761302 hydra: Honor the 'max-silent-time' package property.
Suggested by Mark H Weaver <mhw@netris.org>.

* build-aux/hydra/gnu-system.scm (package->alist): Add
'max-silent-time' pair.
2016-01-19 22:12:11 +01:00
Mark H Weaver eb55e28c84 hydra: Remove cross-builds from armhf-linux to mips64el-linux-gnuabi64.
* build-aux/hydra/gnu-system.scm (hydra-jobs)[cross-jobs]: Modify
  'from-32-to-64?' to include 'armhf-linux' in the set of 32-bit systems.
2015-09-09 16:35:03 -04:00
Mark H Weaver 629f4d2e6e gnu: gcc-5.1, gcc-toolchain-5.1, libstdc++-doc-5.1: Rename to *-5.
This reflects the new version numbering scheme for GCC 5 and up.
See <https://gcc.gnu.org/develop.html>.

* gnu/packages/gcc.scm (gcc-5.1): Rename to ...
  (gcc-5): ... this.
  (libstdc++-doc-5.1): Rename to ...
  (libstdc++-doc-5): ... this, and use gcc-5.
* gnu/packages/commencement.scm (gcc-toolchain-5.1): Rename to ...
  (gcc-toolchain-5): ... this, and use gcc-5.
* build-aux/hydra/gnu-system.scm (%core-packages): Use gcc-5.
2015-07-19 23:20:39 -04:00
Ludovic Courtès a2ee6cbea2 hydra: Remove GCC 4.7 from the core set, and add 4.9 and 5.1.
* build-aux/hydra/gnu-system.scm (%core-packages): Remove GCC-4.7.  Add
  GCC-4.9 and GCC-5.1.
2015-06-16 15:41:17 +02:00
Mark H Weaver ae0bcc1e9d hydra: Support per-package absolute build timeouts.
* build-aux/hydra/gnu-system.scm (package->alist): Use the 'timeout' value in
  the package 'properties' alist, if present.
2015-05-29 14:33:32 -04:00
Ludovic Courtès 897e5d9960 hydra: Increase USB image size.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Increase disk image size
  to 860 MiB, for x86_64.
2015-05-15 22:55:14 +02:00
Ludovic Courtès abcbda48c2 packages: Add '%hydra-supported-systems'.
* build-aux/hydra/gnu-system.scm (%hydra-supported-systems): Remove.
* guix/packages.scm (%hydra-supported-systems): New variable.
2015-05-01 16:05:40 +02:00
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 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 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
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