~ruther/guix-local

ref: 57b7e1a62d2269bfd9d37f88bae92c829222f8fc guix-local/gnu/packages/bootstrap.scm -rw-r--r-- 18.6 KiB
57b7e1a6 — Ludovic Courtès 11 years ago
Merge branch 'core-updates'

Conflicts:
	gnu/packages/bootstrap.scm
f220a838 — Ludovic Courtès 11 years ago
packages: Convert source derivations to monadic style.

* 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.
aa1e1947 — Mark H Weaver 11 years ago
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.
3f00ff8b — Mark H Weaver 11 years ago
gnu: Add toolchain support for 'armhf-linux'.

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.
84cbe39c — Mark H Weaver 11 years ago
gnu: bootstrap: Fix egrep and fgrep after unpacking bootstrap binaries.

* 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'.
2959dbe9 — Mark H Weaver 11 years ago
gnu: bootstrap: Add support for snippets to 'package-from-tarball'.

* gnu/packages/bootstrap.scm (package-from-tarball): Add new keyword
  argument #:snippet.
af070955 — Ludovic Courtès 11 years ago
packages: Add 'file-type' field to 'search-path-specification'.

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.
a5b60e3c — Manolis Ragkousis 11 years ago
gnu: Add AVR-Libc.

* 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>
05962f29 — Ludovic Courtès 11 years ago
packages: Implement grafts.

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.
9d307460 — Ludovic Courtès 11 years ago
gnu: Add Xtensa bare-bones cross-compiler.

* gnu/packages/cross-base.scm (xgcc-xtensa): New variable.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for
  "xtensa-elf".
d3d337d2 — Ludovic Courtès 11 years ago
build-system: Bags record their system and target.

* 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.
0d5a559f — Ludovic Courtès 11 years ago
build-system: Introduce "bags" as an intermediate representation.

* 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.
b5c5d763 — Ludovic Courtès 11 years ago
Merge branch 'bash-cve-2014-6271'
ce517b20 — Ludovic Courtès 11 years ago
gnu: bootstrap: Correctly handle patches that are origins.

* gnu/packages/bootstrap.scm (bootstrap-origin): Rewrite the patches of
  SOURCES that are also origins.
53c85e97 — Ludovic Courtès 12 years ago
Merge branch 'core-updates'

Conflicts:
	gnu/packages/gnunet.scm
06213498 — Ludovic Courtès 12 years ago
gnu: Switch to GCC 4.8 as the default compiler.

* build-aux/download.scm (file-name->uri): Update URL to /20131110.
* gnu-system.am (nodist_bootstrap_x86_64_linux_DATA,
  nodist_bootstrap_i686_linux_DATA): Change base name to
  'guile-2.0.9.tar.xz'.
  (gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz,
  gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz): New targets.
  (gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz,
  gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz): Remove.
  (gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz): Update
  hash.
* gnu/packages/base.scm (gcc-boot0): Base upon GCC-4.8.  Enable C++, and
  add a few --disable flags.  Remove MPFR workaround.
  (cross-gcc-wrapper): Base upon GCC-4.8.  Wrap both 'gcc' and 'g++'.
  (libstdc++): New variable.
  (gcc-final): Add it as an input; pass corresponding -I and -L flags.
* gnu/packages/bootstrap.scm (%bootstrap-guile): Always use
  "guile-2.0.9.tar.xz.
  (%bootstrap-coreutils&co): Update hashes.
  (%bootstrap-binutils): Update URL and hashes.
  (%bootstrap-glibc): Likewise.
  (%bootstrap-gcc): Likewise.
* gnu/packages/gcc.scm (gcc-4.7): Add LDFLAGS.
  Add --disable-libstdcxx-pch.
  Modify the GNU_USER*_SPEC macros from gnu-user*.h instead of the raw
  _SPEC macros.
f57ff219 — Mark H Weaver 12 years ago
gnu: add bootstrap support for mips64el-linux using the MIPS N32 ABI.

* .gitignore: Add entry for bootstrap/mips64el-linux/guile-2.0.9.tar.xz.

* gnu-system.am (bootstrap_mips64el_linuxdir,
  dist_bootstrap_mips64el_linux_DATA, nodist_bootstrap_mips64el_linux_DATA):
  New variables.
  (DISTCLEANFILES): Add $(nodist_bootstrap_mips64el_linux_DATA).
  (gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz): New target.

* build-aux/download.scm (file-name->uri): Adapt to the newer mips64el-linux
  bootstrap tarballs.

* gnu/packages/bootstrap.scm (%bootstrap-guile, %bootstrap-coreutils&co,
  %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Adapt to the newer
  mips64el-linux bootstrap tarballs.

* gnu/packages/bootstrap/mips64el-linux/bash:
* gnu/packages/bootstrap/mips64el-linux/mkdir:
* gnu/packages/bootstrap/mips64el-linux/tar:
* gnu/packages/bootstrap/mips64el-linux/xz: New files.
ff8061b5 — Ludovic Courtès 12 years ago
Merge branch 'master' into core-updates
dfb52abb — Ludovic Courtès 12 years ago
Remove weirdnesses caused by 'letrec*' behavior of record field initializers.

* gnu/packages/bootstrap.scm (package-from-tarball): Remove '*' from
  parameter names.  Adjust accordingly.
* gnu/packages/linux-initrd.scm (expression->initrd): Use 'name'
  directly, removing the 'name*' alias.
* gnu/packages/linux.scm (linux-libre-headers, linux-libre): Rename
  'version*' to 'version'.
5fbeb4e6 — Ludovic Courtès 12 years ago
gnu: bootstrap: Use the bootstrap tools for <origin> patching.

* gnu/packages/bootstrap.scm (bootstrap-origin): Override the
  'patch-guile' and 'patch-inputs' fields of SOURCE.
Next