Ludovic Courtès
6e3ecad6ca
gnu: make-bootstrap: Make sure %gcc-stripped binaries are usable.
* gnu/packages/make-bootstrap.scm (%gcc-stripped):
When (%current-target-system) is false, run gcc, g++, and cpp with
--version.
8 years ago
Ludovic Courtès
c4873bc4f5
gnu: make-bootstrap: Build %gcc-static with --disable-lto.
* gnu/packages/make-bootstrap.scm (%gcc-static): Pass --disable-lto.
8 years ago
Ludovic Courtès
97b465feb1
gnu: make-bootstrap: Build libstdc++ in '%gcc-static'.
* gnu/packages/make-bootstrap.scm (%gcc-static): Re-enable C++.
8 years ago
Ludovic Courtès
37550e67b9
gnu: make-bootstrap: Use single-output GCCs.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc)[native-inputs]:
Add 'outputs' field for the rewritten GCC.
(%gcc-stripped): Add 'outputs' field.
8 years ago
Ludovic Courtès
288a09ca91
gnu: make-bootstrap: Fix compilation of %gcc-static.
* gnu/packages/make-bootstrap.scm (%gcc-static)[arguments]
<#:configure-flags>: Add --disable-bootstrap
--with-stage1-ldflags=-static.
Remove #:make-flags.
8 years ago
Ludovic Courtès
84e6756c57
gnu: gcc: Add a "lib" output.
* gnu/packages/gcc.scm (gcc-4.7)[configure-flags]: Add
--with-gxx-include-dir.
[outputs]: New field.
[arguments] <phases>: Adjust to use the "lib" output. Add
'substitute*' calls for "libstdc++-v3/python/Makefile.in" and
"gcc/config.in".
* gnu/packages/base.scm (gcc-boot0) <symlink-libgcc_eh>: Use the "lib"
output.
(cross-gcc-wrapper): Add 'outputs' field.
(glibc-final)[arguments]: Adjust #:allowed-references to list
'(GCC-BOOT0 "lib").
(libstdc++): Add 'outputs' field.
(gcc-final)[arguments]: Add "lib" to #:allowed-references.
* gnu/packages/make-bootstrap.scm (%gcc-static): Add 'outputs' field.
8 years ago
Ludovic Courtès
78214b4b89
gnu: make-bootstrap: Add missing export.
* gnu/packages/make-bootstrap.scm: Export '%guile-static-stripped'. The
problem was hidden because of <http://bugs.gnu.org/17418 >.
8 years ago
John Darrington
db6190899e
gnu: gnu-build-system: Add CC_FOR_BUILD to configure flags.
* guix/build/gnu-build-system.scm: Add new configure flag: CC_FOR_BUILD=gcc
* gnu/packages/gnupg.scm, gnu/packages/guile.scm, gnu/packages/make-bootstrap.scm:
remove CC_FOR_BUILD from these package descriptions.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
9 years ago
Ludovic Courtès
0ece707470
gnu: make-bootstrap: Add missing inputs for Canadian cross of '%gcc-static'.
* gnu/packages/make-bootstrap.scm (%gcc-static): Add 'native-inputs'
field.
9 years ago
Ludovic Courtès
953ab5030f
gnu: make-bootstrap: Simplify '%gcc-static'.
* gnu/packages/make-bootstrap.scm (%gcc-static): Add a bunch of
--disable configure flags. Remove useless 'inputs' field.
9 years ago
Ludovic Courtès
69f777d14c
gnu: make-bootstrap: Build libc and Guile without a .gnu_debuglink.
* gnu/packages/make-bootstrap.scm (glibc-for-bootstrap, %guile-static):
Add 'outputs' field.
9 years ago
Ludovic Courtès
c9323eac74
gnu: make-bootstrap: Allow bit-reproducibility for 'glibc-stripped'.
* gnu/packages/make-bootstrap.scm (%glibc-stripped): Remove '.install'
and '..install.cmd' files.
9 years ago
Ludovic Courtès
55a5674f21
gnu: make-bootstrap: Add C++ header files to the bootstrap GCC.
* gnu/packages/make-bootstrap.scm (%gcc-stripped): Add $gcc/include/c++.
9 years ago
Ludovic Courtès
9ae7cee342
gnu: Switch to GCC 4.8 as the default compiler.
* gnu/packages/base.scm (gcc-boot0, cross-gcc-wrapper, gcc-final): Base
on GCC-4.8.
* gnu/packages/cross-base.scm (cross-gcc): Likewise.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc,
%gcc-static, %gcc-stripped): Likewise.
9 years ago
Ludovic Courtès
dfb52abbd6
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'.
9 years ago
Ludovic Courtès
01eafd38fb
gnu: Use the 'patches' field of <origin>.
* gnu/packages/apr.scm,
gnu/packages/autotools.scm,
gnu/packages/avahi.scm,
gnu/packages/cdrom.scm,
gnu/packages/cmake.scm,
gnu/packages/cpio.scm,
gnu/packages/cross-base.scm,
gnu/packages/emacs.scm,
gnu/packages/flex.scm,
gnu/packages/fontutils.scm,
gnu/packages/glib.scm,
gnu/packages/grub.scm,
gnu/packages/guile.scm,
gnu/packages/idutils.scm,
gnu/packages/libevent.scm,
gnu/packages/linux.scm,
gnu/packages/mail.scm,
gnu/packages/make-bootstrap.scm,
gnu/packages/mp3.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/pdf.scm,
gnu/packages/plotutils.scm,
gnu/packages/qemu.scm,
gnu/packages/recutils.scm,
gnu/packages/rush.scm,
gnu/packages/scheme.scm,
gnu/packages/system.scm,
gnu/packages/tcsh.scm,
gnu/packages/valgrind.scm,
gnu/packages/vpn.scm,
gnu/packages/w3m: Use the 'patches' field of <origin> instead of
adding a patch as input plus using #:patches.
9 years ago
Ludovic Courtès
e47185a4a7
gnu: make-bootstrap: Remove the `debug' output from the static Coreutils.
* gnu/packages/make-bootstrap.scm (%static-inputs)[coreutils]: Add
`outputs' field.
9 years ago
Ludovic Courtès
75ca2f4f47
gnu: make-bootstrap: Add a couple of synopses.
* gnu/packages/make-bootstrap.scm (%guile-static,
%guile-static-stripped): Add synopsis.
9 years ago
Ludovic Courtès
3e8f16ba91
gnu: guile-static-stripped: Make sure the resulting binary works.
* gnu/packages/make-bootstrap.scm (%guile-static-stripped): When
compiling natively, make sure the final binary works.
9 years ago
Ludovic Courtès
ffd2093440
gnu: make-bootstrap: Skip tests for the statically-linked gawk.
* gnu/packages/make-bootstrap.scm (%static-inputs)[gawk]: Add #:tests? #f.
9 years ago
Ludovic Courtès
3a4ebc1124
gnu: make-bootstrap: guile-static-stripped has no "debug" output.
* gnu/packages/make-bootstrap.scm (%guile-static-stripped): Add
`outputs' field.
9 years ago
Ludovic Courtès
5708485357
gnu: make-bootstrap: Fix cross compilation of binutils-static.
* gnu/packages/make-bootstrap.scm (%binutils-static): Inherit configure
flags from BINUTILS.
9 years ago
Ludovic Courtès
11acdf1747
gnu: make-bootstrap: Have %gcc-static actually static when cross building.
* gnu/packages/make-bootstrap.scm (%gcc-static): Pass `-static' through
`LDFLAGS' when cross-compiling.
9 years ago
Ludovic Courtès
a410a0105d
gnu: make-bootstrap: Allow cross-compilation of the bootstrap tarballs.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc): Turn
`inputs' into a thunk. Add `native-inputs', and pass it to
`package-with-explicit-inputs'.
(%static-inputs): Add %BASH-STATIC as an input to gawk when cross
building.
(%glibc-stripped): When cross compiling,
use (glibc-for-bootstrap (cross-libc)) as the basis.
(%gcc-static): Base on GCC-4.7, not GCC-FINAL.
(tarball-package): TAR and XZ are native inputs. Choose the tarball
file name based on (%current-target-system) too.
9 years ago
Ludovic Courtès
4db00e4210
gnu: libgc: Always build with -DUSE_LIBC_PRIVATES.
* gnu/packages/bdw-gc.scm (libgc): Add `arguments' field.
* gnu/packages/make-bootstrap.scm (%guile-static): Remove local `libgc'.
9 years ago
Ludovic Courtès
62751a5ddd
gnu: make-bootstrap: Abstract things with `package-with-relocatable-glibc'.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Replace with...
(glibc-for-bootstrap): ... this. New procedure.
(%standard-inputs-with-relocatable-glibc): Replace with...
(package-with-relocatable-glibc): ... this. New procedure.
(%static-inputs, %gcc-static, %guile-static): Use it.
9 years ago
Ludovic Courtès
af5cb60fec
gnu: make-bootstrap: Keep Perl as an input only when needed.
* gnu/packages/make-bootstrap.scm (%static-inputs)[coreutils]: Keep Perl
as an input only if it's an input of COREUTILS.
9 years ago
Ludovic Courtès
867df0eeb6
gnu: make-bootstrap: Fix %glibc-stripped.
* gnu/packages/make-bootstrap.scm (%glibc-stripped): Add `outputs' field.
9 years ago
Ludovic Courtès
c415f14538
gnu: make-bootstrap: Import (gnu packages gcc).
* gnu/packages/make-bootstrap.scm: Import (gnu packages gcc).
9 years ago
Ludovic Courtès
99d90fc102
gnu: guile-static: Change `name' field.
* gnu/packages/make-bootstrap.scm (%guile-static): Add `name' field with
`-static' suffix.
9 years ago
Ludovic Courtès
e70a28b87e
gnu: guile-static: Add bindings for low-level Linux syscalls.
* gnu/packages/make-bootstrap.scm (%guile-static): Add
`guile-linux-syscalls.patch' as an input, and use it.
* gnu/packages/patches/guile-linux-syscalls.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
9 years ago
Ludovic Courtès
ddff766e38
gnu: guile-static: Use libgc build with `USE_LIBC_PRIVATES'.
* gnu/packages/make-bootstrap.scm (%guile-static): Use libgc build with
CPPFLAGS=-DUSE_LIBC_PRIVATES.
* gnu/packages/bdw-gc.scm (libgc): Add TODO to always do it.
9 years ago
Ludovic Courtès
0228826262
gnu: guile-static: Change `name' field.
* gnu/packages/make-bootstrap.scm (%guile-static): Add `name' field with
`-static' suffix.
9 years ago
Ludovic Courtès
6956067b04
gnu: guile-static: Add bindings for low-level Linux syscalls.
* gnu/packages/make-bootstrap.scm (%guile-static): Add
`guile-linux-syscalls.patch' as an input, and use it.
* gnu/packages/patches/guile-linux-syscalls.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
9 years ago
Ludovic Courtès
e3b2cf4c7a
gnu: guile-static: Use libgc build with `USE_LIBC_PRIVATES'.
* gnu/packages/make-bootstrap.scm (%guile-static): Use libgc build with
CPPFLAGS=-DUSE_LIBC_PRIVATES.
* gnu/packages/bdw-gc.scm (libgc): Add TODO to always do it.
9 years ago
Ludovic Courtès
431f35f051
gnu: make-bootstrap: Fix `%binutils-static-stripped'.
* gnu/packages/make-bootstrap.scm (%binutils-static-stripped): Add
distinguishing `name' field. Add `output' field to have a single
"out" output (followup to 4873f8e
). Reported by Nikita.
9 years ago
Ludovic Courtès
21c203a53a
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
9 years ago
Ludovic Courtès
59a43334a9
distro: Rename (distro) to (gnu packages).
* distro.scm: Rename to...
* gnu/packages.scm: ... this. Update all users accordingly.
* Makefile.am (MODULES): Adjust accordingly.
* po/POTFILES.in: Likewise.
9 years ago
Ludovic Courtès
1ffa7090b9
distro: Change the module name space to (gnu ...).
* distro: Rename to...
* gnu: ... this. Update module names accordingly.
* Makefile.am: Adjust accordingly.
* po/POTFILES.in: Likewise.
* distro.scm: Search for files under /gnu/packages instead of
/distro/packages.
* gnu/packages/base.scm (ld-wrapper-boot3): Likewise.
9 years ago
Ludovic Courtès
233e76769a
Update license headers.
Change all license headers, except guix/build/* and ld-wrapper.scm, with
this code:
(use-modules (guix build utils)
(srfi srfi-1))
(fluid-set! %default-port-encoding "UTF-8")
(substitute* (remove (lambda (f)
(or (string-contains f ".tar.")
(string-contains f ".git/")
(string-contains f ".so")
(string-suffix? ".o" f)
(string-suffix? ".a" f)
(string-suffix? ".go" f)
(string-suffix? ".pdf" f)
(string-suffix? ".png" f)
(string-suffix? ".info" f)
(equal? (basename f) "guix-daemon")
(equal? (basename f) "nix-setuid-helper")
(string-contains f "nix-upstream/")
(string-contains f "distro/packages/bootstrap/")))
(find-files "." "\\.[a-z]+$"))
(("^([[:graph:]]+) This file is part of Guix." _ comment-start)
(string-append comment-start " This file is part of GNU Guix."))
(("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start)
(string-append comment-start
" GNU Guix --- Functional package management for GNU\n"))
(("^([[:graph:]]+) Guix is " _ comment-start)
(string-append comment-start " GNU Guix is "))
(("^([[:graph:]]+) along with Guix." _ comment-start)
(string-append comment-start " along with GNU Guix."))
(("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start)
(string-append comment-start " Copyright ©")))
Change headers using C-style comments manually.
9 years ago
Ludovic Courtès
312543dcfc
distro: make-bootstrap: Add `%bootstrap-tarballs' package.
* distro/packages/make-bootstrap.scm (%bootstrap-tarballs): New
variable.
9 years ago
Ludovic Courtès
d3b59727fb
distro: make-bootstrap: Build glibc without nscd, and with static NSS modules.
* distro/packages/make-bootstrap.scm (%glibc-with-relocatable-system):
Rename to...
(%glibc-for-bootstrap): ... this. Add new configure flags.
9 years ago
Ludovic Courtès
c2d771fd1d
distro: make-bootstrap: Make the Coreutils smaller.
* distro/packages/make-bootstrap.scm (%static-inputs)[coreutils]: Remove
optional dependencies, except Perl; build with "-Os -g0"; disable
tests.
10 years ago
Ludovic Courtès
fdc78b72f8
distro: make-bootstrap: Fix arguments to gawk.
* distro/packages/make-bootstrap.scm (%static-inputs)[gawk]: Use
`substitute-keyword-arguments' to preserve the #:phases argument of
GAWK.
10 years ago
Ludovic Courtès
4d058c6792
build-system/gnu: Add `static-package'.
* distro/packages/make-bootstrap.scm (static-package): Move to...
* guix/build-system/gnu.scm (static-package): ... here. New procedure.
10 years ago
Ludovic Courtès
450fb5a6b4
distro: Move lightweight Bash to (distro packages bash).
* distro/packages/make-bootstrap.scm (%bash-static): Move BASH-LIGHT to...
* distro/packages/bash.scm (bash-light): ... here. New variable.
10 years ago
Ludovic Courtès
5d4fd2671a
distro: make-bootstrap: Have libc's functions search for `sh' in $PATH.
* distro/packages/make-bootstrap.scm (%glibc-with-relocatable-system,
%standard-inputs-with-relocatable-glibc): New variables.
(%static-inputs)[gawk]: Apply `gawk-shell.patch'.
[finalize]: New procedure.
Build all the packages against %STANDARD-INPUTS-WITH-RELOCATABLE-GLIBC.
(%glibc-stripped): Inherit from %GLIBC-WITH-RELOCATABLE-SYSTEM.
(%gcc-static, %guile-static): Build against
%STANDARD-INPUTS-WITH-RELOCATABLE-GLIBC.
* distro/packages/patches/gawk-shell.patch,
distro/packages/patches/glibc-bootstrap-system.patch: New files.
* Makefile.am (dist_patch_DATA): Add them.
10 years ago
Ludovic Courtès
7eba5e6361
distro: make-bootstrap: Use `linux' module.
* distro/packages/make-bootstrap.scm: Use (distro packages linux). This
is a followup to 80fe5c6
.
10 years ago
Ludovic Courtès
01d45404f6
distro: Configure ld and GCC to not look under /usr & co.
This fixes impurities with non-chroot builds on LFS-style distros.
* distro/packages/base.scm (binutils): Pass `--with-lib-path'.
(gcc-4.7): Pass `--with-local-prefix'.
* distro/packages/make-bootstrap.scm (%binutils-static): Pass
`--with-lib-path'.
10 years ago
Ludovic Courtès
8ba60d7b65
distro: Move bootstrap tarball packages to (distro packages make-bootstrap).
* distro/packages/base.scm (binutils-final): Make public.
(static-package, %bash-static, %static-inputs, %static-binaries,
%binutils-static, %binutils-static-stripped, %glibc-stripped,
%gcc-static, %gcc-stripped, %guile-static, %guile-static-stripped,
tarball-package, %bootstrap-binaries-tarball,
%binutils-bootstrap-tarball, %glibc-bootstrap-tarball,
%guile-bootstrap-tarball): Move to...
* distro/packages/make-bootstrap.scm: ... here. New file.
* Makefile.am (MODULES): Add it.
10 years ago