Commit Graph

358 Commits

Author SHA1 Message Date
Marius Bakke b7bf02a418
Merge branch 'master' into core-updates 2020-01-11 22:38:24 +01:00
Jonathan Brielmaier 34e8f0afef
gnu: make-gcc-toolchain: Fix typo in description.
* gnu/packages/commencement.scm (make-gcc-toolchain)[description]: Fix typo
and triple spacing.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-01-11 21:28:05 +01:00
Mathieu Othacehe ce9383c090
Merge remote-tracking branch 'master' into core-updates. 2019-12-31 11:04:51 +01:00
Konrad Hinsen 4ac5d4fee1
gnu: Add gfortran-toolchain
* gnu/packages/commencement.scm: (gfortran-toolchain): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-12-15 00:34:05 +01:00
Efraim Flashner c9e676d0b1
Merge remote-tracking branch 'origin/master' into core-updates 2019-12-12 04:10:59 +02:00
Ludovic Courtès deeaa9e199
gnu: tcc-boot0: Add ftp.gnu.org URL for the source tarball.
The generated source tarball from gitlab.com is now mirrored at
ftp.gnu.org to ensure that it remains available, unchanged.

* gnu/packages/commencement.scm (tcc-boot0)[source]: Add "mirror://gnu" URL.
2019-12-08 00:47:26 +01:00
Marius Bakke 717867a6ef
gnu: findutils: Update to 4.7.0.
* gnu/packages/patches/findutils-gnulib-libio.patch,
gnu/packages/patches/findutils-makedev.patch,
gnu/packages/patches/findutils-test-xargs.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/base.scm (findutils): Update to 4.7.0.
[source](uri): Adjust for file name change.
[source](snippet): Remove.
[source](patches): Remove obsolete.
[arguments]: Remove obsolete workaround.  Add phase to patch tests.
* gnu/packages/commencement.scm (findutils-boot0)[arguments]: Allow 32-bit
time_t on 64-bit systems.
2019-12-05 17:59:01 +01:00
Mathieu Othacehe 154d97abdd
Merge remote-tracking branch master into core-updates 2019-11-16 09:34:27 +01:00
Ludovic Courtès 537b2daba9
gnu: commencement: Ensure 'gnu-make-final' refers to the native 'pkg-config'.
Fixes <https://bugs.gnu.org/38093>.

When running:

  guix build --target=arm-linux-gnueabihf -e '(@ (gnu packages base) coreutils)'

the '%current-target-system' parameter is set by the time the top-level
of (gnu packages commencement) is evaluated.  Consequently, we need to
ensure that the 'pkg-config' macro evaluates in a context where
'%current-target-system' is unset.

* gnu/packages/commencement.scm (gnu-make-final): Refer to '%pkg-config'
instead of 'pkg-config'.
* tests/guix-build.sh: Add test.
2019-11-07 18:39:55 +01:00
Ludovic Courtès 32793c09ff
gnu: commencement: Memoize uses of 'cross-gcc-wrapper'.
This improves caching down the road.

* gnu/packages/commencement.scm (gcc-boot0-intermediate-wrapped)
(gcc-boot0-wrapped): Use 'mlambda' instead of 'lambda'.
2019-11-04 23:35:32 +01:00
Ludovic Courtès fd67cdb7e3
gnu: commencement: Clean up 'gnu-make-final' dependencies.
* gnu/packages/commencement.scm (gnu-make-final): Remove GUILE-FINAL
from the inputs of 'pkg-config'.
2019-10-14 15:42:42 +02:00
Ludovic Courtès 6254823271
gnu: bison-boot0: Remove conditional parallel build/test flags.
* gnu/packages/commencement.scm (bison-boot0)[arguments]: Remove
conditional #:parallel-build? and #:parallel-tests? flags.
Append (package-arguments bison).
2019-10-14 15:40:35 +02:00
Ludovic Courtès e5c1f5cfdf
gnu: bison-boot0: Set name to "bison-boot0".
* gnu/packages/commencement.scm (bison-boot0)[name]: New field.
2019-10-14 15:38:23 +02:00
Ludovic Courtès 57bc2dcf0b
gnu: commencement: Remove 'm4-boot0*'.
* gnu/packages/commencement.scm (m4-boot0*): Remove.
(bison-boot0, flex-boot0): Use M4-BOOT0 instead.
2019-10-14 15:37:25 +02:00
Ludovic Courtès efa8fddabe
gnu: commencement: Use 'package-with-explicit-inputs' for Hurd packages.
* gnu/packages/commencement.scm (with-boot0): New procedure.
(gnumach-headers-boot0, mig-boot0)
(hurd-headers-boot0, hurd-minimal-boot0)
(hurd-core-headers-boot0): Use it instead of 'package-with-explicit-inputs'.
2019-10-14 00:08:10 +02:00
Ludovic Courtès 8f417ed280
gnu: commencement: Further optimize the package object graph.
For a package like:

  (define-public xxx
    (package
      (inherit (@ (gnu packages base) coreutils))
      (name "xxx")
      (inputs (@ (gnu packages commencement) %final-inputs))
      (native-inputs '())
      (propagated-inputs '())
      (arguments '(#:implicit-inputs? #f))))

this reduces the package object graph from 176 nodes (1852 edges) to 113
nodes (1114 edges).

The number of 'add-data-to-store' calls in "guix build coreutils -nd"
drops from 2045 to 1301, and the number of memoization tables drops from
102 to 40.

"guix build libreoffice -nd" goes from 2.40s to 2.27s.

* gnu/packages/commencement.scm (with-boot4): New variable.
(guile-final, glibc-utf8-locales-final): Use it.
(with-boot4, with-boot5): New variable.
(gnu-make-final): Rewrite to avoid 'package-with-explicit-inputs'.
(coreutils-final): Use 'with-boot5' instead of
'package-with-explicit-inputs'.
(grep-final): Likewise.
(with-boot6): New variable.
(sed-final, %final-inputs): Use it.
2019-10-14 00:08:10 +02:00
Ludovic Courtès dab669e075
gnu: ld-wrapper: Memoize.
The command:

  guix graph -e '(@@ (gnu packages commencement) coreutils-final)'

now shows 93 nodes (992 edges) instead of 176 nodes (1241 edges).

* gnu/packages/commencement.scm (ld-wrapper-boot0): Use 'mlambda'
instead of 'lambda'.
(ld-wrapper-boot3): Likewise.
2019-10-12 15:18:25 +02:00
Ludovic Courtès 099dbc4fd3
gnu: Improve memoization of 'package-with-bootstrap-guile'.
Before that, the command:

  GUIX_PROFILING=memoization guix build -e '(@@ (gnu packages commencement) gnu-make-final)' -nd

would show that 'package-with-bootstrap-guile' was called 2256
times (hit rate: 89%).  Now, it is called 745 times (hit rate: 85%).

"guix build libreoffice -nd" goes from 2.60s to 2.40s (-8%).

* gnu/packages/commencement.scm (gnu-make-final)
(coreutils-final, grep-final, sed-final, %final-inputs): Call
'package-with-bootstrap-guile' before 'package-with-explicit-inputs'.
2019-10-12 15:18:25 +02:00
Ludovic Courtès 99b73d0f0c
gnu: commencement: Reduce the graph of package objects.
The graph returned by:

  guix graph -e '(@@ (gnu packages commencement) guile-final)'

now contains 94 nodes (664 edges) instead of 394 (2674 edges).

Likewise, this command:

  GUIX_PROFILING=add-data-to-store-cache guix build coreutils -nd

shows that the number of lookups to the 'add-data-to-store' caches goes
from 8935 to 5303.

Overall, "guix build libreoffice -nd" goes from 3.17s to 2.60s (-18%).

* gnu/packages/commencement.scm (diffutils-boot0): Remove call to
'package-with-bootstrap-guile' and 'package-with-explicit-inputs', and
adjust accordingly.
(findutils-boot0, file-boot0, binutils-boot0, libstdc++-boot0)
(gcc-boot0, perl-boot0, m4-boot0, bison-boot0, flex-boot0)
(linux-libre-headers-boot0, texinfo-boot0, python-boot0)
(ld-wrapper-boot0, glibc-final-with-bootstrap-bash)
(static-bash-for-glibc, gettext-boot0, glibc-final, binutils-final)
(libstdc++, zlib-final, bash-final): Likewise.
(expat-sans-tests)[inputs]: New field.
[arguments]: Add #:implicit-inputs? and #:guile.
(m4-boot0*): New variable.
2019-10-12 12:25:08 +02:00
Ludovic Courtès 9a45a24f7f
gnu: Remove unnecessary uses of 'package-with-bootstrap-guile'.
This reduces the object graph returned by:

  guix graph -e '(@@ (gnu packages commencement) glibc-final-with-bootstrap-bash)

from 333 nodes (1542 edges) to 148 nodes (886 edges).

This improves 'package-derivation' memoization and, consequently, the
'add-data-to-store' cache shown by:

  GUIX_PROFILING=add-data-to-store-cache guix build coreutils -nd

goes from 10948 lookups to 8935 lookups.

* gnu/packages/commencement.scm (mes-boot): Remove call to
'package-with-bootstrap-guile'.  Call 'bootstrap-origin' on the source
of NYACC-0.86.
(tcc-boot0): Likewise.
(tcc-boot): Remove call to 'package-with-bootstrap-guile' and call
'bootstrap-origin' on its source.
(make-mesboot0): Remove call to 'package-with-bootstrap-guile'.
(diffutils-mesboot): Likewise.
(binutils-mesboot0): Likewise, and call 'bootstrap-origin' for its
source.
(gcc-core-mesboot): Likewise.
(mesboot-headers): Remove call to 'package-with-bootstrap-guile'.
(glibc-mesboot0): Likewise, and call 'bootstrap-origin' for its source.
(gcc-mesboot0): Remove call to 'package-with-bootstrap-guile'.
(binutils-mesboot): Likewise.
(make-mesboot): Likewise.
(gcc-mesboot1): Likewise, and call 'bootstrap-origin' for its source.
(gcc-mesboot1-wrapper): Remove call to 'package-with-bootstrap-guile'.
(glibc-headers-mesboot): Likewise, and call 'bootstrap-origin' for its
source.
(glibc-mesboot): Remove call to 'package-with-bootstrap-guile'.
(gcc-mesboot): Likewise, and call to 'bootstrap-origin' for its source.
(gcc-mesboot-wrapper): Remove call to 'package-with-bootstrap-guile'.
(m4-mesboot): Likewise.
(gnu-make-boot0): Likewise, and call 'bootstrap-origin' for its source.
2019-10-12 12:25:08 +02:00
Ludovic Courtès 0b2ea78173
maint: Placate 'assert-no-store-file-names'.
Reported by Vagrant Cascadian <vagrant@debian.org>.

* Makefile.am (assert-no-store-file-names): Exclude
"binutils-boot-2.20.1a.patch" since it contains a store file name as a
comment.
* gnu/packages/commencement.scm (glibc-mesboot0): Use an ellipsis
instead of an actual store file name in comment.
2019-09-08 23:03:43 +02:00
Jan Nieuwenhuizen d7303a048d
bootstrap: mes-boot: Fix at 0.19.
This allows updating Mes without triggering a rebuild.

* gnu/packages/commencement.scm (mes-boot): Fix 0.19.
2019-09-08 10:49:15 +02:00
Mark H Weaver 65542a8852
Merge branch 'master' into core-updates 2019-09-06 20:46:00 -04:00
Mathieu Othacehe 58a75996ec
gnu: glibc-utf8-locales: Fix cross-compilation.
* gnu/packages/base.scm (glibc-utf8-locales)[inputs]: Move to ...
[native-inputs]: ... here, in order to fix cross-compilation.
* gnu/packages/commencement.scm (glibc-utf8-locales-final)[inputs]: Move to ...
[native-inputs]: ... here, in order to fix cross-compilation.
2019-09-04 18:05:59 +02:00
Ludovic Courtès c55fae4520
gnu: bison-boot0: Build sequentially.
This is a followup to 2c35ae8219 and
b1593c1c4f.

* gnu/packages/commencement.scm (bison-boot0)[arguments]: Add
 #:parallel-build? and #:parallel-tests? on x86.
2019-08-28 23:57:17 +02:00
Ludovic Courtès 64de896a71
Merge branch 'master' into core-updates 2019-07-17 15:51:10 +02:00
Carl Dong 6869b6635a
gnu: Allow building toolchain with non-default libc.
* gnu/packages/base.scm (make-gcc-libc): Make public.
* gnu/packages/commencement.scm (make-gcc-toolchain): Add 'libc'
  optional argument to specify using a non-default glibc package, also
  make public.
2019-07-16 11:13:15 -04:00
Marius Bakke 33f460addf
gnu: flex: Remove superfluous input.
The configure script will warn that "make indent" is unavailable, but
apart from that this input is not actually used for the build process.

* gnu/packages/flex.scm (flex)[inputs]: Remove INDENT.
* gnu/packages/commencement.scm (flex-boot0)[inputs]: Likewise.
2019-07-09 21:07:13 +02:00
Marius Bakke 680bc34da4
gnu: Python: Update to 3.7.4.
* gnu/packages/python.scm (python-3.7): Update to 3.7.4.
[source](snippet): Move disabled tests ...
[arguments]<#:make-flags>: ... here.  Enable previously failing tests.
<#:phases>: Add 'set-TZDIR'.
[native-inputs]: Add TZDATA-FOR-TESTS.
* gnu/packages/commencement.scm (python-boot0)[arguments]: Clear <#:make-flags>.
Delete 'set-TZDIR' phase.
* gnu/packages/patches/python-3-fix-tests.patch: Disable two new tests that do
not work in the build container.  Adjust context.
2019-07-09 20:59:58 +02:00
Marius Bakke 4f5fe46388
gnu: commencement: Fix Python build on non-x86 platforms.
* gnu/packages/commencement.scm (python-boot0)[version, source]: Downgrade to 3.5.7.
[arguments]: Remove <#:make-flags>.  Add <#:phases>.
[native-inputs]: Remove artifical dependency on PKG-CONFIG.
2019-07-07 16:32:53 +02:00
Marius Bakke 5f3f703918
gnu: glibc: Update to 2.29.
* gnu/packages/patches/glibc-bootstrap-system.patch,
gnu/packages/patches/glibc-supported-locales.patch: Adjust for glibc 2.29.
* gnu/packages/patches/glibc-2.28-supported-locales.patch,
gnu/packages/patches/glibc-CVE-2019-7309.patch,
gnu/packages/patches/glibc-CVE-2019-9169.patch,
gnu/packages/patches/glibc-2.29-git-updates.patch: New files.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/base.scm (glibc): Update to 2.29.
[source](patches): Add 'glibc-CVE-2019-7309.patch',
'glibc-CVE-2019-9169.patch', and 'glibc-2.29-git-updates.patch'.  Remove
'glibc-hurd-magic-pid.patch'.
[native-inputs]: Add PYTHON-MINIMAL.
(glibc-2.28): New public variable.
* gnu/packages/commencement.scm (expat-sans-tests, python-boot0): New variables.
(glibc-final-with-bootstrap-bash)[native-inputs]: Add PYTHON-BOOT0.
* gnu/packages/python.scm (python-3.7)[arguments]: Disable test that fails
with glibc 2.29.
2019-07-02 16:45:17 +02:00
Marius Bakke 1290855490
gnu: linux-libre-headers: Update to 4.19.56.
* gnu/packages/linux.scm (linux-libre-headers-4.14.67): Rename to ...
(linux-libre-headers-4.19.56): ... this.  Adjust hash accordingly.
(linux-libre-headers): Set to LINUX-LIBRE-HEADERS-4.19.56.
* gnu/packages/commencement.scm (linux-libre-headers-boot0)[native-inputs]:
Add FLEX-BOOT0 and BISON-BOOT0.
2019-07-02 01:06:31 +02:00
Marius Bakke 742f2deaa3
gnu: commencement: Remove outdated comment.
* gnu/packages/commencement.scm (bison-boot0): Remove bash comment, which is
no longer accurate.
2019-07-02 01:06:31 +02:00
Marius Bakke 3730e3c64e
gnu: gettext: Update to 0.20.1.
* gnu/packages/gettext.scm (gettext-minimal): Update to 0.20.1.
[source](snippet): Remove.
[inputs]: Remove EXPAT.  Add LIBUNISTRING, LIBXML2, and NCURSES.
[arguments]: Add #:configure-flags and a "patch-fixed-paths" phase.  Delete
"link-expat" phase.
* gnu/packages/commencement.scm (gettext-boot0): Stay on version 0.19.8.1.
[arguments]: Adjust accordingly.

Co-authored-by: Miguel <rosen644835@gmail.com>
2019-07-02 01:06:31 +02:00
Marius Bakke 2b5e412b30
gnu: commencement: Return #t from all phases.
While at it, remove useless (and ...) indirections, because the procedures
never return #f anyway: instead they would raise an exception upon failure.

* gnu/packages/commencement.scm (mes-boot, tcc-boot0, tcc-boot,
diffutils-mesboot, binutils-mesboot0, gcc-core-mesboot, gcc-mesboot0,
glibc-headers-mesboot, glibc-mesboot, gnu-make-boot0): Return #t from phases
and remove (and ...) blocks.
2019-06-20 23:56:58 +02:00
Ludovic Courtès 20e4ee1e3b
gnu: gcc-mesboot-wrapper: Fix 'version' field.
Until now the 'version' field would match
'gcc-mesboot1-wrapper' ("4.7.4") instead of that of
'gcc-mesboot' ("4.9.4").

* gnu/packages/commencement.scm (gcc-mesboot-wrapper)[version]: New
field.
2019-06-17 17:14:46 +02:00
Ludovic Courtès 1380be3c73
gnu: commencement: '%bootstrap-inputs+toolchain' no longer contains Mes.
* gnu/packages/commencement.scm (%bootstrap-inputs+toolchain): On
i686-linux and x86_64-linux, remove "bootstrap-mescc-tools" and "mes"
from %BOOTSTRAP-INPUTS.
2019-06-17 12:25:29 +02:00
Ludovic Courtès b644008ca2
gnu: mes-boot, tcc-boot0: Require nyacc 0.86.
This is a followup to b801646727.

* gnu/packages/commencement.scm (mes-boot, tcc-boot0): Use source from
NYACC-0.86 instead of NYACC.
2019-06-13 18:09:21 +02:00
Marius Bakke 57df83e07d
Merge branch 'staging' into core-updates 2019-05-25 00:25:15 +02:00
Carl Dong bdfc327639
gnu: gcc: Add 9.1.0.
* gnu/packages/gcc.scm (gcc-9): New variable.
* gnu/packages/commencement.scm (gcc-toolchain-9): New variable.
* gnu/packages/patches/gcc-9-strmov-store-file-names.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add the patch.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-05-06 10:18:15 +02:00
Marius Bakke 3b458d5462
Merge branch 'master' into core-updates 2019-05-01 23:11:41 +02:00
Efraim Flashner 36a4366d79
gnu: Fix descriptions to not use quotes.
* gnu/packages/admin.scm (wpa-supplicant-minimal, mingetty, di),
* gnu/packages/audio.scm (fil-plugins),
* gnu/packages/base.scm (make-ld-wrapper, make-glibc-locales),
* gnu/packages/bioinformatics.scm (r-samtools),
* gnu/packages/chez.scm (chez-mit),
* gnu/packages/commencement.scm (make-gcc-toolchain),
* gnu/packages/compression.scm (fastjar),
* gnu/packages/cran.scm (r-maps, r-rcpp),
* gnu/packages/databases.scm (sparql-query),
* gnu/packages/dunst.scm (dunst),
* gnu/packages/ftp.scm (ncftp),
* gnu/packages/gl.scm (freeglut),
* gnu/packages/haskell-check.scm (ghc-tasty-golden),
* gnu/packages/haskell.scm (ghc-case-insensitive, ghc-text,
ghc-haskell-src, ghc-syb, ghc-deepseq-generics, ghc-network-uri,
ghc-rerebase, ghc-zlib),
* gnu/packages/image.scm (jbig2dec),
* gnu/packages/kde-frameworks.scm (kinit, karchive),
* gnu/packages/linux.scm (wireless-tools, perf, module-init-tools, kbd),
* gnu/packages/lirc.scm (lirc),
* gnu/packages/lisp.scm (uglify-js),
* gnu/packages/mate.scm (mate-netbook),
* gnu/packages/microcom.scm (microcom),
* gnu/packages/music.scm (bristol),
* gnu/packages/networking.scm (perl-geo-ip),
* gnu/packages/patchutils.scm (patches),
* gnu/packages/perl-check.scm (perl-test-more-utf8),
* gnu/packages/perl.scm (perl-log-report-optional, perl-file-which,
perl-io-tty, perl-log-any, perl-digest-sha1, perl-class-load,
perl-regexp-common, perl-module-pluggable, perl-class-modifier),
* gnu/packages/python-xyz.scm (python-backports-abc, python-natsort),
* gnu/packages/samba.scm (iniparser),
* gnu/packages/search.scm (mlocate),
* gnu/packages/spice.scm (spice),
* gnu/packages/statistics.scm (r-dt, r-lubridate, r-estimability,
r-commonmark, r-digest, r-viridislite, r-stringr),
* gnu/packages/tex.scm (texlive-latex-changebar),
* gnu/packages/version-control.scm (subversion),
* gnu/packages/w3m.scm (w3m),
* gnu/packages/web.scm (perl-http-parser,
perl-plack-middleware-reverseproxy),
* gnu/packages/xorg.scm (xkeyboard-config, mkfontdir, xcursor-theme,
mkfontscale, xinit, font-alias)[description]: Use @code instead of quotes.
2019-03-31 20:51:10 +03:00
Efraim Flashner 3670ea70e2
gnu: glibc-final-with-bootstrap-bash: Don't enable obsolete rpc.
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)
[arguments]: Remove 'enable-obsolete-rpc' configure flag.

This brings this glibc package in line with the other glibc packages
which are also built without the pre-2.14 glibc RPC functions. These
functions cause build failures on armhf-linux and aarch64-linux.
2019-02-09 21:53:41 +01:00
Marius Bakke 01e8263feb
gnu: Use GCC 7 as the default compiler.
* gnu/packages/cross-base.scm (%gcc-cross-include-paths): Remove
CROSS_C_INCLUDE_PATH & co in favor of CROSS_CPATH.
* gnu/build/cross-toolchain.scm (%gcc-cross-include-paths): Likewise.
(cross-gcc-build-phases): Set CROSS_C_INCLUDE_PATH and
CROSS_CPLUS_INCLUDE_PATH when building the cross GCC.
* gnu/packages/commencement.scm (libstdc++): Add
"--disable-libstdcxx-dual-abi" to #:configure-flags.
(gcc-boot0)[arguments]: Add "--disable-libmpx"
to #:configure-flags.
(gcc-final): Add phase to set C_INCLUDE_PATH and CPLUS_INCLUDE_PATH before
building GCC.
(gcc-toolchain-5): Use MAKE-GCC-TOOLCHAIN.
(gcc-toolchain-7): Change to GCC-TOOLCHAIN.
* gnu/packages/gcc.scm (gcc): Change from GCC-5 to GCC-7.
(gfortran): Change to GFORTRAN-7.
(gcc-objc): Change to GCC-OBJC-7.
(gcc-objc++): Change to GCC-OBJC++-7.
* gnu/packages/rust.scm (rust-1.19.0)[native-search-paths]: Change from
C_INCLUDE_PATH & co to CPATH.
2019-02-09 21:53:41 +01:00
Efraim Flashner e992d56669
gnu: diffutils: Update to 3.7.
* gnu/packages/base.scm (diffutils): Update to 3.7.
[source]: Remove patch.
[native-inputs]: Add perl.
* gnu/packages/commencement.scm (diffutils-boot0)[native-inputs]: Don't
add perl.
* gnu/packages/patches/diffutils-getopt.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
2019-01-07 11:59:03 +02:00
Efraim Flashner 5fe2c549b4
gnu: gcc-boot0: Fix build on non-Intel systems.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Fix 'match case
for alternate systems so a 'phase is added.
2019-01-06 11:48:39 +02:00
Ludovic Courtès 6f1e0bb792
gnu: commencement: Do not graft early bootstrap packages.
This is a followup to e47c69f226 and a
repetition of f00b85ff8d.

* gnu/packages/commencement.scm (file-boot0): Use 'inherit' instead of
'package/inherit'.
2018-12-24 18:18:24 +01:00
Efraim Flashner e47c69f226
gnu: file: Fix CVE-2018-10360.
* gnu/packages/patches/file-CVE-2018-10360.patch: New file.
* gnu/packages/file.scm (file)[replacement]: New field.
(file/fixed): New variable.
* gnu/packages/commencement.scm (file-boot0): Use 'package/inherit' to
receive security fixes.
* gnu/local.mk (dist_patch_DATA): Register it.
2018-12-24 11:12:52 +02:00
Jan Nieuwenhuizen b02dc758a5
bootstrap: tcc-boot0: Update for mes 0.19.
* gnu/packages/commencement.scm (tcc-boot0): Update for mes 0.19.
2018-12-20 12:04:04 +01:00
Jan Nieuwenhuizen df2242a462
bootstrap: mes-boot: Update for mes 0.19.
* gnu/packages/commencement.scm (mes-boot): Update for mes 0.19.
(mes-boot0): Remove.
2018-12-20 12:04:04 +01:00
Jan Nieuwenhuizen ef809e3ac0
bootstrap: Add mes-boot0; decouple mes-boot from Mes.
* gnu/packages/commencement.scm (mes-boot0): New variable.
(mes-boot): Use it.
2018-12-16 22:49:11 +01:00
Jan Nieuwenhuizen 9c14fd0770
bootstrap: Remove development hacks.
* gnu/packages/commencement.scm (%fake-bootstrap?): Remove.  Update users to
always keep true bootstrap; i.e., do not use %bootstrap-guile.
(mes-boot0): Remove.  Update users.
(nyacc-boot): Likewise.
2018-12-16 22:49:10 +01:00
Jan Nieuwenhuizen cdd3bcf038
bootstrap: Do not fake, use Mes instead of Guile.
* gnu/packages/commencement.scm (%fake-bootstrap?): Do not fake, use Mes
instead of Guile.
2018-12-16 22:49:10 +01:00
Jan Nieuwenhuizen 99ff4b102c
bootstrap: mes-boot: Use mes-boot0 version.
* gnu/packages/commencement.scm (mes-boot): Use mes-boot0 version.
2018-12-11 18:10:13 +01:00
Marius Bakke 4ae7dc7b9a
gnu: Remove duplicate linux-libre-headers package from bootstrap inputs.
GLIBC-FINAL already propagates linux-libre-headers, so drop the bootstrap input.

* gnu/packages/commencement.scm (%boot2-inputs): Remove
%BOOTSTRAP-LINUX-LIBRE-HEADERS.
2018-11-24 08:18:32 +01:00
Marius Bakke 77e02d948c
gnu: gcc-boot0: Improve gcc-wrapper workarounds.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Adjust the libcc1
build scripts instead of copying libcc1.so from %BOOT0-INPUTS.
2018-11-24 08:18:32 +01:00
Marius Bakke a6facf9482
gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
* gnu/packages/commencement.scm (libstdc++-boot0): Adjust the configure script
instead of copying libstdc++.so from %BOOT0-INPUTS.
2018-11-24 08:18:32 +01:00
Marius Bakke f4bf64138c
gnu: Remove gcc-for-libstdc++.
* gnu/packages/commencement.scm (gcc-for-libstdc++): Remove variable.
(libstdc++-boot0): Inherit GCC-4.9 instead.
2018-11-24 08:18:31 +01:00
Jan Nieuwenhuizen da91723cc5
bootstrap: Force i686-linux for bootstrap-tarballs.
* gnu/packages/make-bootstrap.scm (%mescc-tools-static): Force i686-linux for
bootstrap-tarballs.
(%mes-minimal): Likewise.  Remove i686-linux cross-compiler dependency.
* gnu/packages/commencement.scm (mes-boot): Support strict i686-linux build on
x86_64.
2018-11-24 08:17:20 +01:00
Jan Nieuwenhuizen 4fd4efc812
bootstrap: Replace %mescc-tools-seed with %bootstrap-mescc-tools.
* gnu/packages/bootstrap.scm (%mescc-tools-seed): Remove.
(%bootstrap-inputs): Replace %mescc-tools-seed with %bootstrap-mescc-tools.
* gnu/packages/commencement.scm (mes-boot): Likewise.
(tcc-boot0): Likewise.
(mescc-tools-boot): Remove.
2018-11-18 16:45:03 +01:00
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
Efraim Flashner 45953b1f67
gnu: binutils: Update to 2.28.1.
* gnu/packages/base.scm (binutils): Update to 2.28.1.
[replacement]: Remove field.
* gnu/packages/commencement.scm (binutils-boot0, binutils-final): Don't
use 'package/inherit'.
2017-10-01 22:16:24 +03:00
Efraim Flashner 64df08f0cf
Merge remote-tracking branch 'origin/master' into core-updates 2017-10-01 22:16:22 +03:00
Efraim Flashner ce27857f71
gnu: binutils: Fix security issues.
* gnu/packages/base.scm (binutils)[replacement]: New field.
(binutils/fixed): New variable.
* gnu/packages/commencement.scm (binutils-boot0, binutils-final): Use
'package/inherit' to correctly use replacement binutils.
2017-09-17 22:45:21 +03:00
Efraim Flashner f1597427f2
gnu: file: Fix CVE-2017-1000249.
* gnu/packages/file.scm (file)[replacement]: New field.
(file/fixed): New variable.
* gnu/packages/commencement.scm (file-boot0): Use package/inherit.
* gnu/packages/patches/file-CVE-2017-1000249.patch.
* gnu/local.mk (dist_patch_DATA): Register it.
2017-09-05 23:04:05 +03:00
Ludovic Courtès 6dff905e51
gnu: glibc: Add "static" output.
This shrinks glibc:out from 37 MiB to 29 MiB.

* gnu/packages/base.scm (glibc/linux)[outputs]: Add "static".
[arguments]: Add #:modules.  Add 'move-static-libs' phase.
* gnu/packages/commencement.scm (static-bash-for-glibc): Augment
 #:configure-flags to pass "-L LIBC:STATIC".  Add the "static" output of
GLIBC-FINAL to 'inputs'.
(%boot2-inputs, %final-inputs): Likewise.
(canonical-package): Adjust to deal with multiple-output packages.
* gnu/packages/cross-base.scm (cross-gcc): Add the "static" output of
LIBC to 'native-inputs'.
2017-09-05 10:18:39 +02:00
Leo Famulari c8eb2b8c60
Merge branch 'master' into core-updates 2017-07-10 14:37:53 -04:00
Ludovic Courtès d5ec5ed719
packages: Mark 'replacement' as an "innate" field.
Suggested by Mark H Weaver
at <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00355.html>.

* guix/packages.scm (<package>)[replacement]: Mark as "innate".
* gnu/packages/base.scm (glibc-2.25-patched, glibc-2.24)
(glibc-2.23, glibc-2.22, glibc-2.21, glibc-locales): Remove
'replacement' field, which was set to #f.
* gnu/packages/commencement.scm (perl-boot0): Likewise.
* gnu/packages/fontutils.scm (graphite2/fixed): Likewise.
* gnu/packages/ghostscript.scm (ghostscript/fixed): Likewise.
* gnu/packages/gnupg.scm (libgcrypt-1.7.8): Likewise.
* gnu/packages/guile.scm (guile-2.0/fixed, guile-2.2): Likewise.
* gnu/packages/icu4c.scm (icu4c/fixed): Likewise.
* gnu/packages/image.scm (libpng-apng): Likewise.
* gnu/packages/make-bootstrap.scm (%guile-static): Likewise.
* gnu/packages/pcre.scm (pcre/fixed): Likewise.
* gnu/packages/perl.scm (perl/fixed): Likewise.
* gnu/packages/ruby.scm (ruby-2.3, ruby-2.2, ruby-2.1)
(ruby-1.8): Likewise.
* gnu/packages/tls.scm (gnutls-3.5.13, gnutls/guile-2.2): Likewise.
* gnu/packages/xml.scm (expat-2.2.1): Likewise.
2017-07-03 23:51:22 +02:00
Mark H Weaver ed068b960e
Merge branch 'master' into core-updates 2017-06-26 00:00:58 -04:00
Mark H Weaver 13f7f2fd2b
gnu: glibc-final: Add support for grafted glibc.
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)
(glibc-final): Use 'package/inherit'.
2017-06-24 02:42:27 -04:00
Ludovic Courtès 704243e0c6
gnu: commencement: 'bash-final' inherits from 'bash-minimal'.
* gnu/packages/commencement.scm (bash-final): Inherit from BASH-MINIMAL
instead of BASH.
2017-06-02 17:22:06 +02:00
Ricardo Wurmus ff647c3d38
gnu: glibc: Move i686 patch to source field.
This is a rewrite of changes introduced by commits
b2fd8f6367,
c2e4f14ac8,
441e99d433 and
d03b34cf19.

* gnu/packages/base.scm (glibc/linux)[source]: Add i686 patch.
[arguments]: Remove conditional patch application from build phase.
[native-inputs]: Remove patch.
(glibc/hurd)[arguments]: Inherit pre-configure build phase from glibc/linux.
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)[native-inputs]:
Remove patch.
2017-05-29 06:14:11 +02:00
Ricardo Wurmus d1a914082b
Merge branch 'master' into core-updates 2017-05-24 12:05:47 +02:00
Ludovic Courtès d7ecab74ee
gnu: Add gcc-toolchain@7.
* gnu/packages/commencement.scm (gcc-toolchain-7): New variable.
2017-05-04 18:05:05 +02:00
Ricardo Wurmus b2fd8f6367
gnu: glibc/linux: Fix runtime crashes on i686 systems.
* gnu/packages/patches/glibc-memchr-overflow-i686.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)[native-inputs]:
Add the patch conditionally for i686 systems.
* gnu/packages/base.scm (glibc/linux)[native-inputs]: Add the patch
conditionally for i686 systems.
[arguments]: Apply the patch conditionally on i686 systems.
2017-04-29 23:31:35 +02:00
Ludovic Courtès 78dea6f1d4
gnu: ld-wrapper: Build with Guile 2.2.
Reported by Sergei Trofimovich <slyfox@inbox.ru>.

* gnu/packages/base.scm (make-ld-wrapper): Change #:guile to default to
GUILE-2.2.
* gnu/packages/commencement.scm (ld-wrapper): Define in terms of
'make-ld-wrapper' such that #:guile-for-build and #:guile are the same.
2017-04-20 23:58:14 +02:00
Ludovic Courtès 34d624cef5
gnu: Build derivations with Guile 2.2 by default.
* gnu/packages/guile.scm (guile-2.0/fixed): Remove.
(guile-2.2)[source]: Switch from tar.lz to tar.xz.
(guile-2.2/fixed): New variable.
* gnu/packages/commencement.scm (guile-final): Use GUILE-2.2/FIXED
instead of GUILE-2.2/FIXED.
(canonical-package): Mention 2.2 instead of 2.0.
2017-04-08 23:27:08 +02:00
Marius Bakke 84157bb8bf
Merge branch 'master' into core-updates
Most conflicts are from 6fd52309b8.
2017-03-30 22:59:53 +02:00
Tobias Geerinckx-Rice 6fd52309b8
gnu: Use HTTPS for almost all gnu.org HOME-PAGEs.
All HTTP gnu.org (and supported subdomain) HOME-PAGEs changed to HTTPS.
2017-03-30 01:30:16 +02:00
Ludovic Courtès d9b4cbc2a1
gnu: bash: Do not retain dependency on Coreutils.
Previously the "include" output of BASH-FINAL would refer to
'bootstrap-binaries' via 'Makefile.inc'.

* gnu/packages/bash.scm (bash)[arguments]: In 'move-development-files'
phase, remove absolute file name of 'install' from the 'INSTALL'
variable in 'Makefile.inc'.
* gnu/packages/commencement.scm (bash-final)[arguments]: Pass
 #:disallowed-references.
2017-01-27 09:52:26 +01:00
Ludovic Courtès 168c400045
gnu: ld-wrapper-boot0: Remove workaround for <http://bugs.gnu.org/24832>.
Fixes <http://bugs.gnu.org/24832>.

* gnu/packages/commencement.scm (ld-wrapper-boot0): Change the first
'make-ld-wrapper' argument to "ld-wrapper-boot0"; change #:target to
BOOT-TRIPLET.
2017-01-20 22:57:47 +01:00
Leo Famulari 74288230ea
Merge branch 'master' into core-updates 2017-01-06 17:14:41 -05:00
Manolis Ragkousis 62596a158b
gnu: Use hurd-triplet? to check if GNU/Hurd.
* gnu/packages/make-bootstrap.scm (hurd-triplet?): Move it from here..
* gnu/packages/hurd.scm: ..to here. New exported procedure.
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)
  [arguments]: Replace string-match.
  [inputs]: Same.
* gnu/packages/cross-base.scm (cross-libc)[native-inputs]: Same.
2017-01-03 16:00:39 +02:00
Ludovic Courtès 8a4c988892
build: check-final-inputs-self-contained has an exception for 'bash:include'.
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.
2016-12-18 12:37:26 +01:00
Ludovic Courtès b810a85019
gnu: Default to GCC 5.
This reinstates and adjusts
commit e3d0fcbf7e.

* gnu/packages/patches/gcc-libiberty-printf-decl.patch: New file.
* gnu/packages/gcc.scm (gcc-5)[source]: Use it.
[patches]: Add "gcc-arm-bug-71399.patch".
(gcc): Switch to GCC-5.
* gnu/packages/commencement.scm (libstdc++-boot0): New variable.
(gcc-boot0)[inputs]: Add it.
(gcc-toolchain-4.9): Switch to GCC-4.9.
(gcc-toolchain-5): Switch to GCC-FINAL.
* gnu/local.mk (dist_patch_DATA): Add 'gcc-libiberty-printf-decl.patch'.
2016-12-13 00:40:57 +01:00
Ludovic Courtès 5bde4503ee
gnu: ld-wrapper-boot0: Work around strict evaluation of (%current-system).
Reported by Mark H Weaver <mhw@netris.org>
Partly fixes <http://bugs.gnu.org/24832>.

'ld-wrapper-boot0' was evaluating strictly instead of lazily, leading to
invalid system types.

* gnu/packages/base.scm (make-ld-wrapper): Turn #:target into a
one-argument procedure.  Honor it.
* gnu/packages/commencement.scm (ld-wrapper-boot0): Fix 'name' argument
to 'make-ld-wrapper'.  Make #:target argument a procedure.
* gnu/packages/cross-base.scm (cross-gcc): Adjust #:target argument.
2016-10-31 16:06:30 +01:00
Ben Woodcroft 156c0810e9
gnu: perl: Enable threading support.
* gnu/packages/perl.scm (perl)[arguments]: Configure with '-Dusethreads'.
* gnu/packages/commencement.scm (perl-boot0)[arguments]: Omit inherited
'-Dusethreads' flag during configure.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-10-01 14:34:33 +02:00
Ludovic Courtès 712b62d8f7
gnu: make-boot0: Use 'install-file'.
* gnu/packages/commencement.scm (gnu-make-boot0)[arguments]: Use
'install-file' in 'install' phase instead of 'copy-file' etc.
2016-10-01 11:55:09 +02:00
Ludovic Courtès 8e5e8724d2
gnu: make-boot0: Use 'modify-phases'.
* gnu/packages/commencement.scm (gnu-make-boot0)[arguments]: Use
'modify-phases'.
2016-10-01 11:55:09 +02:00
Ludovic Courtès c573f5a5a5
gnu: bash: Update to 4.4.
* gnu/packages/bash.scm (%patch-series-4.3): Remove.
(%patch-series-4.4): New variable.
(bash)[source]: Update to 4.4.
[native-inputs]: Remove.
[arguments]: Remove (ice-9 regex) modules; add (srfi srfi-26).
Inline 'install-sh-symlink' phase.  Remove 'install-headers' phase.  Add
'move-development-files' phase.
[native-search-paths]: New field.
(static-bash)[outputs]: New field.
[arguments]: Delete 'move-development-files' phase.
* gnu/packages/commencement.scm (static-bash-for-glibc)
(bash-final): Remove 'native-inputs'.
2016-10-01 00:00:03 +02:00
Alex Kost b94a6ca074
gnu: Add and use gettext-minimal.
* gnu/packages/gettext.scm (gnu-gettext): Rename to...
(gettext-minimal): ... this.  Adjust synopsis and description.
(gnu-gettext): Inherit from it.
(po4a): Use 'gettext-minimal' instead of 'gnu-gettext'.
* gnu/packages/acl.scm: Likewise.
* gnu/packages/admin.scm: Likewise.
* gnu/packages/apl.scm: Likewise.
* gnu/packages/attr.scm: Likewise.
* gnu/packages/audio.scm: Likewise.
* gnu/packages/base.scm: Likewise.
* gnu/packages/cdrom.scm: Likewise.
* gnu/packages/commencement.scm: Likewise.
* gnu/packages/crypto.scm: Likewise.
* gnu/packages/databases.scm: Likewise.
* gnu/packages/disk.scm: Likewise.
* gnu/packages/documentation.scm: Likewise.
* gnu/packages/education.scm: Likewise.
* gnu/packages/engineering.scm: Likewise.
* gnu/packages/enlightenment.scm: Likewise.
* gnu/packages/fcitx.scm: Likewise.
* gnu/packages/fontutils.scm: Likewise.
* gnu/packages/freedesktop.scm: Likewise.
* gnu/packages/games.scm: Likewise.
* gnu/packages/gkrellm.scm: Likewise.
* gnu/packages/glib.scm: Likewise.
* gnu/packages/gnome.scm: Likewise.
* gnu/packages/grub.scm: Likewise.
* gnu/packages/gtk.scm: Likewise.
* gnu/packages/guile.scm: Likewise.
* gnu/packages/ibus.scm: Likewise.
* gnu/packages/irc.scm: Likewise.
* gnu/packages/iso-codes.scm: Likewise.
* gnu/packages/kde-frameworks.scm: Likewise.
* gnu/packages/kodi.scm: Likewise.
* gnu/packages/linux.scm: Likewise.
* gnu/packages/man.scm: Likewise.
* gnu/packages/maths.scm: Likewise.
* gnu/packages/mono.scm: Likewise.
* gnu/packages/mp3.scm: Likewise.
* gnu/packages/music.scm: Likewise.
* gnu/packages/nano.scm: Likewise.
* gnu/packages/networking.scm: Likewise.
* gnu/packages/package-management.scm: Likewise.
* gnu/packages/pdf.scm: Likewise.
* gnu/packages/sawfish.scm: Likewise.
* gnu/packages/statistics.scm: Likewise.
* gnu/packages/terminals.scm: Likewise.
* gnu/packages/version-control.scm: Likewise.
* gnu/packages/vpn.scm: Likewise.
* gnu/packages/w3m.scm: Likewise.
* gnu/packages/webkit.scm: Likewise.
* gnu/packages/wicd.scm: Likewise.
* gnu/packages/wine.scm: Likewise.
* gnu/packages/xdisorg.scm: Likewise.
* gnu/packages/xorg.scm: Likewise.
2016-09-28 17:54:50 +03:00
Manolis Ragkousis d75acc293d
gnu: commencement: Add support for a native GNU/Hurd system.
* gnu/packages/commencement.scm (kernel-headers-boot0,
  ld-wrapper-boot0, bison-boot0, flex-boot0, gnumach-headers-boot0,
  mig-boot0, hurd-headers-boot0, hurd-minimal-boot0,
  hurd-kernel-headers-boot0): New variables.
  (bison-boot1): Remove.
  (%boot1-inputs): Add ld-wrapper-boot0.
  (glibc-final-with-bootstrap-bash)[arguments]: Allow libpthread
  to find libihash.
  [propagated-inputs]: Use kernel-headers-boot0.
  [inputs]: Add "mig".
  (glibc-final)[arguments]: Use kernel-headers-boot0.
  (static-bash-for-glibc, bash-final)[native-inputs]: Use bison-boot0.
2016-08-10 15:41:00 -04:00
Mark H Weaver 622c22ccb4
Merge branch 'master' into core-updates 2016-07-28 14:13:26 -04:00
Ludovic Courtès 386b71d1b9
gnu: commencement: 'guile-final' is now "hidden".
This way, we no longer have this annoying warning:

  $ guix build guile -n
  guix build: warning: ambiguous package specification `guile'
  guix build: warning: choosing guile-2.0.11 from gnu/packages/guile.scm:128:2

* gnu/packages/commencement.scm (guile-final): Use 'hidden-package'.
* tests/packages.scm ("fold-packages, hidden package"): New test.
2016-07-28 18:53:13 +02:00
Ludovic Courtès 9dee9e8ffe
Revert "gnu: Default to GCC 5."
This reverts commit e3d0fcbf7e.
This is a temporary measure until GCC 5 builds on ARM, see:

  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71399
2016-06-07 10:52:04 +02:00
Leo Famulari eb74eb4199
Merge branch 'master' into core-updates 2016-05-13 02:08:11 -04:00
Manolis Ragkousis 55de892b43 gnu: glibc: Rename linux-headers input to kernel-headers.
* gnu/packages/base.scm (glibc)[propagated-inputs]: Use a kernel
  agnostic name for the kernel headers.
  [arguments]: Adjust accordingly.
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)
  [propagated-inputs]: Adjust accordingly.
* gnu/packages/cross-base.scm (cross-gcc-arguments)[arguments]: Adjust
  accordingly.
  (cross-gcc)[native-inputs]: Adjust accordingly.
* gnu/packages/make-bootstrap.scm (%glibc-stripped)[arguments]: Adjust
  accordingly.
  [inputs]: Adjust accordingly.
2016-05-10 14:39:50 +03:00
Ludovic Courtès e760ec4187
gnu: gcc: Add 6.1.0.
* gnu/packages/gcc.scm (gcc-6): New variable.
* gnu/packages/commencement.scm (gcc-toolchain-6): New variable.
2016-05-03 17:45:29 +02:00
Ludovic Courtès e3d0fcbf7e
gnu: Default to GCC 5.
* gnu/packages/patches/gcc-libiberty-printf-decl.patch: New file.
* gnu/packages/gcc.scm (gcc-5)[source]: Use it.
(gcc): Switch to GCC-5.
* gnu/packages/commencement.scm (libstdc++-boot0): New variable.
(gcc-boot0)[inputs]: Add it.
[native-inputs]: Remove.
(gcc-toolchain-4.9): Switch to GCC-4.9.
(gcc-toolchain-5): Switch to GCC-FINAL.
* gnu-system.am (dist_patch_DATA): Add 'gcc-libiberty-printf-decl.patch'.
2016-04-24 22:51:07 +02:00
Ludovic Courtès 81cea47d4a gnu: perl: Do not retain references to GCC & co.
Fixes <http://bugs.gnu.org/23077>.
Reported by David Thompson <dthompson2@worcester.edu>.

* gnu/packages/perl.scm (perl)[arguments]: Add 'remove-extra-references'
phase.  Remove -Dlibpth and -Dplibpth from #:configure-flags.
* gnu/packages/commencement.scm (perl-boot0): Add #:disallowed-references.
2016-04-06 22:24:13 +02:00
Ludovic Courtès 5d6c4d3794 gnu: commencement: Disable Texinfo tests during bootstrap.
* gnu/packages/commencement.scm (texinfo-boot0): Add #:tests? #f.
2016-04-06 22:24:13 +02:00
Mark H Weaver ce362de86e gnu: Fix definitions of gcc-toolchain-4.8 and gcc-toolchain-4.9.
* gnu/packages/commencement.scm (gcc-toolchain-4.8): Use gcc-4.8,
not gcc-final.
(gcc-toolchain-4.9): Use gcc-final, not gcc-4.9.
* gnu/packages/gcc.scm (gcc): Add reminder comment for the future.
2016-03-16 18:06:52 -04:00
Leo Famulari d8173f21f7 gnu: perl: Replace with patched version [fixes CVE-2016-2381].
* gnu/packages/patches/perl-CVE-2016-2381.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/perl.scm (perl)[replacement]: New field.
(perl-fixed): New variable.
* gnu/packages/commencement.scm (perl-boot0)[replacement]: New field.
2016-03-03 14:56:23 -05:00
Ludovic Courtès 8c986ab120 Merge branch 'master' into core-updates 2016-01-13 18:18:48 +01:00
Ludovic Courtès d4aaf95401 build-system/gnu: Make 'package-with-explicit-inputs' idempotent.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Use
  'ensure-keyword-arguments' instead of appending to ARGS.
* gnu/packages/commencement.scm (static-bash-for-glibc): Add missing
  #:guile argument.
2016-01-06 23:08:22 +01:00
Ludovic Courtès 53088d0045 gnu: commencement: Build Bison deterministically.
Before that entries in liby.a would contain the build time.

* gnu/packages/commencement.scm (bison-boot1): Add #:make-flags.
2015-12-19 00:02:37 +01:00
Ludovic Courtès f1e0c85ad2 gnu: commencement: Build the final Bash with "bison-boot1".
This removes a round of Bison + Flex + M4 + Perl rebuild.

* gnu/packages/commencement.scm (bash-final): Add 'native-inputs'
field pointing to BISON-BOOT1.
2015-12-18 23:57:11 +01:00
Ludovic Courtès 32243bfb57 gnu: commencement: Avoid redundant Perl rebuild.
This removes a redundant (yet different) "perl-boot0" node from the
early derivation graph.

* gnu/packages/commencement.scm (bison-boot1): Move 'native-inputs'
field to the final package.  Previously PERL-BOOT0 got rebuilt with
%BOOT0-INPUTS, leading to a different derivation.
(static-bash-for-glibc): Likewise.
2015-12-18 23:53:00 +01:00
Ludovic Courtès 09964b4fc6 gnu: commencement: Add "-boot0" to early packages.
* gnu/packages/commencement.scm (diffutils-boot0)[name]: New field.
* gnu/packages/commencement.scm (findutils-boot0, file-boot0,
perl-boot0): Change 'name' field to include "-boot0".
2015-12-18 22:19:07 +01:00
Ludovic Courtès 8309c3899a gnu: commencement: Use GMP 6.0.0a for bootstrapping.
* gnu/packages/multiprecision.scm (gmp-6.0): New variable.
* gnu/packages/commencement.scm (gcc-boot0, gcc-final): Use it.
* gnu/packages/patches/gmp-arm-asm-nothumb.patch: New file, reinstated
from before e414a7d.
* gnu-system.am (dist_patch_DATA): Add it.
2015-12-18 18:38:22 +01:00
Ludovic Courtès 304e4f5135 gnu: grep: Add missing dependency on Perl.
* gnu/packages/base.scm (grep)[native-inputs]: New field.
* gnu/packages/commencement.scm (grep-final): Likewise.
2015-12-15 18:04:28 +01:00
Ludovic Courtès 775e6fe456 gnu: commencement: Initial Texinfo uses initial Perl.
* gnu/packages/commencement.scm (texinfo-boot0)[inputs]: Use
PERL-BOOT0.
2015-12-13 11:35:53 +01:00
Ludovic Courtès 4de3507483 gnu: perl: Update to 5.22.0.
* gnu/packages/perl.scm (perl)[source]: Update to 5.22.0.  Remove
"perl-module-pluggable-search.patch" since Module::Pluggable appears to
be gone.
[arguments] <configure-phase>: Adjust Cwd.pm file name.  Replace
-std=c89 with -std=gnu89.
* gnu/packages/commencement.scm (perl-boot0): Add 'disable-pthreads'
phase.
* gnu/packages/patches/perl-no-sys-dirs.patch: Update.
* gnu/packages/patches/perl-module-pluggable-search.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
2015-12-13 11:28:54 +01:00
Ludovic Courtès 98bd851ee8 gnu: gcc: Use the system zlib.
* gnu/packages/gcc.scm (gcc-4.7) <configure-flags>: Pass
'--with-system-zlib'.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Remove
'--with-system-zlib' from the configure flags.
* gnu/packages/commencement.scm (zlib-final): New variable.
(gcc-final)[arguments]: Add ZLIB-FINAL to #:allowed-references.
Pass -L and -Wl,-rpath for zlib in LDFLAGS, as a configure flag.
[inputs]: Add LD-WRAPPER-BOOT3 and ZLIB-FINAL.
2015-12-11 23:49:10 +01:00
Ludovic Courtès 52cfd8cb54 gnu: gcc-final: Remove unnecessary CPPFLAGS.
* gnu/packages/commencement.scm (gcc-final)[arguments]: Remove
unnecessary CPPFLAGS from #:make-flags.
2015-12-11 23:42:39 +01:00
Ludovic Courtès 557b5557d8 gnu: commencement: Restrict allowed references for libstdc++.
* gnu/packages/commencement.scm (libstdc++)[arguments]: Add
  #:allowed-references.
2015-12-10 11:54:57 +01:00
Ludovic Courtès b6ac54517c gnu: commencement: Remove the tricky locale compatibility handling.
This is made unnecessary by the use of 'GUIX_LOCPATH'.

* gnu/packages/commencement.scm (locale-proof-package): Remove.
  (%boot5-inputs): Add on GLIBC-UTF8-LOCALES-FINAL.  This reverts parts
  of commit 28cbc58.
* gnu/packages/gawk.scm (gawk): Set 'GUIX_LOCPATH' instead of
  'LOCPATH'.
2015-10-04 00:09:29 +02:00
Mark H Weaver d02f38f3f8 gnu: gcc-toolchain: Don't try to delete OUT/bin/sh, which no longer exists.
* gnu/packages/commencement.scm (gcc-toolchain)[arguments]: Remove code that
  deletes OUT/bin/sh and OUT/bin/bash, since those files no longer exist in
  our libc package.
2015-09-15 16:12:35 -04:00
Alex Kost d0f74308e2 gnu: coreutils-light: Rename to coreutils-minimal.
* gnu/packages/base.scm (coreutils-light): Rename to ...
  (coreutils-minimal): ...this.
* gnu/packages/commencement.scm (%boot5-inputs): Use it.
2015-09-06 12:33:21 +03:00
Ludovic Courtès 28cbc587d3 gnu: glibc: Upgrade to 2.22.
* gnu/packages/base.scm (glibc): Upgrade to 2.22.
  (coreutils-light): New variable.
* gnu/packages/commencement.scm (locale-proof-package): New procedure.
  (%boot5-inputs): Add LD-WRAPPER, BINUTILS-FINAL, BASH-FINAL, GNU-MAKE,
  DIFFUTILS, FINDUTILS, COREUTILS-LIGHT (pass through
  'new-libc-package'), and %BOOTSTRAP-COREUTILS&CO (passed through
  'locale-proof-package'.)
2015-09-02 10:58:28 +02:00
Ludovic Courtès 90d891fc6c gnu: glibc: Do not copy static Bash binary to bin/.
This avoids problems when installing 'glibc' in a profile, where glibc's
limited 'bash' would take precedence over the valid 'bash'.

* gnu/packages/base.scm (glibc)[arguments]: Do not copy STATIC-BASH to
  OUT/bin.  Instead, simply refer to it directly.
  [inputs]: Use STATIC-BASH instead of BASH-LIGHT.
* gnu/packages/commencement.scm (static-bash-for-glibc): Likewise.
  (glibc-final)[arguments]: Add STATIC-BASH-FOR-GLIBC to
  #:allowed-references.
  (gcc-final)[arguments]: Likewise.
  [native-inputs]: Add "static-bash".
2015-08-29 01:25:08 +02:00
Mark H Weaver 629f4d2e6e gnu: gcc-5.1, gcc-toolchain-5.1, libstdc++-doc-5.1: Rename to *-5.
This reflects the new version numbering scheme for GCC 5 and up.
See <https://gcc.gnu.org/develop.html>.

* gnu/packages/gcc.scm (gcc-5.1): Rename to ...
  (gcc-5): ... this.
  (libstdc++-doc-5.1): Rename to ...
  (libstdc++-doc-5): ... this, and use gcc-5.
* gnu/packages/commencement.scm (gcc-toolchain-5.1): Rename to ...
  (gcc-toolchain-5): ... this, and use gcc-5.
* build-aux/hydra/gnu-system.scm (%core-packages): Use gcc-5.
2015-07-19 23:20:39 -04:00
Mark H Weaver 47ed8e048b gnu: texinfo: Add procps to native-inputs to fix tests.
* gnu/packages/texinfo.scm (texinfo)[native-inputs]: Add procps.
  (texinfo-5, texinfo-4)[native-inputs]: Override to be empty.
* gnu/packages/commencement.scm (texinfo-boot0)[texinfo]: Override
  native-inputs to be empty.
2015-07-11 00:59:31 -04:00
Ludovic Courtès c92f1c0a33 gnu: Refer to 'gcc' instead of 'gcc-4.9'.
* gnu/packages/commencement.scm (gcc-boot0, cross-gcc-wrapper,
  libstdc++, gcc-final): Refer to GCC instead of GCC-4.9.
* gnu/packages/cross-base.scm (%xgcc): New variable.
  (cross-gcc-arguments, cross-gcc): Refer to %XGCC instead of GCC-4.9.
* gnu/packages/llvm.scm (clang-from-llvm): Refer to GCC instead of GCC-4.9.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc,
  %gcc-static, %gcc-stripped): Likewise.
2015-06-26 17:06:30 +02:00
Ludovic Courtès 89223417fd gnu: commencement: Make a few variables private.
This removes ambiguity warnings when installing these packages.

* gnu/packages/commencement.scm (glibc-final, gcc-final,
  glibc-utf8-locales-final): Make private.
2015-06-22 23:17:16 +02:00
Mark H Weaver bf76d98789 Merge branch 'master' into core-updates 2015-06-21 14:30:22 -04:00
Ludovic Courtès d0abf829a9 gnu: Add libstdc++ as a standalone package.
* gnu/packages/gcc.scm (make-libstdc++): New procedure.
  (libstdc++-4.9): New variable.
* gnu/packages/commencement.scm (libstdc++): Add TODO comment.
2015-06-19 17:23:47 +02:00
Mark H Weaver bcf2971f6e Merge branch 'master' into core-updates
Conflicts:
	gnu/packages/commencement.scm
	gnu/packages/xml.scm
2015-06-14 08:49:42 -04:00
Ludovic Courtès 0004c5904c packages: Make 'location' field innate.
* guix/packages.scm (<package>)[location]: Add 'innate' property.
* guix/build-system/gnu.scm (static-package): Remove 'loc' parameter and
  'location' field.
* gnu/packages/autotools.scm (autoconf-wrapper): Remove 'location' field.
* gnu/packages/commencement.scm (gnu-make-boot0, diffutils-boot0, gcc-final):
  Likewise.
* gnu/packages/cross-base.scm (cross): Likewise.
* gnu/packages/emacs.scm (emacs-no-x, emacs-no-x-toolkit): Likewise.
* gnu/packages/make-bootstrap.scm (tarball-package): Likewise.
* gnu/packages/maths.scm (petsc-complex): Likewise.
2015-06-11 23:33:32 +02:00
Mark H Weaver 1492801655 Merge branch 'master' into core-updates 2015-06-10 17:50:27 -04:00
Ludovic Courtès ab999c2516 gnu: commencement: Remove "debug" output of GCC-FINAL.
Fixes a regression introduced in 9063ef0.

* gnu/packages/commencement.scm (gcc-final)[outputs]: New field.
2015-06-10 09:37:36 +02:00
Mark H Weaver f8badf151b gnu: commencement: Use our Binutils as soon as possible.
* gnu/packages/commencement.scm (binutils-boot0)[arguments]: Add
  'add-symlinks' phase.
2015-06-08 16:14:03 -04:00
Ludovic Courtès de4ac32527 gnu: Switch to GCC 4.9 as the default compiler.
* gnu/packages/commencement.scm: Replace all occurrences of "gcc-4.8" with
  "gcc-4.9".
  (gcc-boot0)[arguments]: Add --disable-libcilkrts --disable-libvtv.
2015-06-04 18:05:52 +02:00
Ludovic Courtès 6f450b87de gnu: gcc-toolchain: Remove 'bin/sh' and 'bin/bash'.
* gnu/packages/commencement.scm (gcc-toolchain)[arguments] <#:builder>: Delete
  'bin/sh' and 'bin/bash'.
2015-05-18 23:19:21 +02:00
Andreas Enge 4ac0d6444d Merge branch 'master' into core-updates. 2015-04-26 20:08:49 +02:00
Mark H Weaver 60e2d5fe82 gnu: Add gcc-5.1.0 and gcc-toolchain-5.1.0.
* gnu/packages/gcc.scm (gcc-5.1): New variable.
* gnu/packages/commencement.scm (gcc-toolchain-5.1): New variable.
2015-04-23 01:06:40 -04:00
Ludovic Courtès d485ebba42 gnu: gcc: Do not always disable RUNPATH validation.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Remove explicit
  #:validate-runpath? #f.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Remove case for
  #:validate-runpath?.
  (gcc-final)[arguments]: Add literal #:validate-runpath? #f.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Remove case for
  #:validate-runpath?.
2015-04-23 00:06:37 +02:00
Ludovic Courtès 669b8639a2 gnu: commencement: Remove unneeded configure flag for bootstrap gettext.
* gnu/packages/commencement.scm (gettext-boot0): Remove unneeded
  --disable-threads.
2015-04-23 00:06:37 +02:00
Ludovic Courtès 6162b95d21 gnu: glibc: Add dependency on Gettext, to install the message catalogs.
This fixes a bug whereby the libc.mo files were not installed, and thus
translations of libc's messages were not available.

* gnu/packages/commencement.scm (gettext-boot0): New variable.
  (glibc-final)[native-inputs]: New field.
* gnu/packages/base.scm (glibc)[native-inputs]: Add GNU-GETTEXT.
2015-04-21 22:53:09 +02:00
Ludovic Courtès cbbb11c8a0 gnu: Rename ld-wrapper2 to ld-wrapper.
* gnu/packages/ld-wrapper2.in: Rename to...
* gnu/packages/ld-wrapper.in: ... this.
* gnu-system.am (MISC_DISTRO_FILES): Remove ld-wrapper2.in.
* gnu/packages/commencement.scm (fixed-ld-wrapper): Remove.
  (gcc-toolchain): Restore pre-77db91ad inputs.
2015-04-21 21:07:11 +02:00
Ludovic Courtès 77db91addc gnu: Add second ld-wrapper to work around readlink dereferencing bug.
Suggested by Mark H Weaver.

* gnu/packages/ld-wrapper2.in: New file.
* gnu-system.am (MISC_DISTRO_FILES): Add it.
* gnu/packages/commencement.scm (fixed-ld-wrapper): New procedure.
2015-04-16 23:15:06 +02:00
宋文武 cf3e3e374c Merge branch 'master' into core-updates 2015-04-08 16:04:37 +08:00
Ludovic Courtès dfc8bb2071 gnu: gcc: Disable RUNPATH validation for native builds.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Pass
  #:validate-runpath? #f.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Override
  #:validate-runpath? with 'substitute-keyword-arguments'.
  (gcc-final)[arguments]: Likewise.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Likewise.
2015-04-07 22:28:36 +02:00
Mark H Weaver 5180717e64 Remove unused module import (gnu packages ed) from (gnu packages commencement).
* gnu/packages/commencement.scm: Remove (gnu packages ed) module import.
2015-04-05 23:03:42 -04:00
Ludovic Courtès 8fdd410160 gnu: Add 'make-ld-wrapper' procedure.
* gnu/packages/base.scm (make-ld-wrapper): New procedure.  Abstracted
  from...
* gnu/packages/commencement.scm (ld-wrapper-boot3): ... here.  Use it.
2015-04-03 22:28:04 +02:00
Ludovic Courtès c2366e3ce4 gnu: commencement: Turn off RUNPATH checks for 'gcc-final'.
* gnu/packages/commencement.scm (gcc-final)[arguments]: Add
  #:validate-runpath? #f.
2015-04-02 00:19:53 +02:00
Ludovic Courtès ec3b1c575d gnu: Use 'glibc-utf8-locales-final' in the default patching inputs.
* gnu/packages/commencement.scm (glibc-utf8-locales-final): Make public.
* guix/packages.scm (%standard-patch-inputs): Use
  GLIBC-UTF8-LOCALES-FINAL instead of GLIBC-UTF8-LOCALES.
2015-03-21 21:58:04 +01:00
Ludovic Courtès 87c8b92f50 gnu: commencement: Make UTF-8 locales available right after 'guile-final'.
In <http://hydra.gnu.org/build/263170>, we see:

   153: 12 [patch-usr-bin-file #:native-inputs #f ...]

  [...]

     ?: 1 [regexp-exec # ...]
  In ice-9/boot-9.scm:
   106: 0 [#<procedure 1998ec0 at ice-9/boot-9.scm:97:6 (thrown-k . args)> encoding-error ...]

  ice-9/boot-9.scm:106:20: In procedure #<procedure 1998ec0 at ice-9/boot-9.scm:97:6 (thrown-k . args)>:
  ice-9/boot-9.scm:106:20: Throw to key `encoding-error' with args `("scm_to_stringn" "cannot convert narrow string to output locale" 84 #f #f)'.

This is due to that fact that 'patch-/usr/bin/file' read a line
containing a byte sequence with bytes > 127 (namely a copyright sign.)
But this build was running with a C locale, and so those bytes cannot be
represented in that locale, hence this error.

This commit makes the UTF-8 locales available earlier such that
everything can be represented in locale encoding.

* gnu/packages/commencement.scm (glibc-utf8-locales-final): Move
  earlier; change "gzip" input to GZIP built with %BOOT4-INPUTS.
  (%boot5-inputs): Define to %BOOT4-INPUTS plus
  GLIBC-UTF8-LOCALES-FINAL.
  (gnu-make-final, coreutils-final, grep-final): Use it instead of
  %BOOT4-INPUTS.
  (gzip-final): Remove.
  (%boot6-inputs): New variable.
  (%final-inputs): Use it instead of %BOOT5-INPUTS.  Don't rely on
  GZIP-FINAL.
2015-03-01 17:03:04 +01:00
Ludovic Courtès b0fd2bd3c5 gnu: Add glibc-utf8-locales to the implicit inputs.
Suggested by Mark H Weaver and Andreas Enge
at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00356.html>.

* gnu/packages/commencement.scm (gzip-final, glibc-utf8-locales-final):
  New variables.
  (%final-inputs): Use them.
2015-02-26 23:41:49 +01:00
Mark H Weaver 24aaf2f257 gnu: gmp: Apply fixes for armhf.
* gnu/packages/patches/gmp-arm-asm-nothumb.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/multiprecision.scm (gmp): Add patch.  Include --build triplet
  in configure args when building natively.
* gnu/packages/commencement.scm (gcc-final): Use bootstrap guile to
  build gmp-source.
2015-01-07 12:34:19 -05:00
Mark H Weaver 8eb8048432 Move 'nix-system->gnu-triplet' to (guix utils) and export it.
* gnu/packages/commencement.scm (nix-system->gnu-triplet): Move to...
* guix/utils.scm (nix-system->gnu-triplet): ... here.  Fix docstring typo.
2015-01-07 12:34:10 -05:00