Commit Graph

148 Commits

Author SHA1 Message Date
Jan Nieuwenhuizen 1a99a9c45c
bootstrap: Build with %bootstrap-mes.
* gnu/packages/bootstrap.scm (%tinycc-seed): Remove.
(%bootstrap-inputs): Use %bootstrap-mes instead of %mes-seed and %tinycc-seed.
* gnu/packages/commencement.scm (mescc-tools-boot, mes-boot, tcc-boot0): Build
with %bootstrap-mes instead of %mes-seed and %tinycc-seed.
2018-10-23 20:54:42 +02:00
Jan Nieuwenhuizen 7cbf6f1ca2
gnu: mescc-tools: Update to 0.5.2-0.bb062b0d.
* gnu/packages/mes.scm (mescc-tools): Update to 0.5.2-0.bb062b0d.
mescc
* gnu/packages/commencement.scm (mescc-tools-boot): Stay at 0.5.2
2018-10-23 20:54:42 +02:00
Jan Nieuwenhuizen f266199dc1
gnu: mes: Update to 0.18.0-08f04f55.
This update is a preparation for the %bootstrap-mes package; due to some small
problems it fails to build with plain mes-0.18.  mes-boot0 stays at 0.18 only
to avoid another rebuild world.

%bootstrap-mes brings the building and packaging the Mes bootstrap seeds from
manual operation into Guix.  We will bump mes and mes-boot0 to a future 0.18.1
or 0.19 and regenerate %bootstrap-mes in a nex iteration.

    08f04f55 build: Oops, remove stray lib/linux/x86_64-mes/crt1.
    33f37f27 build: x86_64 bootstrap build fixes and workaround.
    4ae2a111 doc: Release update.
    5277669b mescc: Oops, delete wrong line of assembly.
    44cc97a8 admin: Release update.

* gnu/packages/mes.scm (mes): Update to 0.18.0-08f04f55.
* gnu/packages/commencement.scm (mes-boot0): Stay at 0.18.0.
2018-10-21 23:26:21 +02:00
Jan Nieuwenhuizen 09c5a5680a
gnu: tcc-boot0: Update for mes 0.18.
* gnu/packages/commencement.scm (tcc-boot0): Update for mes 0.18.
2018-10-07 16:29:39 +02:00
Jan Nieuwenhuizen fc4ff50f2d
gnu: mescc-tools-boot: Update to 0.5.2.
* gnu/packages/commencement.scm (mescc-tools-boot): Update to 0.5.2.
* gnu/packages/patches/mescc-tools-boot.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
2018-10-07 16:29:39 +02:00
Jan Nieuwenhuizen 189ac60eac
gnu: mes-boot0: Update to 0.18
* gnu/packages/commencement.scm (mes-boot0): Update to 0.18.
2018-10-07 16:29:38 +02:00
Jan Nieuwenhuizen eb4434598c
bootstrap: Reduced Binary Seed bootstrap for x86_64 too.
* gnu/packages/bootstrap.scm (%bootstrap-inputs): Replace %bootstrap-libc,
%bootstrap-gcc, and %bootstrap-binutils with Mes seeds for x86_64 too.
* gnu/packages/commencement.scm (tcc-boot0, tcc-boot, gcc-mesboot1,
gcc-mesboot1-wrapper, m4-mesboot, %bootstrap-inputs+toolchain,
libstdc++-boot0, gcc-boot0, bison-boot0): For x86_64-linux, use i686-linux
glibc-dynamic-linker and Mes bootstrap settings.
(gcc-boot0-intermediate-wrapped): New variable, extract from
static-bash-for-glibc.
(static-bash-for-glibc): Use it.
(gcc-final): Copy gmp&co phase from gcc-boot0, inherit other arguments
from gcc; avoid i686-linux impersonation from gcc-boot0.
* doc/guix.texi (Bootstrapping, Reduced Binary Seed Bootstrap): Note
x86_64-linux also as Reduced Binary Seed bootstrap.
2018-09-23 09:46:26 +02:00
Jan Nieuwenhuizen d536c39e54
bootstrap: Replace GNU toolchain seeds with Mes for i686-linux.
* gnu/packages/bootstrap.scm (%bootstrap-inputs)[i686-linux]: Replace
%bootstrap-gcc, %bootstrap-binutils, %bootstrap-glibc with %mescc-tools-seed,
%mes-seed, %srfi-43 and %tinycc-seed.
* gnu/packages/make-bootstrap.scm (%bootstrap-tarballs)[i686-linux]: Replace
gcc-tarball, binutils-tarball, glibc-tarball with %mescc-tools-seed,
%mes-seed, %srfi-43 and %tinycc-seed.
* gnu/packages/commencement.scm (%bootstrap-inputs+toolchain)[i686-linux]: Add
glibc-mesboot, binutils-mesboot, gcc-wrapper, gcc-mesboot.
(file-boot0)[i686-linux]: Disable strip-binaries?, validate-runpath?.
(libstdc++-boot0)[i686-linux]: Add libtool install workarourd: copy
libstdc++.so.0.0.20 from gcc-mesboot.
(gcc-boot0)[i686-linux]: Add libtool install workaround: touch
libcc1.so.0.0.0, libcc1plugin.so.0.0.0.
(perl-boot0): Disable validate-runpath?.
(bison-boot0)[i686-linux]: Do not use ranlib -D.
2018-09-23 09:46:26 +02:00
Jan Nieuwenhuizen cffe966dd5
bootstrap: perl-boot0: Disable validate-runpath?.
* gnu/packages/commencement.scm (perl-boot0): Add disable validate-runpath? to
args, and actually pass args.
2018-09-23 09:46:26 +02:00
Jan Nieuwenhuizen 56f45b7c78
bootstrap: bison-boot0: Do not use `ranlib -D'.
* gnu/packages/commencement.scm (bison-boot0): Do not use `ranlib -D' for
i686-linux bootstrap.
2018-09-23 09:46:26 +02:00
Jan Nieuwenhuizen 0b652851b1
bootstrap: Add Mes bootstrap.
* gnu/packages/patches/mes-nyacc-0.86.0.patch: Support bootstrap build.
* gnu/packages/commencement.scm (%fake-bootstrap mes-boot0, mescc-tools-boot,
nyacc-boot, mes-boot, tcc-boot0, tcc-boot, make-mesboot0, diffutils-mesboot,
binutils-mesboot0, gcc-core-mesboot, mesboot-headers, glibc-mesboot0,
gcc-mesboot0, binutils-mesboot, make-mesboot, gmp-boot, mpfr-boot, mpc-boot,
gcc-mesboot1, gcc-mesboot1-wrapper, glibc-headers-mesboot, glibc-mesboot,
gcc-mesboot, gcc-mesboot-wrapper, m4-mesboot): New variable.
* gnu/packages/patches/binutils-boot-2.20.1a.patch: New file. New file.
* gnu/packages/patches/gcc-boot-2.95.3.patch: New file.
* gnu/packages/patches/gcc-boot-4.7.4.patch: New file.
* gnu/packages/patches/glibc-boot-2.16.0.patch: New file.
* gnu/packages/patches/glibc-boot-2.2.5.patch: New file.
* gnu/packages/patches/glibc-bootstrap-system-2.16.0.patch: New file.
* gnu/packages/patches/tcc-boot-0.9.27.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add them.
2018-09-23 09:46:26 +02:00
Jan Nieuwenhuizen 517af02ea1
bootstrap: static-bash-for-glibc: Consider %current-system at run time.
* gnu/packages/commencement.scm (static-bash-for-glibc): Rewrite so
that (%boot1-inputs) is evaluated run time, rather than at load time.
2018-09-23 09:46:25 +02:00
Jan Nieuwenhuizen f50b013f8c
bootstrap: Use thunk for inputs in package-with-explicit-inputs.
* gnu/packages/commencement.scm (diffutils-boot0, findutils-boot0, perl-boot0,
bison-boot0, flex-boot0, texinfo-boot0, static-bash-for-glibc, gettext-boot0,
bash-final, guile-final, glibc-utf8-locales-final, gnu-make-final,
coreutils-final, grep-final, sed-final, %final-inputs): Use thunk for inputs
in package-with-explicit-inputs.  This makes --system=i686-linux behave
identical to a native x86 build and prepares for Mes bootstrap.
(ld-wrapper-boot0, ld-wrapper-boot3): Change to procedure.  Explicitly
add #:guile-for-build.  Update users.
2018-09-23 09:46:25 +02:00
Jan Nieuwenhuizen 32f4a073e1
gnu: m4-boot0: New variable.
* gnu/packages/commencement.scm (m4-boot0): New variable.
2018-09-23 09:46:25 +02:00
Jan Nieuwenhuizen c362904485
bootstrap: %bootstrap-inputs+toolchain: Replace %bootstrap-inputs.
* gnu/packages/commencement.scm (%bootstrap-inputs+toolchain): : New procedure
replacing %bootstrap-inputs to prepare for Mes bootstrap.  Update users.
* tests/union.scm (%bootstrap-inputs): New variable: set to
%bootstrap-inputs+toolchain.
2018-09-23 09:46:25 +02:00
Jan Nieuwenhuizen a2b2070b67
bootstrap: %bootstrap-inputs: Wrap input lists into thunks.
* gnu/packages/bootstrap.scm (%bootstrap-inputs): Change to procedure.  Update
users; prepares for Mes bootstrap.
* gnu/packages/commencement.scm (%boot0-inputs, %boot1-inputs, %boot2-inputs,
%boot3-inputs, %boot4-inputs, %boot5-inputs, %boot-6-inputs): Change to
procedure.  Update users.
* tests/builders.scm (%bootstrap-inputs, %bootstrap-search-paths): Make a
procedure, filter on package?.  Update users.
2018-09-22 22:40:12 +02:00
Marius Bakke 3469a5ea47
gnu: gcc@4.9: Fix FTBFS with Glibc >= 2.28.
* gnu/packages/commencement.scm (gcc-for-libstdc++): New variable.
(libstdc++-boot0): Inherit from GCC-FOR-LIBSTDC++ instead of GCC-4.9.
* gnu/packages/gcc.scm (gcc-4.9)[source](patches): Add
"gcc-4.9-libsanitizer-ustat.patch".
* gnu/packages/patches/gcc-4.9-libsanitizer-ustat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
2018-09-01 12:58:47 +02:00
Ludovic Courtès 5ae27f577b
gnu: gcc-toolchain: Add version 8.
* gnu/packages/commencement.scm (gcc-toolchain-8): New variable.
2018-06-30 17:50:20 +02:00
Mark H Weaver 9d10a63402
Merge branch 'master' into core-updates 2018-05-24 02:34:08 -04:00
Ricardo Wurmus 8efe2a22ea
gnu: Use "code" instead of "indent".
This is a follow-up to commit e470abf8b7.

* gnu/packages/commencement.scm,
gnu/packages/flex.scm: Use module "code" instead of "indent".
2018-05-23 13:59:46 +02:00
Mark H Weaver 539bf8f2c0
Merge branch 'master' into core-updates 2018-05-17 01:00:50 -04:00
Chris Marusich ede121de42
guix: Separate the package name and version with "@", not "-".
* guix/packages.scm (package-full-name): By default, use "@" to separate
  the package name and package version.  Add an optional delimiter
  argument so that there is still a way to explicitly use a different
  delimiter.
* gnu/packages/commencement.scm (gcc-boot0) <unpack-gmp&co>: Adjust
  accordingly.
* tests/graph.scm: Adjust accordingly.
* tests/profiles.scm: Adjust accordingly.
* NEWS: Mention the change.

Fixes: <https://bugs.gnu.org/31088>.
Reported by Pierre Neidhardt <ambrevar@gmail.com>.
2018-05-08 21:55:46 -07:00
Mark H Weaver 3d5ad159b3
Merge branch 'master' into core-updates 2018-04-30 04:03:54 -04:00
Ludovic Courtès 5a48a066ab
gnu: gcc-toolchain: Add "static" output.
This allows the use of 'gcc-toolchain' to create statically-linked
executables (requires libc.a.)

* gnu/packages/commencement.scm (make-gcc-toolchain): Add "static"
output.  Add "libc-static" to 'inputs'.  Add call to 'union-build' for
the "static" output.
2018-04-28 22:33:47 +02:00
Ludovic Courtès 78ca500a75
gnu: commencement: Avoid extra Perl build in the DAG.
* gnu/packages/commencement.scm (grep-final): Move reference to
PERL-BOOT0 outside of 'package-with-explicit-inputs'.  Previously we
would actually depend on a variant of 'perl-boot0' built with
%BOOT5-INPUTS, which defeated the intent to not add an extra Perl build
in the DAG.
2018-04-01 18:48:23 +02:00
Ludovic Courtès 301a424906
gnu: sed: Update to 4.5.
* gnu/packages/base.scm (sed): Update to 4.5.
[arguments]: Remove 'patch-test-suite' phase.
[native-inputs]: New field.
2018-04-01 18:41:28 +02:00
Mark H Weaver e3cfef22c4
gnu: Use invoke and return #t from all builders.
* gnu/packages/admin.scm, gnu/packages/android.scm, gnu/packages/audio.scm,
gnu/packages/avr.scm, gnu/packages/base.scm, gnu/packages/bioinformatics.scm,
gnu/packages/certs.scm, gnu/packages/check.scm, gnu/packages/code.scm,
gnu/packages/commencement.scm, gnu/packages/dictionaries.scm,
gnu/packages/docbook.scm, gnu/packages/emacs.scm, gnu/packages/embedded.scm,
gnu/packages/fonts.scm, gnu/packages/games.scm, gnu/packages/gnome.scm,
gnu/packages/gnu-doc.scm, gnu/packages/guile.scm, gnu/packages/hurd.scm,
gnu/packages/javascript.scm, gnu/packages/libreoffice.scm,
gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lxde.scm,
gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/mate.scm,
gnu/packages/pkg-config.scm, gnu/packages/qt.scm, gnu/packages/rust.scm,
gnu/packages/scheme.scm, gnu/packages/sdl.scm, gnu/packages/statistics.scm,
gnu/packages/syncthing.scm, gnu/packages/tex.scm, gnu/packages/web.scm,
gnu/packages/wine.scm, gnu/packages/xfce.scm: In the builders of packages
using 'trivial-build-system', use invoke where appropriate, raise exceptions
on errors, and otherwise return #t.
2018-03-27 21:35:41 -04:00
Mark H Weaver 75f3aaced0
gnu: perl-boot0: Return #t from all phases.
* gnu/packages/commencement.scm (perl-boot0): Return #t from the
'disable-pthreads' phase.
2018-03-25 05:02:02 -04:00
Marius Bakke 5e8cb5e698
gnu: glibc: Update to 2.27.
* gnu/packages/base.scm (glibc/linux): Update to 2.27.
[source](patches): Add 'glibc-hidden-visibility-ldconfig.patch' and
'glibc-2.27-git-fixes.patch'.
[native-inputs]: Add BISON.
[arguments]: Remove deprecated "--enable-add-ons" from #:configure-flags.
Also remove unneeded "libc_cv_ssp=no" and "libcv_ssp_strong=no".
(glibc-2.26): New public variable.
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)[native-inputs]:
Add BISON-BOOT0.
* gnu/packages/patches/glibc-2.27-git-fixes.patch,
gnu/packages/patches/glibc-hidden-visibility-ldconfig.patch: New files.
* gnu/local.mk (dist_patch_DATA): Register them.
2018-03-22 18:58:05 +01:00
Mark H Weaver 60ff6ec48f
gettext-boot0: Return #t from chdir phase.
* gnu/packages/commencement.scm (gettext-boot0)[arguments]: Return #t from
chdir phase.
2018-03-16 09:08:35 -04:00
Ricardo Wurmus 8c72ed923d
Merge branch 'master' into core-updates 2018-03-14 17:37:20 +01:00
Ricardo Wurmus 48b97be90b
Revert "gnu: Add replacement for static-bash-for-glibc."
This reverts commit c4fb2b9f4e.
2018-03-14 16:28:22 +01:00
Ricardo Wurmus c4fb2b9f4e
gnu: Add replacement for static-bash-for-glibc.
This is needed to replace the static bash used in glibc-final.

* gnu/packages/commencement.scm (patched-glibc-final-with-bootstrap-bash,
patched-static-bash-for-glibc): New variables.
(static-bash-for-glibc)[replacement]: Use patched-static-bash-for-glibc as a
replacement.
2018-03-14 11:39:14 +01:00
Marius Bakke 5e268faf85
gnu: Remove gcc-for-libstdc++.
* gnu/packages/commencement.scm (libstdc++-boot0): Remove variable.
(libstdc++-boot0): Use GCC-4.9 instead.
2018-03-08 20:22:42 +01:00
Ludovic Courtès 7c788ed227
gnu: commencement: 'glibc-final' inherits the replacement of 'glibc'.
That was the intent of commit b672a81607,
but that commit left 'glibc-final' ungrafted.

Reported by Ricardo Wurmus at
<https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00435.html>.

* gnu/packages/commencement.scm (glibc-final): Use 'package/inherit' so
that we inherit the 'replacement' of GLIBC.
2018-03-07 21:39:32 +01:00
Ludovic Courtès 0fccb24765
gnu: commencement: 'glibc-final' now inherits from 'glibc'.
* gnu/packages/commencement.scm (glibc-final): Inherit from GLIBC
instead of GLIBC-FINAL-WITH-BOOTSTRAP-BASH.
[propagated-inputs]: New fields.
2018-03-07 21:39:32 +01:00
Chris Marusich a1df45e904
gnu: commencement: Add commentary regarding grafts.
* gnu/packages/commencement.scm: Add comments that were originally
  included only in the Git commit message of
  f00b85ff8d.

Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
2018-02-27 05:29:37 +01:00
Tobias Geerinckx-Rice 53bfec7bc4
gnu: commencement: Update phase style.
* gnu/packages/commencement.scm (gnu-make-boot0): Substitute INVOKE for
SYSTEM* and end phases with #t.
(glibc-final-with-bootstrap-bash)[arguments]: Use MODIFY-PHASES syntax
and end phase with #t.
(gcc-boot0)[arguments]: Do all of the above.
2018-02-20 16:06:09 +01:00
Ludovic Courtès 8102cf0b37
gnu: commencement: Memoize 'linux-libre-headers-boot0'.
Fixes <https://bugs.gnu.org/30155>.

The effect can be seen in the package graph produced by:

  guix graph -e '(@@ (gnu packages commencement) static-bash-for-glibc)'

This reduces the number of "duplicate" nodes in this graph, i.e.,
distinct package objects that correspond to the same derivation (objects
that are not 'eq?' but semantically equal.)

* gnu/packages/commencement.scm (linux-libre-headers-boot0): Make an
'mlambda' instead of a 'lambda'.
(hurd-core-headers-boot0): Ditto.
2018-01-18 16:14:06 +01:00
Efraim Flashner 809b0a9044
gnu: gcc@4.9: Fix building with glibc@2.26.
* gnu/packages/gcc.scm (gcc@4.9)[source]: Add snippet to adjust
linux-unwind.h to changes in glibc.
* gnu/packages/commencement.scm (gcc-for-libstdc++): New variable.
(libstdc++-boot0): Inherit from gcc-for-libstdc++, update note.
2018-01-18 08:59:20 +02:00
Leo Famulari 4adb40bffc
Merge branch 'master' into core-updates 2018-01-11 14:22:50 -08:00
Ludovic Courtès 20bf5fce7d
gnu: grep: Add dependency on PCRE.
Suggested by Oleg Pykhalov <go.wigust@gmail.com>
and Roel Janssen <roel@gnu.org>.

* gnu/packages/base.scm (grep)[inputs]: New field.
* gnu/packages/commencement.scm (grep-final)[inputs]: New field.
2018-01-11 22:49:15 +01:00
Marius Bakke 9e111db453
Merge branch 'master' into core-updates 2017-12-07 18:26:11 +01:00
Ludovic Courtès f00b85ff8d
gnu: commencement: Do not graft early bootstrap packages.
By definition, these packages are not depended on at run time by any of
the packages we use.  Thus it does not make sense to inherit grafts.
Furthermore, those grafts would often lead to extra overhead for users
who would end up downloading those "-boot0" packages just to build
package replacements that are in fact not going to be used.

This reverts parts of f1597427f2 and
ce27857f71.

Reported by Christopher Baines at
<https://lists.gnu.org/archive/html/guix-devel/2017-12/msg00058.html>.

* gnu/packages/commencement.scm (file-boot0, binutils-boot0): Use plain
'inherit' instead of 'package/inherit'.
2017-12-05 11:50:00 +01:00
Efraim Flashner 19b7bba1b5
Merge remote-tracking branch 'origin/master' into core-updates 2017-11-01 10:29:59 +02:00
Ludovic Courtès b887ede17d
gnu: gcc: Add unversioned 'gcc-toolchain' variable.
Reported by Theodoros Foradis <theodoros@foradis.org>.

* gnu/packages/commencement.scm (gcc-toolchain): Rename to...
(make-gcc-toolchain): ... this.
(gcc-toolchain): New variable.
(gcc-toolchain-5): Turn into an alias for 'gcc-toolchain'.
2017-10-27 12:35:49 -07:00
Efraim Flashner 86d02fa801
gnu: libstdc++: Rewrite as 'make-libstdc++' package.
* gnu/packages/commencement.scm (libstdc++): Rewrite the package using
the 'make-libstdc++' method.
2017-10-08 00:59:09 +03:00
Efraim Flashner ac423120c0
gnu: binutils-boot0: Use 'modify-phases' syntax.
* gnu/packages/commencement.scm (binutils-boot0)[arguments]: Use
'modify-phases' syntax.
2017-10-08 00:59:08 +03:00
Maxim Cournoyer 19d2713196
gnu: gcc: Fix manual pages.
Fixes bug #24069. perl is made a native input to all of the gcc-* packages
except for gcc-boot0; perl-boot0 is made a native input to gcc-final.

* gnu/packages/patches/gcc-fix-texi2pod.patch: Add patch file to fix texi2pod.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/gcc.scm (gcc-4.7, gcc-4.8, gcc-4.9, gcc-5): Use it.
(gcc-4.7)[native-inputs]: Add perl.
(gcc-4.9)[native-inputs]: Likewise.
* gnu/packages/commencement.scm (gcc-boot0)[native-inputs]: Remove perl.
(gcc-final)[native-inputs]: Add perl-boot0.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2017-10-05 21:15:21 +03:00
Efraim Flashner 848f550f2c
gnu: Remove package/inherit from commencement.
This is a follow-up to several security grafts.

* gnu/packages/commencement.scm (file-boot0, glibc-final,
glibc-final-with-bootstrap-bash): Use '(package (inherit ...)'
in place of '(package/inherit'.
2017-10-01 22:16:26 +03:00