2013-01-05 23:47:50 +00:00
|
|
|
|
;;; GNU Guix --- Functional package management for GNU
|
2014-01-07 17:08:51 +00:00
|
|
|
|
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
2013-01-05 23:47:50 +00:00
|
|
|
|
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
2014-03-20 20:29:21 +00:00
|
|
|
|
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
2012-06-27 23:24:34 +00:00
|
|
|
|
;;;
|
2013-01-05 23:47:50 +00:00
|
|
|
|
;;; This file is part of GNU Guix.
|
2012-06-27 23:24:34 +00:00
|
|
|
|
;;;
|
2013-01-05 23:47:50 +00:00
|
|
|
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
2012-06-27 23:24:34 +00:00
|
|
|
|
;;; under the terms of the GNU General Public License as published by
|
|
|
|
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
|
|
|
;;; your option) any later version.
|
|
|
|
|
;;;
|
2013-01-05 23:47:50 +00:00
|
|
|
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
2012-06-27 23:24:34 +00:00
|
|
|
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
;;; GNU General Public License for more details.
|
|
|
|
|
;;;
|
|
|
|
|
;;; You should have received a copy of the GNU General Public License
|
2013-01-05 23:47:50 +00:00
|
|
|
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
2012-06-27 23:24:34 +00:00
|
|
|
|
|
2013-01-18 00:06:24 +00:00
|
|
|
|
(define-module (gnu packages base)
|
2013-04-20 15:47:59 +00:00
|
|
|
|
#:use-module ((guix licenses)
|
2013-05-08 20:44:21 +00:00
|
|
|
|
#:select (gpl3+ lgpl2.0+ public-domain))
|
2013-01-18 00:06:47 +00:00
|
|
|
|
#:use-module (gnu packages)
|
2013-01-18 00:06:24 +00:00
|
|
|
|
#:use-module (gnu packages acl)
|
|
|
|
|
#:use-module (gnu packages bash)
|
|
|
|
|
#:use-module (gnu packages bootstrap)
|
|
|
|
|
#:use-module (gnu packages compression)
|
2013-03-27 14:13:25 +00:00
|
|
|
|
#:use-module (gnu packages gcc)
|
2013-01-18 00:06:24 +00:00
|
|
|
|
#:use-module (gnu packages gawk)
|
|
|
|
|
#:use-module (gnu packages guile)
|
|
|
|
|
#:use-module (gnu packages multiprecision)
|
|
|
|
|
#:use-module (gnu packages perl)
|
|
|
|
|
#:use-module (gnu packages linux)
|
2014-01-07 17:08:51 +00:00
|
|
|
|
#:use-module (gnu packages texinfo)
|
2014-01-07 17:10:01 +00:00
|
|
|
|
#:use-module (gnu packages pkg-config)
|
2012-06-27 23:24:34 +00:00
|
|
|
|
#:use-module (guix packages)
|
Remove (guix http) and (guix ftp).
* guix/ftp.scm, guix/http.scm, guix/build/ftp.scm, guix/build/http.scm:
Remove.
* Makefile.am (MODULES): Likewise.
* tests/builders.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gnupg.scm, distro/packages/gperf.scm,
distro/packages/guile.scm, distro/packages/libffi.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/lout.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/ncurses.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm: Use
`url-fetch' instead of `http-fetch' and `ftp-fetch'.
* distro/packages/bootstrap.scm: Likewise
(bootstrap-origin): Remove references to `http-fetch' and
`ftp-fetch'.
* guix.scm (%public-modules): Remove `http' and `ftp'; add `download'.
2012-11-12 23:22:44 +00:00
|
|
|
|
#:use-module (guix download)
|
2012-06-27 23:24:34 +00:00
|
|
|
|
#:use-module (guix build-system gnu)
|
2012-09-11 15:36:21 +00:00
|
|
|
|
#:use-module (guix build-system trivial)
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
#:use-module (guix utils)
|
|
|
|
|
#:use-module (srfi srfi-1)
|
|
|
|
|
#:use-module (srfi srfi-26)
|
|
|
|
|
#:use-module (ice-9 match))
|
2012-06-27 23:24:34 +00:00
|
|
|
|
|
|
|
|
|
;;; Commentary:
|
|
|
|
|
;;;
|
distro: Add the `guile', `typesetting', and `databases' package modules.
* distro.scm (package-files): Adjust PREFIX-LEN to use the top-level
directory, not %DISTRO-MODULE-DIRECTORY.
* distro/packages/base.scm (guile-reader, guile-reader/guile-1.8,
guile-reader/guile-2.0, lout, recutils): Move to...
* distro/packages/guile.scm, distro/packages/typesetting.scm,
distro/packages/databases.scm: ... here. New files.
* Makefile.am (MODULES): Add them.
(EXTRA_DIST): Add `.dir-locals.el'.
* .dir-locals.el: New file, with settings formerly in `base.scm'.
2012-09-26 20:17:41 +00:00
|
|
|
|
;;; Base packages of the Guix-based GNU user-land software distribution.
|
2012-06-27 23:24:34 +00:00
|
|
|
|
;;;
|
|
|
|
|
;;; Code:
|
|
|
|
|
|
|
|
|
|
(define-public hello
|
|
|
|
|
(package
|
|
|
|
|
(name "hello")
|
2013-11-19 22:25:35 +00:00
|
|
|
|
(version "2.9")
|
2012-07-01 15:32:03 +00:00
|
|
|
|
(source (origin
|
Remove (guix http) and (guix ftp).
* guix/ftp.scm, guix/http.scm, guix/build/ftp.scm, guix/build/http.scm:
Remove.
* Makefile.am (MODULES): Likewise.
* tests/builders.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gnupg.scm, distro/packages/gperf.scm,
distro/packages/guile.scm, distro/packages/libffi.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/lout.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/ncurses.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm: Use
`url-fetch' instead of `http-fetch' and `ftp-fetch'.
* distro/packages/bootstrap.scm: Likewise
(bootstrap-origin): Remove references to `http-fetch' and
`ftp-fetch'.
* guix.scm (%public-modules): Remove `http' and `ftp'; add `download'.
2012-11-12 23:22:44 +00:00
|
|
|
|
(method url-fetch)
|
distro: Use `mirror://' URLs.
* distro/packages/base.scm, distro/packages/bash.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/m4.scm,
distro/packages/multiprecision.scm, distro/packages/ncurses.scm,
distro/packages/pth.scm, distro/packages/readline.scm,
distro/packages/recutils.scm: Use `mirror://gnu' URLs.
* distro/packages/gnupg.scm: Use `mirror://gnupg' URLs.
2012-11-12 22:34:03 +00:00
|
|
|
|
(uri (string-append "mirror://gnu/hello/hello-" version
|
2012-07-01 15:32:03 +00:00
|
|
|
|
".tar.gz"))
|
2012-06-27 23:24:34 +00:00
|
|
|
|
(sha256
|
2013-11-19 22:25:35 +00:00
|
|
|
|
(base32 "19qy37gkasc4csb1d3bdiz9snn8mir2p3aj0jgzmfv0r2hi7mfzc"))))
|
2012-06-27 23:24:34 +00:00
|
|
|
|
(build-system gnu-build-system)
|
gnu: Use synopses from the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/gawk.scm,
gnu/packages/gcc.scm,
packages/gcc.scm, b/gnu/packages/gcc.scm,
4b982 100644
s/gcc.scm,
s/gcc.scm,
@@
%standard-phases)))))
`((gcc-libc . ,(assoc-ref inputs "libc"))))
The GNU Compiler Collection")
GNU Compiler Collection")
n
ompiler Collection includes compiler front ends for C, C++,
tran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
gnu/packages/gdb.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/glib.scm,
gnu/packages/global.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mailutils.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm: Use synopses from the Womb.
2013-04-17 16:04:25 +00:00
|
|
|
|
(synopsis "Hello, GNU world: An example GNU package")
|
Synchronize package descriptions with the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/freeipmi.scm,
gnu/packages/gawk.scm,
gnu/packages/gcal.scm,
gnu/packages/gcc.scm,
gnu/packages/gdb.scm,
gnu/packages/gdbm.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/global.scm,
gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/gv.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/lightning.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mail.scm,
gnu/packages/maths.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/ocrad.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/plotutils.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/rush.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/unrtf.scm,
gnu/packages/version-control.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm,
gnu/packages/xnee.scm,
gnu/packages/zile.scm: Change value of the 'description' field to that
of the Womb.
2013-10-09 14:14:23 +00:00
|
|
|
|
(description
|
|
|
|
|
"GNU Hello prints the message \"Hello, world!\" and then exits. It
|
|
|
|
|
serves as an example of standard GNU coding practices. As such, it supports
|
|
|
|
|
command-line arguments, multiple languages, and so on.")
|
2012-06-28 21:44:43 +00:00
|
|
|
|
(home-page "http://www.gnu.org/software/hello/")
|
distro: Use (guix licenses) instead of strings.
* distro/packages/acl.scm, distro/packages/attr.scm,
distro/packages/autotools.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/bison.scm, distro/packages/bootstrap.scm,
distro/packages/compression.scm, distro/packages/cpio.scm,
distro/packages/ddrescue.scm, distro/packages/ed.scm,
distro/packages/flex.scm, distro/packages/gawk.scm,
distro/packages/gdbm.scm, distro/packages/gettext.scm,
distro/packages/gnupg.scm, distro/packages/gnutls.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/help2man.scm, distro/packages/less.scm,
distro/packages/libffi.scm, distro/packages/libsigsegv.scm,
distro/packages/libunistring.scm, distro/packages/linux.scm,
distro/packages/lout.scm, distro/packages/lsh.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/nano.scm, distro/packages/ncurses.scm,
distro/packages/nettle.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm,
distro/packages/shishi.scm, distro/packages/system.scm,
distro/packages/texinfo.scm, distro/packages/time.scm,
distro/packages/wget.scm, distro/packages/which.scm,
distro/packages/zile.scm: Use (guix licenses).
2012-12-14 15:14:04 +00:00
|
|
|
|
(license gpl3+)))
|
2012-07-05 22:55:07 +00:00
|
|
|
|
|
2012-08-22 13:22:38 +00:00
|
|
|
|
(define-public grep
|
|
|
|
|
(package
|
|
|
|
|
(name "grep")
|
2014-02-21 23:37:58 +00:00
|
|
|
|
(version "2.18")
|
2012-08-22 13:22:38 +00:00
|
|
|
|
(source (origin
|
Remove (guix http) and (guix ftp).
* guix/ftp.scm, guix/http.scm, guix/build/ftp.scm, guix/build/http.scm:
Remove.
* Makefile.am (MODULES): Likewise.
* tests/builders.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gnupg.scm, distro/packages/gperf.scm,
distro/packages/guile.scm, distro/packages/libffi.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/lout.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/ncurses.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm: Use
`url-fetch' instead of `http-fetch' and `ftp-fetch'.
* distro/packages/bootstrap.scm: Likewise
(bootstrap-origin): Remove references to `http-fetch' and
`ftp-fetch'.
* guix.scm (%public-modules): Remove `http' and `ftp'; add `download'.
2012-11-12 23:22:44 +00:00
|
|
|
|
(method url-fetch)
|
distro: Use `mirror://' URLs.
* distro/packages/base.scm, distro/packages/bash.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/m4.scm,
distro/packages/multiprecision.scm, distro/packages/ncurses.scm,
distro/packages/pth.scm, distro/packages/readline.scm,
distro/packages/recutils.scm: Use `mirror://gnu' URLs.
* distro/packages/gnupg.scm: Use `mirror://gnupg' URLs.
2012-11-12 22:34:03 +00:00
|
|
|
|
(uri (string-append "mirror://gnu/grep/grep-"
|
2012-08-22 13:22:38 +00:00
|
|
|
|
version ".tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2014-02-21 23:37:58 +00:00
|
|
|
|
"08773flbnx28ksy0y4mzd4iifysh7yysmzn8rkz9f57sfx86whz6"))))
|
2012-08-22 13:22:38 +00:00
|
|
|
|
(build-system gnu-build-system)
|
gnu: Use synopses from the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/gawk.scm,
gnu/packages/gcc.scm,
packages/gcc.scm, b/gnu/packages/gcc.scm,
4b982 100644
s/gcc.scm,
s/gcc.scm,
@@
%standard-phases)))))
`((gcc-libc . ,(assoc-ref inputs "libc"))))
The GNU Compiler Collection")
GNU Compiler Collection")
n
ompiler Collection includes compiler front ends for C, C++,
tran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
gnu/packages/gdb.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/glib.scm,
gnu/packages/global.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mailutils.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm: Use synopses from the Womb.
2013-04-17 16:04:25 +00:00
|
|
|
|
(synopsis "Print lines matching a pattern")
|
2012-11-04 12:41:34 +00:00
|
|
|
|
(description
|
Synchronize package descriptions with the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/freeipmi.scm,
gnu/packages/gawk.scm,
gnu/packages/gcal.scm,
gnu/packages/gcc.scm,
gnu/packages/gdb.scm,
gnu/packages/gdbm.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/global.scm,
gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/gv.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/lightning.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mail.scm,
gnu/packages/maths.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/ocrad.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/plotutils.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/rush.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/unrtf.scm,
gnu/packages/version-control.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm,
gnu/packages/xnee.scm,
gnu/packages/zile.scm: Change value of the 'description' field to that
of the Womb.
2013-10-09 14:14:23 +00:00
|
|
|
|
"grep is a tool for finding text inside files. Text is found by
|
|
|
|
|
matching a pattern provided by the user in one or many files. The pattern
|
2013-12-01 21:33:23 +00:00
|
|
|
|
may be provided as a basic or extended regular expression, or as fixed
|
|
|
|
|
strings. By default, the matching text is simply printed to the screen,
|
|
|
|
|
however the output can be greatly customized to include, for example, line
|
|
|
|
|
numbers. GNU grep offers many extensions over the standard utility,
|
|
|
|
|
including, for example, recursive directory searching.")
|
distro: Use (guix licenses) instead of strings.
* distro/packages/acl.scm, distro/packages/attr.scm,
distro/packages/autotools.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/bison.scm, distro/packages/bootstrap.scm,
distro/packages/compression.scm, distro/packages/cpio.scm,
distro/packages/ddrescue.scm, distro/packages/ed.scm,
distro/packages/flex.scm, distro/packages/gawk.scm,
distro/packages/gdbm.scm, distro/packages/gettext.scm,
distro/packages/gnupg.scm, distro/packages/gnutls.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/help2man.scm, distro/packages/less.scm,
distro/packages/libffi.scm, distro/packages/libsigsegv.scm,
distro/packages/libunistring.scm, distro/packages/linux.scm,
distro/packages/lout.scm, distro/packages/lsh.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/nano.scm, distro/packages/ncurses.scm,
distro/packages/nettle.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm,
distro/packages/shishi.scm, distro/packages/system.scm,
distro/packages/texinfo.scm, distro/packages/time.scm,
distro/packages/wget.scm, distro/packages/which.scm,
distro/packages/zile.scm: Use (guix licenses).
2012-12-14 15:14:04 +00:00
|
|
|
|
(license gpl3+)
|
2012-08-22 13:22:38 +00:00
|
|
|
|
(home-page "http://www.gnu.org/software/grep/")))
|
|
|
|
|
|
2012-08-22 13:11:12 +00:00
|
|
|
|
(define-public sed
|
|
|
|
|
(package
|
|
|
|
|
(name "sed")
|
2013-03-15 17:38:47 +00:00
|
|
|
|
(version "4.2.2")
|
2012-08-22 13:11:12 +00:00
|
|
|
|
(source (origin
|
Remove (guix http) and (guix ftp).
* guix/ftp.scm, guix/http.scm, guix/build/ftp.scm, guix/build/http.scm:
Remove.
* Makefile.am (MODULES): Likewise.
* tests/builders.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gnupg.scm, distro/packages/gperf.scm,
distro/packages/guile.scm, distro/packages/libffi.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/lout.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/ncurses.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm: Use
`url-fetch' instead of `http-fetch' and `ftp-fetch'.
* distro/packages/bootstrap.scm: Likewise
(bootstrap-origin): Remove references to `http-fetch' and
`ftp-fetch'.
* guix.scm (%public-modules): Remove `http' and `ftp'; add `download'.
2012-11-12 23:22:44 +00:00
|
|
|
|
(method url-fetch)
|
distro: Use `mirror://' URLs.
* distro/packages/base.scm, distro/packages/bash.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/m4.scm,
distro/packages/multiprecision.scm, distro/packages/ncurses.scm,
distro/packages/pth.scm, distro/packages/readline.scm,
distro/packages/recutils.scm: Use `mirror://gnu' URLs.
* distro/packages/gnupg.scm: Use `mirror://gnupg' URLs.
2012-11-12 22:34:03 +00:00
|
|
|
|
(uri (string-append "mirror://gnu/sed/sed-" version
|
2012-08-22 13:11:12 +00:00
|
|
|
|
".tar.bz2"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2013-03-15 17:38:47 +00:00
|
|
|
|
"1myvrmh99jsvk7v3d7crm0gcrq51hmmm1r2kjyyci152in1x2j7h"))))
|
2012-08-22 13:11:12 +00:00
|
|
|
|
(build-system gnu-build-system)
|
gnu: Use synopses from the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/gawk.scm,
gnu/packages/gcc.scm,
packages/gcc.scm, b/gnu/packages/gcc.scm,
4b982 100644
s/gcc.scm,
s/gcc.scm,
@@
%standard-phases)))))
`((gcc-libc . ,(assoc-ref inputs "libc"))))
The GNU Compiler Collection")
GNU Compiler Collection")
n
ompiler Collection includes compiler front ends for C, C++,
tran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
gnu/packages/gdb.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/glib.scm,
gnu/packages/global.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mailutils.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm: Use synopses from the Womb.
2013-04-17 16:04:25 +00:00
|
|
|
|
(synopsis "Stream editor")
|
2013-01-02 00:01:58 +00:00
|
|
|
|
(arguments
|
2013-05-25 14:26:16 +00:00
|
|
|
|
(if (%current-target-system)
|
|
|
|
|
'()
|
|
|
|
|
`(#:phases (alist-cons-before
|
|
|
|
|
'patch-source-shebangs 'patch-test-suite
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(let ((bash (assoc-ref inputs "bash")))
|
|
|
|
|
(patch-makefile-SHELL "testsuite/Makefile.tests")
|
|
|
|
|
(substitute* '("testsuite/bsd.sh"
|
|
|
|
|
"testsuite/bug-regex9.c")
|
|
|
|
|
(("/bin/sh")
|
|
|
|
|
(string-append bash "/bin/bash")))))
|
|
|
|
|
%standard-phases))))
|
2012-11-04 12:41:34 +00:00
|
|
|
|
(description
|
Synchronize package descriptions with the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/freeipmi.scm,
gnu/packages/gawk.scm,
gnu/packages/gcal.scm,
gnu/packages/gcc.scm,
gnu/packages/gdb.scm,
gnu/packages/gdbm.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/global.scm,
gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/gv.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/lightning.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mail.scm,
gnu/packages/maths.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/ocrad.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/plotutils.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/rush.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/unrtf.scm,
gnu/packages/version-control.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm,
gnu/packages/xnee.scm,
gnu/packages/zile.scm: Change value of the 'description' field to that
of the Womb.
2013-10-09 14:14:23 +00:00
|
|
|
|
"Sed is a non-interactive, text stream editor. It receives a text
|
|
|
|
|
input from a file or from standard input and it then applies a series of text
|
|
|
|
|
editing commands to the stream and prints its output to standard output. It
|
2013-12-01 21:33:23 +00:00
|
|
|
|
is often used for substituting text patterns in a stream. The GNU
|
|
|
|
|
implementation offers several extensions over the standard utility.")
|
distro: Use (guix licenses) instead of strings.
* distro/packages/acl.scm, distro/packages/attr.scm,
distro/packages/autotools.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/bison.scm, distro/packages/bootstrap.scm,
distro/packages/compression.scm, distro/packages/cpio.scm,
distro/packages/ddrescue.scm, distro/packages/ed.scm,
distro/packages/flex.scm, distro/packages/gawk.scm,
distro/packages/gdbm.scm, distro/packages/gettext.scm,
distro/packages/gnupg.scm, distro/packages/gnutls.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/help2man.scm, distro/packages/less.scm,
distro/packages/libffi.scm, distro/packages/libsigsegv.scm,
distro/packages/libunistring.scm, distro/packages/linux.scm,
distro/packages/lout.scm, distro/packages/lsh.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/nano.scm, distro/packages/ncurses.scm,
distro/packages/nettle.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm,
distro/packages/shishi.scm, distro/packages/system.scm,
distro/packages/texinfo.scm, distro/packages/time.scm,
distro/packages/wget.scm, distro/packages/which.scm,
distro/packages/zile.scm: Use (guix licenses).
2012-12-14 15:14:04 +00:00
|
|
|
|
(license gpl3+)
|
2012-08-22 13:11:12 +00:00
|
|
|
|
(home-page "http://www.gnu.org/software/sed/")))
|
|
|
|
|
|
2012-08-22 13:21:50 +00:00
|
|
|
|
(define-public tar
|
|
|
|
|
(package
|
|
|
|
|
(name "tar")
|
2013-11-17 23:07:35 +00:00
|
|
|
|
(version "1.27.1")
|
2012-08-22 13:21:50 +00:00
|
|
|
|
(source (origin
|
Remove (guix http) and (guix ftp).
* guix/ftp.scm, guix/http.scm, guix/build/ftp.scm, guix/build/http.scm:
Remove.
* Makefile.am (MODULES): Likewise.
* tests/builders.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gnupg.scm, distro/packages/gperf.scm,
distro/packages/guile.scm, distro/packages/libffi.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/lout.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/ncurses.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm: Use
`url-fetch' instead of `http-fetch' and `ftp-fetch'.
* distro/packages/bootstrap.scm: Likewise
(bootstrap-origin): Remove references to `http-fetch' and
`ftp-fetch'.
* guix.scm (%public-modules): Remove `http' and `ftp'; add `download'.
2012-11-12 23:22:44 +00:00
|
|
|
|
(method url-fetch)
|
distro: Use `mirror://' URLs.
* distro/packages/base.scm, distro/packages/bash.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/m4.scm,
distro/packages/multiprecision.scm, distro/packages/ncurses.scm,
distro/packages/pth.scm, distro/packages/readline.scm,
distro/packages/recutils.scm: Use `mirror://gnu' URLs.
* distro/packages/gnupg.scm: Use `mirror://gnupg' URLs.
2012-11-12 22:34:03 +00:00
|
|
|
|
(uri (string-append "mirror://gnu/tar/tar-"
|
2012-08-22 13:21:50 +00:00
|
|
|
|
version ".tar.bz2"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2013-11-17 23:07:35 +00:00
|
|
|
|
"1iip0fk0wqhxb0jcwphz43r4fxkx1y7mznnhmlvr618jhp7b63wv"))))
|
2012-08-22 13:21:50 +00:00
|
|
|
|
(build-system gnu-build-system)
|
gnu: Use synopses from the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/gawk.scm,
gnu/packages/gcc.scm,
packages/gcc.scm, b/gnu/packages/gcc.scm,
4b982 100644
s/gcc.scm,
s/gcc.scm,
@@
%standard-phases)))))
`((gcc-libc . ,(assoc-ref inputs "libc"))))
The GNU Compiler Collection")
GNU Compiler Collection")
n
ompiler Collection includes compiler front ends for C, C++,
tran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
gnu/packages/gdb.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/glib.scm,
gnu/packages/global.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mailutils.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm: Use synopses from the Womb.
2013-04-17 16:04:25 +00:00
|
|
|
|
(synopsis "Managing tar archives")
|
2012-11-04 12:41:34 +00:00
|
|
|
|
(description
|
Synchronize package descriptions with the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/freeipmi.scm,
gnu/packages/gawk.scm,
gnu/packages/gcal.scm,
gnu/packages/gcc.scm,
gnu/packages/gdb.scm,
gnu/packages/gdbm.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/global.scm,
gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/gv.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/lightning.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mail.scm,
gnu/packages/maths.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/ocrad.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/plotutils.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/rush.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/unrtf.scm,
gnu/packages/version-control.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm,
gnu/packages/xnee.scm,
gnu/packages/zile.scm: Change value of the 'description' field to that
of the Womb.
2013-10-09 14:14:23 +00:00
|
|
|
|
"Tar provides the ability to create tar archives, as well as the
|
|
|
|
|
ability to extract, update or list files in an existing archive. It is
|
|
|
|
|
useful for combining many files into one larger file, while maintaining
|
|
|
|
|
directory structure and file information such as permissions and
|
2013-12-01 21:33:23 +00:00
|
|
|
|
creation/modification dates. GNU tar offers many extensions over the
|
|
|
|
|
standard utility.")
|
distro: Use (guix licenses) instead of strings.
* distro/packages/acl.scm, distro/packages/attr.scm,
distro/packages/autotools.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/bison.scm, distro/packages/bootstrap.scm,
distro/packages/compression.scm, distro/packages/cpio.scm,
distro/packages/ddrescue.scm, distro/packages/ed.scm,
distro/packages/flex.scm, distro/packages/gawk.scm,
distro/packages/gdbm.scm, distro/packages/gettext.scm,
distro/packages/gnupg.scm, distro/packages/gnutls.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/help2man.scm, distro/packages/less.scm,
distro/packages/libffi.scm, distro/packages/libsigsegv.scm,
distro/packages/libunistring.scm, distro/packages/linux.scm,
distro/packages/lout.scm, distro/packages/lsh.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/nano.scm, distro/packages/ncurses.scm,
distro/packages/nettle.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm,
distro/packages/shishi.scm, distro/packages/system.scm,
distro/packages/texinfo.scm, distro/packages/time.scm,
distro/packages/wget.scm, distro/packages/which.scm,
distro/packages/zile.scm: Use (guix licenses).
2012-12-14 15:14:04 +00:00
|
|
|
|
(license gpl3+)
|
2012-08-22 13:21:50 +00:00
|
|
|
|
(home-page "http://www.gnu.org/software/tar/")))
|
|
|
|
|
|
2012-08-22 15:24:38 +00:00
|
|
|
|
(define-public patch
|
|
|
|
|
(package
|
|
|
|
|
(name "patch")
|
2013-04-26 22:23:19 +00:00
|
|
|
|
(version "2.7.1")
|
2012-08-22 15:24:38 +00:00
|
|
|
|
(source (origin
|
Remove (guix http) and (guix ftp).
* guix/ftp.scm, guix/http.scm, guix/build/ftp.scm, guix/build/http.scm:
Remove.
* Makefile.am (MODULES): Likewise.
* tests/builders.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gnupg.scm, distro/packages/gperf.scm,
distro/packages/guile.scm, distro/packages/libffi.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/lout.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/ncurses.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm: Use
`url-fetch' instead of `http-fetch' and `ftp-fetch'.
* distro/packages/bootstrap.scm: Likewise
(bootstrap-origin): Remove references to `http-fetch' and
`ftp-fetch'.
* guix.scm (%public-modules): Remove `http' and `ftp'; add `download'.
2012-11-12 23:22:44 +00:00
|
|
|
|
(method url-fetch)
|
distro: Use `mirror://' URLs.
* distro/packages/base.scm, distro/packages/bash.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/m4.scm,
distro/packages/multiprecision.scm, distro/packages/ncurses.scm,
distro/packages/pth.scm, distro/packages/readline.scm,
distro/packages/recutils.scm: Use `mirror://gnu' URLs.
* distro/packages/gnupg.scm: Use `mirror://gnupg' URLs.
2012-11-12 22:34:03 +00:00
|
|
|
|
(uri (string-append "mirror://gnu/patch/patch-"
|
2012-08-22 15:24:38 +00:00
|
|
|
|
version ".tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2013-04-26 22:23:19 +00:00
|
|
|
|
"1sqckf560pzwgniy00vcpdv2c9c11s4cmhlm14yqgg8avd3bl94i"))))
|
2012-08-22 15:24:38 +00:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(native-inputs '()) ; FIXME: needs `ed' for the tests
|
|
|
|
|
(arguments
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
'(#:tests? #f)
|
|
|
|
|
;; TODO: When cross-compiling, add this:
|
|
|
|
|
;; '(#:configure-flags '("ac_cv_func_strnlen_working=yes"))
|
|
|
|
|
)
|
gnu: Use synopses from the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/gawk.scm,
gnu/packages/gcc.scm,
packages/gcc.scm, b/gnu/packages/gcc.scm,
4b982 100644
s/gcc.scm,
s/gcc.scm,
@@
%standard-phases)))))
`((gcc-libc . ,(assoc-ref inputs "libc"))))
The GNU Compiler Collection")
GNU Compiler Collection")
n
ompiler Collection includes compiler front ends for C, C++,
tran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
gnu/packages/gdb.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/glib.scm,
gnu/packages/global.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mailutils.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm: Use synopses from the Womb.
2013-04-17 16:04:25 +00:00
|
|
|
|
(synopsis "Apply differences to originals, with optional backups")
|
2012-11-04 12:41:34 +00:00
|
|
|
|
(description
|
Synchronize package descriptions with the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/freeipmi.scm,
gnu/packages/gawk.scm,
gnu/packages/gcal.scm,
gnu/packages/gcc.scm,
gnu/packages/gdb.scm,
gnu/packages/gdbm.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/global.scm,
gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/gv.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/lightning.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mail.scm,
gnu/packages/maths.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/ocrad.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/plotutils.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/rush.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/unrtf.scm,
gnu/packages/version-control.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm,
gnu/packages/xnee.scm,
gnu/packages/zile.scm: Change value of the 'description' field to that
of the Womb.
2013-10-09 14:14:23 +00:00
|
|
|
|
"Patch is a program that applies changes to files based on differences
|
2013-12-01 21:33:23 +00:00
|
|
|
|
laid out as by the program \"diff\". The changes may be applied to one or more
|
Synchronize package descriptions with the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/freeipmi.scm,
gnu/packages/gawk.scm,
gnu/packages/gcal.scm,
gnu/packages/gcc.scm,
gnu/packages/gdb.scm,
gnu/packages/gdbm.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/global.scm,
gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/gv.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/lightning.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mail.scm,
gnu/packages/maths.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/ocrad.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/plotutils.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/rush.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/unrtf.scm,
gnu/packages/version-control.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm,
gnu/packages/xnee.scm,
gnu/packages/zile.scm: Change value of the 'description' field to that
of the Womb.
2013-10-09 14:14:23 +00:00
|
|
|
|
files depending on the contents of the diff file. It accepts several
|
|
|
|
|
different diff formats. It may also be used to revert previously applied
|
|
|
|
|
differences.")
|
distro: Use (guix licenses) instead of strings.
* distro/packages/acl.scm, distro/packages/attr.scm,
distro/packages/autotools.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/bison.scm, distro/packages/bootstrap.scm,
distro/packages/compression.scm, distro/packages/cpio.scm,
distro/packages/ddrescue.scm, distro/packages/ed.scm,
distro/packages/flex.scm, distro/packages/gawk.scm,
distro/packages/gdbm.scm, distro/packages/gettext.scm,
distro/packages/gnupg.scm, distro/packages/gnutls.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/help2man.scm, distro/packages/less.scm,
distro/packages/libffi.scm, distro/packages/libsigsegv.scm,
distro/packages/libunistring.scm, distro/packages/linux.scm,
distro/packages/lout.scm, distro/packages/lsh.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/nano.scm, distro/packages/ncurses.scm,
distro/packages/nettle.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm,
distro/packages/shishi.scm, distro/packages/system.scm,
distro/packages/texinfo.scm, distro/packages/time.scm,
distro/packages/wget.scm, distro/packages/which.scm,
distro/packages/zile.scm: Use (guix licenses).
2012-12-14 15:14:04 +00:00
|
|
|
|
(license gpl3+)
|
2012-08-22 15:24:38 +00:00
|
|
|
|
(home-page "http://savannah.gnu.org/projects/patch/")))
|
|
|
|
|
|
2012-08-22 15:24:38 +00:00
|
|
|
|
(define-public diffutils
|
|
|
|
|
(package
|
|
|
|
|
(name "diffutils")
|
2013-04-26 20:13:14 +00:00
|
|
|
|
(version "3.3")
|
2012-08-22 15:24:38 +00:00
|
|
|
|
(source (origin
|
Remove (guix http) and (guix ftp).
* guix/ftp.scm, guix/http.scm, guix/build/ftp.scm, guix/build/http.scm:
Remove.
* Makefile.am (MODULES): Likewise.
* tests/builders.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gnupg.scm, distro/packages/gperf.scm,
distro/packages/guile.scm, distro/packages/libffi.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/lout.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/ncurses.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm: Use
`url-fetch' instead of `http-fetch' and `ftp-fetch'.
* distro/packages/bootstrap.scm: Likewise
(bootstrap-origin): Remove references to `http-fetch' and
`ftp-fetch'.
* guix.scm (%public-modules): Remove `http' and `ftp'; add `download'.
2012-11-12 23:22:44 +00:00
|
|
|
|
(method url-fetch)
|
distro: Use `mirror://' URLs.
* distro/packages/base.scm, distro/packages/bash.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/m4.scm,
distro/packages/multiprecision.scm, distro/packages/ncurses.scm,
distro/packages/pth.scm, distro/packages/readline.scm,
distro/packages/recutils.scm: Use `mirror://gnu' URLs.
* distro/packages/gnupg.scm: Use `mirror://gnupg' URLs.
2012-11-12 22:34:03 +00:00
|
|
|
|
(uri (string-append "mirror://gnu/diffutils/diffutils-"
|
2012-08-22 15:24:38 +00:00
|
|
|
|
version ".tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2013-04-26 20:13:14 +00:00
|
|
|
|
"1761vymxbp4wb5rzjvabhdkskk95pghnn67464byvzb5mfl8jpm2"))))
|
2012-08-22 15:24:38 +00:00
|
|
|
|
(build-system gnu-build-system)
|
gnu: Use synopses from the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/gawk.scm,
gnu/packages/gcc.scm,
packages/gcc.scm, b/gnu/packages/gcc.scm,
4b982 100644
s/gcc.scm,
s/gcc.scm,
@@
%standard-phases)))))
`((gcc-libc . ,(assoc-ref inputs "libc"))))
The GNU Compiler Collection")
GNU Compiler Collection")
n
ompiler Collection includes compiler front ends for C, C++,
tran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
gnu/packages/gdb.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/glib.scm,
gnu/packages/global.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mailutils.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm: Use synopses from the Womb.
2013-04-17 16:04:25 +00:00
|
|
|
|
(synopsis "Comparing and merging files")
|
2012-11-04 12:41:34 +00:00
|
|
|
|
(description
|
2013-12-01 21:33:23 +00:00
|
|
|
|
"GNU Diffutils is a package containing tools for finding the
|
|
|
|
|
differences between files. The \"diff\" command is used to show how two files
|
|
|
|
|
differ, while \"cmp\" shows the offsets and line numbers where they differ.
|
|
|
|
|
\"diff3\" allows you to compare three files. Finally, \"sdiff\" offers an
|
Synchronize package descriptions with the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/freeipmi.scm,
gnu/packages/gawk.scm,
gnu/packages/gcal.scm,
gnu/packages/gcc.scm,
gnu/packages/gdb.scm,
gnu/packages/gdbm.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/global.scm,
gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/gv.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/lightning.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mail.scm,
gnu/packages/maths.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/ocrad.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/plotutils.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/rush.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/unrtf.scm,
gnu/packages/version-control.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm,
gnu/packages/xnee.scm,
gnu/packages/zile.scm: Change value of the 'description' field to that
of the Womb.
2013-10-09 14:14:23 +00:00
|
|
|
|
interactive means to merge two files.")
|
distro: Use (guix licenses) instead of strings.
* distro/packages/acl.scm, distro/packages/attr.scm,
distro/packages/autotools.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/bison.scm, distro/packages/bootstrap.scm,
distro/packages/compression.scm, distro/packages/cpio.scm,
distro/packages/ddrescue.scm, distro/packages/ed.scm,
distro/packages/flex.scm, distro/packages/gawk.scm,
distro/packages/gdbm.scm, distro/packages/gettext.scm,
distro/packages/gnupg.scm, distro/packages/gnutls.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/help2man.scm, distro/packages/less.scm,
distro/packages/libffi.scm, distro/packages/libsigsegv.scm,
distro/packages/libunistring.scm, distro/packages/linux.scm,
distro/packages/lout.scm, distro/packages/lsh.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/nano.scm, distro/packages/ncurses.scm,
distro/packages/nettle.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm,
distro/packages/shishi.scm, distro/packages/system.scm,
distro/packages/texinfo.scm, distro/packages/time.scm,
distro/packages/wget.scm, distro/packages/which.scm,
distro/packages/zile.scm: Use (guix licenses).
2012-12-14 15:14:04 +00:00
|
|
|
|
(license gpl3+)
|
2012-08-22 15:24:38 +00:00
|
|
|
|
(home-page "http://www.gnu.org/software/diffutils/")))
|
|
|
|
|
|
2012-08-22 13:51:17 +00:00
|
|
|
|
(define-public findutils
|
|
|
|
|
(package
|
|
|
|
|
(name "findutils")
|
|
|
|
|
(version "4.4.2")
|
|
|
|
|
(source (origin
|
Remove (guix http) and (guix ftp).
* guix/ftp.scm, guix/http.scm, guix/build/ftp.scm, guix/build/http.scm:
Remove.
* Makefile.am (MODULES): Likewise.
* tests/builders.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gnupg.scm, distro/packages/gperf.scm,
distro/packages/guile.scm, distro/packages/libffi.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/lout.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/ncurses.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm: Use
`url-fetch' instead of `http-fetch' and `ftp-fetch'.
* distro/packages/bootstrap.scm: Likewise
(bootstrap-origin): Remove references to `http-fetch' and
`ftp-fetch'.
* guix.scm (%public-modules): Remove `http' and `ftp'; add `download'.
2012-11-12 23:22:44 +00:00
|
|
|
|
(method url-fetch)
|
distro: Use `mirror://' URLs.
* distro/packages/base.scm, distro/packages/bash.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/m4.scm,
distro/packages/multiprecision.scm, distro/packages/ncurses.scm,
distro/packages/pth.scm, distro/packages/readline.scm,
distro/packages/recutils.scm: Use `mirror://gnu' URLs.
* distro/packages/gnupg.scm: Use `mirror://gnupg' URLs.
2012-11-12 22:34:03 +00:00
|
|
|
|
(uri (string-append "mirror://gnu/findutils/findutils-"
|
2012-08-22 13:51:17 +00:00
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2013-10-10 21:05:28 +00:00
|
|
|
|
"0amn0bbwqvsvvsh6drfwz20ydc2czk374lzw5kksbh6bf78k4ks3"))
|
|
|
|
|
(patches (list (search-patch "findutils-absolute-paths.patch")))))
|
2012-08-22 13:51:17 +00:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
2013-10-10 21:05:28 +00:00
|
|
|
|
;; Work around cross-compilation failure.
|
|
|
|
|
;; See <http://savannah.gnu.org/bugs/?27299#comment1>.
|
|
|
|
|
(if (%current-target-system)
|
|
|
|
|
'(#:configure-flags '("gl_cv_func_wcwidth_works=yes"))
|
|
|
|
|
'()))
|
gnu: Use synopses from the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/gawk.scm,
gnu/packages/gcc.scm,
packages/gcc.scm, b/gnu/packages/gcc.scm,
4b982 100644
s/gcc.scm,
s/gcc.scm,
@@
%standard-phases)))))
`((gcc-libc . ,(assoc-ref inputs "libc"))))
The GNU Compiler Collection")
GNU Compiler Collection")
n
ompiler Collection includes compiler front ends for C, C++,
tran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
gnu/packages/gdb.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/glib.scm,
gnu/packages/global.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mailutils.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm: Use synopses from the Womb.
2013-04-17 16:04:25 +00:00
|
|
|
|
(synopsis "Operating on files matching given criteria")
|
2012-11-04 12:41:34 +00:00
|
|
|
|
(description
|
Synchronize package descriptions with the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/freeipmi.scm,
gnu/packages/gawk.scm,
gnu/packages/gcal.scm,
gnu/packages/gcc.scm,
gnu/packages/gdb.scm,
gnu/packages/gdbm.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/global.scm,
gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/gv.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/lightning.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mail.scm,
gnu/packages/maths.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/ocrad.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/plotutils.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/rush.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/unrtf.scm,
gnu/packages/version-control.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm,
gnu/packages/xnee.scm,
gnu/packages/zile.scm: Change value of the 'description' field to that
of the Womb.
2013-10-09 14:14:23 +00:00
|
|
|
|
"Findutils supplies the basic file directory searching utilities of the
|
|
|
|
|
GNU system. It consists of two primary searching utilities: \"find\"
|
|
|
|
|
recursively searches for files in a directory according to given criteria and
|
|
|
|
|
\"locate\" lists files in a database that match a query. Two auxiliary tools
|
2013-12-01 21:33:23 +00:00
|
|
|
|
are included: \"updatedb\" updates the file name database and \"xargs\" may be
|
|
|
|
|
used to apply commands with arbitrarily long arguments.")
|
distro: Use (guix licenses) instead of strings.
* distro/packages/acl.scm, distro/packages/attr.scm,
distro/packages/autotools.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/bison.scm, distro/packages/bootstrap.scm,
distro/packages/compression.scm, distro/packages/cpio.scm,
distro/packages/ddrescue.scm, distro/packages/ed.scm,
distro/packages/flex.scm, distro/packages/gawk.scm,
distro/packages/gdbm.scm, distro/packages/gettext.scm,
distro/packages/gnupg.scm, distro/packages/gnutls.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/help2man.scm, distro/packages/less.scm,
distro/packages/libffi.scm, distro/packages/libsigsegv.scm,
distro/packages/libunistring.scm, distro/packages/linux.scm,
distro/packages/lout.scm, distro/packages/lsh.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/nano.scm, distro/packages/ncurses.scm,
distro/packages/nettle.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm,
distro/packages/shishi.scm, distro/packages/system.scm,
distro/packages/texinfo.scm, distro/packages/time.scm,
distro/packages/wget.scm, distro/packages/which.scm,
distro/packages/zile.scm: Use (guix licenses).
2012-12-14 15:14:04 +00:00
|
|
|
|
(license gpl3+)
|
2012-08-22 13:51:17 +00:00
|
|
|
|
(home-page "http://www.gnu.org/software/findutils/")))
|
2012-08-22 15:24:38 +00:00
|
|
|
|
|
|
|
|
|
(define-public coreutils
|
|
|
|
|
(package
|
|
|
|
|
(name "coreutils")
|
2014-01-08 21:32:20 +00:00
|
|
|
|
(version "8.22")
|
2012-08-22 15:24:38 +00:00
|
|
|
|
(source (origin
|
Remove (guix http) and (guix ftp).
* guix/ftp.scm, guix/http.scm, guix/build/ftp.scm, guix/build/http.scm:
Remove.
* Makefile.am (MODULES): Likewise.
* tests/builders.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gnupg.scm, distro/packages/gperf.scm,
distro/packages/guile.scm, distro/packages/libffi.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/lout.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/ncurses.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm: Use
`url-fetch' instead of `http-fetch' and `ftp-fetch'.
* distro/packages/bootstrap.scm: Likewise
(bootstrap-origin): Remove references to `http-fetch' and
`ftp-fetch'.
* guix.scm (%public-modules): Remove `http' and `ftp'; add `download'.
2012-11-12 23:22:44 +00:00
|
|
|
|
(method url-fetch)
|
distro: Use `mirror://' URLs.
* distro/packages/base.scm, distro/packages/bash.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/m4.scm,
distro/packages/multiprecision.scm, distro/packages/ncurses.scm,
distro/packages/pth.scm, distro/packages/readline.scm,
distro/packages/recutils.scm: Use `mirror://gnu' URLs.
* distro/packages/gnupg.scm: Use `mirror://gnupg' URLs.
2012-11-12 22:34:03 +00:00
|
|
|
|
(uri (string-append "mirror://gnu/coreutils/coreutils-"
|
2012-08-22 15:24:38 +00:00
|
|
|
|
version ".tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2014-02-10 17:27:42 +00:00
|
|
|
|
"04hjzzv434fb8ak3hh3dyhdvg3hqjjwvjmjxqzk1gh2jh6cr8gjv"))
|
2014-03-06 23:45:51 +00:00
|
|
|
|
(patches (list (search-patch "coreutils-dummy-man.patch")
|
|
|
|
|
;; TODO: remove this patch for >= 8.23
|
|
|
|
|
(search-patch "coreutils-skip-nohup.patch")))))
|
2012-08-22 15:24:38 +00:00
|
|
|
|
(build-system gnu-build-system)
|
2013-05-25 14:24:21 +00:00
|
|
|
|
(inputs `(("acl" ,acl) ; TODO: add SELinux
|
2014-02-06 11:17:16 +00:00
|
|
|
|
("gmp" ,gmp)))
|
|
|
|
|
(native-inputs
|
|
|
|
|
;; Perl is needed to run tests in native builds, and to run the bundled
|
2014-02-10 17:27:42 +00:00
|
|
|
|
;; copy of help2man. However, don't pass it when cross-compiling since
|
|
|
|
|
;; that would lead it to try to run programs to get their '--help' output
|
|
|
|
|
;; for help2man.
|
|
|
|
|
(if (%current-target-system)
|
|
|
|
|
'()
|
|
|
|
|
`(("perl" ,perl))))
|
2013-07-03 21:55:04 +00:00
|
|
|
|
(outputs '("out" "debug"))
|
2012-08-22 15:24:38 +00:00
|
|
|
|
(arguments
|
2013-01-02 21:44:58 +00:00
|
|
|
|
`(#:parallel-build? #f ; help2man may be called too early
|
|
|
|
|
#:phases (alist-cons-before
|
|
|
|
|
'build 'patch-shell-references
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(let ((bash (assoc-ref inputs "bash")))
|
|
|
|
|
(substitute* (cons "src/split.c"
|
|
|
|
|
(find-files "gnulib-tests"
|
|
|
|
|
"\\.c$"))
|
|
|
|
|
(("/bin/sh")
|
|
|
|
|
(format #f "~a/bin/sh" bash)))
|
|
|
|
|
(substitute* (find-files "tests" "\\.sh$")
|
|
|
|
|
(("#!/bin/sh")
|
|
|
|
|
(format #f "#!~a/bin/bash" bash)))))
|
build-system/gnu: Unify with (guix build-system gnu-cross-build).
* guix/build/gnu-build-system.scm (set-paths): Add `native-inputs' and
`native-search-paths' keyword parameters. Honor them.
(configure): Add `target' and `native-inputs' keyword parameters.
Look for Bash in NATIVE-INPUTS or INPUTS. Pass `--host' when TARGET
is true.
(strip): Add `strip-command' keyword parameter. Use it.
* guix/build/gnu-cross-build.scm: Remove.
* Makefile.am (MODULES): Adjust accordingly.
* gnu/packages/acl.scm, gnu/packages/attr.scm, gnu/packages/base.scm,
gnu/packages/bash.scm, gnu/packages/gawk.scm,
gnu/packages/gettext.scm, gnu/packages/guile.scm,
gnu/packages/libffi.scm, gnu/packages/libsigsegv.scm,
gnu/packages/linux.scm, gnu/packages/ncurses.scm,
gnu/packages/readline.scm, guix/build-system/gnu.scm: Replace
`%standard-cross-phases' by `%standard-phases'. Remove references
to (guix build gnu-cross-build).
2013-06-20 22:25:54 +00:00
|
|
|
|
%standard-phases)))
|
gnu: Use synopses from the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/gawk.scm,
gnu/packages/gcc.scm,
packages/gcc.scm, b/gnu/packages/gcc.scm,
4b982 100644
s/gcc.scm,
s/gcc.scm,
@@
%standard-phases)))))
`((gcc-libc . ,(assoc-ref inputs "libc"))))
The GNU Compiler Collection")
GNU Compiler Collection")
n
ompiler Collection includes compiler front ends for C, C++,
tran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
gnu/packages/gdb.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/glib.scm,
gnu/packages/global.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mailutils.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm: Use synopses from the Womb.
2013-04-17 16:04:25 +00:00
|
|
|
|
(synopsis "Core GNU utilities (file, text, shell)")
|
2012-11-04 12:41:34 +00:00
|
|
|
|
(description
|
2013-12-01 21:33:23 +00:00
|
|
|
|
"GNU Coreutils includes all of the basic command-line tools that are
|
Synchronize package descriptions with the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/freeipmi.scm,
gnu/packages/gawk.scm,
gnu/packages/gcal.scm,
gnu/packages/gcc.scm,
gnu/packages/gdb.scm,
gnu/packages/gdbm.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/global.scm,
gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/gv.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/lightning.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mail.scm,
gnu/packages/maths.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/ocrad.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/plotutils.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/rush.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/unrtf.scm,
gnu/packages/version-control.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm,
gnu/packages/xnee.scm,
gnu/packages/zile.scm: Change value of the 'description' field to that
of the Womb.
2013-10-09 14:14:23 +00:00
|
|
|
|
expected in a POSIX system. These provide the basic file, shell and text
|
|
|
|
|
manipulation functions of the GNU system. Most of these tools offer extended
|
|
|
|
|
functionality beyond that which is outlined in the POSIX standard.")
|
distro: Use (guix licenses) instead of strings.
* distro/packages/acl.scm, distro/packages/attr.scm,
distro/packages/autotools.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/bison.scm, distro/packages/bootstrap.scm,
distro/packages/compression.scm, distro/packages/cpio.scm,
distro/packages/ddrescue.scm, distro/packages/ed.scm,
distro/packages/flex.scm, distro/packages/gawk.scm,
distro/packages/gdbm.scm, distro/packages/gettext.scm,
distro/packages/gnupg.scm, distro/packages/gnutls.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/help2man.scm, distro/packages/less.scm,
distro/packages/libffi.scm, distro/packages/libsigsegv.scm,
distro/packages/libunistring.scm, distro/packages/linux.scm,
distro/packages/lout.scm, distro/packages/lsh.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/nano.scm, distro/packages/ncurses.scm,
distro/packages/nettle.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm,
distro/packages/shishi.scm, distro/packages/system.scm,
distro/packages/texinfo.scm, distro/packages/time.scm,
distro/packages/wget.scm, distro/packages/which.scm,
distro/packages/zile.scm: Use (guix licenses).
2012-12-14 15:14:04 +00:00
|
|
|
|
(license gpl3+)
|
2012-08-22 15:24:38 +00:00
|
|
|
|
(home-page "http://www.gnu.org/software/coreutils/")))
|
2012-08-22 13:51:17 +00:00
|
|
|
|
|
2012-08-21 16:14:57 +00:00
|
|
|
|
(define-public gnu-make
|
|
|
|
|
(package
|
|
|
|
|
(name "make")
|
2013-10-16 14:27:45 +00:00
|
|
|
|
(version "4.0")
|
2012-08-21 16:14:57 +00:00
|
|
|
|
(source (origin
|
Remove (guix http) and (guix ftp).
* guix/ftp.scm, guix/http.scm, guix/build/ftp.scm, guix/build/http.scm:
Remove.
* Makefile.am (MODULES): Likewise.
* tests/builders.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gnupg.scm, distro/packages/gperf.scm,
distro/packages/guile.scm, distro/packages/libffi.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/lout.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/ncurses.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm: Use
`url-fetch' instead of `http-fetch' and `ftp-fetch'.
* distro/packages/bootstrap.scm: Likewise
(bootstrap-origin): Remove references to `http-fetch' and
`ftp-fetch'.
* guix.scm (%public-modules): Remove `http' and `ftp'; add `download'.
2012-11-12 23:22:44 +00:00
|
|
|
|
(method url-fetch)
|
distro: Use `mirror://' URLs.
* distro/packages/base.scm, distro/packages/bash.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/m4.scm,
distro/packages/multiprecision.scm, distro/packages/ncurses.scm,
distro/packages/pth.scm, distro/packages/readline.scm,
distro/packages/recutils.scm: Use `mirror://gnu' URLs.
* distro/packages/gnupg.scm: Use `mirror://gnupg' URLs.
2012-11-12 22:34:03 +00:00
|
|
|
|
(uri (string-append "mirror://gnu/make/make-" version
|
2012-08-21 16:14:57 +00:00
|
|
|
|
".tar.bz2"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2013-10-16 14:27:45 +00:00
|
|
|
|
"1nyvn8mknw0mf7727lprva3lisl1y0n03lvar342rrpdmz3qc1p6"))
|
2013-10-10 21:05:28 +00:00
|
|
|
|
(patches (list (search-patch "make-impure-dirs.patch")))))
|
2012-08-21 16:14:57 +00:00
|
|
|
|
(build-system gnu-build-system)
|
2014-01-07 17:10:01 +00:00
|
|
|
|
(native-inputs `(("pkg-config", pkg-config))) ; to detect Guile
|
2013-10-16 14:27:45 +00:00
|
|
|
|
(inputs `(("guile" ,guile-2.0)))
|
2013-07-03 21:55:04 +00:00
|
|
|
|
(outputs '("out" "debug"))
|
2012-12-19 11:34:53 +00:00
|
|
|
|
(arguments
|
2013-10-10 21:05:28 +00:00
|
|
|
|
'(#:phases (alist-cons-before
|
2012-12-19 11:34:53 +00:00
|
|
|
|
'build 'set-default-shell
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
;; Change the default shell from /bin/sh.
|
|
|
|
|
(let ((bash (assoc-ref inputs "bash")))
|
|
|
|
|
(substitute* "job.c"
|
|
|
|
|
(("default_shell\\[\\] =.*$")
|
|
|
|
|
(format #f "default_shell[] = \"~a/bin/bash\";\n"
|
|
|
|
|
bash)))))
|
|
|
|
|
%standard-phases)))
|
gnu: Use synopses from the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/gawk.scm,
gnu/packages/gcc.scm,
packages/gcc.scm, b/gnu/packages/gcc.scm,
4b982 100644
s/gcc.scm,
s/gcc.scm,
@@
%standard-phases)))))
`((gcc-libc . ,(assoc-ref inputs "libc"))))
The GNU Compiler Collection")
GNU Compiler Collection")
n
ompiler Collection includes compiler front ends for C, C++,
tran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
gnu/packages/gdb.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/glib.scm,
gnu/packages/global.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mailutils.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm: Use synopses from the Womb.
2013-04-17 16:04:25 +00:00
|
|
|
|
(synopsis "Remake files automatically")
|
2012-11-04 12:41:34 +00:00
|
|
|
|
(description
|
Synchronize package descriptions with the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/freeipmi.scm,
gnu/packages/gawk.scm,
gnu/packages/gcal.scm,
gnu/packages/gcc.scm,
gnu/packages/gdb.scm,
gnu/packages/gdbm.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/global.scm,
gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/gv.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/lightning.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mail.scm,
gnu/packages/maths.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/ocrad.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/plotutils.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/rush.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/unrtf.scm,
gnu/packages/version-control.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm,
gnu/packages/xnee.scm,
gnu/packages/zile.scm: Change value of the 'description' field to that
of the Womb.
2013-10-09 14:14:23 +00:00
|
|
|
|
"Make is a program that is used to control the production of
|
|
|
|
|
executables or other files from their source files. The process is
|
|
|
|
|
controlled from a Makefile, in which the developer specifies how each file is
|
|
|
|
|
generated from its source. It has powerful dependency resolution and the
|
|
|
|
|
ability to determine when files have to be regenerated after their sources
|
2013-12-01 21:33:23 +00:00
|
|
|
|
change. GNU make offers many powerful extensions over the standard utility.")
|
distro: Use (guix licenses) instead of strings.
* distro/packages/acl.scm, distro/packages/attr.scm,
distro/packages/autotools.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/bison.scm, distro/packages/bootstrap.scm,
distro/packages/compression.scm, distro/packages/cpio.scm,
distro/packages/ddrescue.scm, distro/packages/ed.scm,
distro/packages/flex.scm, distro/packages/gawk.scm,
distro/packages/gdbm.scm, distro/packages/gettext.scm,
distro/packages/gnupg.scm, distro/packages/gnutls.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/help2man.scm, distro/packages/less.scm,
distro/packages/libffi.scm, distro/packages/libsigsegv.scm,
distro/packages/libunistring.scm, distro/packages/linux.scm,
distro/packages/lout.scm, distro/packages/lsh.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/nano.scm, distro/packages/ncurses.scm,
distro/packages/nettle.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm,
distro/packages/shishi.scm, distro/packages/system.scm,
distro/packages/texinfo.scm, distro/packages/time.scm,
distro/packages/wget.scm, distro/packages/which.scm,
distro/packages/zile.scm: Use (guix licenses).
2012-12-14 15:14:04 +00:00
|
|
|
|
(license gpl3+)
|
2012-08-21 16:14:57 +00:00
|
|
|
|
(home-page "http://www.gnu.org/software/make/")))
|
|
|
|
|
|
2012-08-25 11:11:13 +00:00
|
|
|
|
(define-public binutils
|
|
|
|
|
(package
|
|
|
|
|
(name "binutils")
|
2014-01-08 21:30:33 +00:00
|
|
|
|
(version "2.24")
|
2012-08-25 11:11:13 +00:00
|
|
|
|
(source (origin
|
Remove (guix http) and (guix ftp).
* guix/ftp.scm, guix/http.scm, guix/build/ftp.scm, guix/build/http.scm:
Remove.
* Makefile.am (MODULES): Likewise.
* tests/builders.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gnupg.scm, distro/packages/gperf.scm,
distro/packages/guile.scm, distro/packages/libffi.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/lout.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/ncurses.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm: Use
`url-fetch' instead of `http-fetch' and `ftp-fetch'.
* distro/packages/bootstrap.scm: Likewise
(bootstrap-origin): Remove references to `http-fetch' and
`ftp-fetch'.
* guix.scm (%public-modules): Remove `http' and `ftp'; add `download'.
2012-11-12 23:22:44 +00:00
|
|
|
|
(method url-fetch)
|
distro: Use `mirror://' URLs.
* distro/packages/base.scm, distro/packages/bash.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/m4.scm,
distro/packages/multiprecision.scm, distro/packages/ncurses.scm,
distro/packages/pth.scm, distro/packages/readline.scm,
distro/packages/recutils.scm: Use `mirror://gnu' URLs.
* distro/packages/gnupg.scm: Use `mirror://gnupg' URLs.
2012-11-12 22:34:03 +00:00
|
|
|
|
(uri (string-append "mirror://gnu/binutils/binutils-"
|
2012-08-25 11:11:13 +00:00
|
|
|
|
version ".tar.bz2"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2014-01-08 21:30:33 +00:00
|
|
|
|
"0ds1y7qa0xqihw4ihnsgg6bxanmb228r228ddvwzgrv4jszcbs75"))
|
2013-11-03 23:08:33 +00:00
|
|
|
|
(patches (list (search-patch "binutils-ld-new-dtags.patch")
|
2014-01-08 21:30:33 +00:00
|
|
|
|
(search-patch "binutils-loongson-workaround.patch")))))
|
2012-08-25 11:11:13 +00:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
|
|
|
|
|
;; TODO: Add dependency on zlib + those for Gold.
|
|
|
|
|
(arguments
|
2013-10-10 21:05:28 +00:00
|
|
|
|
`(#:configure-flags '(;; Add `-static-libgcc' to not retain a dependency
|
2012-11-15 23:23:06 +00:00
|
|
|
|
;; on GCC when bootstrapping.
|
|
|
|
|
"LDFLAGS=-static-libgcc"
|
2012-08-25 11:11:13 +00:00
|
|
|
|
|
2012-11-15 23:23:06 +00:00
|
|
|
|
;; Don't search under /usr/lib & co.
|
2013-03-15 17:37:40 +00:00
|
|
|
|
"--with-lib-path=/no-ld-lib-path"
|
|
|
|
|
|
|
|
|
|
;; Glibc 2.17 has a "comparison of unsigned
|
|
|
|
|
;; expression >= 0 is always true" in wchar.h.
|
2014-01-08 21:30:33 +00:00
|
|
|
|
"--disable-werror"
|
|
|
|
|
|
|
|
|
|
;; Install BFD. It ends up in a hidden directory,
|
|
|
|
|
;; but it's here.
|
2014-02-06 13:06:28 +00:00
|
|
|
|
"--enable-install-libbfd"
|
|
|
|
|
|
|
|
|
|
;; Make sure 'ar' and 'ranlib' produce archives in a
|
|
|
|
|
;; deterministic fashion.
|
|
|
|
|
"--enable-deterministic-archives")))
|
2012-08-25 11:11:13 +00:00
|
|
|
|
|
gnu: Use synopses from the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/gawk.scm,
gnu/packages/gcc.scm,
packages/gcc.scm, b/gnu/packages/gcc.scm,
4b982 100644
s/gcc.scm,
s/gcc.scm,
@@
%standard-phases)))))
`((gcc-libc . ,(assoc-ref inputs "libc"))))
The GNU Compiler Collection")
GNU Compiler Collection")
n
ompiler Collection includes compiler front ends for C, C++,
tran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
gnu/packages/gdb.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/glib.scm,
gnu/packages/global.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mailutils.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm: Use synopses from the Womb.
2013-04-17 16:04:25 +00:00
|
|
|
|
(synopsis "Binary utilities: bfd gas gprof ld")
|
2012-11-04 12:41:34 +00:00
|
|
|
|
(description
|
Synchronize package descriptions with the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/freeipmi.scm,
gnu/packages/gawk.scm,
gnu/packages/gcal.scm,
gnu/packages/gcc.scm,
gnu/packages/gdb.scm,
gnu/packages/gdbm.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/global.scm,
gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/gv.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/lightning.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mail.scm,
gnu/packages/maths.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/ocrad.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/plotutils.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/rush.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/unrtf.scm,
gnu/packages/version-control.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm,
gnu/packages/xnee.scm,
gnu/packages/zile.scm: Change value of the 'description' field to that
of the Womb.
2013-10-09 14:14:23 +00:00
|
|
|
|
"GNU Binutils is a collection of tools for working with binary files.
|
2013-12-01 21:33:23 +00:00
|
|
|
|
Perhaps the most notable are \"ld\", a linker, and \"as\", an assembler. Other
|
|
|
|
|
tools include programs to display binary profiling information, list the
|
|
|
|
|
strings in a binary file, and utilities for working with archives. The \"bfd\"
|
|
|
|
|
library for working with executable and object formats is also included.")
|
distro: Use (guix licenses) instead of strings.
* distro/packages/acl.scm, distro/packages/attr.scm,
distro/packages/autotools.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/bison.scm, distro/packages/bootstrap.scm,
distro/packages/compression.scm, distro/packages/cpio.scm,
distro/packages/ddrescue.scm, distro/packages/ed.scm,
distro/packages/flex.scm, distro/packages/gawk.scm,
distro/packages/gdbm.scm, distro/packages/gettext.scm,
distro/packages/gnupg.scm, distro/packages/gnutls.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/help2man.scm, distro/packages/less.scm,
distro/packages/libffi.scm, distro/packages/libsigsegv.scm,
distro/packages/libunistring.scm, distro/packages/linux.scm,
distro/packages/lout.scm, distro/packages/lsh.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/nano.scm, distro/packages/ncurses.scm,
distro/packages/nettle.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm,
distro/packages/shishi.scm, distro/packages/system.scm,
distro/packages/texinfo.scm, distro/packages/time.scm,
distro/packages/wget.scm, distro/packages/which.scm,
distro/packages/zile.scm: Use (guix licenses).
2012-12-14 15:14:04 +00:00
|
|
|
|
(license gpl3+)
|
2012-08-25 11:11:13 +00:00
|
|
|
|
(home-page "http://www.gnu.org/software/binutils/")))
|
|
|
|
|
|
2012-08-28 21:15:13 +00:00
|
|
|
|
(define-public glibc
|
|
|
|
|
(package
|
|
|
|
|
(name "glibc")
|
2014-02-10 21:37:08 +00:00
|
|
|
|
(version "2.19")
|
2012-08-28 21:15:13 +00:00
|
|
|
|
(source (origin
|
Remove (guix http) and (guix ftp).
* guix/ftp.scm, guix/http.scm, guix/build/ftp.scm, guix/build/http.scm:
Remove.
* Makefile.am (MODULES): Likewise.
* tests/builders.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gnupg.scm, distro/packages/gperf.scm,
distro/packages/guile.scm, distro/packages/libffi.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/lout.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/ncurses.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm: Use
`url-fetch' instead of `http-fetch' and `ftp-fetch'.
* distro/packages/bootstrap.scm: Likewise
(bootstrap-origin): Remove references to `http-fetch' and
`ftp-fetch'.
* guix.scm (%public-modules): Remove `http' and `ftp'; add `download'.
2012-11-12 23:22:44 +00:00
|
|
|
|
(method url-fetch)
|
distro: Use `mirror://' URLs.
* distro/packages/base.scm, distro/packages/bash.scm,
distro/packages/compression.scm, distro/packages/gawk.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
distro/packages/libunistring.scm, distro/packages/m4.scm,
distro/packages/multiprecision.scm, distro/packages/ncurses.scm,
distro/packages/pth.scm, distro/packages/readline.scm,
distro/packages/recutils.scm: Use `mirror://gnu' URLs.
* distro/packages/gnupg.scm: Use `mirror://gnupg' URLs.
2012-11-12 22:34:03 +00:00
|
|
|
|
(uri (string-append "mirror://gnu/glibc/glibc-"
|
2012-08-28 21:15:13 +00:00
|
|
|
|
version ".tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2014-02-10 21:37:08 +00:00
|
|
|
|
"18m2dssd6ja5arxmdxinc90xvpqcsnqjfwmjl2as07j0i3srff9d"))
|
2013-11-16 22:14:28 +00:00
|
|
|
|
(snippet
|
|
|
|
|
;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is
|
|
|
|
|
;; required on LFS distros to avoid loading the distro's libc.so
|
|
|
|
|
;; instead of ours.
|
|
|
|
|
'(substitute* "sysdeps/unix/sysv/linux/configure"
|
|
|
|
|
(("use_ldconfig=yes")
|
|
|
|
|
"use_ldconfig=no")))
|
2014-02-28 11:22:14 +00:00
|
|
|
|
(modules '((guix build utils)))
|
2014-02-10 21:37:08 +00:00
|
|
|
|
(patches (list (search-patch "glibc-ldd-x86_64.patch")))))
|
2012-08-28 21:15:13 +00:00
|
|
|
|
(build-system gnu-build-system)
|
2012-09-01 17:21:06 +00:00
|
|
|
|
|
|
|
|
|
;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc
|
|
|
|
|
;; users should automatically pull Linux headers as well.
|
2012-10-17 20:17:03 +00:00
|
|
|
|
(propagated-inputs `(("linux-headers" ,linux-libre-headers)))
|
2012-09-01 17:21:06 +00:00
|
|
|
|
|
2013-03-05 17:38:05 +00:00
|
|
|
|
;; Store the locales separately (~100 MiB). Note that "out" retains a
|
|
|
|
|
;; reference to them anyway, so there's no space savings here.
|
|
|
|
|
;; TODO: Eventually we may want to add a $LOCALE_ARCHIVE search path like
|
|
|
|
|
;; Nixpkgs does.
|
2013-07-03 21:55:04 +00:00
|
|
|
|
(outputs '("out" "locales" "debug"))
|
2013-03-05 17:38:05 +00:00
|
|
|
|
|
2012-08-28 21:15:13 +00:00
|
|
|
|
(arguments
|
2012-09-01 17:21:06 +00:00
|
|
|
|
`(#:out-of-source? #t
|
2012-08-28 21:15:13 +00:00
|
|
|
|
#:configure-flags
|
|
|
|
|
(list "--enable-add-ons"
|
|
|
|
|
"--sysconfdir=/etc"
|
2013-03-05 17:38:05 +00:00
|
|
|
|
(string-append "--localedir=" (assoc-ref %outputs "locales")
|
|
|
|
|
"/share/locale")
|
|
|
|
|
|
|
|
|
|
;; `--localedir' is not honored, so work around it.
|
|
|
|
|
;; See <http://sourceware.org/ml/libc-alpha/2013-03/msg00093.html>.
|
|
|
|
|
(string-append "libc_cv_localedir="
|
|
|
|
|
(assoc-ref %outputs "locales")
|
|
|
|
|
"/share/locale")
|
|
|
|
|
|
2012-08-28 21:15:13 +00:00
|
|
|
|
(string-append "--with-headers="
|
|
|
|
|
(assoc-ref %build-inputs "linux-headers")
|
|
|
|
|
"/include")
|
2012-09-05 22:00:34 +00:00
|
|
|
|
|
|
|
|
|
;; The default is to assume a 2.4 Linux interface, but we'll
|
|
|
|
|
;; always use something newer. See "kernel-features.h" in the
|
|
|
|
|
;; GNU libc for details.
|
|
|
|
|
"--enable-kernel=2.6.30"
|
|
|
|
|
|
2012-12-19 23:49:06 +00:00
|
|
|
|
;; Use our Bash instead of /bin/sh.
|
2013-01-01 22:50:52 +00:00
|
|
|
|
(string-append "BASH_SHELL="
|
2012-12-19 23:49:06 +00:00
|
|
|
|
(assoc-ref %build-inputs "bash")
|
2013-01-01 22:50:52 +00:00
|
|
|
|
"/bin/bash")
|
|
|
|
|
|
|
|
|
|
;; XXX: Work around "undefined reference to `__stack_chk_guard'".
|
|
|
|
|
"libc_cv_ssp=no")
|
2012-12-19 23:49:06 +00:00
|
|
|
|
|
2012-08-28 21:15:13 +00:00
|
|
|
|
#:tests? #f ; XXX
|
|
|
|
|
#:phases (alist-cons-before
|
|
|
|
|
'configure 'pre-configure
|
2012-12-19 23:49:06 +00:00
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(bin (string-append out "/bin")))
|
2012-08-28 21:15:13 +00:00
|
|
|
|
;; Use `pwd', not `/bin/pwd'.
|
|
|
|
|
(substitute* "configure"
|
2012-09-01 17:21:06 +00:00
|
|
|
|
(("/bin/pwd") "pwd"))
|
2012-08-28 21:15:13 +00:00
|
|
|
|
|
|
|
|
|
;; Install the rpc data base file under `$out/etc/rpc'.
|
2012-09-01 17:21:06 +00:00
|
|
|
|
;; FIXME: Use installFlags = [ "sysconfdir=$(out)/etc" ];
|
2012-08-28 21:15:13 +00:00
|
|
|
|
(substitute* "sunrpc/Makefile"
|
|
|
|
|
(("^\\$\\(inst_sysconfdir\\)/rpc(.*)$" _ suffix)
|
|
|
|
|
(string-append out "/etc/rpc" suffix "\n"))
|
|
|
|
|
(("^install-others =.*$")
|
2012-09-11 15:36:21 +00:00
|
|
|
|
(string-append "install-others = " out "/etc/rpc\n")))
|
|
|
|
|
|
|
|
|
|
(substitute* "Makeconfig"
|
|
|
|
|
;; According to
|
|
|
|
|
;; <http://www.linuxfromscratch.org/lfs/view/stable/chapter05/glibc.html>,
|
|
|
|
|
;; linking against libgcc_s is not needed with GCC
|
|
|
|
|
;; 4.7.1.
|
2012-12-19 23:49:06 +00:00
|
|
|
|
((" -lgcc_s") ""))
|
|
|
|
|
|
2013-01-01 22:55:40 +00:00
|
|
|
|
;; Copy a statically-linked Bash in the output, with
|
|
|
|
|
;; no references to other store paths.
|
2012-12-19 23:49:06 +00:00
|
|
|
|
(mkdir-p bin)
|
2013-01-01 22:55:40 +00:00
|
|
|
|
(copy-file (string-append (assoc-ref inputs "static-bash")
|
|
|
|
|
"/bin/bash")
|
2012-12-19 23:49:06 +00:00
|
|
|
|
(string-append bin "/bash"))
|
2013-01-01 22:55:40 +00:00
|
|
|
|
(remove-store-references (string-append bin "/bash"))
|
2012-12-19 23:49:06 +00:00
|
|
|
|
(chmod (string-append bin "/bash") #o555)
|
|
|
|
|
|
2013-01-01 22:55:40 +00:00
|
|
|
|
;; Keep a symlink, for `patch-shebang' resolution.
|
|
|
|
|
(with-directory-excursion bin
|
|
|
|
|
(symlink "bash" "sh"))
|
|
|
|
|
|
2012-12-19 23:49:06 +00:00
|
|
|
|
;; Have `system' use that Bash.
|
|
|
|
|
(substitute* "sysdeps/posix/system.c"
|
|
|
|
|
(("#define[[:blank:]]+SHELL_PATH.*$")
|
|
|
|
|
(format #f "#define SHELL_PATH \"~a/bin/bash\"\n"
|
|
|
|
|
out)))
|
|
|
|
|
|
|
|
|
|
;; Same for `popen'.
|
|
|
|
|
(substitute* "libio/iopopen.c"
|
|
|
|
|
(("/bin/sh")
|
2014-03-23 20:49:20 +00:00
|
|
|
|
(string-append out "/bin/bash")))
|
|
|
|
|
|
|
|
|
|
;; Make sure we don't retain a reference to the
|
|
|
|
|
;; bootstrap Perl.
|
|
|
|
|
(substitute* "malloc/mtrace.pl"
|
|
|
|
|
(("^#!.*")
|
|
|
|
|
;; The shebang can be omitted, because there's the
|
|
|
|
|
;; "bilingual" eval/exec magic at the top of the file.
|
|
|
|
|
"")
|
|
|
|
|
(("exec @PERL@")
|
|
|
|
|
"exec perl"))))
|
2013-03-05 17:38:05 +00:00
|
|
|
|
(alist-cons-after
|
|
|
|
|
'install 'install-locales
|
|
|
|
|
(lambda _
|
|
|
|
|
(zero? (system* "make" "localedata/install-locales")))
|
|
|
|
|
%standard-phases))))
|
|
|
|
|
|
2013-10-10 21:05:28 +00:00
|
|
|
|
(inputs `(("static-bash" ,(static-package bash-light))))
|
2014-01-07 17:08:51 +00:00
|
|
|
|
|
|
|
|
|
;; To build the manual, we need Texinfo and Perl.
|
|
|
|
|
(native-inputs `(("texinfo" ,texinfo)
|
|
|
|
|
("perl" ,perl)))
|
|
|
|
|
|
2012-11-04 12:41:34 +00:00
|
|
|
|
(synopsis "The GNU C Library")
|
|
|
|
|
(description
|
2012-08-28 21:15:13 +00:00
|
|
|
|
"Any Unix-like operating system needs a C library: the library which
|
|
|
|
|
defines the \"system calls\" and other basic facilities such as open, malloc,
|
|
|
|
|
printf, exit...
|
|
|
|
|
|
|
|
|
|
The GNU C library is used as the C library in the GNU system and most systems
|
|
|
|
|
with the Linux kernel.")
|
distro: Use (guix licenses) instead of strings.
* distro/packages/acl.scm, distro/packages/attr.scm,
distro/packages/autotools.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/bison.scm, distro/packages/bootstrap.scm,
distro/packages/compression.scm, distro/packages/cpio.scm,
distro/packages/ddrescue.scm, distro/packages/ed.scm,
distro/packages/flex.scm, distro/packages/gawk.scm,
distro/packages/gdbm.scm, distro/packages/gettext.scm,
distro/packages/gnupg.scm, distro/packages/gnutls.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/help2man.scm, distro/packages/less.scm,
distro/packages/libffi.scm, distro/packages/libsigsegv.scm,
distro/packages/libunistring.scm, distro/packages/linux.scm,
distro/packages/lout.scm, distro/packages/lsh.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/nano.scm, distro/packages/ncurses.scm,
distro/packages/nettle.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm,
distro/packages/shishi.scm, distro/packages/system.scm,
distro/packages/texinfo.scm, distro/packages/time.scm,
distro/packages/wget.scm, distro/packages/which.scm,
distro/packages/zile.scm: Use (guix licenses).
2012-12-14 15:14:04 +00:00
|
|
|
|
(license lgpl2.0+)
|
2012-08-28 21:15:13 +00:00
|
|
|
|
(home-page "http://www.gnu.org/software/libc/")))
|
|
|
|
|
|
2013-05-08 20:44:21 +00:00
|
|
|
|
(define-public tzdata
|
|
|
|
|
(package
|
|
|
|
|
(name "tzdata")
|
2014-03-20 20:29:21 +00:00
|
|
|
|
(version "2014a")
|
2013-05-08 20:44:21 +00:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"http://www.iana.org/time-zones/repository/releases/tzdata"
|
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2014-03-20 20:29:21 +00:00
|
|
|
|
"1cg843ajz4g16axpz56zvalwsbp1s764na2bk4fb44ayx162bzvw"))))
|
2013-05-08 20:44:21 +00:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:tests? #f
|
|
|
|
|
#:make-flags (let ((out (assoc-ref %outputs "out"))
|
|
|
|
|
(tmp (getenv "TMPDIR")))
|
|
|
|
|
(list (string-append "TOPDIR=" out)
|
|
|
|
|
(string-append "TZDIR=" out "/share/zoneinfo")
|
|
|
|
|
|
|
|
|
|
;; Discard zic, dump, and tzselect, already
|
|
|
|
|
;; provided by glibc.
|
|
|
|
|
(string-append "ETCDIR=" tmp "/etc")
|
|
|
|
|
|
|
|
|
|
;; Likewise for the C library routines.
|
|
|
|
|
(string-append "LIBDIR=" tmp "/lib")
|
|
|
|
|
(string-append "MANDIR=" tmp "/man")
|
|
|
|
|
|
|
|
|
|
"AWK=awk"
|
|
|
|
|
"CC=gcc"))
|
|
|
|
|
#:modules ((guix build utils)
|
|
|
|
|
(guix build gnu-build-system)
|
|
|
|
|
(srfi srfi-1))
|
|
|
|
|
#:phases
|
|
|
|
|
(alist-replace
|
|
|
|
|
'unpack
|
2013-12-14 18:23:29 +00:00
|
|
|
|
(lambda* (#:key source inputs #:allow-other-keys)
|
|
|
|
|
(and (zero? (system* "tar" "xvf" source))
|
2013-05-08 20:44:21 +00:00
|
|
|
|
(zero? (system* "tar" "xvf" (assoc-ref inputs "tzcode")))))
|
|
|
|
|
(alist-cons-after
|
|
|
|
|
'install 'post-install
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
;; Move data in the right place.
|
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
|
|
|
|
(copy-recursively (string-append out "/share/zoneinfo-posix")
|
|
|
|
|
(string-append out "/share/zoneinfo/posix"))
|
|
|
|
|
(copy-recursively (string-append out "/share/zoneinfo-leaps")
|
|
|
|
|
(string-append out "/share/zoneinfo/right"))
|
|
|
|
|
(delete-file-recursively (string-append out "/share/zoneinfo-posix"))
|
|
|
|
|
(delete-file-recursively (string-append out "/share/zoneinfo-leaps"))))
|
|
|
|
|
(alist-delete 'configure %standard-phases)))))
|
|
|
|
|
(inputs `(("tzcode" ,(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"http://www.iana.org/time-zones/repository/releases/tzcode"
|
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2014-03-20 20:29:21 +00:00
|
|
|
|
"1xfkqi1q8cnxqbv8azdj5pqlzhkjz6xag09f1z0s8rxi86jkpf85"))))))
|
2013-05-08 20:44:21 +00:00
|
|
|
|
(home-page "http://www.iana.org/time-zones")
|
|
|
|
|
(synopsis "Database of current and historical time zones")
|
|
|
|
|
(description "The Time Zone Database (often called tz or zoneinfo)
|
|
|
|
|
contains code and data that represent the history of local time for many
|
|
|
|
|
representative locations around the globe. It is updated periodically to
|
|
|
|
|
reflect changes made by political bodies to time zone boundaries, UTC offsets,
|
|
|
|
|
and daylight-saving rules.")
|
|
|
|
|
(license public-domain)))
|
|
|
|
|
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
|
|
|
|
|
;;;
|
|
|
|
|
;;; Bootstrap packages.
|
|
|
|
|
;;;
|
|
|
|
|
|
2012-09-07 13:49:48 +00:00
|
|
|
|
(define gnu-make-boot0
|
2012-10-17 21:55:38 +00:00
|
|
|
|
(package-with-bootstrap-guile
|
|
|
|
|
(package (inherit gnu-make)
|
|
|
|
|
(name "make-boot0")
|
|
|
|
|
(location (source-properties->location (current-source-location)))
|
2012-12-19 11:34:53 +00:00
|
|
|
|
(arguments
|
|
|
|
|
`(#:guile ,%bootstrap-guile
|
|
|
|
|
#:implicit-inputs? #f
|
|
|
|
|
#:tests? #f ; cannot run "make check"
|
|
|
|
|
,@(substitute-keyword-arguments (package-arguments gnu-make)
|
|
|
|
|
((#:phases phases)
|
|
|
|
|
`(alist-replace
|
|
|
|
|
'build (lambda _
|
2013-10-16 14:27:45 +00:00
|
|
|
|
;; Don't attempt to build 'guile.c' since we don't
|
|
|
|
|
;; have Guile here.
|
|
|
|
|
(substitute* "build.sh"
|
|
|
|
|
(("guile\\.\\$\\{OBJEXT\\}") ""))
|
2012-12-19 11:34:53 +00:00
|
|
|
|
(zero? (system* "./build.sh")))
|
|
|
|
|
(alist-replace
|
|
|
|
|
'install (lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(bin (string-append out "/bin")))
|
|
|
|
|
(mkdir-p bin)
|
|
|
|
|
(copy-file "make"
|
|
|
|
|
(string-append bin "/make"))))
|
|
|
|
|
,phases))))))
|
2014-01-07 17:10:01 +00:00
|
|
|
|
(native-inputs '()) ; no need for 'pkg-config'
|
2012-10-17 21:55:38 +00:00
|
|
|
|
(inputs %bootstrap-inputs))))
|
2012-09-07 13:49:48 +00:00
|
|
|
|
|
|
|
|
|
(define diffutils-boot0
|
2012-10-17 21:55:38 +00:00
|
|
|
|
(package-with-bootstrap-guile
|
|
|
|
|
(let ((p (package-with-explicit-inputs diffutils
|
|
|
|
|
`(("make" ,gnu-make-boot0)
|
|
|
|
|
,@%bootstrap-inputs)
|
|
|
|
|
#:guile %bootstrap-guile)))
|
|
|
|
|
(package (inherit p)
|
|
|
|
|
(location (source-properties->location (current-source-location)))
|
|
|
|
|
(arguments `(#:tests? #f ; the test suite needs diffutils
|
|
|
|
|
,@(package-arguments p)))))))
|
2012-09-07 13:49:48 +00:00
|
|
|
|
|
|
|
|
|
(define findutils-boot0
|
2012-10-17 21:55:38 +00:00
|
|
|
|
(package-with-bootstrap-guile
|
|
|
|
|
(package-with-explicit-inputs findutils
|
|
|
|
|
`(("make" ,gnu-make-boot0)
|
|
|
|
|
("diffutils" ,diffutils-boot0) ; for tests
|
|
|
|
|
,@%bootstrap-inputs)
|
|
|
|
|
(current-source-location)
|
|
|
|
|
#:guile %bootstrap-guile)))
|
2012-09-07 13:49:48 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(define %boot0-inputs
|
|
|
|
|
`(("make" ,gnu-make-boot0)
|
|
|
|
|
("diffutils" ,diffutils-boot0)
|
|
|
|
|
("findutils" ,findutils-boot0)
|
|
|
|
|
,@%bootstrap-inputs))
|
|
|
|
|
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
(define* (nix-system->gnu-triplet
|
|
|
|
|
#:optional (system (%current-system)) (vendor "unknown"))
|
2012-09-11 15:36:21 +00:00
|
|
|
|
"Return an a guess of the GNU triplet corresponding to Nix system
|
|
|
|
|
identifier SYSTEM."
|
|
|
|
|
(let* ((dash (string-index system #\-))
|
|
|
|
|
(arch (substring system 0 dash))
|
|
|
|
|
(os (substring system (+ 1 dash))))
|
|
|
|
|
(string-append arch
|
|
|
|
|
"-" vendor "-"
|
|
|
|
|
(if (string=? os "linux")
|
|
|
|
|
"linux-gnu"
|
|
|
|
|
os))))
|
|
|
|
|
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
(define* (boot-triplet #:optional (system (%current-system)))
|
2012-09-11 15:36:21 +00:00
|
|
|
|
;; Return the triplet used to create the cross toolchain needed in the
|
|
|
|
|
;; first bootstrapping stage.
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
(nix-system->gnu-triplet system "guix"))
|
2012-09-11 15:36:21 +00:00
|
|
|
|
|
|
|
|
|
;; Following Linux From Scratch, build a cross-toolchain in stage 0. That
|
|
|
|
|
;; toolchain actually targets the same OS and arch, but it has the advantage
|
|
|
|
|
;; of being independent of the libc and tools in %BOOTSTRAP-INPUTS, since
|
|
|
|
|
;; GCC-BOOT0 (below) is built without any reference to the target libc.
|
|
|
|
|
|
|
|
|
|
(define binutils-boot0
|
2012-10-17 21:55:38 +00:00
|
|
|
|
(package-with-bootstrap-guile
|
|
|
|
|
(package (inherit binutils)
|
|
|
|
|
(name "binutils-cross-boot0")
|
|
|
|
|
(arguments
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
`(#:guile ,%bootstrap-guile
|
|
|
|
|
#:implicit-inputs? #f
|
|
|
|
|
,@(substitute-keyword-arguments (package-arguments binutils)
|
|
|
|
|
((#:configure-flags cf)
|
2013-03-15 17:37:40 +00:00
|
|
|
|
`(cons ,(string-append "--target=" (boot-triplet))
|
|
|
|
|
,cf)))))
|
2012-10-17 21:55:38 +00:00
|
|
|
|
(inputs %boot0-inputs))))
|
2012-09-11 15:36:21 +00:00
|
|
|
|
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
(define gcc-boot0
|
2012-10-17 21:55:38 +00:00
|
|
|
|
(package-with-bootstrap-guile
|
2013-11-14 23:10:10 +00:00
|
|
|
|
(package (inherit gcc-4.8)
|
2012-10-17 21:55:38 +00:00
|
|
|
|
(name "gcc-cross-boot0")
|
|
|
|
|
(arguments
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
`(#:guile ,%bootstrap-guile
|
|
|
|
|
#:implicit-inputs? #f
|
|
|
|
|
#:modules ((guix build gnu-build-system)
|
|
|
|
|
(guix build utils)
|
|
|
|
|
(ice-9 regex)
|
|
|
|
|
(srfi srfi-1)
|
|
|
|
|
(srfi srfi-26))
|
2013-11-14 23:10:10 +00:00
|
|
|
|
,@(substitute-keyword-arguments (package-arguments gcc-4.8)
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
((#:configure-flags flags)
|
|
|
|
|
`(append (list ,(string-append "--target=" (boot-triplet))
|
|
|
|
|
|
|
|
|
|
;; No libc yet.
|
|
|
|
|
"--without-headers"
|
|
|
|
|
|
|
|
|
|
;; Disable features not needed at this stage.
|
|
|
|
|
"--disable-shared"
|
2013-11-14 23:10:10 +00:00
|
|
|
|
"--enable-languages=c,c++"
|
|
|
|
|
|
|
|
|
|
;; libstdc++ cannot be built at this stage
|
|
|
|
|
;; ("Link tests are not allowed after
|
|
|
|
|
;; GCC_NO_EXECUTABLES.").
|
|
|
|
|
"--disable-libstdc++-v3"
|
|
|
|
|
|
|
|
|
|
"--disable-threads"
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
"--disable-libmudflap"
|
2013-11-14 23:10:10 +00:00
|
|
|
|
"--disable-libatomic"
|
|
|
|
|
"--disable-libsanitizer"
|
|
|
|
|
"--disable-libitm"
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
"--disable-libgomp"
|
|
|
|
|
"--disable-libssp"
|
|
|
|
|
"--disable-libquadmath"
|
|
|
|
|
"--disable-decimal-float")
|
|
|
|
|
(remove (cut string-match "--enable-languages.*" <>)
|
|
|
|
|
,flags)))
|
|
|
|
|
((#:phases phases)
|
|
|
|
|
`(alist-cons-after
|
|
|
|
|
'unpack 'unpack-gmp&co
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(let ((gmp (assoc-ref %build-inputs "gmp-source"))
|
|
|
|
|
(mpfr (assoc-ref %build-inputs "mpfr-source"))
|
|
|
|
|
(mpc (assoc-ref %build-inputs "mpc-source")))
|
|
|
|
|
|
|
|
|
|
;; To reduce the set of pre-built bootstrap inputs, build
|
|
|
|
|
;; GMP & co. from GCC.
|
|
|
|
|
(for-each (lambda (source)
|
|
|
|
|
(or (zero? (system* "tar" "xvf" source))
|
|
|
|
|
(error "failed to unpack tarball"
|
|
|
|
|
source)))
|
|
|
|
|
(list gmp mpfr mpc))
|
|
|
|
|
|
|
|
|
|
;; Create symlinks like `gmp' -> `gmp-5.0.5'.
|
|
|
|
|
,@(map (lambda (lib)
|
|
|
|
|
`(symlink ,(package-full-name lib)
|
|
|
|
|
,(package-name lib)))
|
2013-11-14 23:10:10 +00:00
|
|
|
|
(list gmp mpfr mpc))))
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
(alist-cons-after
|
|
|
|
|
'install 'symlink-libgcc_eh
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
|
|
|
|
;; Glibc wants to link against libgcc_eh, so provide
|
|
|
|
|
;; it.
|
|
|
|
|
(with-directory-excursion
|
|
|
|
|
(string-append out "/lib/gcc/"
|
|
|
|
|
,(boot-triplet)
|
2013-11-14 23:10:10 +00:00
|
|
|
|
"/" ,(package-version gcc-4.8))
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
(symlink "libgcc.a" "libgcc_eh.a"))))
|
|
|
|
|
,phases))))))
|
2012-10-17 21:55:38 +00:00
|
|
|
|
|
|
|
|
|
(inputs `(("gmp-source" ,(package-source gmp))
|
|
|
|
|
("mpfr-source" ,(package-source mpfr))
|
|
|
|
|
("mpc-source" ,(package-source mpc))
|
|
|
|
|
("binutils-cross" ,binutils-boot0)
|
|
|
|
|
|
|
|
|
|
;; Call it differently so that the builder can check whether
|
|
|
|
|
;; the "libc" input is #f.
|
|
|
|
|
("libc-native" ,@(assoc-ref %boot0-inputs "libc"))
|
2013-07-06 16:08:29 +00:00
|
|
|
|
,@(alist-delete "libc" %boot0-inputs)))
|
|
|
|
|
|
|
|
|
|
;; No need for Texinfo at this stage.
|
|
|
|
|
(native-inputs (alist-delete "texinfo"
|
2013-11-14 23:10:10 +00:00
|
|
|
|
(package-native-inputs gcc-4.8))))))
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
|
2014-01-07 17:08:51 +00:00
|
|
|
|
(define perl-boot0
|
|
|
|
|
(package-with-bootstrap-guile
|
|
|
|
|
(package-with-explicit-inputs perl
|
|
|
|
|
%boot0-inputs
|
|
|
|
|
(current-source-location)
|
|
|
|
|
#:guile %bootstrap-guile)))
|
|
|
|
|
|
2013-10-06 20:01:15 +00:00
|
|
|
|
(define (linux-libre-headers-boot0)
|
|
|
|
|
"Return Linux-Libre header files for the bootstrap environment."
|
|
|
|
|
;; Note: this is wrapped in a thunk to nicely handle circular dependencies
|
|
|
|
|
;; between (gnu packages linux) and this module.
|
2012-10-17 21:55:38 +00:00
|
|
|
|
(package-with-bootstrap-guile
|
|
|
|
|
(package (inherit linux-libre-headers)
|
|
|
|
|
(arguments `(#:guile ,%bootstrap-guile
|
|
|
|
|
#:implicit-inputs? #f
|
|
|
|
|
,@(package-arguments linux-libre-headers)))
|
|
|
|
|
(native-inputs
|
2014-01-07 17:08:51 +00:00
|
|
|
|
`(("perl" ,perl-boot0)
|
|
|
|
|
,@%boot0-inputs)))))
|
|
|
|
|
|
|
|
|
|
(define texinfo-boot0
|
|
|
|
|
;; Texinfo used to build libc's manual.
|
|
|
|
|
;; We build without ncurses because it fails to build at this stage, and
|
|
|
|
|
;; because we don't need the stand-alone Info reader.
|
|
|
|
|
;; Also, use %BOOT0-INPUTS to avoid building Perl once more.
|
|
|
|
|
(let ((texinfo (package (inherit texinfo)
|
|
|
|
|
(inputs (alist-delete "ncurses" (package-inputs texinfo))))))
|
|
|
|
|
(package-with-bootstrap-guile
|
|
|
|
|
(package-with-explicit-inputs texinfo %boot0-inputs
|
|
|
|
|
(current-source-location)
|
|
|
|
|
#:guile %bootstrap-guile))))
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
|
|
|
|
|
(define %boot1-inputs
|
|
|
|
|
;; 2nd stage inputs.
|
|
|
|
|
`(("gcc" ,gcc-boot0)
|
2012-09-11 15:36:21 +00:00
|
|
|
|
("binutils-cross" ,binutils-boot0)
|
|
|
|
|
|
|
|
|
|
;; Keep "binutils" here because the cross-gcc invokes `as', not the
|
|
|
|
|
;; cross-`as'.
|
|
|
|
|
,@%boot0-inputs))
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
|
2013-01-01 22:55:40 +00:00
|
|
|
|
(define glibc-final-with-bootstrap-bash
|
2012-09-11 15:36:21 +00:00
|
|
|
|
;; The final libc, "cross-built". If everything went well, the resulting
|
2013-01-01 22:55:40 +00:00
|
|
|
|
;; store path has no dependencies. Actually, the really-final libc is
|
|
|
|
|
;; built just below; the only difference is that this one uses the
|
|
|
|
|
;; bootstrap Bash.
|
2012-10-17 21:55:38 +00:00
|
|
|
|
(package-with-bootstrap-guile
|
|
|
|
|
(package (inherit glibc)
|
2013-01-01 22:55:40 +00:00
|
|
|
|
(name "glibc-intermediate")
|
2012-10-17 21:55:38 +00:00
|
|
|
|
(arguments
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
`(#:guile ,%bootstrap-guile
|
|
|
|
|
#:implicit-inputs? #f
|
|
|
|
|
|
|
|
|
|
,@(substitute-keyword-arguments (package-arguments glibc)
|
|
|
|
|
((#:configure-flags flags)
|
|
|
|
|
`(append (list ,(string-append "--host=" (boot-triplet))
|
|
|
|
|
,(string-append "--build="
|
|
|
|
|
(nix-system->gnu-triplet))
|
|
|
|
|
|
|
|
|
|
;; Build Sun/ONC RPC support. In particular,
|
|
|
|
|
;; install rpc/*.h.
|
|
|
|
|
"--enable-obsolete-rpc")
|
|
|
|
|
,flags)))))
|
2013-10-06 20:01:15 +00:00
|
|
|
|
(propagated-inputs `(("linux-headers" ,(linux-libre-headers-boot0))))
|
2014-01-07 17:08:51 +00:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("texinfo" ,texinfo-boot0)
|
|
|
|
|
("perl" ,perl-boot0)))
|
2013-01-01 22:55:40 +00:00
|
|
|
|
(inputs
|
|
|
|
|
`( ;; A native GCC is needed to build `cross-rpcgen'.
|
|
|
|
|
("native-gcc" ,@(assoc-ref %boot0-inputs "gcc"))
|
2012-09-11 15:36:21 +00:00
|
|
|
|
|
2013-01-01 22:55:40 +00:00
|
|
|
|
;; Here, we use the bootstrap Bash, which is not satisfactory
|
|
|
|
|
;; because we don't want to depend on bootstrap tools.
|
|
|
|
|
("static-bash" ,@(assoc-ref %boot0-inputs "bash"))
|
|
|
|
|
|
|
|
|
|
,@%boot1-inputs
|
|
|
|
|
,@(alist-delete "static-bash"
|
|
|
|
|
(package-inputs glibc))))))) ; patches
|
|
|
|
|
|
|
|
|
|
(define (cross-gcc-wrapper gcc binutils glibc bash)
|
|
|
|
|
"Return a wrapper for the pseudo-cross toolchain GCC/BINUTILS/GLIBC
|
|
|
|
|
that makes it available under the native tool names."
|
2013-11-14 23:10:10 +00:00
|
|
|
|
(package (inherit gcc-4.8)
|
2013-01-01 22:55:40 +00:00
|
|
|
|
(name (string-append (package-name gcc) "-wrapped"))
|
2012-10-17 21:55:38 +00:00
|
|
|
|
(source #f)
|
2012-09-11 15:36:21 +00:00
|
|
|
|
(build-system trivial-build-system)
|
|
|
|
|
(arguments
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
`(#:guile ,%bootstrap-guile
|
|
|
|
|
#:modules ((guix build utils))
|
|
|
|
|
#:builder (begin
|
|
|
|
|
(use-modules (guix build utils))
|
|
|
|
|
|
|
|
|
|
(let* ((binutils (assoc-ref %build-inputs "binutils"))
|
|
|
|
|
(gcc (assoc-ref %build-inputs "gcc"))
|
|
|
|
|
(libc (assoc-ref %build-inputs "libc"))
|
|
|
|
|
(bash (assoc-ref %build-inputs "bash"))
|
|
|
|
|
(out (assoc-ref %outputs "out"))
|
|
|
|
|
(bindir (string-append out "/bin"))
|
|
|
|
|
(triplet ,(boot-triplet)))
|
2013-11-14 23:10:10 +00:00
|
|
|
|
(define (wrap-program program)
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
;; GCC-BOOT0 is a libc-less cross-compiler, so it
|
|
|
|
|
;; needs to be told where to find the crt files and
|
|
|
|
|
;; the dynamic linker.
|
2013-11-14 23:10:10 +00:00
|
|
|
|
(call-with-output-file program
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
(lambda (p)
|
|
|
|
|
(format p "#!~a/bin/bash
|
2013-11-14 23:10:10 +00:00
|
|
|
|
exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
bash
|
2013-11-14 23:10:10 +00:00
|
|
|
|
gcc triplet program
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
libc libc
|
|
|
|
|
,(glibc-dynamic-linker))))
|
2012-09-11 15:36:21 +00:00
|
|
|
|
|
2013-11-14 23:10:10 +00:00
|
|
|
|
(chmod program #o555))
|
|
|
|
|
|
|
|
|
|
(mkdir-p bindir)
|
|
|
|
|
(with-directory-excursion bindir
|
|
|
|
|
(for-each (lambda (tool)
|
|
|
|
|
(symlink (string-append binutils "/bin/"
|
|
|
|
|
triplet "-" tool)
|
|
|
|
|
tool))
|
|
|
|
|
'("ar" "ranlib"))
|
|
|
|
|
(for-each wrap-program '("gcc" "g++")))))))
|
2012-09-11 15:36:21 +00:00
|
|
|
|
(native-inputs
|
2013-01-01 22:55:40 +00:00
|
|
|
|
`(("binutils" ,binutils)
|
|
|
|
|
("gcc" ,gcc)
|
|
|
|
|
("libc" ,glibc)
|
|
|
|
|
("bash" ,bash)))
|
2012-09-11 15:36:21 +00:00
|
|
|
|
(inputs '())))
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
|
2013-01-01 22:55:40 +00:00
|
|
|
|
(define static-bash-for-glibc
|
|
|
|
|
;; A statically-linked Bash to be embedded in GLIBC-FINAL, for use by
|
|
|
|
|
;; system(3) & co.
|
|
|
|
|
(let* ((gcc (cross-gcc-wrapper gcc-boot0 binutils-boot0
|
|
|
|
|
glibc-final-with-bootstrap-bash
|
|
|
|
|
(car (assoc-ref %boot1-inputs "bash"))))
|
|
|
|
|
(bash (package (inherit bash-light)
|
|
|
|
|
(arguments
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
`(#:guile ,%bootstrap-guile
|
|
|
|
|
,@(package-arguments bash-light))))))
|
2013-01-01 22:55:40 +00:00
|
|
|
|
(package-with-bootstrap-guile
|
|
|
|
|
(package-with-explicit-inputs (static-package bash)
|
|
|
|
|
`(("gcc" ,gcc)
|
|
|
|
|
("libc" ,glibc-final-with-bootstrap-bash)
|
|
|
|
|
,@(fold alist-delete %boot1-inputs
|
|
|
|
|
'("gcc" "libc")))
|
|
|
|
|
(current-source-location)))))
|
|
|
|
|
|
|
|
|
|
(define-public glibc-final
|
|
|
|
|
;; The final glibc, which embeds the statically-linked Bash built above.
|
|
|
|
|
(package (inherit glibc-final-with-bootstrap-bash)
|
|
|
|
|
(name "glibc")
|
|
|
|
|
(inputs `(("static-bash" ,static-bash-for-glibc)
|
|
|
|
|
,@(alist-delete
|
|
|
|
|
"static-bash"
|
|
|
|
|
(package-inputs glibc-final-with-bootstrap-bash))))))
|
|
|
|
|
|
|
|
|
|
(define gcc-boot0-wrapped
|
|
|
|
|
;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the
|
|
|
|
|
;; non-cross names.
|
|
|
|
|
(cross-gcc-wrapper gcc-boot0 binutils-boot0 glibc-final
|
|
|
|
|
(car (assoc-ref %boot1-inputs "bash"))))
|
|
|
|
|
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
(define %boot2-inputs
|
|
|
|
|
;; 3rd stage inputs.
|
|
|
|
|
`(("libc" ,glibc-final)
|
2012-09-11 15:36:21 +00:00
|
|
|
|
("gcc" ,gcc-boot0-wrapped)
|
|
|
|
|
,@(fold alist-delete %boot1-inputs '("libc" "gcc"))))
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
|
2013-11-24 22:01:33 +00:00
|
|
|
|
(define binutils-final
|
2012-11-04 23:16:30 +00:00
|
|
|
|
(package-with-bootstrap-guile
|
|
|
|
|
(package (inherit binutils)
|
|
|
|
|
(arguments
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
`(#:guile ,%bootstrap-guile
|
|
|
|
|
#:implicit-inputs? #f
|
|
|
|
|
,@(package-arguments binutils)))
|
2012-11-04 23:16:30 +00:00
|
|
|
|
(inputs %boot2-inputs))))
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
|
2013-11-14 23:10:10 +00:00
|
|
|
|
(define libstdc++
|
|
|
|
|
;; Intermediate libstdc++ that will allow us to build the final GCC
|
|
|
|
|
;; (remember that GCC-BOOT0 cannot build libstdc++.)
|
|
|
|
|
(package-with-bootstrap-guile
|
|
|
|
|
(package (inherit gcc-4.8)
|
|
|
|
|
(name "libstdc++")
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:guile ,%bootstrap-guile
|
|
|
|
|
#:implicit-inputs? #f
|
|
|
|
|
|
|
|
|
|
#:out-of-source? #t
|
|
|
|
|
#:phases (alist-cons-before
|
|
|
|
|
'configure 'chdir
|
|
|
|
|
(lambda _
|
|
|
|
|
(chdir "libstdc++-v3"))
|
|
|
|
|
%standard-phases)
|
|
|
|
|
#:configure-flags `("--disable-shared"
|
|
|
|
|
"--disable-libstdcxx-threads"
|
|
|
|
|
"--disable-libstdcxx-pch"
|
|
|
|
|
,(string-append "--with-gxx-include-dir="
|
|
|
|
|
(assoc-ref %outputs "out")
|
|
|
|
|
"/include"
|
|
|
|
|
;; "/include/c++/"
|
|
|
|
|
;; ,(package-version gcc-4.8)
|
|
|
|
|
))))
|
|
|
|
|
(inputs %boot2-inputs)
|
|
|
|
|
(native-inputs '())
|
|
|
|
|
(propagated-inputs '())
|
|
|
|
|
(synopsis "GNU C++ standard library (intermediate)"))))
|
|
|
|
|
|
2012-09-11 15:36:21 +00:00
|
|
|
|
(define-public gcc-final
|
|
|
|
|
;; The final GCC.
|
|
|
|
|
(package (inherit gcc-boot0)
|
|
|
|
|
(name "gcc")
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
(arguments
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
`(#:guile ,%bootstrap-guile
|
|
|
|
|
#:implicit-inputs? #f
|
|
|
|
|
|
|
|
|
|
;; Build again GMP & co. within GCC's build process, because it's hard
|
|
|
|
|
;; to do outside (because GCC-BOOT0 is a cross-compiler, and thus
|
|
|
|
|
;; doesn't honor $LIBRARY_PATH, which breaks `gnu-build-system'.)
|
|
|
|
|
,@(substitute-keyword-arguments (package-arguments gcc-boot0)
|
|
|
|
|
((#:configure-flags boot-flags)
|
2013-11-14 23:10:10 +00:00
|
|
|
|
(let loop ((args (package-arguments gcc-4.8)))
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
(match args
|
|
|
|
|
((#:configure-flags normal-flags _ ...)
|
|
|
|
|
normal-flags)
|
|
|
|
|
((_ rest ...)
|
|
|
|
|
(loop rest)))))
|
2013-11-14 23:10:10 +00:00
|
|
|
|
((#:make-flags flags)
|
|
|
|
|
;; Since $LIBRARY_PATH and $CPATH are not honored, add the
|
|
|
|
|
;; relevant flags.
|
|
|
|
|
`(cons (string-append "CPPFLAGS=-I"
|
|
|
|
|
(assoc-ref %build-inputs "libstdc++")
|
|
|
|
|
"/include")
|
|
|
|
|
(map (lambda (flag)
|
|
|
|
|
(if (string-prefix? "LDFLAGS=" flag)
|
|
|
|
|
(string-append flag " -L"
|
|
|
|
|
(assoc-ref %build-inputs "libstdc++")
|
|
|
|
|
"/lib")
|
|
|
|
|
flag))
|
|
|
|
|
,flags)))
|
packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
(package-derivation): Adjust accordingly. Parameterize
%CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
`package-arguments' to always return a list, and return a list.
(package-with-extra-configure-variable): Likewise.
(static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
from a lambda to a list, and use (%current-system) as needed.
(nix-system->gnu-triplet, boot-triplet): Have the first argument
default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
default to (%current-system).
(%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
expect `package-arguments' to return a list.
(%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 22:21:59 +00:00
|
|
|
|
((#:phases phases)
|
|
|
|
|
`(alist-delete 'symlink-libgcc_eh ,phases)))))
|
2012-09-11 15:36:21 +00:00
|
|
|
|
|
|
|
|
|
(inputs `(("gmp-source" ,(package-source gmp))
|
|
|
|
|
("mpfr-source" ,(package-source mpfr))
|
|
|
|
|
("mpc-source" ,(package-source mpc))
|
|
|
|
|
("binutils" ,binutils-final)
|
2013-11-14 23:10:10 +00:00
|
|
|
|
("libstdc++" ,libstdc++)
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
,@%boot2-inputs))))
|
|
|
|
|
|
2012-09-26 16:27:04 +00:00
|
|
|
|
(define ld-wrapper-boot3
|
|
|
|
|
;; A linker wrapper that uses the bootstrap Guile.
|
|
|
|
|
(package
|
|
|
|
|
(name "ld-wrapper-boot3")
|
|
|
|
|
(version "0")
|
|
|
|
|
(source #f)
|
|
|
|
|
(build-system trivial-build-system)
|
|
|
|
|
(inputs `(("binutils" ,binutils-final)
|
2012-12-19 22:49:31 +00:00
|
|
|
|
("guile" ,%bootstrap-guile)
|
|
|
|
|
("bash" ,@(assoc-ref %boot2-inputs "bash"))
|
|
|
|
|
("wrapper" ,(search-path %load-path
|
2013-01-18 00:06:24 +00:00
|
|
|
|
"gnu/packages/ld-wrapper.scm"))))
|
2012-09-26 16:27:04 +00:00
|
|
|
|
(arguments
|
distro: Specify use of the bootstrap Guile for the initial derivations.
* distro/packages/base.scm (%bootstrap-guile): New variable.
(gnu-make-boot0, diffutils-boot0, findutils-boot0, binutils-boot0,
gcc-boot0, linux-headers-boot0, glibc-final, gcc-boot0-wrapped,
gcc-final, ld-wrapper-boot3, bash-final, guile-final): Add
`#:guile %bootstrap-guile' to the builder's arguments.
2012-10-05 23:10:21 +00:00
|
|
|
|
`(#:guile ,%bootstrap-guile
|
|
|
|
|
#:modules ((guix build utils))
|
2012-09-26 16:27:04 +00:00
|
|
|
|
#:builder (begin
|
|
|
|
|
(use-modules (guix build utils)
|
|
|
|
|
(system base compile))
|
|
|
|
|
|
|
|
|
|
(let* ((out (assoc-ref %outputs "out"))
|
|
|
|
|
(bin (string-append out "/bin"))
|
|
|
|
|
(ld (string-append bin "/ld"))
|
|
|
|
|
(go (string-append bin "/ld.go")))
|
|
|
|
|
|
|
|
|
|
(setvbuf (current-output-port) _IOLBF)
|
|
|
|
|
(format #t "building ~s/bin/ld wrapper in ~s~%"
|
|
|
|
|
(assoc-ref %build-inputs "binutils")
|
|
|
|
|
out)
|
|
|
|
|
|
2012-10-17 20:51:08 +00:00
|
|
|
|
(mkdir-p bin)
|
2012-09-26 16:27:04 +00:00
|
|
|
|
(copy-file (assoc-ref %build-inputs "wrapper") ld)
|
|
|
|
|
(substitute* ld
|
|
|
|
|
(("@GUILE@")
|
|
|
|
|
(string-append (assoc-ref %build-inputs "guile")
|
|
|
|
|
"/bin/guile"))
|
2012-12-19 22:49:31 +00:00
|
|
|
|
(("@BASH@")
|
|
|
|
|
(string-append (assoc-ref %build-inputs "bash")
|
|
|
|
|
"/bin/bash"))
|
2012-09-26 16:27:04 +00:00
|
|
|
|
(("@LD@")
|
|
|
|
|
(string-append (assoc-ref %build-inputs "binutils")
|
|
|
|
|
"/bin/ld")))
|
|
|
|
|
(chmod ld #o555)
|
|
|
|
|
(compile-file ld #:output-file go)))))
|
2012-11-04 12:41:34 +00:00
|
|
|
|
(synopsis "The linker wrapper")
|
|
|
|
|
(description
|
2012-09-26 16:27:04 +00:00
|
|
|
|
"The linker wrapper (or `ld-wrapper') wraps the linker to add any
|
|
|
|
|
missing `-rpath' flags, and to detect any misuse of libraries outside of the
|
|
|
|
|
store.")
|
|
|
|
|
(home-page #f)
|
distro: Use (guix licenses) instead of strings.
* distro/packages/acl.scm, distro/packages/attr.scm,
distro/packages/autotools.scm, distro/packages/base.scm,
distro/packages/bash.scm, distro/packages/bdw-gc.scm,
distro/packages/bison.scm, distro/packages/bootstrap.scm,
distro/packages/compression.scm, distro/packages/cpio.scm,
distro/packages/ddrescue.scm, distro/packages/ed.scm,
distro/packages/flex.scm, distro/packages/gawk.scm,
distro/packages/gdbm.scm, distro/packages/gettext.scm,
distro/packages/gnupg.scm, distro/packages/gnutls.scm,
distro/packages/gperf.scm, distro/packages/guile.scm,
distro/packages/help2man.scm, distro/packages/less.scm,
distro/packages/libffi.scm, distro/packages/libsigsegv.scm,
distro/packages/libunistring.scm, distro/packages/linux.scm,
distro/packages/lout.scm, distro/packages/lsh.scm,
distro/packages/m4.scm, distro/packages/multiprecision.scm,
distro/packages/nano.scm, distro/packages/ncurses.scm,
distro/packages/nettle.scm, distro/packages/perl.scm,
distro/packages/pkg-config.scm, distro/packages/pth.scm,
distro/packages/readline.scm, distro/packages/recutils.scm,
distro/packages/shishi.scm, distro/packages/system.scm,
distro/packages/texinfo.scm, distro/packages/time.scm,
distro/packages/wget.scm, distro/packages/which.scm,
distro/packages/zile.scm: Use (guix licenses).
2012-12-14 15:14:04 +00:00
|
|
|
|
(license gpl3+)))
|
2012-09-26 16:27:04 +00:00
|
|
|
|
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
(define %boot3-inputs
|
|
|
|
|
;; 4th stage inputs.
|
|
|
|
|
`(("gcc" ,gcc-final)
|
2012-09-26 16:27:04 +00:00
|
|
|
|
("ld-wrapper" ,ld-wrapper-boot3)
|
2012-09-11 15:36:21 +00:00
|
|
|
|
,@(alist-delete "gcc" %boot2-inputs)))
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
|
2013-11-24 22:01:33 +00:00
|
|
|
|
(define bash-final
|
2012-11-05 22:50:34 +00:00
|
|
|
|
;; Link with `-static-libgcc' to make sure we don't retain a reference
|
|
|
|
|
;; to the bootstrap GCC.
|
2012-10-17 21:55:38 +00:00
|
|
|
|
(package-with-bootstrap-guile
|
2012-11-05 22:50:34 +00:00
|
|
|
|
(package-with-explicit-inputs (static-libgcc-package bash)
|
|
|
|
|
%boot3-inputs
|
2012-10-17 21:55:38 +00:00
|
|
|
|
(current-source-location)
|
|
|
|
|
#:guile %bootstrap-guile)))
|
2012-09-26 16:27:04 +00:00
|
|
|
|
|
2012-10-25 15:55:45 +00:00
|
|
|
|
(define %boot4-inputs
|
|
|
|
|
;; Now use the final Bash.
|
|
|
|
|
`(("bash" ,bash-final)
|
|
|
|
|
,@(alist-delete "bash" %boot3-inputs)))
|
|
|
|
|
|
2012-09-26 16:27:04 +00:00
|
|
|
|
(define-public guile-final
|
2012-12-21 21:31:25 +00:00
|
|
|
|
(package-with-bootstrap-guile
|
|
|
|
|
(package-with-explicit-inputs guile-2.0/fixed
|
|
|
|
|
%boot4-inputs
|
|
|
|
|
(current-source-location)
|
|
|
|
|
#:guile %bootstrap-guile)))
|
2012-09-26 16:27:04 +00:00
|
|
|
|
|
2013-11-24 22:01:33 +00:00
|
|
|
|
(define gnu-make-final
|
2013-10-16 14:27:45 +00:00
|
|
|
|
;; The final GNU Make, which uses the final Guile.
|
|
|
|
|
(package-with-bootstrap-guile
|
|
|
|
|
(package-with-explicit-inputs gnu-make
|
|
|
|
|
`(("guile" ,guile-final)
|
|
|
|
|
,@%boot4-inputs)
|
|
|
|
|
(current-source-location))))
|
|
|
|
|
|
2012-09-26 16:27:04 +00:00
|
|
|
|
(define-public ld-wrapper
|
|
|
|
|
;; The final `ld' wrapper, which uses the final Guile.
|
|
|
|
|
(package (inherit ld-wrapper-boot3)
|
|
|
|
|
(name "ld-wrapper")
|
|
|
|
|
(inputs `(("guile" ,guile-final)
|
2012-12-19 22:49:31 +00:00
|
|
|
|
("bash" ,bash-final)
|
|
|
|
|
,@(fold alist-delete (package-inputs ld-wrapper-boot3)
|
|
|
|
|
'("guile" "bash"))))))
|
2012-09-26 16:27:04 +00:00
|
|
|
|
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
(define-public %final-inputs
|
2013-10-16 14:15:07 +00:00
|
|
|
|
;; Final derivations used as implicit inputs by 'gnu-build-system'. We
|
|
|
|
|
;; still use 'package-with-bootstrap-guile' so that the bootstrap tools are
|
|
|
|
|
;; used for origins that have patches, thereby avoiding circular
|
|
|
|
|
;; dependencies.
|
|
|
|
|
(let ((finalize (compose package-with-bootstrap-guile
|
|
|
|
|
(cut package-with-explicit-inputs <> %boot4-inputs
|
|
|
|
|
(current-source-location)))))
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
`(,@(map (match-lambda
|
|
|
|
|
((name package)
|
|
|
|
|
(list name (finalize package))))
|
|
|
|
|
`(("tar" ,tar)
|
|
|
|
|
("gzip" ,gzip)
|
2012-09-01 17:21:06 +00:00
|
|
|
|
("bzip2" ,bzip2)
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
("xz" ,xz)
|
|
|
|
|
("diffutils" ,diffutils)
|
|
|
|
|
("patch" ,patch)
|
|
|
|
|
("coreutils" ,coreutils)
|
|
|
|
|
("sed" ,sed)
|
|
|
|
|
("grep" ,grep)
|
|
|
|
|
("findutils" ,findutils)
|
2013-10-16 14:27:45 +00:00
|
|
|
|
("gawk" ,gawk)))
|
|
|
|
|
("make" ,gnu-make-final)
|
2012-09-26 16:27:04 +00:00
|
|
|
|
("bash" ,bash-final)
|
|
|
|
|
("ld-wrapper" ,ld-wrapper)
|
2012-09-11 15:36:21 +00:00
|
|
|
|
("binutils" ,binutils-final)
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
("gcc" ,gcc-final)
|
2012-09-11 15:36:21 +00:00
|
|
|
|
("libc" ,glibc-final))))
|
distro: Bootstrap standard inputs from Nixpkgs.
This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
standard-inputs): New procedure.
(%store): New variable.
(%standard-inputs): Remove.
(gnu-build): New `implicit-inputs?' keyword parameter. Use it to
choose whether to use `(standard-inputs SYSTEM)' or the empty list.
* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
implicit.
(%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
%boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
%final-inputs): New variables.
2012-09-01 17:21:06 +00:00
|
|
|
|
|
2014-04-05 19:03:59 +00:00
|
|
|
|
(define (gcc-toolchain gcc)
|
|
|
|
|
"Return a complete toolchain for GCC."
|
|
|
|
|
(package
|
|
|
|
|
(name "gcc-toolchain")
|
|
|
|
|
(version (package-version gcc))
|
|
|
|
|
(source #f)
|
|
|
|
|
(build-system trivial-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:modules ((guix build union))
|
|
|
|
|
#:builder (begin
|
|
|
|
|
(use-modules (ice-9 match)
|
|
|
|
|
(guix build union))
|
|
|
|
|
|
|
|
|
|
(match %build-inputs
|
|
|
|
|
(((names . directories) ...)
|
|
|
|
|
(union-build (assoc-ref %outputs "out")
|
|
|
|
|
directories)))
|
|
|
|
|
|
|
|
|
|
(union-build (assoc-ref %outputs "debug")
|
|
|
|
|
(list (assoc-ref %build-inputs
|
|
|
|
|
"libc-debug"))))))
|
|
|
|
|
(license (package-license gcc))
|
|
|
|
|
(synopsis "Complete GCC tool chain for C/C++ development")
|
|
|
|
|
(description
|
|
|
|
|
"This package provides a complete GCC tool chain for C/C++ development to
|
|
|
|
|
be installed in user profiles. This includes GCC, as well as libc (headers
|
|
|
|
|
and binaries, plus debugging symbols in the 'debug' output), and Binutils.")
|
|
|
|
|
(home-page "http://gcc.gnu.org/")
|
|
|
|
|
(outputs '("out" "debug"))
|
|
|
|
|
|
|
|
|
|
;; The main raison d'être of this "meta-package" is (1) to conveniently
|
|
|
|
|
;; install everything that we need, and (2) to make sure ld-wrapper comes
|
|
|
|
|
;; before Binutils' ld in the user's profile.
|
|
|
|
|
(inputs `(("gcc" ,gcc)
|
|
|
|
|
("ld-wrapper" ,(car (assoc-ref %final-inputs "ld-wrapper")))
|
|
|
|
|
("binutils" ,binutils-final)
|
|
|
|
|
("libc" ,glibc-final)
|
|
|
|
|
("libc-debug" ,glibc-final "debug")))))
|
|
|
|
|
|
|
|
|
|
(define-public gcc-toolchain-4.8
|
|
|
|
|
(gcc-toolchain gcc-final))
|
|
|
|
|
|
distro: Add the `guile', `typesetting', and `databases' package modules.
* distro.scm (package-files): Adjust PREFIX-LEN to use the top-level
directory, not %DISTRO-MODULE-DIRECTORY.
* distro/packages/base.scm (guile-reader, guile-reader/guile-1.8,
guile-reader/guile-2.0, lout, recutils): Move to...
* distro/packages/guile.scm, distro/packages/typesetting.scm,
distro/packages/databases.scm: ... here. New files.
* Makefile.am (MODULES): Add them.
(EXTRA_DIST): Add `.dir-locals.el'.
* .dir-locals.el: New file, with settings formerly in `base.scm'.
2012-09-26 20:17:41 +00:00
|
|
|
|
;;; base.scm ends here
|