summary refs log tree commit diff
path: root/gnu/packages/bootstrap.scm
AgeCommit message (Collapse)Author
2019-08-14gnu: mingw: Add x86_64 support.Carl Dong
This patch parameterizes previously hard-coded instances of i686-w64-mingw32, adding support for x86_64-w64-mingw32. * gnu/packages/mingw.scm (make-mingw-w64): New procedure. (mingw-w64-i686, mingw-w64-x86_64): New variables. (%mingw-triplet): Remove. (mingw-w64): Update to point to 'mingw-w64-i686'. * gnu/packages/cross-base.scm (cross-gcc): Use 'libc' keyword argument if specified, instead of treating it as a boolean. (native-libc): Return the correct mingw-w64 depending on machine specified in target. * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add "x86_64-mingw". * gnu/build/cross-toolchain.scm (set-cross-path/mingw): Replace hardcoded 'i686-w64-mingw32' instances with 'target' keyword argument. (cross-gcc-build-phases): Update accordingly; use 'target-mingw?' implementation of target checking and add commentary. * gnu/ci.scm (%cross-targets): Add "x86_64-w64-mingw32".
2019-07-15gnu: guile-bootstrap: Use the new 'derivation' calling convention.Ludovic Courtès
* gnu/packages/bootstrap.scm (raw-build): In 'derivation' call, distinguish #:inputs from #:sources, passing a list of <derivation-input> as #:inputs.
2019-05-29gnu: Add basic support for riscv64-linux-gnu targets.Carl Dong
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add "riscv64-linux". * gnu/packages/linux.scm (system->linux-architecture): Add "riscv" prefix. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-01-07gnu: Add dummy linker for arm-elf.Danny Milosavljevic
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for arm-elf.
2018-03-29Merge branch 'master' into core-updatesMarius Bakke
2018-03-27gnu: bootstrap: Remove unneeded import.Ludovic Courtès
* gnu/packages/bootstrap.scm: Remove unneeded (guix build utils) import.
2018-03-16bootstrap: Use invoke instead of system*.Mark H Weaver
* gnu/packages/bootstrap.scm (package-from-tarball): Ignore the result of the snippet procedure. Use invoke and remove vestigial plumbing. (%bootstrap-coreutils&co): Remove the vestigial #t from the snippet. (%bootstrap-glibc, %bootstrap-gcc)[arguments]: Use invoke. Return #t from the builder.
2018-02-19gnu: Add basic support for s390x-linux-gnu targets.mephi42
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add "s390x-linux". * gnu/packages/linux.scm (system->linux-architecture): Add "s390" prefix. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-01-18gnu: bootstrap: 'package-with-bootstrap-guile' uses 'eq?' memoization.Ludovic Courtès
* gnu/packages/bootstrap.scm (package-with-bootstrap-guile): Use 'mlambdaq'.
2017-08-28gnu: guix: Factorize downloads of bootstrap tarball.Ludovic Courtès
* gnu/packages/bootstrap.scm (bootstrap-guile-origin): New procedure. * gnu/packages/package-management.scm (guix)[inputs]: Remove 'boot-guile' procedure; use 'bootstrap-guile-origin' instead.
2017-08-28gnu: bootstrap: Prefer HTTPS for downloads.Ludovic Courtès
* gnu/packages/bootstrap.scm (%bootstrap-base-urls): Add "https" URL first.
2017-08-28gnu: guile-bootstrap: Use a fixed-output derivation to download.Ludovic Courtès
* gnu/packages/bootstrap.scm (bootstrap-guile-url-path) (bootstrap-guile-hash, download-bootstrap-guile): New procedures. (raw-build): Use it. Script uses $GUILE_TARBALL. Add GUILE to the inputs of the derivation.
2017-07-07gnu: Add basic support for powerpc64le-linux-gnu targets.Ludovic Courtès
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add "powerpc64le-linux". * gnu/packages/linux.scm (system->linux-architecture): Add "powerpc" prefix. (system->defconfig): Add "powerpc64le-" prefix.
2017-05-01gnu: Add gcc-vc4.Danny Milosavljevic
Fixes <https://bugs.gnu.org/26541>. * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add vc4-elf. * gnu/packages/embedded.scm (gcc-vc4): New variable.
2017-03-09Merge branch 'master' into core-updatesLudovic Courtès
2017-03-07gnu: Add basic support for "alpha-linux" systems.Sergei Trofimovich
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add "/lib/ld-linux.so.2" as "alpha-linux" ld.so. * gnu/packages/linux.scm (system->linux-architecture): Add "alpha" arch. Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-02-20gnu: Add bootstrap-binaries for 'aarch64-linux'.Efraim Flashner
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.
2017-02-20gnu: %bootstrap-coreutils&co: Patch egrep/fgrep to work regardless of $PATH.Efraim Flashner
This is the bootstrap version of 1063d325ea76aa2b00dfcd3d436b16e412103df1 * gnu/packages/bootstrap.scm (%bootstrap-coreutils&co)[source]: Patch the absolute location of 'grep' when called from 'egrep' or 'fgrep'.
2017-02-02Merge branch 'master' into core-updatesLeo Famulari
2017-01-28Use 'mlambda' instead of 'memoize'.Ludovic Courtès
* gnu/packages.scm (find-newest-available-packages): Use 'mlambda' instead of (memoize (lambda ...) ...). * gnu/packages/bootstrap.scm (package-with-bootstrap-guile): Likewise. * guix/build-system/gnu.scm (package-with-explicit-inputs)[rewritten-input]: Likewise. * guix/build-system/python.scm (package-with-explicit-python)[transform]: Likewise. * guix/derivations.scm (derivation->string): Likewise. * guix/gnu-maintenance.scm (gnu-package?): Likewise. * guix/modules.scm (module-file-dependencies): Likewise. * guix/scripts/graph.scm (standard-package-set): Likewise. * guix/scripts/lint.scm (official-gnu-packages*): Likewise. * guix/store.scm (store-regexp*): Likewise. * guix/utils.scm (location): Likewise.
2017-01-28Add (guix memoization).Ludovic Courtès
* guix/combinators.scm (memoize): Remove. * guix/memoization.scm: New file. * Makefile.am (MODULES): Add it. * gnu/packages.scm, gnu/packages/bootstrap.scm, guix/build-system/gnu.scm, guix/build-system/python.scm, guix/derivations.scm, guix/gnu-maintenance.scm, guix/import/cran.scm, guix/import/elpa.scm, guix/modules.scm, guix/scripts/build.scm, guix/scripts/graph.scm, guix/scripts/lint.scm, guix/store.scm, guix/utils.scm: Adjust imports accordingly.
2017-01-06Merge branch 'master' into core-updatesLeo Famulari
2017-01-04gnu: bootstrap: Add the dynamic linker name for "powerpc-linux".Carlos Sánchez de La Lama
This commit completes cross-compilation support for powerpc-linux-gnu. * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add "powerpc-linux" case.
2017-01-01gnu: Add dummy linker for propeller-elf.Ricardo Wurmus
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for propeller-elf.
2016-12-17gnu: bootstrap: Add FTP URL for bootstrap binaries.Ludovic Courtès
* gnu/packages/bootstrap.scm (%bootstrap-base-urls): Add ftp://alpha.gnu.org (http://alpha.gnu.org is currently unresponsive.)
2016-10-09gnu: Add arm-none-eabi cross compiler.Ricardo Wurmus
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for "arm-eabi". * gnu/packages/embedded.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
2016-05-13Merge branch 'master' into core-updatesLeo Famulari
2016-05-04utils: Move combinators to (guix combinators).Ludovic Courtès
* guix/utils.scm (compile-time-value, memoize, fold2) (fold-tree, fold-tree-leaves): Move to... * guix/combinators: ... here. New file. * tests/utils.scm ("fold2, 1 list", "fold2, 2 lists") (fold-tree tests): Move to... * tests/combinators.scm: ... here. New file. * Makefile.am (MODULES, SCM_TESTS): Add them. * gnu/packages.scm, gnu/packages/bootstrap.scm, gnu/services/herd.scm, guix/build-system/gnu.scm, guix/build-system/python.scm, guix/derivations.scm, guix/gnu-maintenance.scm, guix/import/elpa.scm, guix/scripts/archive.scm, guix/scripts/build.scm, guix/scripts/graph.scm, guix/scripts/lint.scm, guix/scripts/size.scm, guix/scripts/substitute.scm, guix/serialization.scm, guix/store.scm, guix/ui.scm: Adjust imports accordingly.
2016-05-02Merge branch 'master' into core-updatesMathieu Lirzin
2016-05-01gnu: bootstrap: Add case for i686-mingw.Jan Nieuwenhuizen
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for i686-mingw. Signed-off-by: Manolis Ragkousis <manolis837@gmail.com>
2016-04-27gnu: Add missing synopses and descriptions.Ludovic Courtès
* gnu/packages/bootstrap.scm (package-from-tarball) (%bootstrap-glibc, %bootstrap-gcc): Set 'description' field. * gnu/packages/make-bootstrap.scm (%bootstrap-tarballs): Set 'synopsis' and 'description'.
2016-04-16gnu: bootstrap: Add the location of ld.so on arm64.Manolis Ragkousis
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add the dynamic linker for aarch64-linux.
2016-02-28gnu: bootstrap: Honor the origin's names.Ludovic Courtès
Reported by Mark H Weaver <mhw@netris.org> at <https://lists.gnu.org/archive/html/guix-devel/2016-02/msg01100.html>. * gnu/packages/bootstrap.scm (bootstrap-origin)[boot]: Honor NAME.
2015-09-13Merge branch 'master' into core-updatesLudovic Courtès
2015-09-06gnu: Set license of the bootstrap tools.Ludovic Courtès
* gnu/packages/bootstrap.scm (package-from-tarball)[license]: Set to GPL3+. * gnu/packages/make-bootstrap.scm (%static-binaries)[license]: Likewise.
2015-09-04gnu: bootstrap: Add the location of ld.so on GNU/Hurd.Marek Benc
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add the dynamic linker for i686-gnu and i585-gnu. Signed-off-by: Manolis Ragkousis <manolis837@gmail.com>
2015-07-10gnu: bootstrap: Create a wrapper for guile to set the system load path.Mark H Weaver
* gnu/packages/bootstrap.scm (raw-build): After unpacking, use the bootstrap guile to create its own wrapper that sets the guile system load path.
2015-01-16Merge branch 'core-updates'Ludovic Courtès
Conflicts: gnu/packages/bootstrap.scm
2015-01-14packages: Convert source derivations to monadic style.Ludovic Courtès
* guix/packages.scm (origin->derivation): Take body from 'package-source-derivation', and change it to monadic style. Expect METHOD to a monadic procedure. (package-source-derivation): Define in terms of 'origin->derivation'. * guix/download.scm (url-fetch): Remove 'store' argument. Remove 'guile-for-build' variable. Turn into a monadic procedure. * guix/git-download.scm (git-fetch): Likewise. * guix/svn-download.scm (svn-fetch): Likewise. * tests/builders.scm (url-fetch*): New procedure. Change tests to call 'url-fetch*' instead of 'url-fetch'. * tests/packages.scm ("package-source-derivation, snippet"): Remove 'store' parameter of 'fetch' and change it to use 'interned-file' instead of 'add-to-store'. * gnu/packages/bootstrap.scm (bootstrap-origin)[boot]: Remove 'store' parameter.
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.
2015-01-07gnu: Add toolchain support for 'armhf-linux'.Mark H Weaver
Based on preliminary work by John Darrington <john@darrington.wattle.id.au>. * gnu/packages/cross-base.scm (xgcc-armhf): New variable. * gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Add armhf case. (gcc-4.7)[pre-configure]: Add gcc/config/*/linux-eabi.h to the list of files in which to patch GLIBC_DYNAMIC_LINKER. * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add armhf case. * guix/utils.scm (gnu-triplet->nix-system, nix-system->gnu-triplet): Add armhf cases.
2015-01-07gnu: bootstrap: Fix egrep and fgrep after unpacking bootstrap binaries.Mark H Weaver
* gnu/packages/bootstrap.scm (%bootstrap-coreutils&co): Add #:snippet argument to 'package-from-tarball' that calls 'patch-shebang' on egrep and fgrep after unpacking. Test 'fgrep' instead of 'true'.
2015-01-07gnu: bootstrap: Add support for snippets to 'package-from-tarball'.Mark H Weaver
* gnu/packages/bootstrap.scm (package-from-tarball): Add new keyword argument #:snippet.
2014-12-27packages: Add 'file-type' field to 'search-path-specification'.Ludovic Courtès
Fixes <http://bugs.gnu.org/18033>. * guix/packages.scm (<search-path-specification>): Rename 'directories' field to 'files'. Add 'file-type'. (search-path-specification->sexp): Honor 'file-type'. * gnu/packages/autotools.scm, gnu/packages/bootstrap.scm, gnu/packages/cross-base.scm, gnu/packages/games.scm, gnu/packages/gcc.scm, gnu/packages/glib.scm, gnu/packages/guile.scm, gnu/packages/man.scm, gnu/packages/perl.scm, gnu/packages/pkg-config.scm, gnu/packages/python.scm, gnu/packages/ruby.scm, gnu/packages/xfce.scm: Change 'directories' to 'files'. * tests/packages.scm ("search paths"): Change 'directories' field to 'files'. * guix/scripts/environment.scm (for-each-search-path): Likewise.
2014-11-21gnu: Add AVR-Libc.Manolis Ragkousis
* gnu/packages/avr.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add avr.scm. * gnu/packages/cross-base.scm (xgcc-avr): New variable. * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for "avr". Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-02packages: Implement grafts.Ludovic Courtès
Thanks to Mark H. Weaver <mhw@netris.org> for insightful discussions and suggestions. * guix/packages.scm (<package>)[graft]: New field. (patch-and-repack): Invoke 'package-derivation' with #:graft? #f. (package-source-derivation): Likewise. Do not use (%guile-for-build) in call to 'patch-and-repack', and we could end up using a grafted Guile. (expand-input): Likewise, also for 'package-cross-derivation' call. (package->bag): Add #:graft? parameter. Honor it. Use 'strip-append' instead of 'package-full-name'. (input-graft, input-cross-graft, bag-grafts, package-grafts): New procedures. (package-derivation, package-cross-derivation): Add #:graft? parameter and honor it. * gnu/packages/bootstrap.scm (package-with-bootstrap-guile): Add recursive call on 'graft'. * guix/build-system/gnu.scm (package-with-explicit-inputs, package-with-extra-configure-variable, static-package): Likewise. (gnu-build): Use the ungrafted Guile to avoid full rebuilds. (gnu-cross-build): Likewise. * guix/build-system/cmake.scm (cmake-build): Likewise. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Likewise. * guix/build-system/perl.scm (perl-build): Likewise. * guix/build-system/python.scm (python-build): Likewise. * guix/build-system/ruby.scm (ruby-build): Likewise. * guix/build-system/trivial.scm (guile-for-build): Likewise. * tests/packages.scm ("package-derivation, direct graft", "package-cross-derivation, direct graft", "package-grafts, indirect grafts", "package-grafts, indirect grafts, cross", "package-grafts, indirect grafts, propagated inputs", "package-derivation, indirect grafts"): New tests. ("bag->derivation", "bag->derivation, cross-compilation"): Wrap in 'parameterize'. * doc/guix.texi (Security Updates): New node. (Invoking guix build): Document --no-graft.
2014-10-29gnu: Add Xtensa bare-bones cross-compiler.Ludovic Courtès
* gnu/packages/cross-base.scm (xgcc-xtensa): New variable. * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for "xtensa-elf".
2014-10-05build-system: Bags record their system and target.Ludovic Courtès
* guix/build-system.scm (<bag>)[system, target]: New fields. (make-bag): Add #:system parameter and pass it to LOWER. * gnu/packages/bootstrap.scm (make-raw-bag): Initialize 'system' field. * guix/build-system/cmake.scm (lower): Likewise. * guix/build-system/perl.scm (lower): Likewise. * guix/build-system/python.scm (lower): Likewise. * guix/build-system/ruby.scm (lower): Likewise. * guix/build-system/trivial.scm (lower): Likewise. * guix/build-system/gnu.scm (lower): Initialize 'system' and 'target' fields. * guix/packages.scm (bag->derivation, bag->cross-derivation): New procedures. (package-derivation, package-cross-derivation): Use 'bag->derivation'. * tests/packages.scm ("search paths"): Initialize 'system' and 'target' fields. ("package->bag", "package->bag, cross-compilation", "bag->derivation", "bag->derivation, cross-compilation"): New tests.
2014-10-05build-system: Introduce "bags" as an intermediate representation.Ludovic Courtès
* guix/build-system.scm (<build-system>)[build, cross-build]: Remove. [lower]: New field. (<bag>): New record type. (make-bag): New procedure. * guix/packages.scm (bag-transitive-inputs, bag-transitive-build-inputs, bag-transitive-host-inputs, bag-transitive-target-inputs, package->bag): New procedures. (package-derivation): Use it; use the bag, apply its build procedure, etc. (package-cross-derivation): Likewise. * gnu/packages/bootstrap.scm (raw-build, make-raw-bag): New procedure. (%bootstrap-guile): Use them. * guix/build-system/trivial.scm (lower): New procedure. (trivial-build, trivial-cross-build): Remove 'source' parameter. Pass INPUTS as is. (trivial-build-system): Adjust accordingly. * guix/build-system/gnu.scm (%store, inputs-search-paths, standard-search-paths, expand-inputs, standard-inputs): Remove. (gnu-lower): New procedure. (gnu-build): Remove 'source' and #:implicit-inputs? parameters. Remove 'implicit-inputs' and 'implicit-search-paths' variables. Get the source from INPUT-DRVS. (gnu-cross-build): Likewise. (standard-cross-packages): Remove call to 'standard-packages'. (standard-cross-inputs, standard-cross-search-paths): Remove. (gnu-build-system): Remove 'build' and 'cross-build'; add 'lower'. * guix/build-system/cmake.scm (lower): New procedure. (cmake-build): Remove 'source' and #:cmake parameters. Use INPUTS and SEARCH-PATHS as is. Get the source from INPUTS. * guix/build-system/perl.scm: Likewise. * guix/build-system/python.scm: Likewise. * guix/build-system/ruby.scm: Likewise. * gnu/packages/cross-base.scm (cross-gcc): Change "cross-linux-headers" to "linux-headers". (cross-libc)[xlinux-headers]: Pass #:implicit-cross-inputs? #f. Likewise. In 'propagated-inputs', change "cross-linux-headers" to "linux-headers". * guix/git-download.scm (git-fetch): Use 'standard-packages' instead of 'standard-inputs'. * tests/builders.scm ("gnu-build-system"): Remove use of 'build-system-builder'. ("gnu-build"): Remove 'source' and #:implicit-inputs? arguments to 'gnu-build'. * tests/packages.scm ("search paths"): Adjust to new build system API. ("package-cross-derivation, no cross builder"): Likewise. * doc/guix.texi (Build Systems): Add paragraph on bags.
2014-09-24gnu: bootstrap: Correctly handle patches that are origins.Ludovic Courtès
* gnu/packages/bootstrap.scm (bootstrap-origin): Rewrite the patches of SOURCES that are also origins.