Commit Graph

97 Commits

Author SHA1 Message Date
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
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 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
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