summaryrefslogtreecommitdiff
path: root/build-aux
Commit message (Collapse)AuthorAgeFilesLines
* build: Use -Wmacro-use-before-definition.Ludovic Courtès2017-09-081-1/+2
| | | | * build-aux/compile-all.scm (warnings): Add 'macro-use-before-definition'.
* pull: Fetch source code from Git.Ludovic Courtès2017-08-021-0/+17
| | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/pull.scm (%snapshot-url, with-environment-variable) (with-PATH): Remove. (ensure-guile-git!): New procedure. (%repository-url): New variable. (%default-options): Add 'repository-url' and 'ref'. (show-help, %options): Add '--commit' and '--url'. (temporary-directory, first-directory, interned-then-deleted) (unpack): Remove. (build-from-source): Rename 'tarball' to 'source'. Remove call to 'unpack'. (build-and-install): Rename 'tarball' to 'source'. (honor-lets-encrypt-certificates!, report-git-error): New procedures. (with-git-error-handling): New macro. (guix-pull)[fetch-tarball]: Remove. Wrap body in 'with-git-error-handling'. Rewrite to use 'latest-repository-commit'. * build-aux/build-self.scm (build): Print an error message and exit when GUILE-GIT is #f. * doc/guix.texi (Invoking guix pull): Mention Git. Document '--commit' and '--branch'.
* hydra: Add 'guix.SYSTEM' jobs.Ludovic Courtès2017-07-251-2/+18
| | | | | * build-aux/hydra/guix.scm (package->alist): Disable grafting. (hydra-jobs): Return 'guix.SYSTEM' jobs in addition to 'tarball'.
* hydra: Simplify 'tarball' job.Ludovic Courtès2017-07-251-31/+4
| | | | | * build-aux/hydra/guix.scm (tarball-package): Remove. (hydra-jobs): Use 'dist-package' instead of 'tarball-package'.
* build: Add iso9660 system image generator.Danny Milosavljevic2017-07-031-1/+8
| | | | | | | * 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.
* hydra: Don't build non-substitutable packages.Ludovic Courtès2017-06-151-1/+5
| | | | | * build-aux/hydra/gnu-system.scm (package->job): Compute PACKAGE's derivation; return #f if 'substitutable-derivation?' returns #f.
* pull: Add a dependency to guile-git.Mathieu Othacehe2017-06-091-11/+41
| | | | | | | * build-aux/build-self.scm (guile-git, guile-bytestructures): New variables. (build): Add guile-git and guile-bytestructures to %load-path and %load-compiled-path.
* maint: Add 'update-NEWS' target.Ludovic Courtès2017-05-181-0/+161
| | | | | | | | * build-aux/update-NEWS.scm: New file. * Makefile.am (EXTRA_DIST): Add it. (GUIX_MAINTENANCE_DIRECTORY): New variable. (update-NEWS): New target. (.PHONY): Add it.
* hydra: Cross-build Guile 2.2.Ludovic Courtès2017-05-161-1/+1
| | | | * build-aux/hydra/gnu-system.scm (%core-packages): Add GUILE-2.2.
* pull: Build with the matching Guile major version.Ludovic Courtès2017-05-091-16/+72
| | | | | | | | | | | | | | | | | | Previously, 'guix pull' would always build with Guile 2.0. Now it builds with the Guile that matches (effective-version). * build-aux/build-self.scm (false-if-wrong-guile) (package-for-current-guile): New procedures. (guile-json, guile-ssh): Use it. (guile-for-build): New procedure. (build): Use (effective-version) instead of the hard-coded "/2.0". Add (guix modules) closure to #:modules argument. Pass \#:guile-for-build argument to 'gexp->derivation'. * guix/build/pull.scm (depends-on-guile-ssh?, all-scheme-files): New procedures. (build-guix): Show the output of (version). Use the above procedures. Filter out files that match 'depends-on-guile-ssh?' when (ssh session) is missing.
* maint: update-guix-package: Protect the checkout from GC.Ludovic Courtès2017-05-091-4/+13
| | | | | * build-aux/update-guix-package.scm (main): Define 'root', and call 'add-indirect-root' to protect SOURCE from GC.
* maint: Check whether binaries cross-built to "arm-linux-gnueabihf" are ↵Ludovic Courtès2017-05-081-1/+2
| | | | | | | available. * build-aux/check-available-binaries.scm: Add "arm-linux-gnueabihf" as a cross target.
* maint: 'check-available-binaries' forces use of the official servers.Ludovic Courtès2017-05-081-2/+4
| | | | | * build-aux/check-available-binaries.scm: Pass #:substitute-urls to 'set-build-options'.
* maint: Use 'G_' in build-aux/ scripts.Ludovic Courtès2017-05-081-3/+3
| | | | | | | This is a followup to 69daee23af49aeafcb1d250c90860f9253da719e. * build-aux/check-final-inputs-self-contained.scm (assert-valid-substitute): Use 'G_' instead of '_'.
* maint: Add 'time-monotonic' bug workaround in build-aux/hydra/evaluate.scm.Ludovic Courtès2017-05-071-1/+8
| | | | | * build-aux/hydra/evaluate.scm: Add 'time-monotonic' workaround for Guile 2.2.
* maint: Add 'update-guix-package' target.Ludovic Courtès2017-05-071-0/+135
| | | | | | | | * build-aux/update-guix-package.scm: New file. * Makefile.am (EXTRA_DIST): Add it. (update-guix-package): New target. (.PHONY): Add it. * gnu/packages/package-management.scm (guix): Mention it.
* build: Use Gnulib's 'git-version-gen'.Ludovic Courtès2017-05-041-0/+226
| | | | | | | | | * Makefile.am (EXTRA_DIST, BUILT_SOURCES): Add $(top_srcdir)/.version. ($(top_srcdir)/.version, gen-tarball-version): New targets. (dist-hook): Depend on 'gen-tarball-version'. (.PHONY): Add 'gen-tarball-version'. * build-aux/git-version-gen: New file, from Gnulib v0.1-1312-ga87d5e5c6. * configure.ac: Use it in 'AC_INIT'. Use 'https' for the URL.
* ui: Rename '_' to 'G_'.Ludovic Courtès2017-05-031-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids collisions with '_' when the latter is used as a 'match' pattern for instance. See <https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00464.html>. * guix/ui.scm: Rename '_' to 'G_'. * po/guix/Makevars (XGETTEXT_OPTIONS): Adjust accordingly. * build-aux/compile-all.scm (warnings): Remove 'format'. * gnu/packages.scm, gnu/services.scm, gnu/services/shepherd.scm, gnu/system.scm, gnu/system/shadow.scm, guix/gnupg.scm, guix/http-client.scm, guix/import/cpan.scm, guix/import/elpa.scm, guix/import/pypi.scm, guix/nar.scm, guix/scripts.scm, guix/scripts/archive.scm, guix/scripts/authenticate.scm, guix/scripts/build.scm, guix/scripts/challenge.scm, guix/scripts/container.scm, guix/scripts/container/exec.scm, guix/scripts/copy.scm, guix/scripts/download.scm, guix/scripts/edit.scm, guix/scripts/environment.scm, guix/scripts/gc.scm, guix/scripts/graph.scm, guix/scripts/hash.scm, guix/scripts/import.scm, guix/scripts/import/cpan.scm, guix/scripts/import/cran.scm, guix/scripts/import/crate.scm, guix/scripts/import/elpa.scm, guix/scripts/import/gem.scm, guix/scripts/import/gnu.scm, guix/scripts/import/hackage.scm, guix/scripts/import/nix.scm, guix/scripts/import/pypi.scm, guix/scripts/import/stackage.scm, guix/scripts/lint.scm, guix/scripts/offload.scm, guix/scripts/pack.scm, guix/scripts/package.scm, guix/scripts/perform-download.scm, guix/scripts/publish.scm, guix/scripts/pull.scm, guix/scripts/refresh.scm, guix/scripts/size.scm, guix/scripts/substitute.scm, guix/scripts/system.scm, guix/ssh.scm, guix/upstream.scm: Use 'G_' instead of '_'. Most of this change was obtained by running: "sed -i -e's/(_ "/(G_ "/g' `find -name \*.scm`".
* build: Download aarch64 bootstrap binaries from alpha.gnu.org.Ludovic Courtès2017-04-141-11/+9
| | | | | * build-aux/download.scm (file-name->uri): Remove flashner.co.il URL. * gnu/packages/package-management.scm (boot-guile-uri): Likewise.
* hydra: Don't build deprecated packages.Ludovic Courtès2017-03-301-5/+8
| | | | | * build-aux/hydra/gnu-system.scm (hydra-jobs): When iterating over the packages, exclude those that match 'package-superseded'.
* Merge branch 'master' into core-updatesMarius Bakke2017-03-301-0/+1
|\ | | | | | | Most conflicts are from 6fd52309b8f52c9bb59fccffac53e029ce94b698.
| * hydra: Include the localstatedir in the binary tarball.Ludovic Courtès2017-03-301-0/+1
| | | | | | | | | | | | | | This is a followup to 6b63c43e0661406bf9e8c4c54f517744fc2ffdb3. * build-aux/hydra/gnu-system.scm (tarball-jobs): Pass #:localstatedir? #t to 'self-contained-tarball'.
* | Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner2017-03-231-28/+23
|\|
| * build: 'test-driver.scm' prints Scheme values with 'write'.Ludovic Courtès2017-03-221-28/+23
| | | | | | | | | | | | | | | | Previously it would print them with 'display', which was inconvenient. * build-aux/test-driver.scm (test-display): Use ~S for VALUE. (test-runner-gnu): Use 'format' instead of 'test-display' for the test name, location, and result kind.
* | Merge branch 'master' into core-updatesMark H Weaver2017-03-191-7/+2
|\|
| * build: Require Guile >= 2.0.9.Ludovic Courtès2017-03-181-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Bump requirement to 2.0.9. * doc/guix.texi (Requirements): Adjust accordingly. * README (Requirements): Likewise. * build-aux/download.scm: Remove workaround for <http://bugs.gnu.org/13095>. * guix/build/download.scm: Likewise. (http-fetch)[post-2.0.7?]: Remove. Remove conditional code for not POST-2.0.7?. * guix/http-client.scm: Remove workaround for <http://bugs.gnu.org/13095>. (http-fetch)[post-2.0.7?]: Remove. Remove conditional code for not POST-2.0.7?. * guix/serialization.scm (read-latin1-string): Remove mention of 2.0.9. * tests/nar.scm: Use (ice-9 control). (let/ec): Remove.
| * utils: Move base16 procedures to (guix base16).Ludovic Courtès2017-03-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/utils.scm (bytevector->base16-string, base16-string->bytevector): Move to... * guix/base16.scm: ... here. New file. * tests/utils.scm ("bytevector->base16-string->bytevector"): Move to... * tests/base16.scm: ... here. New file. * Makefile.am (MODULES): Add guix/base16.scm. (SCM_TESTS): Add tests/base16.scm. * build-aux/download.scm, guix/derivations.scm, guix/docker.scm, guix/import/snix.scm, guix/pk-crypto.scm, guix/scripts/authenticate.scm, guix/scripts/download.scm, guix/scripts/hash.scm, guix/store.scm, tests/hash.scm, tests/pk-crypto.scm: Adjust imports accordingly.
* | Merge branch 'master' into core-updatesMarius Bakke2017-03-151-2/+31
|\|
| * build: On 2.2, build package files with almost no optimizations.Ludovic Courtès2017-03-141-2/+31
| | | | | | | | | | | | | | * build-aux/compile-all.scm (%default-optimizations) (%lightweight-optimizations): New variables. (optimization-options): New procedure. (compile-file*): Use it.
* | Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner2017-03-132-48/+8
|\|
| * Add 'guix pack'.Ludovic Courtès2017-03-122-48/+8
| | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Merge branch 'master' into core-updatesLudovic Courtès2017-03-092-6/+16
|\|
| * hydra: Really disable 32-to-64-bit cross-builds.Ludovic Courtès2017-03-091-3/+6
| | | | | | | | | | | | | | | | | | | | 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.
| * build: Unset 'NIX_BUILD_HOOK' when offloading support is missing.Ludovic Courtès2017-03-081-4/+11
| | | | | | | | | | * build-aux/pre-inst-env.in: Export 'NIX_BUILD_HOOK' only when nix/scripts/offload is executable; unset it otherwise.
| * hydra: Add "aarch64-linux-gnu" as a cross-compilation target.Efraim Flashner2017-02-141-0/+1
| | | | | | | | | | * build-aux/hydra/gnu-system.scm (%cross-targets): Add "aarch64-linux-gnu".
* | gnu: Add bootstrap-binaries for 'aarch64-linux'.Efraim Flashner2017-02-201-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These bootstrap-binaries were built against commit 8f8f250bdca917b3ce38aa0902f01b19081859a4. * gnu/packages/bootstrap/aarch64-linux/bash, gnu/packages/bootstrap/aarch64-linux/mkdir, gnu/packages/bootstrap/aarch64-linux/xz, gnu/packages/bootstrap/aarch64-linux/tar: New files. * gnu/local.mk (bootstrap_aarch64_linuxdir) (dist_bootstrap_aarch64_linux_DATA) (nodist_bootstrap_aarch64_linux_DATA): New variables. (DISTCLEANFILES): Add $(nodist_bootstrap_aarch64_linux_DATA). (gnu/packages/bootstrap/aarch64-linux/guile-2.0.14.tar.xz): New target. * build-aux/download.scm (filename->uri): Add aarch64-linux entry. * gnu/packages/bootstrap.scm (raw-build): Use guile-2.0.14.tar.xz on aarch64-linux. (glibc-dynamic-linker, %bootstrap-coreutils&co, %boostrap-binutils) (%bootstrap-glibc, %bootstrap-gcc): Add aarch64-linux cases. * m4/guix.m4 (GUIX_SYSTEM_TYPE): Add aarch64 case. (GUIX_ASSERT_SUPPORTED_SYSTEM): Add aarch64-linux to supported list. * doc/guix.texi (GNU Distribution): Add aarch64-linux to the list of supported systems. * tests/packages.scm (package-search-derivation, snippet): Add aarch64 case.
* | hydra: Add "aarch64-linux-gnu" as a cross-compilation target.Efraim Flashner2017-02-171-0/+1
| | | | | | | | | | * build-aux/hydra/gnu-system.scm (%cross-targets): Add "aarch64-linux-gnu".
* | hydra: Add "i586-pc-gnu" as a cross-compilation target.Ludovic Courtès2017-01-201-2/+3
| | | | | | | | * build-aux/hydra/gnu-system.scm (%cross-targets): Add "i586-pc-gnu".
* | Merge branch 'master' into core-updatesLeo Famulari2017-01-064-105/+26
|\|
| * hydra: Remove 'qemu-image' job.Ludovic Courtès2016-12-312-98/+1
| | | | | | | | | | | | | | | | | | 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.
| * build: check-final-inputs-self-contained has an exception for 'bash:include'.Ludovic Courtès2016-12-181-1/+6
| | | | | | | | | | | | | | | | Currently 'bash:include' of the final Bash depends on bootstrap stuff. * build-aux/check-final-inputs-self-contained.scm (final-inputs): Add clause for 'bash:include'. * gnu/packages/commencement.scm (bash-final): Add FIXME comment.
| * hydra: Fix wrong-num-args error when computing the cross jobs.Ludovic Courtès2016-12-081-2/+2
| | | | | | | | | | | | | | | | Fixes a regression introduced in dea91108cf6b9bb46071c8f65c9abf834c5b064d. * build-aux/hydra/gnu-system.scm (hydra-jobs)[cross-jobs](either): Add third parameter and honor it.
| * hydra: Adjust to make-bootstrap.scm change.Ludovic Courtès2016-12-081-1/+1
| | | | | | | | | | | | | | This is a followup to commit f13f60cb2620433280ccb2132376b7c6d3dbc06f. * build-aux/hydra/gnu-system.scm (%core-packages): Call '%glibc-bootstrap-tarball' since it's now a thunk, not a package.
| * hydra: Use '%final-inputs' from base.scm, not commencement.scm.Ludovic Courtès2016-12-081-2/+1
| | | | | | | | | | * build-aux/hydra/gnu-system.scm (package->job): Use the '%final-inputs' procedure from (gnu packages base).
| * hydra: Add "i686-w64-mingw32" as a cross-compilation target.Ludovic Courtès2016-12-071-2/+9
| | | | | | | | | | | | * build-aux/hydra/gnu-system.scm (%cross-targets): Add "i686-w64-mingw32". (hydra-jobs)[cross-jobs?](pointless?): New procedure. Use it.
| * pull: Hack to allow compilation with older Guile-SSH packages.Ludovic Courtès2016-11-271-0/+7
| | | | | | | | | | | | | | | | Reported by iyzsong@member.fsf.org (宋文武) at <https://lists.gnu.org/archive/html/guix-devel/2016-11/msg01045.html>. * build-aux/build-self.scm (build): Set 'LTDL_LIBRARY_PATH' when GUILE-SSH has a "0.9." version prefix.
* | hydra: Add "powerpc-linux-gnu" as a cross-compilation target.Ludovic Courtès2017-01-051-2/+3
|/ | | | | * build-aux/hydra/gnu-system.scm (%cross-targets): Add "powerpc-linux-gnu".
* pull: Add guile-ssh to the dependencies.宋文武2016-11-261-2/+10
| | | | | | | Fix regression introduced in 9e76eed. * build-aux/build-self.scm (guile-ssh): New variable. (build)[builder]: Add 'guile-ssh' to %load-path and %load-compiled-path.
* tests: 'make check-system' prints the "build trace".Ludovic Courtès2016-11-031-0/+1
| | | | | * build-aux/run-system-tests.scm (run-system-tests): Pass #:print-build-trace to 'set-build-options*'.
* tests: Use #:fallback? #t when building system tests.Ludovic Courtès2016-10-271-1/+2
| | | | | * build-aux/run-system-tests.scm (run-system-tests): Pass #:fallback? #t to 'set-build-options*'.