Commit Graph

230 Commits

Author SHA1 Message Date
Ludovic Courtès 6cb02e6e00
tests: 'make check-system' prints the "build trace".
* build-aux/run-system-tests.scm (run-system-tests): Pass
  #:print-build-trace to 'set-build-options*'.
2016-11-03 15:44:49 +01:00
Ludovic Courtès d88767a399
tests: Use #:fallback? #t when building system tests.
* build-aux/run-system-tests.scm (run-system-tests): Pass #:fallback? #t
to 'set-build-options*'.
2016-10-27 01:00:41 +02: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 402bb3b9f7
build: Arrange so temporary .go files are deleted upon SIGINT.
* build-aux/compile-all.scm: Install SIGINT handler.
2016-10-12 23:35:41 +02:00
Taylan Ulrich Bayırlı/Kammer 5a88b2d130
build: Improve Guile 2.2 compatibility.
* build-aux/compile-all.scm (compile-file*): Ensure loading of
  compilation related modules before going parallel.
* guix/build/pull.scm (build-guix): Ditto.
2016-09-29 23:59:06 +02:00
Ludovic Courtès b006ba5038
pull: Update the version string.
Fixes <http://bugs.gnu.org/19278>.
Reported by Tomáš Čech <tcech@suse.cz>.

This allows 'guix --version' to return something that better represents
what version is being used.

* build-aux/build-self.scm (date-version-string): New procedure.
(build): Add #:version.
[builder]: Pass it to 'build-guix' as #:package-version.
2016-07-20 22:53:02 +02:00
Ludovic Courtès 13cee334f1
pull: Install (guix config) module to override the user's one.
* build-aux/build-self.scm (zlib, gzip, bzip2, xz): New variables.
(build)[storedir, localstatedir, sysconfdir, sbindir]: New variables.
[builder]: Pass them to 'build-guix'.
* guix/build/pull.scm (build-guix): Add #:system, #:storedir,
  #:localstatedir, #:sysconfdir, #:sbindir, #:package-name,
  #:package-version, #:bug-report-address, #:home-page-url, #:libgcrypt,
  #:zlib, #:gzip, #:bzip2, and #:xz.  Remove #:gcrypt.
  Instantiate all the substitution variables in (guix config).  Remove
  code to delete OUT/guix/config.{scm,go}.
* guix/config.scm.in: Add note about (guix script pull).
2016-07-20 22:53:02 +02:00
David Craven 9dd674db01
daemon: Rename 'NIX_CONF_DIR' to 'GUIX_CONFIGURATION_DIRECTORY'.
Partly fixes <http://bugs.gnu.org/22459>.
Reported by Jeff Mickey <j@codemac.net> and David Craven <david@craven.ch>.

* nix/libstore/globals.cc (Settings::processEnvironment()): Change
'NIX_CONF_DIR' to 'GUIX_CONFIGURATION_DIRECTORY'.
* nix/local.mk (libstore_a_CPPFLAGS): Likewise.
* guix/config.scm.in (%config-directory): Likewise.
* build-aux/test-env.in: Likewise.
* gnu/packages/patches/hydra-automake-1.15.patch: Likewise.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-06-26 23:11:07 +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 4c9243b688
hydra: 'evaluate' now validates job alists.
* build-aux/hydra/evaluate.scm (assert-valid-job): New procedure.
<top level>: 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 de7e0e8ee0
build: 'make check-system' now honors $TESTS.
* build-aux/run-system-tests.scm (run-system-tests)[tests]: Honor the
'TESTS' environment variable.
2016-06-20 23:50:46 +02:00
Ludovic Courtès 98b65b5ff6
tests: Add a mechanism to describe and discover system tests.
* gnu/tests.scm (<system-test>): New record type.
(write-system-test, test-modules, fold-system-tests)
(all-system-tests): New procedures.
* gnu/tests/base.scm (%test-basic-os): Turn into a <system-test>.
* gnu/tests/install.scm (%test-installed-os): Likewise.
* build-aux/run-system-tests.scm (%system-tests): Remove.
(run-system-tests): Use 'all-system-tests'.
2016-06-20 23:50:46 +02:00
Ludovic Courtès 94b4274d0d
tests: Add system installation test.
* gnu/tests.scm (define-os-with-source): New macro.
* gnu/tests/install.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* build-aux/run-system-tests.scm (%system-tests): Likewise.
2016-06-20 23:50:46 +02:00
Ludovic Courtès 41c569d9b9
build: Add 'run-system-tests.scm'.
This file was meant to be added as part of
commit e9f693d06f.

* build-aux/run-system-tests.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2016-05-04 23:56:42 +02:00
Ludovic Courtès 4d9ed58498
build: Preserve stderr for shell tests.
Fixes a regression introduced in
a9edb211e7 where the .log files of the .sh
tests would not contain stderr.

* build-aux/test-env.in: Redirect stderr only when --quiet-stderr is
passed.
* Makefile.am (SCM_LOG_DRIVER): Add --quiet-stderr.
2016-05-04 23:35:55 +02:00
Ludovic Courtès f1ebeee131
build: 'make assert-binaries-available' shows the list of systems.
* build-aux/check-available-binaries.scm: Display %HYDRA-SUPPORTED-SYSTEMS.
2016-04-27 15:00:49 +02:00
Mathieu Lirzin a1097caa6a build: Move environment '.in' scripts to 'build-aux' directory.
* pre-inst-env.in: Move to ...
* build-aux/pre-inst-env.in: ... here.
* test-env.in: Move to ...
* build-aux/test-env.in: ... here.
* configure.ac (AC_CONFIG_FILES): Adapt to this.  Keep the generated
scripts in their current location which is $(top_builddir).
2016-04-15 00:59:07 +02:00
Ludovic Courtès 89cbec89a5 hydra: Add 'hydra-jobs.scm' target to compute the Hydra jobs.
* build-aux/hydra/evaluate.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2016-04-13 19:20:03 +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
Mathieu Lirzin a9edb211e7 build: Add a Guile custom test driver using SRFI-64.
Before that '.log' files for scheme tests were fragmented and not
included in test-suite.log.  This unifies the semantics of SRFI-64 API
with Automake test suite.

* build-aux/test-driver.scm: New file.
* Makefile.am (SCM_LOG_DRIVER, AM_SCM_LOG_DRIVER_FLAGS): New variables.
(SCM_LOG_COMPILER, AM_SCM_LOG_FLAGS): Delete variables.
(AM_TESTS_ENVIRONMENT): Set GUILE_AUTO_COMPILE to 0.
* test-env.in: Silence guix-daemon.
* doc/guix.texi (Running the Test Suite): Describe how to display the
detailed results.  Bug reports require only 'test-suite.log' file.
* tests/base32.scm, tests/build-utils.scm, tests/builders.scm,
tests/challenge.scm, tests/cpan.scm, tests/cpio.scm, tests/cran.scm,
tests/cve.scm, tests/derivations.scm, tests/elpa.scm,
tests/file-systems.scm, tests/gem.scm, tests/gexp.scm,
tests/gnu-maintenance.scm, tests/grafts.scm, tests/graph.scm,
tests/gremlin.scm, tests/hackage.scm, tests/hash.scm,
tests/import-utils.scm, tests/lint.scm, tests/monads.scm, tests/nar.scm,
tests/packages.scm, tests/pk-crypto.scm, tests/pki.scm,
tests/profiles.scm, tests/publish.scm, tests/pypi.scm,
tests/records.scm, tests/scripts-build.scm, tests/scripts.scm,
tests/services.scm, tests/sets.scm, tests/size.scm, tests/snix.scm,
tests/store.scm, tests/substitute.scm, tests/syscalls.scm,
tests/system.scm, tests/ui.scm, tests/union.scm, tests/upstream.scm,
tests/utils.scm: Don't exit at the end of test groups.
* tests/containers.scm: Likewise.  Use 'test-skip' instead of exiting
with error code 77.
2016-04-03 14:19:09 +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 5c7e1a3270 build: Use (guix grafts) as needed.
This is a followup to 7adf9b8.

* build-aux/check-final-inputs-self-contained.scm: Use (guix grafts).
* build-aux/check-available-binaries.scm: Likewise.
2016-03-03 23:54:36 +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 a4db2dd99f build: Remove semicolons from Guile warnings.
* build-aux/compile-all.scm (compile-file*):
Clear *CURRENT-WARNING-PREFIX*.
2016-02-01 08:59:13 +01:00
Ludovic Courtès 689b658db8 build: Really enable Guile warnings.
* build-aux/compile-all.scm (compile-options): Rename to...
(warnings): ... this.  Add 'unsupported-warning'.
(compile-file*): Pass '(#:warnings ...) as #:opts.
2016-02-01 08:59:13 +01:00
Alex Kost 171a0a13a4 Rename 'dmd' to 'shepherd' in comments and strings.
* build-aux/hydra/demo-os.scm (operating-system)[issue]: Point to
  shepherd instead of dmd.
* ROADMAP: Likewise.
* gnu/build/install.scm (directives): Adjust comment.
2016-01-29 20:21:54 +03:00
Mathieu Lirzin 8c3d889456 build: Add 'DL' silent rule.
* Makefile.am (AM_V_DL, AM_V_DL_, AM_V_DL_0): New variables.
* gnu-system.am (gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz)
(gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz)
(gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz)
(gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz): Use $(AM_V_DL).
* build-aux/download.scm: Print a line break between target and origin.
2016-01-28 16:31:38 +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
Taylan Ulrich Bayırlı/Kammer de6af32783 build: Speed up .go compilation.
* build-aux/compile-all.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
(%.go, make-go): New rules.
2016-01-18 08:57:55 +01:00
Ludovic Courtès 7a2eed3aac hydra: Add missing phase and inputs for 'make dist' job.
* build-aux/hydra/guix.scm (tarball-package): Inherit from 'guix-devel'
rather than 'guix'.  Pass #:phases to 'dist-package'.
2016-01-13 17:43:21 +01:00
Ludovic Courtès a6785b96ff hydra: Add Graphviz and help2man as inputs to the Guix job set.
* build-aux/hydra/guix.scm (tarball-package): Add GRAPHVIZ and HELP2MAN
  to 'native-inputs' of GUIX.
2015-10-14 21:39:05 +02:00
Ludovic Courtès c80f1559eb hydra: Update demo OS to new service interface.
* build-aux/hydra/demo-os.scm: Import (gnu services dbus); remove
  arguments to 'dbus-service'.
2015-10-13 00:06:11 +02:00
Ludovic Courtès afd3d9316c Use "normalized codesets" everywhere.
In other words, change "xx_YY.UTF-8" to "xx_YY.utf8".

* guix/profiles.scm (ca-certificate-bundle): Use "en_US.utf8" instead of
  "en_US.UTF-8".
* guix/packages.scm (patch-and-repack): Likewise.
* guix/build/gnu-build-system.scm (install-locale): Likewise.
* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Likewise.
* gnu/packages/python.scm (python-ipython): Likewise.
* gnu/packages/gawk.scm (gawk): Likewise.
* build-aux/hydra/demo-os.scm: Likewise.
* gnu/packages/guile.scm (guile-ncurses)[arguments]: Remove
  'change-locale' phase.
2015-10-04 00:10:03 +02: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
Ludovic Courtès e348eaaf31 check-available-binaries: Use 'substitutable-paths'.
* build-aux/check-available-binaries.scm: Rewrite to use 'substitutable-paths'
  instead of 'substitution-oracle'.  The latter does more than we need, and it
  no longer check the substitutability of valid items, which is not what we
  want.  Use 'lset-difference' instead of iterating over the items.
2015-07-21 22:28:20 +02: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
Alex Kost a8ac45b19e build: Generate 'AUTHORS'.
* build-aux/generate-authors.scm: New file.
* Makefile.am (gen-AUTHORS): New target.
  (dist-hook, .PHONY): Add it.
2015-07-06 19:00:19 +03:00
Mark H Weaver 2abf678682 Merge branch 'master' into core-updates 2015-06-18 01:32:37 -04:00
Mark H Weaver c362a40a58 hydra: Fix the demo OS.
* build-aux/hydra/demo-os.scm: Don't try to import (gnu services dbus), which
  no longer exists.  Use 'use-service-modules' and 'use-package-modules'.  Use
  "en_US.UTF-8" as system locale.
2015-06-18 01:32:20 -04:00
Mathieu Lirzin 4192e898a4 list-packages: Move to guix-artwork repository.
In order to integrate the package list in the GuixSD website, the listing of
packages has been moved into the website implementation.

* build-aux/list-packages.scm: Remove file.
* Makefile.am (EXTRA_DIST): Adapt to it.
2015-06-17 22:16:39 +02: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
David Thompson 4d043ab628 ui: Deduplicate 'show-what-to-build*'.
* guix/ui.scm (show-what-to-build*): New procedure.
* guix/scripts/environment.scm (show-what-to-build*): Delete.
* guix/scripts/system.scm (show-what-to-build*): Likewise.
* build-aux/make-binary-tarball.scm (show-what-to-build*): Likewise.
2015-05-21 08:29:47 -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 d7fdab2541 build: check-final-inputs-self-contained uses %HYDRA-SUPPORTED-SYSTEMS.
* build-aux/check-final-inputs-self-contained.scm: Change
  '%supported-systems' to '%hydra-supported-systems'.
2015-05-10 22:29:16 +02:00
Ludovic Courtès b9212a5455 Merge branch 'core-updates' 2015-05-02 22:42:53 +02:00
Ludovic Courtès a413bc8bd3 hydra: Update Guix job set.
* build-aux/hydra/guix.scm (tarball-package): Remove 'nix-checkout'
  parameter.  Remove 'arguments', 'native-inputs', and 'location'
  fields.  Adjust caller accordingly.
  (hydra-jobs): Remove 'nix-checkout'.
2015-05-02 22:16:06 +02:00
Ludovic Courtès 78bed82d19 check-available-binaries: Use %HYDRA-SUPPORTED-SYSTEMS.
* build-aux/check-available-binaries.scm: Use %HYDRA-SUPPORTED-SYSTEMS
  instead of %SUPPORTED-SYSTEMS.
2015-05-01 17:38:09 +02:00
Ludovic Courtès 75c5475f31 list-packages: Add status link only for systems supported on Hydra.
* build-aux/list-packages.scm (package->sxml)[status]:
  Intersect (package-transitive-supported-systems package) with
  %HYDRA-SUPPORTED-SYSTEMS.
2015-05-01 16:10:08 +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 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 9de1defe79.

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