diff options
Diffstat (limited to 'distro/packages')
109 files changed, 0 insertions, 8987 deletions
diff --git a/distro/packages/acl.scm b/distro/packages/acl.scm deleted file mode 100644 index 068789b562..0000000000 --- a/distro/packages/acl.scm +++ /dev/null @@ -1,66 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages acl) - #:use-module (guix licenses) - #:use-module (distro packages attr) - #:use-module (distro packages perl) - #:use-module ((distro packages gettext) - #:renamer (symbol-prefix-proc 'guix:)) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public acl - (package - (name "acl") - (version "2.2.51") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://savannah/acl/acl-" - version ".src.tar.gz")) - (sha256 - (base32 - "09aj30m49ivycl3irram8c3givc0crivjm3ymw0nhfaxrwhlb186")))) - (build-system gnu-build-system) - (arguments - `(#:phases - (alist-cons-after - 'configure 'patch-makefile-SHELL - (lambda _ - (patch-makefile-SHELL "include/buildmacros")) - (alist-replace - 'check - (lambda _ - (system* "make" "tests" "-C" "test") - - ;; XXX: Ignore the test result since this is - ;; dependent on the underlying file system. - #t) - %standard-phases)))) - (inputs `(("attr" ,attr) - ("gettext" ,guix:gettext) - ("perl" ,perl))) - (home-page - "http://savannah.nongnu.org/projects/acl") - (synopsis - "Library and tools for manipulating access control lists") - (description - "Library and tools for manipulating access control lists.") - (license '(gpl2+ lgpl2.1+)))) diff --git a/distro/packages/algebra.scm b/distro/packages/algebra.scm deleted file mode 100644 index 7bbdd6c092..0000000000 --- a/distro/packages/algebra.scm +++ /dev/null @@ -1,193 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages algebra) - #:use-module (distro) - #:use-module (distro packages multiprecision) - #:use-module (distro packages perl) - #:use-module (distro packages readline) - #:use-module (distro packages flex) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - - -(define-public mpfrcx - (package - (name "mpfrcx") - (version "0.4.1") - (source (origin - (method url-fetch) - (uri (string-append - "http://www.multiprecision.org/mpfrcx/download/mpfrcx-" - version ".tar.gz")) - (sha256 - (base32 - "1rrc75chxyicqjgg5mfhgbz7p9mx1fgh0qlx14a82m25vfhifnd1")))) - (build-system gnu-build-system) - (inputs `(("gmp" ,gmp) - ("mpfr" ,mpfr) - ("mpc" ,mpc))) - (synopsis "mpfrcx, a library for the arithmetic of univariate polynomials -over arbitrary precision real or complex numbers") - (description - "mpfrcx is a library for the arithmetic of univariate polynomials over -arbitrary precision real (mpfr) or complex (mpc) numbers, without control -on the rounding. For the time being, only the few functions needed to -implement the floating point approach to complex multiplication are -implemented. On the other hand, these comprise asymptotically fast -multiplication routines such as Toom–Cook and the FFT. ") - (license lgpl2.1+) - (home-page "http://mpfrcx.multiprecision.org/"))) - -(define-public fplll - (package - (name "fplll") - (version "4.0.1") - (source (origin - (method url-fetch) - (uri (string-append - "http://perso.ens-lyon.fr/damien.stehle/fplll/libfplll-" - version ".tar.gz")) - (sha256 (base32 - "122bpqdlikshhd7nmq0l5qfc0agyk7x21gvplv1l9hb77l8cy9rw")))) - (build-system gnu-build-system) - (inputs `(("gmp" ,gmp) - ("mpfr" ,mpfr))) - (synopsis "fplll, a library for LLL-reduction of euclidean lattices") - (description - "fplll LLL-reduces euclidean lattices. Since version 3, it can also -solve the shortest vector problem.") - (license lgpl2.1+) - (home-page "http://perso.ens-lyon.fr/damien.stehle/fplll/"))) - -(define-public gsl - (package - (name "gsl") - (version "1.15") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gsl/gsl-" - version ".tar.gz")) - (sha256 - (base32 - "18qf6jzz1r3mzb5qynywv4xx3z9g61hgkbpkdrhbgqh2g7jhgfc5")))) - (build-system gnu-build-system) - (home-page "http://www.gnu.org/software/gsl/") - (synopsis "The GNU Scientific Library, a large numerical library") - (description - "The GNU Scientific Library (GSL) is a numerical library for C -and C++ programmers. It is free software under the GNU General -Public License. - -The library provides a wide range of mathematical routines such -as random number generators, special functions and least-squares -fitting. There are over 1000 functions in total with an -extensive test suite.") - (license gpl3+))) - -(define-public pari-gp - (package - (name "pari-gp") - (version "2.5.3") - (source (origin - (method url-fetch) - (uri (string-append - "http://pari.math.u-bordeaux.fr/pub/pari/unix/pari-" - version ".tar.gz")) - (sha256 (base32 - "0zsjccnnv00kwj2gk3ww2v530kjin1rgj8p8hbl4pwcnwc7m68gl")))) - (build-system gnu-build-system) - (inputs `(("gmp" ,gmp) - ("perl" ,perl) - ("readline" ,readline))) - (arguments - (lambda (system) - `(#:make-flags '("gp") -;; FIXME: building the documentation requires tex; once this is available, -;; replace "gp" by "all" - #:test-target "dobench" - #:phases - (alist-replace - 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (readline (assoc-ref inputs "readline")) - (gmp (assoc-ref inputs "gmp"))) - (zero? - (system* "./Configure" - (string-append "--prefix=" out) - (string-append "--with-readline=" readline) - (string-append "--with-gmp=" gmp))))) -;; FIXME: readline and gmp will be detected automatically in the next -;; stable release - %standard-phases)))) - (synopsis "PARI/GP, a computer algebra system for number theory") - (description - "PARI/GP is a widely used computer algebra system designed for fast -computations in number theory (factorisations, algebraic number theory, -elliptic curves...), but it also contains a large number of other useful -functions to compute with mathematical entities such as matrices, -polynomials, power series, algebraic numbers, etc., and a lot of -transcendental functions. -PARI is also available as a C library to allow for faster computations.") - (license gpl2+) - (home-page "http://pari.math.u-bordeaux.fr/"))) - -(define-public bc - (package - (name "bc") - (version "1.06") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/bc/bc-" version ".tar.gz")) - (sha256 - (base32 - "0cqf5jkwx6awgd2xc2a0mkpxilzcfmhncdcfg7c9439wgkqxkxjf")))) - (build-system gnu-build-system) - (inputs `(("readline" ,readline) - ("flex" ,flex))) - (arguments - '(#:phases - (alist-replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - ;; This old `configure' script doesn't support - ;; variables passed as arguments. - (let ((out (assoc-ref outputs "out"))) - (setenv "CONFIG_SHELL" (which "bash")) - (zero? - (system* "./configure" - (string-append "--prefix=" out))))) - %standard-phases))) - (home-page "http://www.gnu.org/software/bc/") - (synopsis "GNU software calculator") - (description - "bc is an arbitrary precision numeric processing language. Syntax -is similar to C, but differs in many substantial areas. It supports -interactive execution of statements. bc is a utility included in the -POSIX P1003.2/D11 draft standard. - -Since the POSIX document does not specify how bc must be implemented, -this version does not use the historical method of having bc be a -compiler for the dc calculator. This version has a single executable -that both compiles the language and runs the resulting `byte code'. The -byte code is not the dc language.") - (license gpl2+))) diff --git a/distro/packages/aspell.scm b/distro/packages/aspell.scm deleted file mode 100644 index a4c14c092c..0000000000 --- a/distro/packages/aspell.scm +++ /dev/null @@ -1,54 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages aspell) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix licenses) - #:use-module (distro packages perl)) - -(define-public aspell - (package - (name "aspell") - (version "0.60.6.1") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/aspell/aspell-" - version ".tar.gz")) - (sha256 - (base32 - "1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm")))) - (build-system gnu-build-system) - (inputs `(("perl" ,perl))) - (home-page "http://aspell.net/") - (synopsis - "GNU Aspell, A spell checker for many languages") - (description - "GNU Aspell is a free spell checker designed to eventually replace -Ispell. It can either be used as a library or as an independent spell -checker. Its main feature is that it does a superior job of suggesting -possible replacements for a misspelled word than just about any other -spell checker out there for the English language. Unlike Ispell, Aspell -can also easily check documents in UTF-8 without having to use a special -dictionary. Aspell will also do its best to respect the current locale -setting. Other advantages over Ispell include support for using -multiple dictionaries at once and intelligently handling personal -dictionaries when more than one Aspell process is open at once.") - (license lgpl2.1+))) diff --git a/distro/packages/attr.scm b/distro/packages/attr.scm deleted file mode 100644 index ae0d257dbe..0000000000 --- a/distro/packages/attr.scm +++ /dev/null @@ -1,77 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages attr) - #:use-module (guix licenses) - #:use-module (distro packages perl) - #:use-module ((distro packages gettext) - #:renamer (symbol-prefix-proc 'guix:)) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public attr - (package - (name "attr") - (version "2.4.46") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://savannah/attr/attr-" - version ".src.tar.gz")) - (sha256 - (base32 - "07qf6kb2zk512az481bbnsk9jycn477xpva1a726n5pzlzf9pmnw")))) - (build-system gnu-build-system) - (arguments - `(#:phases - (alist-cons-after - 'configure 'patch-makefile-SHELL - (lambda _ - (patch-makefile-SHELL "include/buildmacros")) - (alist-replace - 'install - (lambda _ - (zero? (system* "make" - "install" - "install-lib" - "install-dev"))) - (alist-replace - 'check - (lambda _ - ;; Use the right shell. - (substitute* "test/run" - (("/bin/sh") - (which "bash"))) - - (system* "make" "tests" "-C" "test") - - ;; XXX: Ignore the test result since this is dependent on the - ;; underlying file system. - #t) - %standard-phases))))) - (inputs `(("perl" ,perl) - ("gettext" ,guix:gettext))) - (home-page - "http://savannah.nongnu.org/projects/attr/") - (synopsis - "Library and tools for manipulating extended attributes") - (description - "Portable library and tools for manipulating extended attributes.") - (license '(gpl2+ lgpl2.1+)))) diff --git a/distro/packages/autotools.scm b/distro/packages/autotools.scm deleted file mode 100644 index 06568b2224..0000000000 --- a/distro/packages/autotools.scm +++ /dev/null @@ -1,144 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages autotools) - #:use-module (guix licenses) - #:use-module (distro) - #:use-module (distro packages perl) - #:use-module (distro packages m4) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public autoconf - (package - (name "autoconf") - (version "2.69") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/autoconf/autoconf-" - version ".tar.xz")) - (sha256 - (base32 - "113nlmidxy9kjr45kg9x3ngar4951mvag1js2a3j8nxcz34wxsv4")))) - (build-system gnu-build-system) - (inputs - `(("perl" ,perl) - ("m4" ,m4))) - ;; XXX: testsuite: 209 and 279 failed. The latter is an impurity. It - ;; should use our own "cpp" instead of "/lib/cpp". - (arguments `(#:tests? #f)) - (home-page - "http://www.gnu.org/software/autoconf/") - (synopsis - "GNU Autoconf, a part of the GNU Build System") - (description - "GNU Autoconf is an extensible package of M4 macros that produce -shell scripts to automatically configure software source code -packages. These scripts can adapt the packages to many kinds of -UNIX-like systems without manual user intervention. Autoconf -creates a configuration script for a package from a template -file that lists the operating system features that the package -can use, in the form of M4 macro calls.") - (license gpl3+))) ; some files are under GPLv2+ - -(define-public automake - (package - (name "automake") - (version "1.12.6") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/automake/automake-" - version ".tar.xz")) - (sha256 - (base32 - "1ynvca8z4aqcwr94rf7j1bfiid2w9w250y9qhnyj9vmi8lhsnd7q")))) - (build-system gnu-build-system) - (inputs - `(("autoconf" ,autoconf) - ("perl" ,perl))) - (home-page - "http://www.gnu.org/software/automake/") - (synopsis - "GNU Automake, a GNU standard-compliant makefile generator") - (description - "GNU Automake is a tool for automatically generating -`Makefile.in' files compliant with the GNU Coding -Standards. Automake requires the use of Autoconf.") - (license gpl2+))) ; some files are under GPLv3+ - -(define-public libtool - (package - (name "libtool") - (version "2.4.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/libtool/libtool-" - version ".tar.gz")) - (sha256 - (base32 - "0649qfpzkswgcj9vqkkr9rn4nlcx80faxpyqscy2k1x9c94f93dk")))) - (build-system gnu-build-system) - (native-inputs `(("m4" ,m4) - ("perl" ,perl))) - - ;; Separate binaries from the rest. During bootstrap, only ltdl is - ;; used; not depending on the binaries allows us to avoid retaining - ;; a reference to the bootstrap bash. - (outputs '("bin" ; libtoolize, libtool, etc. - "out")) ; libltdl.so, ltdl.h, etc. - - (arguments - `(#:patches (list (assoc-ref %build-inputs "patch/skip-tests")) - #:phases (alist-cons-before - 'check 'pre-check - (lambda* (#:key inputs #:allow-other-keys) - ;; Run the test suite in parallel, if possible. - (let ((ncores - (cond - ((getenv "NIX_BUILD_CORES") - => - (lambda (n) - (if (zero? (string->number n)) - (number->string (current-processor-count)) - n))) - (else "1")))) - (setenv "TESTSUITEFLAGS" - (string-append "-j" ncores))) - - ;; Path references to /bin/sh. - (let ((bash (assoc-ref inputs "bash"))) - (substitute* "tests/testsuite" - (("/bin/sh") - (string-append bash "/bin/bash"))))) - %standard-phases))) - (inputs `(("patch/skip-tests" - ,(search-patch "libtool-skip-tests.patch")))) - (synopsis "GNU Libtool, a generic library support script") - (description - "GNU libtool is a generic library support script. Libtool hides the -complexity of using shared libraries behind a consistent, portable interface. - -To use libtool, add the new generic library building commands to your -Makefile, Makefile.in, or Makefile.am. See the documentation for -details.") - (license gpl3+) - (home-page "http://www.gnu.org/software/libtool/"))) diff --git a/distro/packages/base.scm b/distro/packages/base.scm deleted file mode 100644 index bc705f16e7..0000000000 --- a/distro/packages/base.scm +++ /dev/null @@ -1,1082 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages base) - #:use-module (guix licenses) - #:use-module (distro) - #:use-module (distro packages acl) - #:use-module (distro packages bash) - #:use-module (distro packages bootstrap) - #:use-module (distro packages compression) - #:use-module (distro packages gawk) - #:use-module (distro packages guile) - #:use-module (distro packages multiprecision) - #:use-module (distro packages perl) - #:use-module (distro packages linux) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix build-system trivial) - #:use-module (guix utils) - #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) - #:use-module (ice-9 match)) - -;;; Commentary: -;;; -;;; Base packages of the Guix-based GNU user-land software distribution. -;;; -;;; Code: - -(define-public hello - (package - (name "hello") - (version "2.8") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/hello/hello-" version - ".tar.gz")) - (sha256 - (base32 "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6")))) - (build-system gnu-build-system) - (arguments '(#:configure-flags - `("--disable-dependency-tracking" - ,(string-append "--with-gawk=" ; for illustration purposes - (assoc-ref %build-inputs "gawk"))))) - (inputs `(("gawk" ,gawk))) - (synopsis "GNU Hello") - (description "Yeah...") - (home-page "http://www.gnu.org/software/hello/") - (license gpl3+))) - -(define-public grep - (package - (name "grep") - (version "2.14") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/grep/grep-" - version ".tar.xz")) - (sha256 - (base32 - "1qbjb1l7f9blckc5pqy8jlf6482hpx4awn2acmhyf5mv9wfq03p7")))) - (build-system gnu-build-system) - (synopsis "GNU implementation of the Unix grep command") - (description - "The grep command searches one or more input files for lines containing a -match to a specified pattern. By default, grep prints the matching -lines.") - (license gpl3+) - (home-page "http://www.gnu.org/software/grep/"))) - -(define-public sed - (package - (name "sed") - (version "4.2.1") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/sed/sed-" version - ".tar.bz2")) - (sha256 - (base32 - "13wlsb4sf5d5a82xjhxqmdvrrn36rmw5f0pl9qyb9zkvldnb7hra")))) - (build-system gnu-build-system) - (synopsis "GNU sed, a batch stream editor") - (arguments - `(#: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))) - (description - "Sed (stream editor) isn't really a true text editor or text processor. -Instead, it is used to filter text, i.e., it takes text input and performs -some operation (or set of operations) on it and outputs the modified text. -Sed is typically used for extracting part of a file using pattern matching or -substituting multiple occurrences of a string within a file.") - (license gpl3+) - (home-page "http://www.gnu.org/software/sed/"))) - -(define-public tar - (package - (name "tar") - (version "1.26") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/tar/tar-" - version ".tar.bz2")) - (sha256 - (base32 - "0hbdkzmchq9ycr2x1pxqdcgdbaxksh8c6ac0jf75jajhcks6jlss")))) - (build-system gnu-build-system) - (inputs `(("patch/gets" ,(search-patch "tar-gets-undeclared.patch")))) - (arguments - `(#:patches (list (assoc-ref %build-inputs "patch/gets")))) - (synopsis "GNU implementation of the `tar' archiver") - (description - "The Tar program provides the ability to create tar archives, as well as -various other kinds of manipulation. For example, you can use Tar on -previously created archives to extract files, to store additional files, or -to update or list files which were already stored. - -Initially, tar archives were used to store files conveniently on magnetic -tape. The name \"Tar\" comes from this use; it stands for tape archiver. -Despite the utility's name, Tar can direct its output to available devices, -files, or other programs (using pipes), it can even access remote devices or -files (as archives).") - (license gpl3+) - (home-page "http://www.gnu.org/software/tar/"))) - -(define-public patch - (package - (name "patch") - (version "2.6.1") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/patch/patch-" - version ".tar.xz")) - (sha256 - (base32 - "18012gxs9wc96izskp1q7bclrwns6rdmkn4jj31c8jbyfz6l5npq")))) - (build-system gnu-build-system) - (native-inputs '()) ; FIXME: needs `ed' for the tests - (arguments - (case-lambda - ((system) '(#:tests? #f)) - ((system cross-system) - '(#:configure-flags '("ac_cv_func_strnlen_working=yes"))))) - (synopsis "GNU Patch, a program to apply differences to files") - (description - "GNU Patch takes a patch file containing a difference listing produced by -the diff program and applies those differences to one or more original files, -producing patched versions.") - (license gpl3+) - (home-page "http://savannah.gnu.org/projects/patch/"))) - -(define-public diffutils - (package - (name "diffutils") - (version "3.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/diffutils/diffutils-" - version ".tar.xz")) - (sha256 - (base32 - "0jci0wv68025xd0s0rq4s5qxpx56dd9d730lka63qpzk1rfvfkxb")))) - (build-system gnu-build-system) - (inputs `(("patch/gets" - ,(search-patch "diffutils-gets-undeclared.patch")))) - (arguments `(#:patches (list (assoc-ref %build-inputs "patch/gets")))) - (synopsis "Programs to find differences among text files") - (description - "GNU Diffutils is a package of several programs related to finding -differences between files. - -Computer users often find occasion to ask how two files differ. Perhaps one -file is a newer version of the other file. Or maybe the two files started out -as identical copies but were changed by different people. - -You can use the diff command to show differences between two files, or each -corresponding file in two directories. diff outputs differences between files -line by line in any of several formats, selectable by command line -options. This set of differences is often called a ‘diff’ or ‘patch’. For -files that are identical, diff normally produces no output; for -binary (non-text) files, diff normally reports only that they are different. - -You can use the cmp command to show the offsets and line numbers where two -files differ. cmp can also show all the characters that differ between the -two files, side by side. - -You can use the diff3 command to show differences among three files. When two -people have made independent changes to a common original, diff3 can report -the differences between the original and the two changed versions, and can -produce a merged file that contains both persons' changes together with -warnings about conflicts. - -You can use the sdiff command to merge two files interactively.") - (license gpl3+) - (home-page "http://www.gnu.org/software/diffutils/"))) - -(define-public findutils - (package - (name "findutils") - (version "4.4.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/findutils/findutils-" - version ".tar.gz")) - (sha256 - (base32 - "0amn0bbwqvsvvsh6drfwz20ydc2czk374lzw5kksbh6bf78k4ks3")))) - (build-system gnu-build-system) - (native-inputs - `(("patch/absolute-paths" - ,(search-patch "findutils-absolute-paths.patch")))) - (arguments - (case-lambda - ((system) - `(#:patches (list (assoc-ref %build-inputs "patch/absolute-paths")))) - ((system cross-system) - ;; Work around cross-compilation failure. - ;; See <http://savannah.gnu.org/bugs/?27299#comment1>. - `(#:configure-flags '("gl_cv_func_wcwidth_works=yes") - ,@(arguments cross-system))))) - (synopsis "Basic directory searching utilities of the GNU operating -system") - (description - "The GNU Find Utilities are the basic directory searching utilities of -the GNU operating system. These programs are typically used in conjunction -with other programs to provide modular and powerful directory search and file -locating capabilities to other commands. - -The tools supplied with this package are: - - * find - search for files in a directory hierarchy; - * locate - list files in databases that match a pattern; - * updatedb - update a file name database; - * xargs - build and execute command lines from standard input. -") - (license gpl3+) - (home-page "http://www.gnu.org/software/findutils/"))) - -(define-public coreutils - (package - (name "coreutils") - (version "8.20") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/coreutils/coreutils-" - version ".tar.xz")) - (sha256 - (base32 - "1cly97xdy3v4nbbx631k43smqw0nnpn651kkprs0yyl2cj3pkjyv")))) - (build-system gnu-build-system) - (inputs `(("acl" ,acl) - ("gmp" ,gmp) - ("perl" ,perl))) ; TODO: add SELinux - (arguments - `(#: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))))) - %standard-phases))) - (synopsis - "The basic file, shell and text manipulation utilities of the GNU -operating system") - (description - "The GNU Core Utilities are the basic file, shell and text manipulation -utilities of the GNU operating system. These are the core utilities which -are expected to exist on every operating system.") - (license gpl3+) - (home-page "http://www.gnu.org/software/coreutils/"))) - -(define-public gnu-make - (package - (name "make") - (version "3.82") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/make/make-" version - ".tar.bz2")) - (sha256 - (base32 - "0ri98385hsd7li6rh4l5afcq92v8l2lgiaz85wgcfh4w2wzsghg2")))) - (build-system gnu-build-system) - (native-inputs - `(("patch/impure-dirs" ,(search-patch "make-impure-dirs.patch")))) - (arguments - '(#:patches (list (assoc-ref %build-inputs "patch/impure-dirs")) - #:phases (alist-cons-before - '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))) - (synopsis "GNU Make, a program controlling the generation of non-source -files from sources") - (description - "Make is a tool which controls the generation of executables and other -non-source files of a program from the program's source files. - -Make gets its knowledge of how to build your program from a file called the -makefile, which lists each of the non-source files and how to compute it from -other files. When you write a program, you should write a makefile for it, so -that it is possible to use Make to build and install the program.") - (license gpl3+) - (home-page "http://www.gnu.org/software/make/"))) - -(define-public binutils - (package - (name "binutils") - (version "2.22") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/binutils/binutils-" - version ".tar.bz2")) - (sha256 - (base32 - "1a9w66v5dwvbnawshjwqcgz7km6kw6ihkzp6sswv9ycc3knzhykc")))) - (build-system gnu-build-system) - - ;; Split Binutils in several outputs, mostly to avoid collisions in - ;; user profiles with GCC---e.g., libiberty.a. - (outputs '("out" ; ar, ld, binutils.info, etc. - "lib")) ; libbfd.a, bfd.h, etc. - - ;; TODO: Add dependency on zlib + those for Gold. - (native-inputs - `(("patch/new-dtags" ,(search-patch "binutils-ld-new-dtags.patch")))) - (arguments - `(#:patches (list (assoc-ref %build-inputs "patch/new-dtags")) - #:configure-flags '(;; Add `-static-libgcc' to not retain a dependency - ;; on GCC when bootstrapping. - "LDFLAGS=-static-libgcc" - - ;; Don't search under /usr/lib & co. - "--with-lib-path=/no-ld-lib-path"))) - - (synopsis "GNU Binutils, tools for manipulating binaries (linker, -assembler, etc.)") - (description - "The GNU Binutils are a collection of binary tools. The main ones are -`ld' (the GNU linker) and `as' (the GNU assembler). They also include the -BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.") - (license gpl3+) - (home-page "http://www.gnu.org/software/binutils/"))) - -(define-public gcc-4.7 - (let ((stripped? #t)) ; TODO: make this a parameter - (package - (name "gcc") - (version "4.7.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gcc/gcc-" - version "/gcc-" version ".tar.bz2")) - (sha256 - (base32 - "115h03hil99ljig8lkrq4qk426awmzh0g99wrrggxf8g07bq74la")))) - (build-system gnu-build-system) - (inputs `(("gmp" ,gmp) - ("mpfr" ,mpfr) - ("mpc" ,mpc))) ; TODO: libelf, ppl, cloog, zlib, etc. - (arguments - (lambda (system) - `(#:out-of-source? #t - #:strip-binaries? ,stripped? - #:configure-flags - `("--enable-plugin" - "--enable-languages=c,c++" - "--disable-multilib" - - "--with-local-prefix=/no-gcc-local-prefix" - - ,(let ((libc (assoc-ref %build-inputs "libc"))) - (if libc - (string-append "--with-native-system-header-dir=" libc - "/include") - "--without-headers"))) - #:make-flags - (let ((libc (assoc-ref %build-inputs "libc"))) - `(,@(if libc - (list (string-append "LDFLAGS_FOR_BUILD=" - "-L" libc "/lib " - "-Wl,-dynamic-linker " - "-Wl," libc - ,(glibc-dynamic-linker system))) - '()) - ,(string-append "BOOT_CFLAGS=-O2 " - ,(if stripped? "-g0" "-g")))) - - #:tests? #f - #:phases - (alist-cons-before - 'configure 'pre-configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (libc (assoc-ref inputs "libc"))) - (when libc - ;; The following is not performed for `--without-headers' - ;; cross-compiler builds. - - ;; Fix the dynamic linker's file name. - (substitute* (find-files "gcc/config" - "^linux(64|-elf)?\\.h$") - (("#define GLIBC_DYNAMIC_LINKER([^ ]*).*$" _ suffix) - (format #f "#define GLIBC_DYNAMIC_LINKER~a \"~a\"~%" - suffix - (string-append libc ,(glibc-dynamic-linker system))))) - - ;; Tell where to find libstdc++, libc, and `?crt*.o', except - ;; `crt{begin,end}.o', which come with GCC. - (substitute* (find-files "gcc/config" - "^(gnu-user(64)?|linux-elf)\\.h$") - (("#define LIB_SPEC (.*)$" _ suffix) - ;; Note that with this "lib" spec, we may still add a - ;; RUNPATH to GCC even when `libgcc_s' is not NEEDED. - ;; There's not much that can be done to avoid it, though. - (format #f "#define LIB_SPEC \"-L~a/lib %{!static:-rpath=~a/lib \ -%{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib}} \" ~a~%" - libc libc out out suffix)) - (("#define STARTFILE_SPEC.*$" line) - (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\" -#define STANDARD_STARTFILE_PREFIX_2 \"\" -~a~%" - libc line)))) - - ;; Don't retain a dependency on the build-time sed. - (substitute* "fixincludes/fixincl.x" - (("static char const sed_cmd_z\\[\\] =.*;") - "static char const sed_cmd_z[] = \"sed\";")))) - - (alist-cons-after - 'configure 'post-configure - (lambda _ - ;; Don't store configure flags, to avoid retaining references to - ;; build-time dependencies---e.g., `--with-ppl=/nix/store/xxx'. - (substitute* "Makefile" - (("^TOPLEVEL_CONFIGURE_ARGUMENTS=(.*)$" _ rest) - "TOPLEVEL_CONFIGURE_ARGUMENTS=\n"))) - (alist-replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (zero? - (system* "make" - ,(if stripped? - "install-strip" - "install")))) - %standard-phases)))))) - - (properties `((gcc-libc . ,(assoc-ref inputs "libc")))) - (synopsis "The GNU Compiler Collection") - (description - "The GNU Compiler Collection includes compiler front ends for C, C++, -Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well as -libraries for these languages (libstdc++, libgcj, libgomp,...). - -GCC development is a part of the GNU Project, aiming to improve the compiler -used in the GNU system including the GNU/Linux variant.") - (license gpl3+) - (home-page "http://gcc.gnu.org/")))) - -(define-public glibc - (package - (name "glibc") - (version "2.17") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/glibc/glibc-" - version ".tar.xz")) - (sha256 - (base32 - "0gmjnn4kma9vgizccw1jv979xw55a8n1nkk94gg0l3hy80vy6539")))) - (build-system gnu-build-system) - - ;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc - ;; users should automatically pull Linux headers as well. - (propagated-inputs `(("linux-headers" ,linux-libre-headers))) - - (arguments - `(#:out-of-source? #t - #:patches (list (assoc-ref %build-inputs "patch/ld.so.cache")) - #:configure-flags - (list "--enable-add-ons" - "--sysconfdir=/etc" - "--localedir=/var/run/current-system/sw/lib/locale" ; XXX - (string-append "--with-headers=" - (assoc-ref %build-inputs "linux-headers") - "/include") - - ;; 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" - - ;; Use our Bash instead of /bin/sh. - (string-append "BASH_SHELL=" - (assoc-ref %build-inputs "bash") - "/bin/bash") - - ;; XXX: Work around "undefined reference to `__stack_chk_guard'". - "libc_cv_ssp=no") - - #:tests? #f ; XXX - #:phases (alist-cons-before - 'configure 'pre-configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - ;; Use `pwd', not `/bin/pwd'. - (substitute* "configure" - (("/bin/pwd") "pwd")) - - ;; Install the rpc data base file under `$out/etc/rpc'. - ;; FIXME: Use installFlags = [ "sysconfdir=$(out)/etc" ]; - (substitute* "sunrpc/Makefile" - (("^\\$\\(inst_sysconfdir\\)/rpc(.*)$" _ suffix) - (string-append out "/etc/rpc" suffix "\n")) - (("^install-others =.*$") - (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. - ((" -lgcc_s") "")) - - ;; Copy a statically-linked Bash in the output, with - ;; no references to other store paths. - (mkdir-p bin) - (copy-file (string-append (assoc-ref inputs "static-bash") - "/bin/bash") - (string-append bin "/bash")) - (remove-store-references (string-append bin "/bash")) - (chmod (string-append bin "/bash") #o555) - - ;; Keep a symlink, for `patch-shebang' resolution. - (with-directory-excursion bin - (symlink "bash" "sh")) - - ;; 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") - (string-append out "/bin/bash"))))) - %standard-phases))) - (inputs `(("patch/ld.so.cache" - ,(search-patch "glibc-no-ld-so-cache.patch")) - ("static-bash" ,(static-package bash-light)))) - (synopsis "The GNU C Library") - (description - "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.") - (license lgpl2.0+) - (home-page "http://www.gnu.org/software/libc/"))) - - -;;; -;;; Bootstrap packages. -;;; - -(define gnu-make-boot0 - (package-with-bootstrap-guile - (package (inherit gnu-make) - (name "make-boot0") - (location (source-properties->location (current-source-location))) - (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 _ - (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)))))) - (inputs %bootstrap-inputs)))) - -(define diffutils-boot0 - (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))))))) - -(define findutils-boot0 - (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))) - - -(define %boot0-inputs - `(("make" ,gnu-make-boot0) - ("diffutils" ,diffutils-boot0) - ("findutils" ,findutils-boot0) - ,@%bootstrap-inputs)) - -(define* (nix-system->gnu-triplet system #:optional (vendor "unknown")) - "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)))) - -(define boot-triplet - ;; Return the triplet used to create the cross toolchain needed in the - ;; first bootstrapping stage. - (cut nix-system->gnu-triplet <> "guix")) - -;; 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 - (package-with-bootstrap-guile - (package (inherit binutils) - (name "binutils-cross-boot0") - (arguments - (lambda (system) - `(#:guile ,%bootstrap-guile - #:implicit-inputs? #f - ,@(substitute-keyword-arguments (package-arguments binutils) - ((#:configure-flags cf) - `(list ,(string-append "--target=" (boot-triplet system)))))))) - (inputs %boot0-inputs)))) - -(define gcc-boot0 - (package-with-bootstrap-guile - (package (inherit gcc-4.7) - (name "gcc-cross-boot0") - (arguments - (lambda (system) - `(#:guile ,%bootstrap-guile - #:implicit-inputs? #f - #:modules ((guix build gnu-build-system) - (guix build utils) - (ice-9 regex) - (srfi srfi-1) - (srfi srfi-26)) - ,@(substitute-keyword-arguments ((package-arguments gcc-4.7) system) - ((#:configure-flags flags) - `(append (list ,(string-append "--target=" - (boot-triplet system)) - - ;; No libc yet. - "--without-headers" - - ;; Disable features not needed at this stage. - "--disable-shared" - "--enable-languages=c" - "--disable-libmudflap" - "--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))) - (list gmp mpfr mpc)) - - ;; MPFR headers/lib are found under $(MPFR)/src, but - ;; `configure' wrongfully tells MPC too look under - ;; $(MPFR), so fix that. - (substitute* "configure" - (("extra_mpc_mpfr_configure_flags(.+)--with-mpfr-include=([^/]+)/mpfr(.*)--with-mpfr-lib=([^ ]+)/mpfr" - _ equals include middle lib) - (string-append "extra_mpc_mpfr_configure_flags" equals - "--with-mpfr-include=" include - "/mpfr/src" middle - "--with-mpfr-lib=" lib - "/mpfr/src")) - (("gmpinc='-I([^ ]+)/mpfr -I([^ ]+)/mpfr" _ a b) - (string-append "gmpinc='-I" a "/mpfr/src " - "-I" b "/mpfr/src")) - (("gmplibs='-L([^ ]+)/mpfr" _ a) - (string-append "gmplibs='-L" a "/mpfr/src"))))) - (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 system) - "/" ,(package-version gcc-4.7)) - (symlink "libgcc.a" "libgcc_eh.a")))) - ,phases))))))) - - (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")) - ,@(alist-delete "libc" %boot0-inputs)))))) - -(define linux-libre-headers-boot0 - (package-with-bootstrap-guile - (package (inherit linux-libre-headers) - (arguments `(#:guile ,%bootstrap-guile - #:implicit-inputs? #f - ,@(package-arguments linux-libre-headers))) - (native-inputs - (let ((perl (package-with-explicit-inputs perl - %boot0-inputs - (current-source-location) - #:guile %bootstrap-guile))) - `(("perl" ,perl) - ,@%boot0-inputs)))))) - -(define %boot1-inputs - ;; 2nd stage inputs. - `(("gcc" ,gcc-boot0) - ("binutils-cross" ,binutils-boot0) - - ;; Keep "binutils" here because the cross-gcc invokes `as', not the - ;; cross-`as'. - ,@%boot0-inputs)) - -(define glibc-final-with-bootstrap-bash - ;; The final libc, "cross-built". If everything went well, the resulting - ;; 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. - (package-with-bootstrap-guile - (package (inherit glibc) - (name "glibc-intermediate") - (arguments - (lambda (system) - `(#:guile ,%bootstrap-guile - #:implicit-inputs? #f - - ,@(substitute-keyword-arguments (package-arguments glibc) - ((#:configure-flags flags) - `(append (list ,(string-append "--host=" (boot-triplet system)) - ,(string-append "--build=" - (nix-system->gnu-triplet system)) - - ;; Build Sun/ONC RPC support. In particular, - ;; install rpc/*.h. - "--enable-obsolete-rpc") - ,flags)))))) - (propagated-inputs `(("linux-headers" ,linux-libre-headers-boot0))) - (inputs - `( ;; A native GCC is needed to build `cross-rpcgen'. - ("native-gcc" ,@(assoc-ref %boot0-inputs "gcc")) - - ;; 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." - (package (inherit gcc-4.7) - (name (string-append (package-name gcc) "-wrapped")) - (source #f) - (build-system trivial-build-system) - (arguments - (lambda (system) - `(#: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 system))) - (mkdir-p bindir) - (with-directory-excursion bindir - (for-each (lambda (tool) - (symlink (string-append binutils "/bin/" - triplet "-" tool) - tool)) - '("ar" "ranlib")) - - ;; GCC-BOOT0 is a libc-less cross-compiler, so it - ;; needs to be told where to find the crt files and - ;; the dynamic linker. - (call-with-output-file "gcc" - (lambda (p) - (format p "#!~a/bin/bash -exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" - bash - gcc triplet - libc libc - ,(glibc-dynamic-linker system)))) - - (chmod "gcc" #o555))))))) - (native-inputs - `(("binutils" ,binutils) - ("gcc" ,gcc) - ("libc" ,glibc) - ("bash" ,bash))) - (inputs '()))) - -(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 - (lambda (system) - `(#:guile ,%bootstrap-guile - ,@(package-arguments bash-light))))))) - (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")))) - -(define %boot2-inputs - ;; 3rd stage inputs. - `(("libc" ,glibc-final) - ("gcc" ,gcc-boot0-wrapped) - ,@(fold alist-delete %boot1-inputs '("libc" "gcc")))) - -(define-public binutils-final - (package-with-bootstrap-guile - (package (inherit binutils) - (arguments - (lambda (system) - `(#:guile ,%bootstrap-guile - #:implicit-inputs? #f - ,@(package-arguments binutils)))) - (inputs %boot2-inputs)))) - -(define-public gcc-final - ;; The final GCC. - (package (inherit gcc-boot0) - (name "gcc") - (arguments - (lambda (system) - `(#: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) system) - ((#:configure-flags boot-flags) - (let loop ((args ((package-arguments gcc-4.7) system))) - (match args - ((#:configure-flags normal-flags _ ...) - normal-flags) - ((_ rest ...) - (loop rest))))) - ((#:phases phases) - `(alist-delete 'symlink-libgcc_eh ,phases)))))) - - (inputs `(("gmp-source" ,(package-source gmp)) - ("mpfr-source" ,(package-source mpfr)) - ("mpc-source" ,(package-source mpc)) - ("binutils" ,binutils-final) - ,@%boot2-inputs)))) - -(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) - ("guile" ,%bootstrap-guile) - ("bash" ,@(assoc-ref %boot2-inputs "bash")) - ("wrapper" ,(search-path %load-path - "distro/packages/ld-wrapper.scm")))) - (arguments - `(#:guile ,%bootstrap-guile - #:modules ((guix build utils)) - #: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) - - (mkdir-p bin) - (copy-file (assoc-ref %build-inputs "wrapper") ld) - (substitute* ld - (("@GUILE@") - (string-append (assoc-ref %build-inputs "guile") - "/bin/guile")) - (("@BASH@") - (string-append (assoc-ref %build-inputs "bash") - "/bin/bash")) - (("@LD@") - (string-append (assoc-ref %build-inputs "binutils") - "/bin/ld"))) - (chmod ld #o555) - (compile-file ld #:output-file go))))) - (synopsis "The linker wrapper") - (description - "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) - (license gpl3+))) - -(define %boot3-inputs - ;; 4th stage inputs. - `(("gcc" ,gcc-final) - ("ld-wrapper" ,ld-wrapper-boot3) - ,@(alist-delete "gcc" %boot2-inputs))) - -(define-public bash-final - ;; Link with `-static-libgcc' to make sure we don't retain a reference - ;; to the bootstrap GCC. - (package-with-bootstrap-guile - (package-with-explicit-inputs (static-libgcc-package bash) - %boot3-inputs - (current-source-location) - #:guile %bootstrap-guile))) - -(define %boot4-inputs - ;; Now use the final Bash. - `(("bash" ,bash-final) - ,@(alist-delete "bash" %boot3-inputs))) - -(define-public guile-final - (package-with-bootstrap-guile - (package-with-explicit-inputs guile-2.0/fixed - %boot4-inputs - (current-source-location) - #:guile %bootstrap-guile))) - -(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) - ("bash" ,bash-final) - ,@(fold alist-delete (package-inputs ld-wrapper-boot3) - '("guile" "bash")))))) - -(define-public %final-inputs - ;; Final derivations used as implicit inputs by `gnu-build-system'. - (let ((finalize (cut package-with-explicit-inputs <> %boot4-inputs - (current-source-location)))) - `(,@(map (match-lambda - ((name package) - (list name (finalize package)))) - `(("tar" ,tar) - ("gzip" ,gzip) - ("bzip2" ,bzip2) - ("xz" ,xz) - ("diffutils" ,diffutils) - ("patch" ,patch) - ("coreutils" ,coreutils) - ("sed" ,sed) - ("grep" ,grep) - ("findutils" ,findutils) - ("gawk" ,gawk) - ("make" ,gnu-make))) - ("bash" ,bash-final) - ("ld-wrapper" ,ld-wrapper) - ("binutils" ,binutils-final) - ("gcc" ,gcc-final) - ("libc" ,glibc-final)))) - -;;; base.scm ends here diff --git a/distro/packages/bash.scm b/distro/packages/bash.scm deleted file mode 100644 index 0306c7197e..0000000000 --- a/distro/packages/bash.scm +++ /dev/null @@ -1,110 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages bash) - #:use-module (guix licenses) - #:use-module (distro packages ncurses) - #:use-module (distro packages readline) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system gnu)) - -(define-public bash - (let ((cppflags (string-join '("-DSYS_BASHRC='\"/etc/bashrc\"'" - "-DSYS_BASH_LOGOUT='\"/etc/bash_logout\"'" - "-DDEFAULT_PATH_VALUE='\"/no-such-path\"'" - "-DSTANDARD_UTILS_PATH='\"/no-such-path\"'" - "-DNON_INTERACTIVE_LOGIN_SHELLS" - "-DSSH_SOURCE_BASHRC") - " ")) - (post-install-phase - '(lambda* (#:key outputs #:allow-other-keys) - ;; Add a `bash' -> `sh' link. - (let ((out (assoc-ref outputs "out"))) - (with-directory-excursion (string-append out "/bin") - (symlink "bash" "sh")))))) - (package - (name "bash") - (version "4.2") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://gnu/bash/bash-" version ".tar.gz")) - (sha256 - (base32 - "1n5kbblp5ykbz5q8aq88lsif2z0gnvddg9babk33024wxiwi2ym2")))) - (build-system gnu-build-system) - (inputs `(("readline" ,readline) - ("ncurses" ,ncurses))) ; TODO: add texinfo - (arguments - `(#:configure-flags `("--with-installed-readline" - ,,(string-append "CPPFLAGS=" cppflags) - ,(string-append - "LDFLAGS=-Wl,-rpath -Wl," - (assoc-ref %build-inputs "readline") - "/lib" - " -Wl,-rpath -Wl," - (assoc-ref %build-inputs "ncurses") - "/lib")) - - ;; Bash is reportedly not parallel-safe. See, for instance, - ;; <http://patches.openembedded.org/patch/32745/> and - ;; <http://git.buildroot.net/buildroot/commit/?h=79e2d802ae7e376a413c02097790493e1f65c3a4>. - #:parallel-build? #f - #:parallel-tests? #f - - ;; XXX: The tests have a lot of hard-coded paths, so disable them - ;; for now. - #:tests? #f - - #:phases (alist-cons-after 'install 'post-install - ,post-install-phase - %standard-phases))) - (synopsis "GNU Bourne-Again Shell") - (description - "Bash is the shell, or command language interpreter, that will appear in -the GNU operating system. Bash is an sh-compatible shell that incorporates -useful features from the Korn shell (ksh) and C shell (csh). It is intended -to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It -offers functional improvements over sh for both programming and interactive -use. In addition, most sh scripts can be run by Bash without -modification.") - (license gpl3+) - (home-page "http://www.gnu.org/software/bash/")))) - -(define-public bash-light - ;; A stripped-down Bash for non-interactive use. - (package (inherit bash) - (name "bash-light") - (inputs '()) ; no readline, no curses - (arguments - (let ((args `(#:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-1) - (srfi srfi-26)) - ,@(package-arguments bash)))) - (substitute-keyword-arguments args - ((#:configure-flags flags) - `(list "--without-bash-malloc" - "--disable-readline" - "--disable-history" - "--disable-help-builtin" - "--disable-progcomp" - "--disable-net-redirections" - "--disable-nls"))))))) diff --git a/distro/packages/bdb.scm b/distro/packages/bdb.scm deleted file mode 100644 index 93bf290231..0000000000 --- a/distro/packages/bdb.scm +++ /dev/null @@ -1,57 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Andreas Enge <andreas@enge.fr> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages bdb) - #:use-module (distro) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public bdb - (package - (name "bdb") - (version "5.3.21") - (source (origin - (method url-fetch) - (uri (string-append "http://download.oracle.com/berkeley-db/db-" version - ".tar.gz")) - (sha256 (base32 - "1f2g2612lf8djbwbwhxsvmffmf9d7693kh2l20195pqp0f9jmnfx")))) - (build-system gnu-build-system) - (arguments - (lambda (system) - `(#:tests? #f ; no check target available - #:phases - (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (zero? - (system* "./dist/configure" - (string-append "--prefix=" out) - (string-append "CONFIG_SHELL=" (which "bash")) - (string-append "SHELL=" (which "bash")))))) - %standard-phases)))) - (synopsis "db, the Berkeley database") - (description - "Berkeley DB is an embeddable database allowing developers the choice of -SQL, Key/Value, XML/XQuery or Java Object storage for their data model.") - (license (bsd-style "file://LICENSE" - "See LICENSE in the distribution.")) - (home-page "http://www.oracle.com/us/products/database/berkeley-db/overview/index.html"))) diff --git a/distro/packages/bdw-gc.scm b/distro/packages/bdw-gc.scm deleted file mode 100644 index 5a397eaaa3..0000000000 --- a/distro/packages/bdw-gc.scm +++ /dev/null @@ -1,60 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages bdw-gc) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system gnu)) - -(define-public libgc - (package - (name "libgc") - (version "7.2alpha6") - (source (origin - (method url-fetch) - (uri (string-append - "http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-" - version ".tar.gz")) - (sha256 - (base32 - "05jwadjbrv8pr7z9cb4miskicxqpxm0pca4h2rg5cgbpajr2bx7b")))) - (build-system gnu-build-system) - (synopsis "The Boehm-Demers-Weiser conservative garbage collector -for C and C++") - (description - "The Boehm-Demers-Weiser conservative garbage collector can be used -as a garbage collecting replacement for C malloc or C++ new. It allows -you to allocate memory basically as you normally would, without -explicitly deallocating memory that is no longer useful. The collector -automatically recycles memory when it determines that it can no longer -be otherwise accessed. - -The collector is also used by a number of programming language -implementations that either use C as intermediate code, want to -facilitate easier interoperation with C libraries, or just prefer the -simple collector interface. - -Alternatively, the garbage collector may be used as a leak detector for -C or C++ programs, though that is not its primary goal.") - (home-page "http://www.hpl.hp.com/personal/Hans_Boehm/gc/") - - ;; permissive X11-style license: - ;; http://www.hpl.hp.com/personal/Hans_Boehm/gc/license.txt - (license x11))) diff --git a/distro/packages/bison.scm b/distro/packages/bison.scm deleted file mode 100644 index b3111c30ab..0000000000 --- a/distro/packages/bison.scm +++ /dev/null @@ -1,57 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages bison) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (distro packages m4) - #:use-module (distro packages perl)) - -(define-public bison - (package - (name "bison") - (version "2.6.1") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/bison/bison-" - version ".tar.xz")) - (sha256 - (base32 - "0y9svfkbw8jc8yv280hqzilpvlwg60gayck83jj98djmzaxr1w86")))) - (build-system gnu-build-system) - (inputs `(("perl" ,perl))) - (propagated-inputs `(("m4" ,m4))) - (home-page "http://www.gnu.org/software/bison/") - (synopsis - "GNU Bison, a Yacc-compatible parser generator") - (description - "Bison is a general-purpose parser generator that converts an -annotated context-free grammar into an LALR(1) or GLR parser for -that grammar. Once you are proficient with Bison, you can use -it to develop a wide range of language parsers, from those used -in simple desk calculators to complex programming languages. - -Bison is upward compatible with Yacc: all properly-written Yacc -grammars ought to work with Bison with no change. Anyone -familiar with Yacc should be able to use Bison with little -trouble. You need to be fluent in C or C++ programming in order -to use Bison.") - (license gpl3+))) diff --git a/distro/packages/bootstrap.scm b/distro/packages/bootstrap.scm deleted file mode 100644 index 27183162b5..0000000000 --- a/distro/packages/bootstrap.scm +++ /dev/null @@ -1,378 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages bootstrap) - #:use-module (guix licenses) - #:use-module (distro) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system) - #:use-module (guix build-system gnu) - #:use-module (guix build-system trivial) - #:use-module ((guix store) #:select (add-to-store add-text-to-store)) - #:use-module ((guix derivations) #:select (derivation)) - #:use-module (guix utils) - #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) - #:use-module (ice-9 match) - #:export (bootstrap-origin - package-with-bootstrap-guile - glibc-dynamic-linker - - %bootstrap-guile - %bootstrap-coreutils&co - %bootstrap-binutils - %bootstrap-gcc - %bootstrap-glibc - %bootstrap-inputs)) - -;;; Commentary: -;;; -;;; Pre-built packages that are used to bootstrap the -;;; distribution--i.e., to build all the core packages from scratch. -;;; -;;; Code: - - - -;;; -;;; Helper procedures. -;;; - -(define (bootstrap-origin source) - "Return a variant of SOURCE, an <origin> instance, whose method uses -%BOOTSTRAP-GUILE to do its job." - (define (boot fetch) - (lambda* (store url hash-algo hash - #:optional name #:key system) - (fetch store url hash-algo hash - #:guile %bootstrap-guile - #:system system))) - - (let ((orig-method (origin-method source))) - (origin (inherit source) - (method (cond ((eq? orig-method url-fetch) - (boot url-fetch)) - (else orig-method)))))) - -(define (package-from-tarball name* source* program-to-test description*) - "Return a package that correspond to the extraction of SOURCE*. -PROGRAM-TO-TEST is a program to run after extraction of SOURCE*, to -check whether everything is alright." - (package - (name name*) - (version "0") - (source #f) - (build-system trivial-build-system) - (arguments - `(#:guile ,%bootstrap-guile - #:modules ((guix build utils)) - #:builder - (let ((out (assoc-ref %outputs "out")) - (tar (assoc-ref %build-inputs "tar")) - (xz (assoc-ref %build-inputs "xz")) - (tarball (assoc-ref %build-inputs "tarball"))) - (use-modules (guix build utils)) - - (mkdir out) - (copy-file tarball "binaries.tar.xz") - (system* xz "-d" "binaries.tar.xz") - (let ((builddir (getcwd))) - (with-directory-excursion out - (and (zero? (system* tar "xvf" - (string-append builddir "/binaries.tar"))) - (zero? (system* (string-append "bin/" ,program-to-test) - "--version")))))))) - (inputs - `(("tar" ,(lambda (system) - (search-bootstrap-binary "tar" system))) - ("xz" ,(lambda (system) - (search-bootstrap-binary "xz" system))) - ("tarball" ,(lambda (system) - (bootstrap-origin (source* system)))))) - (synopsis description*) - (description #f) - (home-page #f))) - -(define package-with-bootstrap-guile - (memoize - (lambda (p) - "Return a variant of P such that all its origins are fetched with -%BOOTSTRAP-GUILE." - (define rewritten-input - (match-lambda - ((name (? origin? o)) - `(,name ,(bootstrap-origin o))) - ((name (? package? p) sub-drvs ...) - `(,name ,(package-with-bootstrap-guile p) ,@sub-drvs)) - (x x))) - - (package (inherit p) - (source (match (package-source p) - ((? origin? o) (bootstrap-origin o)) - (s s))) - (inputs (map rewritten-input - (package-inputs p))) - (native-inputs (map rewritten-input - (package-native-inputs p))) - (propagated-inputs (map rewritten-input - (package-propagated-inputs p))))))) - -(define (glibc-dynamic-linker system) - "Return the name of Glibc's dynamic linker for SYSTEM." - (cond ((string=? system "x86_64-linux") "/lib/ld-linux-x86-64.so.2") - ((string=? system "i686-linux") "/lib/ld-linux.so.2") - (else (error "dynamic linker name not known for this system" - system)))) - - -;;; -;;; Bootstrap packages. -;;; - -(define %bootstrap-guile - ;; The Guile used to run the build scripts of the initial derivations. - ;; It is just unpacked from a tarball containing a pre-built binary. - ;; This is typically built using %GUILE-BOOTSTRAP-TARBALL below. - ;; - ;; XXX: Would need libc's `libnss_files2.so' for proper `getaddrinfo' - ;; support (for /etc/services). - (let ((raw (build-system - (name "raw") - (description "Raw build system with direct store access") - (build (lambda* (store name source inputs #:key outputs system) - (define (->store file) - (add-to-store store file #t #t "sha256" - (or (search-bootstrap-binary file - system) - (error "bootstrap binary not found" - file system)))) - - (let* ((tar (->store "tar")) - (xz (->store "xz")) - (mkdir (->store "mkdir")) - (bash (->store "bash")) - (guile (->store "guile-2.0.7.tar.xz")) - (builder - (add-text-to-store store - "build-bootstrap-guile.sh" - (format #f " -echo \"unpacking bootstrap Guile to '$out'...\" -~a $out -cd $out -~a -dc < ~a | ~a xv - -# Sanity check. -$out/bin/guile --version~%" - mkdir xz guile tar) - (list mkdir xz guile tar)))) - (derivation store name system - bash `(,builder) '() - `((,bash) (,builder))))))))) - (package - (name "guile-bootstrap") - (version "2.0") - (source #f) - (build-system raw) - (synopsis "Bootstrap Guile") - (description "Pre-built Guile for bootstrapping purposes.") - (home-page #f) - (license lgpl3+)))) - -(define %bootstrap-base-urls - ;; This is where the initial binaries come from. - '("http://alpha.gnu.org/gnu/guix/bootstrap" - "http://www.fdn.fr/~lcourtes/software/guix/packages")) - -(define %bootstrap-coreutils&co - (package-from-tarball "bootstrap-binaries" - (lambda (system) - (origin - (method url-fetch) - (uri (map (cut string-append <> "/" system - "/20130105/static-binaries.tar.xz") - %bootstrap-base-urls)) - (sha256 - (match system - ("x86_64-linux" - (base32 - "0md23alzy6nc5f16pric7mkagczdzr8xbh074sb3rjzrls06j1ls")) - ("i686-linux" - (base32 - "0nzj1lmm9b94g7k737cr4w1dv282w5nmhb53238ikax9r6pkc0yb")))))) - "true" ; the program to test - "Bootstrap binaries of Coreutils, Awk, etc.")) - -(define %bootstrap-binutils - (package-from-tarball "binutils-bootstrap" - (lambda (system) - (origin - (method url-fetch) - (uri (map (cut string-append <> "/" system - "/20130105/binutils-2.22.tar.xz") - %bootstrap-base-urls)) - (sha256 - (match system - ("x86_64-linux" - (base32 - "1ffmk2yy2pxvkqgzrkzp3s4jpn4qaaksyk3b5nsc5cjwfm7qkgzh")) - ("i686-linux" - (base32 - "1rafk6aq4sayvv3r3d2khn93nkyzf002xzh0xadlyci4mznr6b0a")))))) - "ld" ; the program to test - "Bootstrap binaries of the GNU Binutils")) - -(define %bootstrap-glibc - ;; The initial libc. - (package - (name "glibc-bootstrap") - (version "0") - (source #f) - (build-system trivial-build-system) - (arguments - `(#:guile ,%bootstrap-guile - #:modules ((guix build utils)) - #:builder - (let ((out (assoc-ref %outputs "out")) - (tar (assoc-ref %build-inputs "tar")) - (xz (assoc-ref %build-inputs "xz")) - (tarball (assoc-ref %build-inputs "tarball"))) - (use-modules (guix build utils)) - - (mkdir out) - (copy-file tarball "binaries.tar.xz") - (system* xz "-d" "binaries.tar.xz") - (let ((builddir (getcwd))) - (with-directory-excursion out - (system* tar "xvf" - (string-append builddir - "/binaries.tar")) - (chmod "lib" #o755) - - ;; Patch libc.so so it refers to the right path. - (substitute* "lib/libc.so" - (("/[^ ]+/lib/(libc|ld)" _ prefix) - (string-append out "/lib/" prefix)))))))) - (inputs - `(("tar" ,(lambda (system) - (search-bootstrap-binary "tar" system))) - ("xz" ,(lambda (system) - (search-bootstrap-binary "xz" system))) - ("tarball" ,(lambda (system) - (bootstrap-origin - (origin - (method url-fetch) - (uri (map (cut string-append <> "/" system - "/20130105/glibc-2.17.tar.xz") - %bootstrap-base-urls)) - (sha256 - (match system - ("x86_64-linux" - (base32 - "18kv1z9d8dr1j3hm9w7663kchqw9p6rsx11n1m143jgba2jz6jy3")) - ("i686-linux" - (base32 - "08hv8i0axwnihrcgbz19x0a7s6zyv3yx38x8r29liwl8h82x9g88")))))))))) - (synopsis "Bootstrap binaries and headers of the GNU C Library") - (description #f) - (home-page #f))) - -(define %bootstrap-gcc - ;; The initial GCC. Uses binaries from a tarball typically built by - ;; %GCC-BOOTSTRAP-TARBALL. - (package - (name "gcc-bootstrap") - (version "0") - (source #f) - (build-system trivial-build-system) - (arguments - (lambda (system) - `(#:guile ,%bootstrap-guile - #:modules ((guix build utils)) - #:builder - (let ((out (assoc-ref %outputs "out")) - (tar (assoc-ref %build-inputs "tar")) - (xz (assoc-ref %build-inputs "xz")) - (bash (assoc-ref %build-inputs "bash")) - (libc (assoc-ref %build-inputs "libc")) - (tarball (assoc-ref %build-inputs "tarball"))) - (use-modules (guix build utils) - (ice-9 popen)) - - (mkdir out) - (copy-file tarball "binaries.tar.xz") - (system* xz "-d" "binaries.tar.xz") - (let ((builddir (getcwd)) - (bindir (string-append out "/bin"))) - (with-directory-excursion out - (system* tar "xvf" - (string-append builddir "/binaries.tar"))) - - (with-directory-excursion bindir - (chmod "." #o755) - (rename-file "gcc" ".gcc-wrapped") - (call-with-output-file "gcc" - (lambda (p) - (format p "#!~a -exec ~a/bin/.gcc-wrapped -B~a/lib \ - -Wl,-rpath -Wl,~a/lib \ - -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" - bash - out libc libc libc - ,(glibc-dynamic-linker system)))) - - (chmod "gcc" #o555))))))) - (inputs - `(("tar" ,(lambda (system) - (search-bootstrap-binary "tar" system))) - ("xz" ,(lambda (system) - (search-bootstrap-binary "xz" system))) - ("bash" ,(lambda (system) - (search-bootstrap-binary "bash" system))) - ("libc" ,%bootstrap-glibc) - ("tarball" ,(lambda (system) - (bootstrap-origin - (origin - (method url-fetch) - (uri (map (cut string-append <> "/" system - "/20130105/gcc-4.7.2.tar.xz") - %bootstrap-base-urls)) - (sha256 - (match system - ("x86_64-linux" - (base32 - "1x1p7han5crnbw906iwdifykr6grzm0w27dy9gz75j0q1b32i4px")) - ("i686-linux" - (base32 - "06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra0c5vsg2")))))))))) - (synopsis "Bootstrap binaries of the GNU Compiler Collection") - (description #f) - (home-page #f))) - -(define %bootstrap-inputs - ;; The initial, pre-built inputs. From now on, we can start building our - ;; own packages. - `(("libc" ,%bootstrap-glibc) - ("gcc" ,%bootstrap-gcc) - ("binutils" ,%bootstrap-binutils) - ("coreutils&co" ,%bootstrap-coreutils&co) - - ;; In gnu-build-system.scm, we rely on the availability of Bash. - ("bash" ,%bootstrap-coreutils&co))) - -;;; bootstrap.scm ends here diff --git a/distro/packages/bootstrap/i686-linux/bash b/distro/packages/bootstrap/i686-linux/bash deleted file mode 100755 index 9882d4adc7..0000000000 --- a/distro/packages/bootstrap/i686-linux/bash +++ /dev/null Binary files differdiff --git a/distro/packages/bootstrap/i686-linux/mkdir b/distro/packages/bootstrap/i686-linux/mkdir deleted file mode 100755 index 0ddab232b7..0000000000 --- a/distro/packages/bootstrap/i686-linux/mkdir +++ /dev/null Binary files differdiff --git a/distro/packages/bootstrap/i686-linux/tar b/distro/packages/bootstrap/i686-linux/tar deleted file mode 100755 index 6bee702cf5..0000000000 --- a/distro/packages/bootstrap/i686-linux/tar +++ /dev/null Binary files differdiff --git a/distro/packages/bootstrap/i686-linux/xz b/distro/packages/bootstrap/i686-linux/xz deleted file mode 100755 index 5a126e4fc5..0000000000 --- a/distro/packages/bootstrap/i686-linux/xz +++ /dev/null Binary files differdiff --git a/distro/packages/bootstrap/x86_64-linux/bash b/distro/packages/bootstrap/x86_64-linux/bash deleted file mode 100755 index 3b0227fbb1..0000000000 --- a/distro/packages/bootstrap/x86_64-linux/bash +++ /dev/null Binary files differdiff --git a/distro/packages/bootstrap/x86_64-linux/mkdir b/distro/packages/bootstrap/x86_64-linux/mkdir deleted file mode 100755 index 7207ad8a46..0000000000 --- a/distro/packages/bootstrap/x86_64-linux/mkdir +++ /dev/null Binary files differdiff --git a/distro/packages/bootstrap/x86_64-linux/tar b/distro/packages/bootstrap/x86_64-linux/tar deleted file mode 100755 index 9104da7b53..0000000000 --- a/distro/packages/bootstrap/x86_64-linux/tar +++ /dev/null Binary files differdiff --git a/distro/packages/bootstrap/x86_64-linux/xz b/distro/packages/bootstrap/x86_64-linux/xz deleted file mode 100755 index 488e319b37..0000000000 --- a/distro/packages/bootstrap/x86_64-linux/xz +++ /dev/null Binary files differdiff --git a/distro/packages/check.scm b/distro/packages/check.scm deleted file mode 100644 index 49197cc135..0000000000 --- a/distro/packages/check.scm +++ /dev/null @@ -1,48 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages check) - #:use-module (distro) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public check - (package - (name "check") - (version "0.9.9") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/check/check/" - version "/check-" version ".tar.gz")) - (sha256 - (base32 - "1jcahzrvxcnp5chdn2x46l0y4aba8d8yd70lljfin7h5knxrlyhs")))) - (build-system gnu-build-system) - (home-page "http://check.sourceforge.net/") - (synopsis "Check, a unit testing framework for C") - (description - "Check is a unit testing framework for C. It features a simple -interface for defining unit tests, putting little in the way of the -developer. Tests are run in a separate address space, so Check can -catch both assertion failures and code errors that cause segmentation -faults or other signals. The output from unit tests can be used within -source code editors and IDEs.") - (license lgpl2.1+))) diff --git a/distro/packages/compression.scm b/distro/packages/compression.scm deleted file mode 100644 index 51a2d70e2d..0000000000 --- a/distro/packages/compression.scm +++ /dev/null @@ -1,200 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages compression) - #:use-module ((guix licenses) - #:renamer (symbol-prefix-proc 'license:)) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public zlib - (package - (name "zlib") - (version "1.2.7") - (source - (origin - (method url-fetch) - (uri (string-append "http://zlib.net/zlib-" - version ".tar.gz")) - (sha256 - (base32 - "1i96gsdvxqb6skp9a58bacf1wxamwi9m9pg4yn7cpf7g7239r77s")))) - (build-system gnu-build-system) - (arguments - `(#:phases (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - ;; Zlib's home-made `configure' doesn't fails when passed - ;; extra flags like `--enable-fast-install', so we need to - ;; invoke it with just what it understand. - (let ((out (assoc-ref outputs "out"))) - (zero? (system* "./configure" - (string-append "--prefix=" out))))) - %standard-phases))) - (home-page "http://zlib.net/") - (synopsis "The zlib compression library") - (description - "zlib is designed to be a free, general-purpose, legally unencumbered -- -that is, not covered by any patents -- lossless data-compression library for -use on virtually any computer hardware and operating system. The zlib data -format is itself portable across platforms. Unlike the LZW compression method -used in Unix compress(1) and in the GIF image format, the compression method -currently used in zlib essentially never expands the data. (LZW can double or -triple the file size in extreme cases.) zlib's memory footprint is also -independent of the input data and can be reduced, if necessary, at some cost -in compression.") - (license license:zlib))) - -(define-public gzip - (package - (name "gzip") - (version "1.5") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gzip/gzip-" - version ".tar.gz")) - (sha256 - (base32 - "18rm80kar7n016g8bsyy1a3zk50i2826xdgs874yh64rzj7nxmdm")))) - (build-system gnu-build-system) - (synopsis "Gzip, the GNU zip compression program") - (arguments - ;; FIXME: The test suite wants `less', and optionally Perl. - '(#:tests? #f)) - (description - "gzip (GNU zip) is a popular data compression program written by Jean-loup -Gailly for the GNU project. Mark Adler wrote the decompression part. - -We developed this program as a replacement for compress because of the Unisys -and IBM patents covering the LZW algorithm used by compress. These patents -made it impossible for us to use compress, and we needed a replacement. The -superior compression ratio of gzip is just a bonus.") - (license license:gpl3+) - (home-page "http://www.gnu.org/software/gzip/"))) - -(define-public bzip2 - (let ((fix-man-dir - ;; Move man pages to $out/share/. - '(lambda* (#:key outputs #:allow-other-keys) - (with-directory-excursion (assoc-ref outputs "out") - (mkdir "share") - (rename-file "man" "share")))) - (build-shared-lib - ;; Build a shared library. - '(lambda* (#:key inputs #:allow-other-keys) - (patch-makefile-SHELL "Makefile-libbz2_so") - (zero? (system* "make" "-f" "Makefile-libbz2_so")))) - (install-shared-lib - '(lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (libdir (string-append out "/lib"))) - (for-each (lambda (file) - (let ((base (basename file))) - (format #t "installing `~a' to `~a'~%" - base libdir) - (copy-file file - (string-append libdir "/" base)))) - (find-files "." "^libbz2\\.so")))))) - (package - (name "bzip2") - (version "1.0.6") - (source (origin - (method url-fetch) - (uri (string-append "http://www.bzip.org/" version "/bzip2-" - version ".tar.gz")) - (sha256 - (base32 - "1kfrc7f0ja9fdn6j1y6yir6li818npy6217hvr3wzmnmzhs8z152")))) - (build-system gnu-build-system) - (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-1)) - #:phases - (alist-cons-before - 'build 'build-shared-lib ,build-shared-lib - (alist-cons-after - 'install 'fix-man-dir ,fix-man-dir - (alist-cons-after - 'install 'install-shared-lib ,install-shared-lib - (alist-delete 'configure %standard-phases)))) - #:make-flags (list (string-append "PREFIX=" - (assoc-ref %outputs "out"))))) - (synopsis "high-quality data compression program") - (description - "bzip2 is a freely available, patent free (see below), high-quality data -compressor. It typically compresses files to within 10% to 15% of the best -available techniques (the PPM family of statistical compressors), whilst -being around twice as fast at compression and six times faster at -decompression.") - (license (license:bsd-style "file://LICENSE" - "See LICENSE in the distribution.")) - (home-page "http://www.bzip.org/")))) - -(define-public xz - (package - (name "xz") - (version "5.0.4") - (source (origin - (method url-fetch) - (uri (string-append "http://tukaani.org/xz/xz-" version - ".tar.gz")) - (sha256 - (base32 - "1dl35ca8fdss9z2d6y234gxh24ixq904xksizrjmjr5dimwhax6n")))) - (build-system gnu-build-system) - (synopsis - "XZ, general-purpose data compression software, successor of LZMA") - (description - "XZ Utils is free general-purpose data compression software with high -compression ratio. XZ Utils were written for POSIX-like systems, but also -work on some not-so-POSIX systems. XZ Utils are the successor to LZMA Utils. - -The core of the XZ Utils compression code is based on LZMA SDK, but it has -been modified quite a lot to be suitable for XZ Utils. The primary -compression algorithm is currently LZMA2, which is used inside the .xz -container format. With typical files, XZ Utils create 30 % smaller output -than gzip and 15 % smaller output than bzip2.") - (license '(license:gpl2+ license:lgpl2.1+)) ; bits of both - (home-page "http://tukaani.org/xz/"))) - -(define-public lzo - (package - (name "lzo") - (version "2.06") - (source - (origin - (method url-fetch) - (uri (string-append "http://www.oberhumer.com/opensource/lzo/download/lzo-" - version ".tar.gz")) - (sha256 - (base32 - "0wryshs446s7cclrbjykyj766znhcpnr7s3cxy33ybfn6vwfcygz")))) - (build-system gnu-build-system) - (home-page "http://www.oberhumer.com/opensource/lzo") - (synopsis - "A data compresion library suitable for real-time data de-/compression") - (description - "LZO is a data compression library which is suitable for data -de-/compression in real-time. This means it favours speed over -compression ratio. - -LZO is written in ANSI C. Both the source code and the compressed data -format are designed to be portable across platforms.") - (license license:gpl2+))) diff --git a/distro/packages/cpio.scm b/distro/packages/cpio.scm deleted file mode 100644 index 07c0ec3f53..0000000000 --- a/distro/packages/cpio.scm +++ /dev/null @@ -1,58 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages cpio) - #:use-module (guix licenses) - #:use-module (distro) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public cpio - (package - (name "cpio") - (version "2.11") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/cpio/cpio-" - version ".tar.bz2")) - (sha256 - (base32 - "1gavgpzqwgkpagjxw72xgxz52y1ifgz0ckqh8g7cckz7jvyhp0mv")))) - (build-system gnu-build-system) - (arguments - `(#:patches (list (assoc-ref %build-inputs - "patch/gets")))) - (inputs - `(("patch/gets" ,(search-patch "cpio-gets-undeclared.patch")))) - (home-page "https://www.gnu.org/software/cpio/") - (synopsis - "A program to create or extract from cpio archives") - (description - "GNU Cpio copies files into or out of a cpio or tar archive. The -archive can be another file on the disk, a magnetic tape, or a pipe. - -GNU Cpio supports the following archive formats: binary, old ASCII, new -ASCII, crc, HPUX binary, HPUX old ASCII, old tar, and POSIX.1 tar. The -tar format is provided for compatability with the tar program. By -default, cpio creates binary format archives, for compatibility with -older cpio programs. When extracting from archives, cpio automatically -recognizes which kind of archive it is reading and can read archives -created on machines with a different byte-order.") - (license gpl3+))) \ No newline at end of file diff --git a/distro/packages/cyrus-sasl.scm b/distro/packages/cyrus-sasl.scm deleted file mode 100644 index 9ce2051a68..0000000000 --- a/distro/packages/cyrus-sasl.scm +++ /dev/null @@ -1,57 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages cyrus-sasl) - #:use-module (distro) - #:use-module (distro packages gdbm) - #:use-module (distro packages mit-krb5) - #:use-module (distro packages openssl) - #:use-module ((guix licenses) - #:renamer (symbol-prefix-proc 'license:)) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public cyrus-sasl - (package - (name "cyrus-sasl") - (version "2.1.26") - (source (origin - (method url-fetch) - (uri (string-append "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-" version - ".tar.gz")) - (sha256 (base32 - "1hvvbcsg21nlncbgs0cgn3iwlnb3vannzwsp6rwvnn9ba4v53g4g")))) - (build-system gnu-build-system) - (inputs `(("gdbm" ,gdbm) - ("mit-krb5" ,mit-krb5) - ("openssl" ,openssl))) - (arguments - '(#:configure-flags (list (string-append "--with-plugindir=" - (assoc-ref %outputs "out") - "/lib/sasl2")))) - (synopsis "Cyrus SASL, an implementation of the Simple Authentication Security Layer framework") - (description - "SASL (Simple Authentication Security Layer) is an Internet -standards-track method for remote computers to authenticate. The Cyrus SASL -library makes supporting various SASL mechanisms easy for both client and -server writers.") - (license (license:bsd-style "file://COPYING" - "See COPYING in the distribution.")) - (home-page "http://cyrusimap.web.cmu.edu/index.php"))) diff --git a/distro/packages/ddrescue.scm b/distro/packages/ddrescue.scm deleted file mode 100644 index 97bfd78309..0000000000 --- a/distro/packages/ddrescue.scm +++ /dev/null @@ -1,60 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages ddrescue) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public ddrescue - (package - (name "ddrescue") - (version "1.16") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/ddrescue/ddrescue-" - version ".tar.gz")) - (sha256 - (base32 - "1rixya7p8c4jrn4p0flf6h5dqwybrilf3hrj4r7x41h3zgjz5cvn")))) - (build-system gnu-build-system) - (home-page - "http://www.gnu.org/software/ddrescue/ddrescue.html") - (synopsis "GNU ddrescue, a data recovery tool") - (description - "GNU ddrescue is a data recovery tool. It copies data from one -file or block device (hard disc, cdrom, etc) to another, trying hard to -rescue data in case of read errors. - -The basic operation of ddrescue is fully automatic. That is, you don't -have to wait for an error, stop the program, read the log, run it in -reverse mode, etc. - -If you use the logfile feature of ddrescue, the data is rescued very -efficiently (only the needed blocks are read). Also you can interrupt -the rescue at any time and resume it later at the same point. - -Automatic merging of backups: If you have two or more damaged copies of -a file, cdrom, etc, and run ddrescue on all of them, one at a time, with -the same output file, you will probably obtain a complete and error-free -file. This is so because the probability of having damaged areas at the -same places on different input files is very low. Using the logfile, -only the needed blocks are read from the second and successive copies.") - (license gpl3+))) diff --git a/distro/packages/dejagnu.scm b/distro/packages/dejagnu.scm deleted file mode 100644 index f350f8a973..0000000000 --- a/distro/packages/dejagnu.scm +++ /dev/null @@ -1,88 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages dejagnu) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix licenses) - #:use-module (distro packages tcl)) - -(define-public dejagnu - (package - (name "dejagnu") - (version "1.5") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/dejagnu/dejagnu-" - version ".tar.gz")) - (sha256 - (base32 - "1nx3x3h96a82q92q108q71giv2nz9xmbbn2nrlr3wvvs6l45id68")))) - (build-system gnu-build-system) - (inputs `(("expect" ,expect))) - (arguments - '(#:phases (alist-replace - 'check - (lambda _ - ;; Note: The test-suite *requires* /dev/pts among the - ;; `build-chroot-dirs' of the build daemon when - ;; building in a chroot. See - ;; <http://thread.gmane.org/gmane.linux.distributions.nixos/1036> - ;; for details. - (if (and (directory-exists? "/dev/pts") - (directory-exists? "/proc")) - (begin - ;; Provide `runtest' with a log name, otherwise - ;; it tries to run `whoami', which fails when in - ;; a chroot. - (setenv "LOGNAME" "guix-builder") - - ;; The test-suite needs to have a non-empty stdin: - ;; <http://lists.gnu.org/archive/html/bug-dejagnu/2003-06/msg00002.html>. - (zero? - (system "make check < /dev/zero"))) - (begin - (display "test suite cannot be run, skipping\n") - #t))) - (alist-cons-after - 'install 'post-install - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Use the right `expect' binary. - (let ((out (assoc-ref outputs "out")) - (expect (assoc-ref inputs "expect"))) - (substitute* (string-append out "/bin/runtest") - (("^mypath.*$" all) - (string-append all - "export PATH=" - expect "/bin:$PATH\n"))))) - %standard-phases)))) - (home-page - "http://www.gnu.org/software/dejagnu/") - (synopsis "The DejaGNU testing framework") - (description - "DejaGnu is a framework for testing other programs. Its purpose -is to provide a single front end for all tests. Think of it as a -custom library of Tcl procedures crafted to support writing a -test harness. A test harness is the testing infrastructure that -is created to support a specific program or tool. Each program -can have multiple testsuites, all supported by a single test -harness. DejaGnu is written in Expect, which in turn uses Tcl -- -Tool command language.") - (license gpl2+))) diff --git a/distro/packages/ed.scm b/distro/packages/ed.scm deleted file mode 100644 index 614b3ae645..0000000000 --- a/distro/packages/ed.scm +++ /dev/null @@ -1,53 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages ed) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public ed - (package - (name "ed") - (version "1.5") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://gnu/ed/ed-" - version - ".tar.gz")) - (sha256 - (base32 - "18gvhyhwpabmgv4lh21lg8vl3z7acdyhh2mr2kj9g75wksj39pcp")))) - (build-system gnu-build-system) - (arguments '(#:configure-flags '("CC=gcc"))) - (home-page "http://www.gnu.org/software/ed/") - (synopsis - "GNU ed, an implementation of the standard Unix editor") - (description - "GNU ed is a line-oriented text editor. It is used to create, -display, modify and otherwise manipulate text files, both -interactively and via shell scripts. A restricted version of ed, -red, can only edit files in the current directory and cannot -execute shell commands. Ed is the \"standard\" text editor in the -sense that it is the original editor for Unix, and thus widely -available. For most purposes, however, it is superseded by -full-screen editors such as GNU Emacs or GNU Moe.") - (license gpl3+))) diff --git a/distro/packages/emacs.scm b/distro/packages/emacs.scm deleted file mode 100644 index 5a3d3f3910..0000000000 --- a/distro/packages/emacs.scm +++ /dev/null @@ -1,93 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages emacs) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (distro) - #:use-module (distro packages ncurses) - #:use-module (distro packages texinfo) - #:use-module (distro packages gnutls) - #:use-module (distro packages pkg-config)) - -(define-public emacs - (package - (name "emacs") - (version "24.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/emacs/emacs-" - version ".tar.bz2")) - (sha256 - (base32 - "13wbjfjmz13qpjwssy44nw2230lllmkkgjsy0rqfm6am2cf87n3k")))) - (build-system gnu-build-system) - (arguments - '(#:configure-flags - (list (string-append "--with-crt-dir=" (assoc-ref %build-inputs "libc") - "/lib")) - #:patches (list (assoc-ref %build-inputs "patch/epaths")) - #:phases (alist-cons-before - 'configure 'fix-/bin/pwd - (lambda _ - ;; Use `pwd', not `/bin/pwd'. - (substitute* (find-files "." "^Makefile\\.in$") - (("/bin/pwd") - "pwd"))) - %standard-phases))) - (inputs - `(("pkg-config" ,pkg-config) - ("gnutls" ,gnutls) - ("texinfo" ,texinfo) - ("ncurses" ,ncurses) - - ;; TODO: Add the optional dependencies. - ;; ("xlibs" ,xlibs) - ;; ("gtk+" ,gtk+) - ;; ("libXft" ,libXft) - ;; ("libtiff" ,libtiff) - ;; ("libungif" ,libungif) - ;; ("libjpeg" ,libjpeg) - ;; ("libpng" ,libpng) - ;; ("libXpm" ,libXpm) - ;; ("libxml2" ,libxml2) - ;; ("dbus-library" ,dbus-library) - - ("patch/epaths" ,(search-patch "emacs-configure-sh.patch")) - )) - (home-page "http://www.gnu.org/software/emacs/") - (synopsis - "GNU Emacs 24, the extensible, customizable text editor") - (description - "GNU Emacs is an extensible, customizable text editor—and more. At its -core is an interpreter for Emacs Lisp, a dialect of the Lisp -programming language with extensions to support text editing. - -The features of GNU Emacs include: content-sensitive editing modes, -including syntax coloring, for a wide variety of file types including -plain text, source code, and HTML; complete built-in documentation, -including a tutorial for new users; full Unicode support for nearly all -human languages and their scripts; highly customizable, using Emacs -Lisp code or a graphical interface; a large number of extensions that -add other functionality, including a project planner, mail and news -reader, debugger interface, calendar, and more. Many of these -extensions are distributed with GNU Emacs; others are available -separately.") - (license gpl3+))) diff --git a/distro/packages/file.scm b/distro/packages/file.scm deleted file mode 100644 index 61bdd71cfe..0000000000 --- a/distro/packages/file.scm +++ /dev/null @@ -1,44 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages file) - #:use-module (distro) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public file - (package - (name "file") - (version "5.12") - (source (origin - (method url-fetch) - (uri (string-append "ftp://ftp.astron.com/pub/file/file-" - version ".tar.gz")) - (sha256 (base32 - "08ix4xrvan0k80n0l5lqfmc4azjv5lyhvhwdxny4r09j5smhv78r")))) - (build-system gnu-build-system) - (synopsis "file, a file type guesser") - (description - "The file command is a file type guesser, a command-line tool that tells -you in words what kind of data a file contains. It does not rely on filename -extentions to tell you the type of a file, but looks at the actual contents -of the file.") - (license bsd-2) - (home-page "http://www.darwinsys.com/file/"))) diff --git a/distro/packages/flex.scm b/distro/packages/flex.scm deleted file mode 100644 index 2cfdbfe23a..0000000000 --- a/distro/packages/flex.scm +++ /dev/null @@ -1,63 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages flex) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (distro) - #:use-module (distro packages m4) - #:use-module (distro packages bison) - #:use-module (distro packages indent)) - -(define-public flex - (package - (name "flex") - (version "2.5.37") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/flex/flex-" - version ".tar.bz2")) - (sha256 - (base32 - "0ah5mi4j62b85a9rllv1004mzjb5cd0mn4glvz13p88rpx77pahp")))) - (build-system gnu-build-system) - (arguments - '(#:patches (list (assoc-ref %build-inputs "patch/bison-tests")))) - (inputs `(("patch/bison-tests" ,(search-patch "flex-bison-tests.patch")) - ("bison" ,bison) - ("indent" ,indent))) - (propagated-inputs `(("m4" ,m4))) - (home-page "http://flex.sourceforge.net/") - (synopsis "A fast lexical analyser generator") - (description - "Flex is a tool for generating scanners. A scanner, sometimes -called a tokenizer, is a program which recognizes lexical patterns in -text. The flex program reads user-specified input files, or its standard -input if no file names are given, for a description of a scanner to -generate. The description is in the form of pairs of regular expressions -and C code, called rules. Flex generates a C source file named, -\"lex.yy.c\", which defines the function yylex(). The file \"lex.yy.c\" -can be compiled and linked to produce an executable. When the executable -is run, it analyzes its input for occurrences of text matching the -regular expressions for each rule. Whenever it finds a match, it -executes the corresponding C code.") - (license (bsd-style "file://COPYING" - "See COPYING in the distribution.")))) - diff --git a/distro/packages/gawk.scm b/distro/packages/gawk.scm deleted file mode 100644 index 6fed7f8b70..0000000000 --- a/distro/packages/gawk.scm +++ /dev/null @@ -1,71 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages gawk) - #:use-module (guix licenses) - #:use-module (distro packages libsigsegv) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system gnu)) - -(define-public gawk - (package - (name "gawk") - (version "4.0.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gawk/gawk-" version - ".tar.bz2")) - (sha256 - (base32 "0sss7rhpvizi2a88h6giv0i7w5h07s2fxkw3s6n1hqvcnhrfgbb0")))) - (build-system gnu-build-system) - (arguments - (case-lambda - ((system) - `(#:parallel-tests? #f ; test suite fails in parallel - - ;; Work around test failure on Cygwin. - #:tests? ,(not (string=? system "i686-cygwin")) - - #:phases (alist-cons-before - 'configure 'set-shell-file-name - (lambda* (#:key inputs #:allow-other-keys) - ;; Refer to the right shell. - (let ((bash (assoc-ref inputs "bash"))) - (substitute* "io.c" - (("/bin/sh") - (string-append bash "/bin/bash"))))) - %standard-phases))) - ((system cross-system) - '(#:parallel-tests? #f)))) - (inputs `(("libsigsegv" ,libsigsegv))) - (home-page "http://www.gnu.org/software/gawk/") - (synopsis "GNU implementation of the Awk programming language") - (description - "Many computer users need to manipulate text files: extract and then -operate on data from parts of certain lines while discarding the rest, make -changes in various text files wherever certain patterns appear, and so on. -To write a program to do these things in a language such as C or Pascal is a -time-consuming inconvenience that may take many lines of code. The job is -easy with awk, especially the GNU implementation: Gawk. - -The awk utility interprets a special-purpose programming language that makes -it possible to handle many data-reformatting jobs with just a few lines of -code.") - (license gpl3+))) diff --git a/distro/packages/gdb.scm b/distro/packages/gdb.scm deleted file mode 100644 index 4540c04099..0000000000 --- a/distro/packages/gdb.scm +++ /dev/null @@ -1,65 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages gdb) - #:use-module (distro packages ncurses) - #:use-module (distro packages readline) - #:use-module (distro packages dejagnu) - #:use-module (distro packages texinfo) - #:use-module (distro packages multiprecision) - #:use-module (distro packages xml) - #:use-module (distro packages python) - #:use-module ((guix licenses) #:select (gpl3+)) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public gdb - (package - (name "gdb") - (version "7.5") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gdb/gdb-" - version ".tar.bz2")) - (sha256 - (base32 - "0chrws5ga90b50kp06yll6zy42fhnx9yr87r4i7swsc369fc8y6i")))) - (build-system gnu-build-system) - (arguments - '(#:phases (alist-cons-after - 'configure 'post-configure - (lambda _ - (patch-makefile-SHELL "gdb/gdbserver/Makefile.in")) - %standard-phases))) - (inputs - `(("expat" ,expat) - ("mpfr" ,mpfr) - ("gmp" ,gmp) - ("readline" ,readline) - ("ncurses" ,ncurses) - ("python" ,python) - ("texinfo" ,texinfo) - ("dejagnu" ,dejagnu))) - (home-page "http://www.gnu.org/software/gdb/") - (synopsis "GDB, the GNU Project debugger") - (description - "GDB, the GNU Project debugger, allows you to see what is going -on `inside' another program while it executes -- or what another -program was doing at the moment it crashed.") - (license gpl3+))) diff --git a/distro/packages/gdbm.scm b/distro/packages/gdbm.scm deleted file mode 100644 index 47f1b95e95..0000000000 --- a/distro/packages/gdbm.scm +++ /dev/null @@ -1,56 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages gdbm) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public gdbm - (package - (name "gdbm") - (version "1.10") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gdbm/gdbm-" - version ".tar.gz")) - (sha256 - (base32 - "0h9lfzdjc2yl849y0byg51h6xfjg0y7vg9jnsw3gpfwlbd617y13")))) - (build-system gnu-build-system) - (home-page "http://www.gnu.org/software/gdbm/") - (synopsis "GNU dbm key/value database library") - (description - "GNU dbm (or GDBM, for short) is a library of database functions -that use extensible hashing and work similar to the standard UNIX dbm. -These routines are provided to a programmer needing to create and -manipulate a hashed database. - -The basic use of GDBM is to store key/data pairs in a data file. Each -key must be unique and each key is paired with only one data item. - -The library provides primitives for storing key/data pairs, searching -and retrieving the data by its key and deleting a key along with its -data. It also support sequential iteration over all key/data pairs in a -database. - -For compatibility with programs using old UNIX dbm function, the package -also provides traditional dbm and ndbm interfaces.") - (license gpl3+))) diff --git a/distro/packages/gettext.scm b/distro/packages/gettext.scm deleted file mode 100644 index e4d4acc615..0000000000 --- a/distro/packages/gettext.scm +++ /dev/null @@ -1,78 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages gettext) - #:use-module (guix licenses) - #:use-module (distro) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public gettext - (package - (name "gettext") - (version "0.18.1.1") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gettext/gettext-" - version ".tar.gz")) - (sha256 - (base32 - "1sa3ch12qxa4h3ya6hkz119yclcccmincl9j20dhrdx5mykp3b4k")))) - (build-system gnu-build-system) - (arguments - `(#:patches (list (assoc-ref %build-inputs "patch/gets")) - #:phases (alist-cons-before - 'check 'patch-tests - (lambda* (#:key inputs #:allow-other-keys) - (let ((bash (assoc-ref inputs "bash"))) - (substitute* (find-files "gettext-tools/tests" - "^msgexec-[0-9]") - (("#![[:blank:]]/bin/sh") - (format #f "#!~a/bin/sh" bash))) - (substitute* (find-files "gettext-tools/gnulib-tests" - "posix_spawn") - (("/bin/sh") - (format #f "~a/bin/bash" bash))))) - %standard-phases))) - (inputs - `(("patch/gets" - ,(search-patch "gettext-gets-undeclared.patch")))) - (home-page - "http://www.gnu.org/software/gettext/") - (synopsis - "GNU gettext, a well integrated set of translation tools and documentation") - (description - "Usually, programs are written and documented in English, and use -English at execution time for interacting with users. Using a common -language is quite handy for communication between developers, -maintainers and users from all countries. On the other hand, most -people are less comfortable with English than with their own native -language, and would rather be using their mother tongue for day to -day's work, as far as possible. Many would simply love seeing their -computer screen showing a lot less of English, and far more of their -own language. - -GNU `gettext' is an important step for the GNU Translation Project, as -bit is an asset on which we may build many other steps. This package -offers to programmers, translators, and even users, a well integrated -set of tools and documentation. Specifically, the GNU `gettext' -utilities are a set of tools that provides a framework to help other -GNU packages produce multi-lingual messages.") - (license gpl3))) ; some files are under GPLv2+ diff --git a/distro/packages/global.scm b/distro/packages/global.scm deleted file mode 100644 index ddd28c2887..0000000000 --- a/distro/packages/global.scm +++ /dev/null @@ -1,58 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages global) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix licenses) - #:use-module (distro packages ncurses) - #:use-module (distro packages autotools) - #:use-module (distro)) - -(define-public global ; a global variable - (package - (name "global") - (version "6.2.7") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/global/global-" - version ".tar.gz")) - (sha256 - (base32 - "1dr250kz65wqpbms4lhz857mzmvmpmiaxgyqxvxkb4b0s840i14i")))) - (build-system gnu-build-system) - (inputs `(("ncurses" ,ncurses) - ("libtool" ,libtool))) - (arguments - `(#:configure-flags - (list (string-append "--with-ncurses=" - (assoc-ref %build-inputs "ncurses"))))) - (home-page "http://www.gnu.org/software/global/") - (synopsis "GNU GLOBAL source code tag system") - (description - "GNU GLOBAL is a source code tagging system that works the same way -across diverse environments (Emacs, vi, less, Bash, web browser, etc). -You can locate specified objects in source files and move there easily. -It is useful for hacking a large project containing many -subdirectories, many #ifdef and many main() functions. It is similar -to ctags or etags but is different from them at the point of -independence of any editor. It runs on a UNIX (POSIX) compatible -operating system like GNU and BSD.") - (license "GPLv3+"))) diff --git a/distro/packages/gnupg.scm b/distro/packages/gnupg.scm deleted file mode 100644 index 5fdf19187d..0000000000 --- a/distro/packages/gnupg.scm +++ /dev/null @@ -1,168 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages gnupg) - #:use-module (guix licenses) - #:use-module (distro packages pth) - #:use-module (distro packages readline) - #:use-module ((distro packages compression) - #:renamer (symbol-prefix-proc 'guix:)) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public libgpg-error - (package - (name "libgpg-error") - (version "1.10") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnupg/libgpg-error/libgpg-error-" - version ".tar.bz2")) - (sha256 - (base32 - "0cal3jdnzdailr13qcy74grfbplbghkgr3qwk6qjjp4bass2j1jj")))) - (build-system gnu-build-system) - (home-page "http://gnupg.org") - (synopsis - "Libgpg-error, a small library that defines common error values for all GnuPG components") - (description - "Libgpg-error is a small library that defines common error values -for all GnuPG components. Among these are GPG, GPGSM, GPGME, -GPG-Agent, libgcrypt, Libksba, DirMngr, Pinentry, SmartCard -Daemon and possibly more in the future.") - (license lgpl2.0+))) - -(define-public libgcrypt - (package - (name "libgcrypt") - (version "1.5.0") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-" - version ".tar.bz2")) - (sha256 - (base32 - "1ykkh7dm0gyndz7bbpvn3agijj8xb2h02m02f42hm504c18zqqjb")))) - (build-system gnu-build-system) - (propagated-inputs - `(("libgpg-error" ,libgpg-error))) - (home-page "http://gnupg.org/") - (synopsis - "GNU Libgcrypt, a general-pupose cryptographic library") - (description - "GNU Libgcrypt is a general purpose cryptographic library based on -the code from GnuPG. It provides functions for all -cryptographic building blocks: symmetric ciphers, hash -algorithms, MACs, public key algorithms, large integer -functions, random numbers and a lot of supporting functions.") - (license lgpl2.0+))) - -(define-public libassuan - (package - (name "libassuan") - (version "2.0.3") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnupg/libassuan/libassuan-" - version ".tar.bz2")) - (sha256 - (base32 - "06xckkvxxlx7cj77803m8x58gxksap4k8yhspc5cqsy7fhinimds")))) - (build-system gnu-build-system) - (propagated-inputs - `(("libgpg-error" ,libgpg-error) ("pth" ,pth))) - (home-page "http://gnupg.org") - (synopsis - "Libassuan, the IPC library used by GnuPG and related software") - (description - "Libassuan is a small library implementing the so-called Assuan -protocol. This protocol is used for IPC between most newer -GnuPG components. Both, server and client side functions are -provided.") - (license lgpl2.0+))) - -(define-public libksba - (package - (name "libksba") - (version "1.2.0") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://gnupg/libksba/libksba-" - version ".tar.bz2")) - (sha256 - (base32 - "0jwk7hm3x3g4hd7l12z3d79dy7359x7lc88dq6z7q0ixn1jwxbq9")))) - (build-system gnu-build-system) - (propagated-inputs - `(("libgpg-error" ,libgpg-error))) - (home-page "http://www.gnupg.org") - (synopsis - "Libksba is a CMS and X.509 access library under development") - (description - "KSBA (pronounced Kasbah) is a library to make X.509 certificates -as well as the CMS easily accessible by other applications. Both -specifications are building blocks of S/MIME and TLS.") - (license gpl3+))) - -(define-public gnupg - (package - (name "gnupg") - (version "2.0.19") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnupg/gnupg/gnupg-" version - ".tar.bz2")) - (sha256 - (base32 - "08n636sfffs5qvg9ppiprvsh00q0dmdw425psg3m3nssja53m8pg")))) - (build-system gnu-build-system) - (inputs - `(;; TODO: Add missing optional deps. - ;; ("curl" ,curl) - ;; ("libusb" ,libusb) - ;; ("openldap" ,openldap) - - ("bzip2" ,guix:bzip2) - ("libassuan" ,libassuan) - ("libgcrypt" ,libgcrypt) - ("libksba" ,libksba) - ("pth" ,pth) - ("libgpg-error" ,libgpg-error) - ("zlib" ,guix:zlib) - ("readline" ,readline))) - (home-page "http://gnupg.org/") - (synopsis - "GNU Privacy Guard (GnuPG), GNU Project's implementation of the OpenPGP standard") - (description - "GnuPG is the GNU project's complete and free implementation of -the OpenPGP standard as defined by RFC4880. GnuPG allows to -encrypt and sign your data and communication, features a -versatile key managment system as well as access modules for all -kind of public key directories. GnuPG, also known as GPG, is a -command line tool with features for easy integration with other -applications. A wealth of frontend applications and libraries -are available. Version 2 of GnuPG also provides support for -S/MIME.") - (license gpl3+))) diff --git a/distro/packages/gnutls.scm b/distro/packages/gnutls.scm deleted file mode 100644 index 269907e7c4..0000000000 --- a/distro/packages/gnutls.scm +++ /dev/null @@ -1,98 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages gnutls) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (distro packages base) - #:use-module ((distro packages compression) - #:renamer (symbol-prefix-proc 'guix:)) - #:use-module (distro packages nettle) - #:use-module (distro packages guile) - #:use-module (distro packages perl) - #:use-module (distro packages which)) - -(define-public libtasn1 - (package - (name "libtasn1") - (version "3.2") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/libtasn1/libtasn1-" - version ".tar.gz")) - (sha256 - (base32 - "0gvgndypwicchf7m660zh7jdgmkfj9g9xavpcc08pyd0120y0bk7")))) - (build-system gnu-build-system) - (home-page "http://www.gnu.org/software/libtasn1/") - (synopsis "GNU Libtasn1, an ASN.1 library") - (description - "Libtasn1 is the ASN.1 library used by GnuTLS, GNU Shishi and some -other packages. The goal of this implementation is to be highly -portable, and only require an ANSI C89 platform.") - (license lgpl2.0+))) - -(define-public gnutls - (package - (name "gnutls") - (version "3.1.6") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://gnu/gnutls/gnutls-" - version - ".tar.xz")) - (sha256 - (base32 - "0zsybr9plllk1phh83bx9bg7c5ccik427j4n3k1s9fiy4j69n0w3")))) - (build-system gnu-build-system) - - ;; Build of the Guile bindings is not parallel-safe. See - ;; <http://git.savannah.gnu.org/cgit/gnutls.git/commit/?id=330995a920037b6030ec0282b51dde3f8b493cad> - ;; for the actual fix. - (arguments '(#:parallel-build? #f)) - - (inputs - `(("guile" ,guile-2.0) - ;; ("lzo" ,lzo) - ("zlib" ,guix:zlib) - ("perl" ,perl))) - (propagated-inputs - `(("libtasn1" ,libtasn1) - ("nettle" ,nettle) - ("which" ,which))) - (home-page "http://www.gnu.org/software/gnutls/") - (synopsis - "The GNU Transport Layer Security Library") - (description - "GnuTLS is a project that aims to develop a library which provides -a secure layer, over a reliable transport layer. Currently the GnuTLS -library implements the proposed standards by the IETF's TLS working -group. - -Quoting from the TLS protocol specification: - -\"The TLS protocol provides communications privacy over the -Internet. The protocol allows client/server applications to communicate -in a way that is designed to prevent eavesdropping, tampering, or -message forgery.\"") - (license lgpl2.1+))) diff --git a/distro/packages/gperf.scm b/distro/packages/gperf.scm deleted file mode 100644 index f1827e0a65..0000000000 --- a/distro/packages/gperf.scm +++ /dev/null @@ -1,55 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages gperf) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system gnu)) - -(define-public gperf - (package - (name "gperf") - (version "3.0.4") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gperf/gperf-" - version ".tar.gz")) - (sha256 - (base32 - "0gnnm8iqcl52m8iha3sxrzrl9mcyhg7lfrhhqgdn4zj00ji14wbn")))) - (build-system gnu-build-system) - (arguments '(#:parallel-tests? #f)) - (home-page "http://www.gnu.org/software/gperf/") - (synopsis - "GNU gperf, a perfect hash function generator") - (description - "GNU gperf is a perfect hash function generator. For a given -list of strings, it produces a hash function and hash table, in -form of C or C++ code, for looking up a value depending on the -input string. The hash function is perfect, which means that -the hash table has no collisions, and the hash table lookup -needs a single string comparison only. - -GNU gperf is highly customizable. There are options for -generating C or C++ code, for emitting switch statements or -nested ifs instead of a hash table, and for tuning the algorithm -employed by gperf.") - (license gpl3+))) diff --git a/distro/packages/gsasl.scm b/distro/packages/gsasl.scm deleted file mode 100644 index 43530b57ad..0000000000 --- a/distro/packages/gsasl.scm +++ /dev/null @@ -1,113 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Andreas Enge <andreas@enge.fr> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages gsasl) - #:use-module (distro) - #:use-module ((distro packages compression) - #:renamer (symbol-prefix-proc 'guix:)) - #:use-module (distro packages gnutls) - #:use-module (distro packages libidn) - #:use-module (distro packages nettle) - #:use-module (distro packages shishi) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public libntlm - (package - (name "libntlm") - (version "1.3") - (source (origin - (method url-fetch) - (uri (string-append "http://www.nongnu.org/libntlm/releases/libntlm-" version - ".tar.gz")) - (sha256 (base32 - "101pr110ardcj2di940g6vaqifsaxc44h6hjn81l63dvmkj5a6ga")))) - (build-system gnu-build-system) - (synopsis "Libntlm, a library that implements NTLM authentication") - (description - "Libntlm is a library that implements NTLM authentication") - (license lgpl2.1+) - (home-page "http://www.nongnu.org/libntlm/"))) - -(define-public gss - (package - (name "gss") - (version "1.0.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gss/gss-" version - ".tar.gz")) - (sha256 (base32 - "1qa8lbkzi6ilfggx7mchfzjnchvhwi68rck3jf9j4425ncz7zsd9")))) - (build-system gnu-build-system) - (inputs `(("nettle" ,nettle) - ("shishi" ,shishi) - ("zlib" ,guix:zlib) - )) - (synopsis "GNU GSS (Generic Security Service), a free implementatio of RFC 2743/2744") - (description - "GNU GSS is an implementation of the Generic Security Service Application -Program Interface (GSS-API). GSS-API is used by network servers to provide -security services, e.g., to authenticate SMTP/IMAP clients against -SMTP/IMAP servers. GSS consists of a library and a manual.") - (license gpl3+) - (home-page "http://www.gnu.org/software/gss/"))) - -(define-public gsasl - (package - (name "gsasl") - (version "1.8.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gsasl/gsasl-" version - ".tar.gz")) - (sha256 (base32 - "1rci64cxvcfr8xcjpqc4inpfq7aw4snnsbf5xz7d30nhvv8n40ii")))) - (build-system gnu-build-system) - (inputs `(("libidn" ,libidn) - ("libntlm" ,libntlm) - ("gnutls" ,gnutls) - ("gss" ,gss) - ("zlib" ,guix:zlib) - )) - (synopsis "GNU SASL, an implementation of the Simple Authentication and Security Layer framework") - (description - "GNU SASL is an implementation of the Simple Authentication and Security -Layer framework and a few common SASL mechanisms. SASL is used by network -servers (e.g., IMAP, SMTP) to request authentication from clients, and in -clients to authenticate against servers. - -GNU SASL consists of a library (libgsasl), a command line utility (gsasl) -to access the library from the shell, and a manual. The library includes -support for the framework (with authentication functions and application -data privacy and integrity functions) and at least partial support for the -CRAM-MD5, EXTERNAL, GSSAPI, ANONYMOUS, PLAIN, SECURID, DIGEST-MD5, -SCRAM-SHA-1, SCRAM-SHA-1-PLUS, LOGIN, and NTLM mechanisms. - -The library is portable because it does not do network communication by -itself, but rather leaves it up to the calling application. The library is -flexible with regards to the authorization infrastructure used, as it -utilises callbacks into the application to decide whether an user is -authorised or not. - -The gsasl package distribution includes the library part as well, -so there is no need to install two packages.") - (license gpl3+) - (home-page "http://www.gnu.org/software/gsasl/"))) diff --git a/distro/packages/guile.scm b/distro/packages/guile.scm deleted file mode 100644 index 9964f9d9f0..0000000000 --- a/distro/packages/guile.scm +++ /dev/null @@ -1,197 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages guile) - #:use-module (guix licenses) - #:use-module (distro) - #:use-module (distro packages bdw-gc) - #:use-module (distro packages gawk) - #:use-module (distro packages gperf) - #:use-module (distro packages libffi) - #:use-module (distro packages autotools) - #:use-module (distro packages libunistring) - #:use-module (distro packages m4) - #:use-module (distro packages multiprecision) - #:use-module (distro packages pkg-config) - #:use-module (distro packages readline) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -;;; Commentary: -;;; -;;; GNU Guile, and modules and extensions. -;;; -;;; Code: - -(define-public guile-1.8 - (package - (name "guile") - (version "1.8.8") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/guile/guile-" version - ".tar.gz")) - (sha256 - (base32 - "0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3")))) - (build-system gnu-build-system) - (arguments '(#:configure-flags '("--disable-error-on-warning") - #:patches (list (assoc-ref %build-inputs "patch/snarf")) - - ;; Insert a phase before `configure' to patch things up. - #:phases (alist-cons-before - 'configure - 'patch-loader-search-path - (lambda* (#:key outputs #:allow-other-keys) - ;; Add a call to `lt_dladdsearchdir' so that - ;; `libguile-readline.so' & co. are in the - ;; loader's search path. - (substitute* "libguile/dynl.c" - (("lt_dlinit.*$" match) - (format #f - " ~a~% lt_dladdsearchdir(\"~a/lib\");~%" - match - (assoc-ref outputs "out"))))) - %standard-phases))) - (inputs `(("patch/snarf" ,(search-patch "guile-1.8-cpp-4.5.patch")) - ("gawk" ,gawk) - ("readline" ,readline))) - - ;; Since `guile-1.8.pc' has "Libs: ... -lgmp -lltdl", these must be - ;; propagated. - (propagated-inputs `(("gmp" ,gmp) - ("libtool" ,libtool))) - - ;; When cross-compiling, a native version of Guile itself is needed. - (self-native-input? #t) - - (synopsis "GNU Guile 1.8, an embeddable Scheme interpreter") - (description -"GNU Guile 1.8 is an interpreter for the Scheme programming language, -packaged as a library that can be embedded into programs to make them -extensible. It supports many SRFIs.") - (home-page "http://www.gnu.org/software/guile/") - (license lgpl2.0+))) - -(define-public guile-2.0 - (package - (name "guile") - (version "2.0.7") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/guile/guile-" version - ".tar.xz")) - (sha256 - (base32 - "0f53pxkia4v17n0avwqlcjpy0n89hkazm2xsa6p84lv8k6k8y9vg")))) - (build-system gnu-build-system) - (native-inputs `(("pkgconfig" ,pkg-config))) - (inputs `(("libffi" ,libffi) - ("readline" ,readline))) - - (propagated-inputs - `( ;; These ones aren't normally needed here, but since `libguile-2.0.la' - ;; reads `-lltdl -lunistring', adding them here will add the needed - ;; `-L' flags. As for why the `.la' file lacks the `-L' flags, see - ;; <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903>. - ("libunistring" ,libunistring) - ("libtool" ,libtool) - - ;; The headers and/or `guile-2.0.pc' refer to these packages, so they - ;; must be propagated. - ("bdw-gc" ,libgc) - ("gmp" ,gmp))) - - (self-native-input? #t) - - (arguments - '(#:phases (alist-cons-before - 'configure 'pre-configure - (lambda* (#:key inputs #:allow-other-keys) - (let ((bash (assoc-ref inputs "bash"))) - (substitute* "module/ice-9/popen.scm" - (("/bin/sh") - (string-append bash "/bin/bash"))))) - %standard-phases))) - - (synopsis "GNU Guile 2.0, an embeddable Scheme implementation") - (description -"GNU Guile is an implementation of the Scheme programming language, with -support for many SRFIs, packaged for use in a wide variety of environments. -In addition to implementing the R5RS Scheme standard and a large subset of -R6RS, Guile includes a module system, full access to POSIX system calls, -networking support, multiple threads, dynamic linking, a foreign function -call interface, and powerful string processing.") - (home-page "http://www.gnu.org/software/guile/") - (license lgpl3+))) - -(define-public guile-2.0/fixed - ;; A package of Guile 2.0 that's rarely changed. It is the one used - ;; in the `base' module, and thus changing it entails a full rebuild. - guile-2.0) - - -;;; -;;; Extensions. -;;; - -(define (guile-reader guile) - "Build Guile-Reader against GUILE, a package of some version of Guile 1.8 -or 2.0." - (package - (name (string-append "guile-reader-for-guile-" (package-version guile))) - (version "0.6") - (source (origin - (method url-fetch) - (uri (string-append - "http://download-mirror.savannah.gnu.org/releases/guile-reader/guile-reader-" - version ".tar.gz")) - (sha256 - (base32 - "1svlyk5pm4fsdp2g7n6qffdl6fdggxnlicj0jn9s4lxd63gzxy1n")))) - (build-system gnu-build-system) - (native-inputs `(("pkgconfig" ,pkg-config) - ("gperf" ,gperf))) - (inputs `(("guile" ,guile))) - (synopsis "Guile-Reader, a simple framework for building readers for -GNU Guile") - (description -"Guile-Reader is a simple framework for building readers for GNU Guile. - -The idea is to make it easy to build procedures that extend Guile’s read -procedure. Readers supporting various syntax variants can easily be written, -possibly by re-using existing “token readers” of a standard Scheme -readers. For example, it is used to implement Skribilo’s R5RS-derived -document syntax. - -Guile-Reader’s approach is similar to Common Lisp’s “read table”, but -hopefully more powerful and flexible (for instance, one may instantiate as -many readers as needed).") - (home-page "http://www.nongnu.org/guile-reader/") - (license gpl3+))) - -(define-public guile-reader/guile-1.8 - ;; Guile-Reader built against Guile 1.8. - (guile-reader guile-1.8)) - -(define-public guile-reader/guile-2.0 - ;; Guile-Reader built against Guile 2.0. - (guile-reader guile-2.0)) - -;;; guile.scm ends here diff --git a/distro/packages/help2man.scm b/distro/packages/help2man.scm deleted file mode 100644 index 191ef25c85..0000000000 --- a/distro/packages/help2man.scm +++ /dev/null @@ -1,52 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages help2man) - #:use-module (guix licenses) - #:use-module (guix download) - #:use-module (guix packages) - #:use-module (guix build-system gnu) - #:use-module (distro packages perl)) - -(define-public help2man - (package - (name "help2man") - (version "1.40.8") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/help2man/help2man-" - version ".tar.gz")) - (sha256 - (base32 - "0s6phazn8jgvpbsby8kj2m58rj1zjghi1aipvamh8af226ssqfzj")))) - (build-system gnu-build-system) - (arguments `(;; There's no `check' target. - #:tests? #f)) - (inputs - `(("perl" ,perl) - ;; TODO: Add these optional dependencies. - ;; ("perl-LocaleGettext" ,perl-LocaleGettext) - ;; ("gettext" ,gettext) - )) - (home-page "http://www.gnu.org/software/help2man/") - (synopsis "GNU help2man generates man pages from `--help' output") - (description - "help2man produces simple manual pages from the ‘--help’ and -‘--version’ output of other commands.") - (license gpl3+))) diff --git a/distro/packages/icu4c.scm b/distro/packages/icu4c.scm deleted file mode 100644 index f0adb8f2ce..0000000000 --- a/distro/packages/icu4c.scm +++ /dev/null @@ -1,66 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages icu4c) - #:use-module (distro) - #:use-module (distro packages perl) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public icu4c - (package - (name "icu4c") - (version "50.1.1") - (source (origin - (method url-fetch) - (uri (string-append "http://download.icu-project.org/files/icu4c/" - version - "/icu4c-" - (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version) - "-src.tgz")) - (sha256 (base32 - "13yz0kk6zsgj94idnlr3vbg8iph5z4ly4b4xrd5wfja7q3ijdx56")))) - (build-system gnu-build-system) - (inputs `(("perl" ,perl))) - (arguments - `(#:phases - (alist-replace - 'unpack - (lambda* (#:key source #:allow-other-keys) - (and (zero? (system* "tar" "xvf" source)) - (chdir "icu/source"))) - (alist-replace - 'configure - (lambda* (#:key #:allow-other-keys #:rest args) - (let ((configure (assoc-ref %standard-phases 'configure))) - ;; patch out two occurrences of /bin/sh from configure script - ;; that might have disappeared in a release later than 50.1.1 - (substitute* "configure" - (("`/bin/sh") - (string-append "`" (which "bash")))) - (apply configure args))) - %standard-phases)))) - (synopsis "ICU, International Components for Unicode") - (description - "ICU is a set of C/C++ and Java libraries providing Unicode and -globalisation support for software applications. This package contains the -C/C++ part.") - (license x11) - (home-page "http://site.icu-project.org/"))) diff --git a/distro/packages/idutils.scm b/distro/packages/idutils.scm deleted file mode 100644 index f4c7005f99..0000000000 --- a/distro/packages/idutils.scm +++ /dev/null @@ -1,65 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages idutils) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix licenses) - #:use-module (distro)) - -(define-public idutils - (package - (name "idutils") - (version "4.6") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/idutils/idutils-" - version ".tar.xz")) - (sha256 - (base32 - "1hmai3422iaqnp34kkzxdnywl7n7pvlxp11vrw66ybxn9wxg90c1")))) - (build-system gnu-build-system) - (inputs `(;; TODO: Add Emacs as an input for byte-compilation. - ;; ("emacs" ,emacs) - ("patch/gets" - ,(search-patch "diffutils-gets-undeclared.patch")))) - (arguments `(#:patches (list (assoc-ref %build-inputs "patch/gets")))) - (home-page "http://www.gnu.org/software/idutils/") - (synopsis "GNU Idutils, a text searching utility") - (description - "An \"ID database\" is a binary file containing a list of file -names, a list of tokens, and a sparse matrix indicating which -tokens appear in which files. - -With this database and some tools to query it, many -text-searching tasks become simpler and faster. For example, -you can list all files that reference a particular `\\#include' -file throughout a huge source hierarchy, search for all the -memos containing references to a project, or automatically -invoke an editor on all files containing references to some -function or variable. Anyone with a large software project to -maintain, or a large set of text files to organize, can benefit -from the ID utilities. - -Although the name `ID' is short for `identifier', the ID -utilities handle more than just identifiers; they also treat -other kinds of tokens, most notably numeric constants, and the -contents of certain character strings.") - (license gpl3+))) diff --git a/distro/packages/indent.scm b/distro/packages/indent.scm deleted file mode 100644 index d69a42f978..0000000000 --- a/distro/packages/indent.scm +++ /dev/null @@ -1,44 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages indent) - #:use-module (distro) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public indent - (package - (name "indent") - (version "2.2.10") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/indent/indent-" version - ".tar.gz")) - (sha256 (base32 - "0f9655vqdvfwbxvs1gpa7py8k1z71aqh8hp73f65vazwbfz436wa")))) - (build-system gnu-build-system) - (synopsis "GNU Indent, a program for code indentation and formatting") - (description - "GNU Indent can be used to make code easier to read. It can also convert -from one style of writing C to another. Indent understands a substantial -amount about the syntax of C, but it also attempts to cope with incomplete -and misformed syntax. The GNU style of indenting is the default.") - (license gpl3+) - (home-page "http://www.gnu.org/software/indent/"))) diff --git a/distro/packages/ld-wrapper.scm b/distro/packages/ld-wrapper.scm deleted file mode 100644 index fd5a4cbd0c..0000000000 --- a/distro/packages/ld-wrapper.scm +++ /dev/null @@ -1,147 +0,0 @@ -#!@BASH@ -# -*- mode: scheme; coding: utf-8; -*- - -# XXX: We have to go through Bash because there's no command-line switch to -# augment %load-compiled-path, and because of the silly 127-byte limit for -# the shebang line in Linux. -# Use `load-compiled' because `load' (and `-l') doesn't otherwise load our -# .go file (see <http://bugs.gnu.org/12519>). - -main="(@ (gnu build-support ld-wrapper) ld-wrapper)" -exec @GUILE@ -c "(load-compiled \"$0.go\") (apply $main (cdr (command-line)))" "$@" -!# -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (gnu build-support ld-wrapper) - #:use-module (srfi srfi-1) - #:export (ld-wrapper)) - -;;; Commentary: -;;; -;;; This is a wrapper for the linker. Its purpose is to inspect the -L and -;;; -l switches passed to the linker, add corresponding -rpath arguments, and -;;; invoke the actual linker with this new set of arguments. -;;; -;;; The alternatives to this hack would be: -;;; -;;; 1. Using $LD_RUN_PATH. However, that would tend to include more than -;;; needed in the RPATH; for instance, given a package with `libfoo' as -;;; an input, all its binaries would have libfoo in their RPATH, -;;; regardless of whether they actually NEED it. -;;; -;;; 2. Use a GCC "lib" spec string such as `%{L*:-rpath %*}', which adds a -;;; `-rpath LIBDIR' argument for each occurrence of `-L LIBDIR'. -;;; However, this doesn't work when $LIBRARY_PATH is used, because the -;;; additional `-L' switches are not matched by the above rule, because -;;; the rule only matches explicit user-provided switches. See -;;; <http://gcc.gnu.org/ml/gcc-help/2012-09/msg00110.html> for details. -;;; -;;; As a bonus, this wrapper checks for "impurities"--i.e., references to -;;; libraries outside the store. -;;; -;;; Code: - -(define %real-ld - ;; Name of the linker that we wrap. - "@LD@") - -(define %store-directory - ;; File name of the store. - (or (getenv "NIX_STORE") "/nix/store")) - -(define %temporary-directory - ;; Temporary directory. - (or (getenv "TMPDIR") "/tmp")) - -(define %build-directory - ;; Top build directory when run from a builder. - (getenv "NIX_BUILD_TOP")) - -(define %allow-impurities? - ;; Whether to allow references to libraries outside the store. - (getenv "GUIX_LD_WRAPPER_ALLOW_IMPURITIES")) - -(define %debug? - ;; Whether to emit debugging output. - (getenv "GUIX_LD_WRAPPER_DEBUG")) - -(define (pure-file-name? file) - ;; Return #t when FILE is the name of a file either within the store or - ;; within the build directory. - (or (not (string-prefix? "/" file)) - (string-prefix? %store-directory file) - (string-prefix? %temporary-directory file) - (and %build-directory - (string-prefix? %build-directory file)))) - -(define (switch-arguments switch args) - ;; Return the arguments passed for the occurrences of SWITCH--e.g., - ;; "-L"--in ARGS. - (let ((prefix-len (string-length switch))) - (fold-right (lambda (arg path) - (if (string-prefix? switch arg) - (cons (substring arg prefix-len) path) - path)) - '() - args))) - -(define (library-path args) - ;; Return the library search path extracted from `-L' switches in ARGS. - ;; Note: allow references to out-of-store directories. When this leads to - ;; actual impurities, this is caught later. - (switch-arguments "-L" args)) - -(define (library-files-linked args) - ;; Return the file names of shared libraries explicitly linked against via - ;; `-l' in ARGS. - (map (lambda (lib) - (string-append "lib" lib ".so")) - (switch-arguments "-l" args))) - -(define (rpath-arguments lib-path library-files) - ;; Return the `-rpath' argument list for each of LIBRARY-FILES found in - ;; LIB-PATH. - (fold-right (lambda (file args) - (let ((absolute (search-path lib-path file))) - (if absolute - (if (or %allow-impurities? - (pure-file-name? absolute)) - (cons* "-rpath" (dirname absolute) - args) - (begin - (format (current-error-port) - "ld-wrapper: error: attempt to use impure library ~s~%" - absolute) - (exit 1))) - args))) - '() - library-files)) - -(define (ld-wrapper . args) - ;; Invoke the real `ld' with ARGS, augmented with `-rpath' switches. - (let* ((lib-path (library-path args)) - (libs (library-files-linked args)) - (args (append args (rpath-arguments lib-path libs)))) - (if %debug? - (format (current-error-port) - "ld-wrapper: invoking `~a' with ~s~%" - %real-ld args)) - (apply execl %real-ld (basename %real-ld) args))) - -;;; ld-wrapper.scm ends here diff --git a/distro/packages/less.scm b/distro/packages/less.scm deleted file mode 100644 index 1f05b50e1e..0000000000 --- a/distro/packages/less.scm +++ /dev/null @@ -1,51 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages less) - #:use-module (guix licenses) - #:use-module (distro packages ncurses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public less - (package - (name "less") - (version "451") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/less/less-" - version ".tar.gz")) - (sha256 - (base32 - "0mszdd9m1dsbg59pav62swg9f87xmjpfspcw2jsazzksciy2is4z")))) - (build-system gnu-build-system) - (inputs `(("ncurses" ,ncurses))) - (home-page "https://www.gnu.org/software/less/") - (synopsis - "GNU less is a program similar to more, but which allows backward -movement in the file as well as forward movement") - (description - "GNU less is a program similar to more, but which allows backward -movement in the file as well as forward movement. Also, less does not -have to read the entire input file before starting, so with large input -files it starts up faster than text editors like vi. Less uses -termcap (or terminfo on some systems), so it can run on a variety of -terminals. There is even limited support for hardcopy terminals.") - (license gpl3+))) ; some files are under GPLv2+ \ No newline at end of file diff --git a/distro/packages/libffi.scm b/distro/packages/libffi.scm deleted file mode 100644 index 0900a43cb4..0000000000 --- a/distro/packages/libffi.scm +++ /dev/null @@ -1,73 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages libffi) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system gnu)) - -(define-public libffi - (let ((post-install-phase - ;; Install headers in the right place. - '(lambda* (#:key outputs #:allow-other-keys) - (define out (assoc-ref outputs "out")) - (mkdir (string-append out "/include")) - (with-directory-excursion - (string-append out "/lib/libffi-3.0.9/include") - (for-each (lambda (h) - (format #t "moving `~a' to includedir~%" h) - (rename-file h (string-append out "/include/" h))) - (scandir "." - (lambda (x) - (not (member x '("." "..")))))))))) - (package - (name "libffi") - (version "3.0.9") - (source (origin - (method url-fetch) - (uri - (string-append "ftp://sourceware.org/pub/libffi/" - name "-" version ".tar.gz")) - (sha256 - (base32 - "0ln4jbpb6clcsdpb9niqk0frgx4k0xki96wiv067ig0q4cajb7aq")))) - (build-system gnu-build-system) - (arguments `(#:modules ((guix build utils) (guix build gnu-build-system) - (ice-9 ftw) (srfi srfi-26)) - #:phases (alist-cons-after 'install 'post-install - ,post-install-phase - %standard-phases))) - (synopsis "libffi, a foreign function call interface library") - (description - "The libffi library provides a portable, high level programming interface -to various calling conventions. This allows a programmer to call any -function specified by a call interface description at run-time. - -FFI stands for Foreign Function Interface. A foreign function interface is -the popular name for the interface that allows code written in one language -to call code written in another language. The libffi library really only -provides the lowest, machine dependent layer of a fully featured foreign -function interface. A layer must exist above libffi that handles type -conversions for values passed between the two languages.") - (home-page "http://sources.redhat.com/libffi/") - - ;; See <http://github.com/atgreen/libffi/blob/master/LICENSE>. - (license expat)))) - diff --git a/distro/packages/libidn.scm b/distro/packages/libidn.scm deleted file mode 100644 index dbae143b3a..0000000000 --- a/distro/packages/libidn.scm +++ /dev/null @@ -1,51 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Andreas Enge <andreas@enge.fr> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages libidn) - #:use-module (distro) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public libidn - (package - (name "libidn") - (version "1.26") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/libidn/libidn-" version - ".tar.gz")) - (sha256 (base32 - "0g657kv60rh486m7bwyp5k24ljmym4wnb8nmk6d3i3qgr1qlqbqa")))) - (build-system gnu-build-system) -;; FIXME: No Java and C# libraries are currently built. - (synopsis "GNU Libidn, a library to encode and decode internationalised domain names") - (description - "GNU Libidn is a fully documented implementation of the Stringprep, -Punycode and IDNA specifications. Libidn's purpose is to encode and decode -internationalised domain names. - -The library contains a generic Stringprep implementation. Profiles for -Nameprep, iSCSI, SASL, XMPP and Kerberos V5 are included. Punycode and -ASCII Compatible Encoding (ACE) via IDNA are supported. A mechanism to -define Top-Level Domain (TLD) specific validation tables, and to compare -strings against those tables, is included. -Default tables for some TLDs are also included.") - (license lgpl2.1+) - (home-page "http://www.gnu.org/software/libidn/"))) diff --git a/distro/packages/libjpeg.scm b/distro/packages/libjpeg.scm deleted file mode 100644 index c343771fb0..0000000000 --- a/distro/packages/libjpeg.scm +++ /dev/null @@ -1,57 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages libjpeg) - #:use-module (distro) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public libjpeg - (package - (name "libjpeg") - (version "9") - (source (origin - (method url-fetch) - (uri (string-append "http://www.ijg.org/files/jpegsrc.v" - version ".tar.gz")) - (sha256 (base32 - "0dg5wxcx3cw0hal9gvivj97vid9z0s5sb1yvg55hpxmafn9rxqn4")))) - (build-system gnu-build-system) - (synopsis "Libjpeg, a library for handling JPEG files") - (description - "Libjpeg implements JPEG image encoding, decoding, and transcoding. -JPEG is a standardized compression method for full-color and gray-scale -images. -The included programs provide conversion between the JPEG format and -image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file formats.") - (license ijg) - (home-page "http://www.ijg.org/"))) - -(define-public libjpeg-8 - (package (inherit libjpeg) - (name "libjpeg-8") - (version "8d") - (source (origin - (method url-fetch) - (uri (string-append "http://www.ijg.org/files/jpegsrc.v" - version ".tar.gz")) - (sha256 (base32 - "1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0")))))) - diff --git a/distro/packages/libsigsegv.scm b/distro/packages/libsigsegv.scm deleted file mode 100644 index a21e2064c7..0000000000 --- a/distro/packages/libsigsegv.scm +++ /dev/null @@ -1,47 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages libsigsegv) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system gnu)) - -(define-public libsigsegv - (package - (name "libsigsegv") - (version "2.10") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://gnu/libsigsegv/libsigsegv-" - version ".tar.gz")) - (sha256 - (base32 "16hrs8k3nmc7a8jam5j1fpspd6sdpkamskvsdpcw6m29vnis8q44")))) - (build-system gnu-build-system) - (home-page "http://www.gnu.org/software/libsigsegv/") - (synopsis "GNU libsigsegv, a library to handle page faults in user mode") - (description -"GNU libsigsegv is a library for handling page faults in user mode. A page -fault occurs when a program tries to access to a region of memory that is -currently not available. Catching and handling a page fault is a useful -technique for implementing pageable virtual memory, memory-mapped access to -persistent databases, generational garbage collectors, stack overflow -handlers, distributed shared memory, and more.") - (license gpl2+))) diff --git a/distro/packages/libtiff.scm b/distro/packages/libtiff.scm deleted file mode 100644 index b5a12c53e2..0000000000 --- a/distro/packages/libtiff.scm +++ /dev/null @@ -1,65 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages libtiff) - #:use-module (distro) - #:use-module (distro packages file) - #:use-module (distro packages libjpeg) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public libtiff - (package - (name "libtiff") - (version "4.0.3") - (source (origin - (method url-fetch) - (uri (string-append "ftp://ftp.remotesensing.org/pub/libtiff/tiff-" - version ".tar.gz")) - (sha256 (base32 - "0wj8d1iwk9vnpax2h29xqc2hwknxg3s0ay2d5pxkg59ihbifn6pa")))) - (build-system gnu-build-system) - (inputs `(("file" ,file) - ("libjpeg-8" ,libjpeg-8))) - ;; currently does not compile with libjpeg version 9 - (arguments - `(#:configure-flags - (list (string-append "--with-jpeg-include-dir=" - (assoc-ref %build-inputs "libjpeg-8") - "/include")) - #:phases - (alist-replace - 'configure - (lambda* (#:key #:allow-other-keys #:rest args) - (let ((configure (assoc-ref %standard-phases 'configure))) - (substitute* "configure" - (("`/usr/bin/file") - (string-append "`" (which "file")))) - (apply configure args))) - %standard-phases))) - (synopsis "Libtiff, a library for handling TIFF files") - (description - "Libtiff provides support for the Tag Image File Format (TIFF), a format -used for storing image data. -Included are a library, libtiff, for reading and writing TIFF and a small -collection of tools for doing simple manipulations of TIFF images.") - (license (bsd-style "file://COPYRIGHT" - "See COPYRIGHT in the distribution.")) - (home-page "http://www.libtiff.org/"))) diff --git a/distro/packages/libunistring.scm b/distro/packages/libunistring.scm deleted file mode 100644 index 1359f9d488..0000000000 --- a/distro/packages/libunistring.scm +++ /dev/null @@ -1,58 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages libunistring) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system gnu)) - -(define-public libunistring - (package - (name "libunistring") - (version "0.9.3") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://gnu/libunistring/libunistring-" - version ".tar.gz")) - (sha256 - (base32 - "18q620269xzpw39dwvr9zpilnl2dkw5z5kz3mxaadnpv4k3kw3b1")))) - (propagated-inputs '()) ; FIXME: add libiconv when !glibc - (build-system gnu-build-system) - (synopsis "GNU Libunistring, a Unicode string library") - (description - "This library provides functions for manipulating Unicode strings and for -manipulating C strings according to the Unicode standard. - -GNU libunistring is for you if your application involves non-trivial text -processing, such as upper/lower case conversions, line breaking, operations -on words, or more advanced analysis of text. Text provided by the user can, -in general, contain characters of all kinds of scripts. The text processing -functions provided by this library handle all scripts and all languages. - -libunistring is for you if your application already uses the ISO C / POSIX -<ctype.h>, <wctype.h> functions and the text it operates on is provided by -the user and can be in any language. - -libunistring is also for you if your application uses Unicode strings as -internal in-memory representation.") - (home-page "http://www.gnu.org/software/libunistring/") - (license lgpl3+))) diff --git a/distro/packages/libusb.scm b/distro/packages/libusb.scm deleted file mode 100644 index eb7edb40e1..0000000000 --- a/distro/packages/libusb.scm +++ /dev/null @@ -1,44 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages libusb) - #:use-module (distro) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public libusb - (package - (name "libusb") - (version "1.0.9") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/libusb/libusb-1.0/" - "libusb-" version "/libusb-" version ".tar.bz2")) - (sha256 - (base32 - "16sz34ix6hw2wwl3kqx6rf26fg210iryr68wc439dc065pffw879")))) - (build-system gnu-build-system) - (home-page "http://www.libusb.org") - (synopsis "Libusb, a user-space USB library") - (description - "Libusb is a library that gives applications easy access to USB -devices on various operating systems.") - (license lgpl2.1+))) \ No newline at end of file diff --git a/distro/packages/linux.scm b/distro/packages/linux.scm deleted file mode 100644 index 534aac11ab..0000000000 --- a/distro/packages/linux.scm +++ /dev/null @@ -1,259 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages linux) - #:use-module (guix licenses) - #:use-module (distro) - #:use-module ((distro packages compression) - #:renamer (symbol-prefix-proc 'guix:)) - #:use-module (distro packages flex) - #:use-module (distro packages libusb) - #:use-module (distro packages ncurses) - #:use-module (distro packages perl) - #:use-module (distro packages pkg-config) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public linux-libre-headers - (let* ((version* "3.3.8") - (build-phase - '(lambda* (#:key system #:allow-other-keys) - (let ((arch (car (string-split system #\-)))) - (setenv "ARCH" - (cond ((string=? arch "i686") "i386") - (else arch))) - (format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))) - - (and (zero? (system* "make" "defconfig")) - (zero? (system* "make" "mrproper" "headers_check"))))) - (install-phase - `(lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (and (zero? (system* "make" - (string-append "INSTALL_HDR_PATH=" out) - "headers_install")) - (mkdir (string-append out "/include/config")) - (call-with-output-file - (string-append out - "/include/config/kernel.release") - (lambda (p) - (format p "~a-default~%" ,version*)))))))) - (package - (name "linux-libre-headers") - (version version*) - (source (origin - (method url-fetch) - (uri (string-append - "http://linux-libre.fsfla.org/pub/linux-libre/releases/3.3.8-gnu/linux-libre-" - version "-gnu.tar.xz")) - (sha256 - (base32 - "0jkfh0z1s6izvdnc3njm39dhzp1cg8i06jv06izwqz9w9qsprvnl")))) - (build-system gnu-build-system) - (native-inputs `(("perl" ,perl))) - (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-1)) - #:phases (alist-replace - 'build ,build-phase - (alist-replace - 'install ,install-phase - (alist-delete 'configure %standard-phases))) - #:tests? #f)) - (synopsis "GNU Linux-Libre kernel headers") - (description "Headers of the Linux-Libre kernel.") - (license "GPLv2") - (home-page "http://www.gnu.org/software/linux-libre/")))) - -(define-public linux-pam - (package - (name "linux-pam") - (version "1.1.6") - (source - (origin - (method url-fetch) - (uri (list (string-append "http://www.linux-pam.org/library/Linux-PAM-" - version ".tar.bz2") - (string-append "mirror://kernel.org/linux/libs/pam/library/Linux-PAM-" - version ".tar.bz2"))) - (sha256 - (base32 - "1hlz2kqvbjisvwyicdincq7nz897b9rrafyzccwzqiqg53b8gf5s")))) - (build-system gnu-build-system) - (inputs - `(("flex" ,flex) - - ;; TODO: optional dependencies - ;; ("libxcrypt" ,libxcrypt) - ;; ("cracklib" ,cracklib) - )) - (arguments - ;; XXX: Tests won't run in chroot, presumably because /etc/pam.d - ;; isn't available. - '(#:tests? #f)) - (home-page "http://www.linux-pam.org/") - (synopsis "Pluggable authentication modules for Linux") - (description - "A *Free* project to implement OSF's RFC 86.0. -Pluggable authentication modules are small shared object files that can -be used through the PAM API to perform tasks, like authenticating a user -at login. Local and dynamic reconfiguration are its key features") - (license bsd-3))) - -(define-public psmisc - (package - (name "psmisc") - (version "22.20") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/psmisc/psmisc/psmisc-" - version ".tar.gz")) - (sha256 - (base32 - "052mfraykmxnavpi8s78aljx8w87hyvpx8mvzsgpjsjz73i28wmi")))) - (build-system gnu-build-system) - (inputs `(("ncurses" ,ncurses))) - (home-page "http://psmisc.sourceforge.net/") - (synopsis - "set of utilities that use the proc filesystem, such as fuser, killall, and pstree") - (description - "This PSmisc package is a set of some small useful utilities that -use the proc filesystem. We're not about changing the world, but -providing the system administrator with some help in common tasks.") - (license gpl2+))) - -(define-public util-linux - (package - (name "util-linux") - (version "2.21") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://kernel.org/linux/utils/" - name "/v" version "/" - name "-" version ".2" ".tar.xz")) - (sha256 - (base32 - "1rpgghf7n0zx0cdy8hibr41wvkm2qp1yvd8ab1rxr193l1jmgcir")))) - (build-system gnu-build-system) - (arguments - `(#:configure-flags '("--disable-use-tty-group") - #:phases (alist-cons-after - 'install 'patch-chkdupexe - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* (string-append out "/bin/chkdupexe") - ;; Allow 'patch-shebang' to do its work. - (("@PERL@") "/bin/perl")))) - %standard-phases))) - (inputs `(("zlib" ,guix:zlib) - ("ncurses" ,ncurses) - ("perl" ,perl))) - (home-page "https://www.kernel.org/pub/linux/utils/util-linux/") - (synopsis - "util-linux is a random collection of utilities for the Linux kernel") - (description - "util-linux is a random collection of utilities for the Linux kernel.") - - ;; Note that util-linux doesn't use the same license for all the - ;; code. GPLv2+ is the default license for a code without an - ;; explicitly defined license. - (license (list gpl3+ gpl2+ gpl2 lgpl2.0+ - bsd-4 public-domain)))) - -(define-public procps - (package - (name "procps") - (version "3.2.8") - (source (origin - (method url-fetch) - (uri (string-append "http://procps.sourceforge.net/procps-" - version ".tar.gz")) - (sha256 - (base32 - "0d8mki0q4yamnkk4533kx8mc0jd879573srxhg6r2fs3lkc6iv8i")))) - (build-system gnu-build-system) - (inputs `(("ncurses" ,ncurses) - ("patch/make-3.82" ,(search-patch "procps-make-3.82.patch")))) - (arguments - '(#:patches (list (assoc-ref %build-inputs "patch/make-3.82")) - #:phases (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - ;; No `configure', just a single Makefile. - (let ((out (assoc-ref outputs "out"))) - (substitute* "Makefile" - (("/usr/") "/") - (("--(owner|group) 0") "") - (("ldconfig") "true") - (("^LDFLAGS[[:blank:]]*:=(.*)$" _ value) - ;; Add libproc to the RPATH. - (string-append "LDFLAGS := -Wl,-rpath=" - out "/lib" value)))) - (setenv "CC" "gcc")) - (alist-replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (and (zero? - (system* "make" "install" - (string-append "DESTDIR=" out))) - - ;; Sanity check. - (zero? - (system* (string-append out "/bin/ps") - "--version"))))) - %standard-phases)) - - ;; What did you expect? Tests? - #:tests? #f)) - (home-page "http://procps.sourceforge.net/") - (synopsis - "Utilities that give information about processes using the /proc filesystem") - (description - "procps is the package that has a bunch of small useful utilities -that give information about processes using the Linux /proc file system. -The package includes the programs ps, top, vmstat, w, kill, free, -slabtop, and skill.") - (license gpl2))) - -(define-public usbutils - (package - (name "usbutils") - (version "006") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://kernel.org/linux/utils/usb/usbutils/" - "usbutils-" version ".tar.xz")) - (sha256 - (base32 - "03pd57vv8c6x0hgjqcbrxnzi14h8hcghmapg89p8k5zpwpkvbdfr")))) - (build-system gnu-build-system) - (inputs - `(("libusb" ,libusb) ("pkg-config" ,pkg-config))) - (home-page "http://www.linux-usb.org/") - (synopsis - "Tools for working with USB devices, such as lsusb") - (description - "Tools for working with USB devices, such as lsusb.") - (license gpl2+))) diff --git a/distro/packages/lout.scm b/distro/packages/lout.scm deleted file mode 100644 index d3ff390b46..0000000000 --- a/distro/packages/lout.scm +++ /dev/null @@ -1,132 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages lout) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system gnu)) - -(define-public lout - ;; This one is a bit tricky, because it doesn't follow the GNU Build System - ;; rules. Instead, it has a makefile that has to be patched to set the - ;; prefix, etc., and it has no makefile rules to build its doc. - (let ((configure-phase - '(lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc"))) - (substitute* "makefile" - (("^PREFIX[[:blank:]]*=.*$") - (string-append "PREFIX = " out "\n")) - (("^LOUTLIBDIR[[:blank:]]*=.*$") - (string-append "LOUTLIBDIR = " out "/lib/lout\n")) - (("^LOUTDOCDIR[[:blank:]]*=.*$") - (string-append "LOUTDOCDIR = " doc "/doc/lout\n")) - (("^MANDIR[[:blank:]]*=.*$") - (string-append "MANDIR = " out "/man\n"))) - (mkdir out) - (mkdir (string-append out "/bin")) - (mkdir (string-append out "/lib")) - (mkdir (string-append out "/man")) - (mkdir-p (string-append doc "/doc/lout"))))) - (install-man-phase - '(lambda* (#:key outputs #:allow-other-keys) - (zero? (system* "make" "installman")))) - (doc-phase - '(lambda* (#:key outputs #:allow-other-keys) - (define out - (assoc-ref outputs "doc")) - - (setenv "PATH" - (string-append (assoc-ref outputs "out") - "/bin:" (getenv "PATH"))) - (chdir "doc") - (every (lambda (doc) - (format #t "doc: building `~a'...~%" doc) - (with-directory-excursion doc - (let ((file (string-append out "/doc/lout/" - doc ".ps"))) - (and (or (file-exists? "outfile.ps") - (zero? (system* "lout" "-r4" "-o" - "outfile.ps" "all"))) - (begin - (copy-file "outfile.ps" file) - #t) - (zero? (system* "ps2pdf" - "-dPDFSETTINGS=/prepress" - "-sPAPERSIZE=a4" - file - (string-append out "/doc/lout/" - doc ".pdf"))))))) - '("design" "expert" "slides" "user"))))) - (package - (name "lout") - (version "3.39") - (source (origin - (method url-fetch) - ;; FIXME: `http-get' doesn't follow redirects, hence the URL. - (uri (string-append - "http://download-mirror.savannah.gnu.org/releases/lout/lout-" - version ".tar.gz")) - (sha256 - (base32 - "12gkyqrn0kaa8xq7sc7v3wm407pz2fxg9ngc75aybhi5z825b9vq")))) - (build-system gnu-build-system) ; actually, just a makefile - (outputs '("out" "doc")) - (inputs - `(;; FIXME: Add dependency on Ghostscript. - ;; ("ghostscript" ,(lambda _ - ;; (nixpkgs-derivation "ghostscript"))) - )) - (arguments `(#:modules ((guix build utils) - (guix build gnu-build-system) - (srfi srfi-1)) ; we need SRFI-1 - #:tests? #f ; no "check" target - - ;; Customize the build phases. - #:phases (alist-replace - 'configure ,configure-phase - - (alist-cons-after - 'install 'install-man-pages - ,install-man-phase - - (alist-cons-after - 'install 'install-doc - ,doc-phase - %standard-phases))))) - (synopsis "Lout, a document layout system similar in style to LaTeX") - (description -"The Lout document formatting system is now reads a high-level description of -a document similar in style to LaTeX and produces a PostScript or plain text -output file. - -Lout offers an unprecedented range of advanced features, including optimal -paragraph and page breaking, automatic hyphenation, PostScript EPS file -inclusion and generation, equation formatting, tables, diagrams, rotation and -scaling, sorted indexes, bibliographic databases, running headers and -odd-even pages, automatic cross referencing, multilingual documents including -hyphenation (most European languages are supported), formatting of computer -programs, and much more, all ready to use. Furthermore, Lout is easily -extended with definitions which are very much easier to write than troff of -TeX macros because Lout is a high-level, purely functional language, the -outcome of an eight-year research project that went back to the -beginning.") - (license gpl3+) - (home-page "http://savannah.nongnu.org/projects/lout/")))) diff --git a/distro/packages/lsh.scm b/distro/packages/lsh.scm deleted file mode 100644 index d2c2d9082d..0000000000 --- a/distro/packages/lsh.scm +++ /dev/null @@ -1,126 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages lsh) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (distro) - #:use-module (distro packages m4) - #:use-module (distro packages linux) - #:use-module ((distro packages compression) - #:renamer (symbol-prefix-proc 'guix:)) - #:use-module (distro packages multiprecision) - #:use-module (distro packages readline) - #:use-module (distro packages gperf) - #:use-module (distro packages base)) - -(define-public liboop - (package - (name "liboop") - (version "1.0") - (source - (origin - (method url-fetch) - (uri (string-append "http://download.ofb.net/liboop/liboop-" - version ".tar.gz")) - (sha256 - (base32 - "0z6rlalhvfca64jpvksppc9bdhs7jwhiw4y35g5ibvh91xp3rn1l")))) - (build-system gnu-build-system) - (home-page "http://liboop.ofb.net/") - (synopsis "`liboop', an event loop library") - (description "liboop is an event loop library.") - (license lgpl2.1+))) - -(define-public lsh - (package - (name "lsh") - (version "2.0.4") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/lsh/lsh-" - version ".tar.gz")) - (sha256 - (base32 - "149hf49xcj99wwvi7hcb59igq4vpyv8har1br1if3lrsw5irsjv1")))) - (build-system gnu-build-system) - (inputs - `(("linux-pam" ,linux-pam) - ("m4" ,m4) - ("readline" ,readline) - ("liboop" ,liboop) - ("zlib" ,guix:zlib) - ("gmp" ,gmp) - ("guile" ,guile-final) - ("gperf" ,gperf) - ("psmisc" ,psmisc) ; for `killall' - - ("patch/no-root-login" ,(search-patch "lsh-no-root-login.patch")) - ("patch/guile-compat" ,(search-patch "lsh-guile-compat.patch")) - ("patch/pam-service-name" - ,(search-patch "lsh-pam-service-name.patch")))) - (arguments - '(#:patches (list (assoc-ref %build-inputs "patch/no-root-login") - (assoc-ref %build-inputs "patch/pam-service-name") - (assoc-ref %build-inputs "patch/guile-compat")) - - ;; Skip the `configure' test that checks whether /dev/ptmx & - ;; co. work as expected, because it relies on impurities (for - ;; instance, /dev/pts may be unavailable in chroots.) - #:configure-flags '("lsh_cv_sys_unix98_ptys=yes") - - ;; FIXME: Tests won't run in a chroot, presumably because - ;; /etc/profile is missing, and thus clients get an empty $PATH - ;; and nothing works. - #:tests? #f - - #:phases - (alist-cons-before - 'configure 'fix-test-suite - (lambda _ - ;; Tests rely on $USER being set. - (setenv "USER" "guix") - - (substitute* "src/testsuite/functions.sh" - (("localhost") - ;; Avoid host name lookups since they don't work in chroot - ;; builds. - "127.0.0.1") - (("set -e") - ;; Make tests more verbose. - "set -e\nset -x")) - - (substitute* (find-files "src/testsuite" "-test$") - (("localhost") "127.0.0.1")) - - (substitute* "src/testsuite/login-auth-test" - (("/bin/cat") - ;; Use the right path to `cat'. - (which "cat")))) - %standard-phases))) - (home-page "http://www.lysator.liu.se/~nisse/lsh/") - (synopsis - "GNU lsh, a GPL'd implementation of the SSH protocol") - (description - "lsh is a free implementation (in the GNU sense) of the ssh -version 2 protocol, currently being standardised by the IETF -SECSH working group.") - (license gpl2+))) diff --git a/distro/packages/m4.scm b/distro/packages/m4.scm deleted file mode 100644 index 7f2bed3ab7..0000000000 --- a/distro/packages/m4.scm +++ /dev/null @@ -1,87 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages m4) - #:use-module (guix licenses) - #:use-module (distro) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system gnu)) - -(define-public m4 - (package - (name "m4") - (version "1.4.16") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/m4/m4-" - version ".tar.bz2")) - (sha256 - (base32 - "035r7ma272j2cwni2961jp22k6bn3n9xwn3b3qbcn2yrvlghql22")))) - (build-system gnu-build-system) - (arguments (case-lambda - ((system) - ;; XXX: Disable tests on those platforms with know issues. - `(#:tests? ,(not (member system - '("x86_64-darwin" - "i686-cygwin" - "i686-sunos"))) - #:patches (list (assoc-ref %build-inputs "patch/s_isdir") - (assoc-ref %build-inputs - "patch/readlink-EINVAL") - (assoc-ref %build-inputs "patch/gets")) - #:phases (alist-cons-before - 'check 'pre-check - (lambda* (#:key inputs #:allow-other-keys) - ;; Fix references to /bin/sh. - (let ((bash (assoc-ref inputs "bash"))) - (for-each patch-shebang - (find-files "tests" "\\.sh$")) - (substitute* (find-files "tests" - "posix_spawn") - (("/bin/sh") - (format #f "~a/bin/bash" bash))))) - %standard-phases))) - ((system cross-system) - `(#:patches (list (assoc-ref %build-inputs "patch/s_isdir") - (assoc-ref %build-inputs - "patch/readlink-EINVAL") - (assoc-ref %build-inputs "patch/gets")))))) - (inputs `(("patch/s_isdir" ,(search-patch "m4-s_isdir.patch")) - ("patch/readlink-EINVAL" - ,(search-patch "m4-readlink-EINVAL.patch")) - ("patch/gets" ,(search-patch "m4-gets-undeclared.patch")))) - (synopsis "GNU M4, a macro processor") - (description - "GNU M4 is an implementation of the traditional Unix macro processor. It -is mostly SVR4 compatible although it has some extensions (for example, -handling more than 9 positional parameters to macros). GNU M4 also has -built-in functions for including files, running shell commands, doing -arithmetic, etc. - -GNU M4 is a macro processor in the sense that it copies its input to the -output expanding macros as it goes. Macros are either builtin or -user-defined and can take any number of arguments. Besides just doing macro -expansion, m4 has builtin functions for including named files, running UNIX -commands, doing integer arithmetic, manipulating text in various ways, -recursion etc... m4 can be used either as a front-end to a compiler or as a -macro processor in its own right.") - (license gpl3+) - (home-page "http://www.gnu.org/software/m4/"))) diff --git a/distro/packages/mailutils.scm b/distro/packages/mailutils.scm deleted file mode 100644 index 55b40f5974..0000000000 --- a/distro/packages/mailutils.scm +++ /dev/null @@ -1,106 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages mailutils) - #:use-module (distro) - #:use-module (distro packages linux) - #:use-module (distro packages gnutls) - #:use-module (distro packages gdbm) - #:use-module (distro packages guile) - #:use-module (distro packages ncurses) - #:use-module (distro packages readline) - #:use-module (distro packages dejagnu) - #:use-module (distro packages m4) - #:use-module (distro packages texinfo) - #:use-module (distro packages mysql) - #:use-module (distro packages autotools) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public mailutils - (package - (name "mailutils") - (version "2.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/mailutils/mailutils-" - version ".tar.bz2")) - (sha256 - (base32 - "0szbqa12zqzldqyw97lxqax3ja2adis83i7brdfsxmrfw68iaf65")))) - (build-system gnu-build-system) - (arguments - '(;; TODO: Add `--with-sql'. - #:patches (list (assoc-ref %build-inputs - "patch/gets-undeclared")) - #:phases (alist-cons-before - 'build 'pre-build - (lambda _ - ;; Use Guile 2.0's public API. - (substitute* "libmu_scm/mu_message.c" - (("scm_i_string_length") - "scm_c_string_length")) - - ;; This file should be generated to use the right - ;; value of $(libdir) et al. - (delete-file "libmu_scm/mailutils.scm") - - ;; Use the right file name for `cat'. - (substitute* "testsuite/lib/mailutils.exp" - (("/bin/cat") - (which "cat")))) - %standard-phases) - #:parallel-tests? #f)) - (inputs - `(("dejagnu" ,dejagnu) - ("m4" ,m4) - ("texinfo" ,texinfo) - ("guile" ,guile-2.0) - ("gnutls" ,gnutls) - ("ncurses" ,ncurses) - ("readline" ,readline) - ("linux-pam" ,linux-pam) - ("libtool" ,libtool) - ("gdbm" ,gdbm) - ("patch/gets-undeclared" - ,(search-patch "m4-gets-undeclared.patch")))) - (home-page "http://www.gnu.org/software/mailutils/") - (synopsis "A rich and powerful protocol-independent mail framework") - (description - "GNU Mailutils is a rich and powerful protocol-independent mail -framework. It contains a series of useful mail libraries, clients, and -servers. These are the primary mail utilities for the GNU system. The -central library is capable of handling electronic mail in various -mailbox formats and protocols, both local and remote. Specifically, -this project contains a POP3 server, an IMAP4 server, and a Sieve mail -filter. It also provides a POSIX `mailx' client, and a collection of -other handy tools. - -The GNU Mailutils libraries supply an ample set of primitives for -handling electronic mail in programs written in C, C++, Python or -Scheme. - -The utilities provided by Mailutils include imap4d and pop3d mail -servers, mail reporting utility comsatd, general-purpose mail delivery -agent maidag, mail filtering program sieve, and an implementation of MH -message handling system.") - (license - ;; Libraries are under LGPLv3+, and programs under GPLv3+. - (list gpl3+ lgpl3+)))) diff --git a/distro/packages/make-bootstrap.scm b/distro/packages/make-bootstrap.scm deleted file mode 100644 index b1d74ec5d6..0000000000 --- a/distro/packages/make-bootstrap.scm +++ /dev/null @@ -1,562 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages make-bootstrap) - #:use-module (guix utils) - #:use-module (guix packages) - #:use-module (guix licenses) - #:use-module (guix build-system trivial) - #:use-module (guix build-system gnu) - #:use-module ((distro) #:select (search-patch)) - #:use-module (distro packages base) - #:use-module (distro packages bash) - #:use-module (distro packages compression) - #:use-module (distro packages gawk) - #:use-module (distro packages guile) - #:use-module (distro packages linux) - #:use-module (distro packages multiprecision) - #:use-module (ice-9 match) - #:use-module (srfi srfi-1) - #:export (%bootstrap-binaries-tarball - %binutils-bootstrap-tarball - %glibc-bootstrap-tarball - %gcc-bootstrap-tarball - %guile-bootstrap-tarball - %bootstrap-tarballs)) - -;;; Commentary: -;;; -;;; This modules provides tools to build tarballs of the "bootstrap binaries" -;;; used in (distro packages bootstrap). These statically-linked binaries are -;;; taken for granted and used as the root of the whole bootstrap procedure. -;;; -;;; Code: - -(define %glibc-for-bootstrap - ;; A libc whose `system' and `popen' functions looks for `sh' in $PATH, - ;; without nscd, and with static NSS modules. - (package (inherit glibc-final) - (arguments - (lambda (system) - (substitute-keyword-arguments ((package-arguments glibc-final) system) - ((#:patches patches) - `(cons (assoc-ref %build-inputs "patch/system") - ,patches)) - ((#:configure-flags flags) - ;; Arrange so that getaddrinfo & co. do not contact the nscd, - ;; and can use statically-linked NSS modules. - `(cons* "--disable-nscd" "--disable-build-nscd" - "--enable-static-nss" - ,flags))))) - (inputs - `(("patch/system" ,(search-patch "glibc-bootstrap-system.patch")) - ,@(package-inputs glibc-final))))) - -(define %standard-inputs-with-relocatable-glibc - ;; Standard inputs with the above libc and corresponding GCC. - `(("libc", %glibc-for-bootstrap) - ("gcc" ,(package-with-explicit-inputs - gcc-4.7 - `(("libc",%glibc-for-bootstrap) - ,@(alist-delete "libc" %final-inputs)) - (current-source-location))) - ,@(fold alist-delete %final-inputs '("libc" "gcc")))) - -(define %bash-static - (static-package bash-light)) - -(define %static-inputs - ;; Packages that are to be used as %BOOTSTRAP-INPUTS. - (let ((coreutils (package (inherit coreutils) - (arguments - `(#:configure-flags - '("--disable-nls" - "--disable-silent-rules" - "--enable-no-install-program=stdbuf,libstdbuf.so" - "CFLAGS=-Os -g0" ; smaller, please - "LDFLAGS=-static -pthread") - #:tests? #f ; signal-related Gnulib tests fail - ,@(package-arguments coreutils))) - - ;; Remove optional dependencies such as GMP. - (inputs `(,(assoc "perl" (package-inputs coreutils)))))) - (bzip2 (package (inherit bzip2) - (arguments - (substitute-keyword-arguments (package-arguments bzip2) - ((#:phases phases) - `(alist-cons-before - 'build 'dash-static - (lambda _ - (substitute* "Makefile" - (("^LDFLAGS[[:blank:]]*=.*$") - "LDFLAGS = -static"))) - ,phases)))))) - (xz (package (inherit xz) - (arguments - `(#:strip-flags '("--strip-all") - #:phases (alist-cons-before - 'configure 'static-executable - (lambda _ - ;; Ask Libtool for a static executable. - (substitute* "src/xz/Makefile.in" - (("^xz_LDADD =") - "xz_LDADD = -all-static"))) - %standard-phases))))) - (gawk (package (inherit gawk) - (arguments - (lambda (system) - `(#:patches (list (assoc-ref %build-inputs "patch/sh")) - ,@(substitute-keyword-arguments - ((package-arguments gawk) system) - ((#:phases phases) - `(alist-cons-before - 'configure 'no-export-dynamic - (lambda _ - ;; Since we use `-static', remove - ;; `-export-dynamic'. - (substitute* "configure" - (("-export-dynamic") ""))) - ,phases)))))) - (inputs `(("patch/sh" ,(search-patch "gawk-shell.patch")))))) - (finalize (lambda (p) - (static-package (package-with-explicit-inputs - p - %standard-inputs-with-relocatable-glibc) - (current-source-location))))) - `(,@(map (match-lambda - ((name package) - (list name (finalize package)))) - `(("tar" ,tar) - ("gzip" ,gzip) - ("bzip2" ,bzip2) - ("xz" ,xz) - ("patch" ,patch) - ("coreutils" ,coreutils) - ("sed" ,sed) - ("grep" ,grep) - ("gawk" ,gawk))) - ("bash" ,%bash-static) - ;; ("ld-wrapper" ,ld-wrapper) - ;; ("binutils" ,binutils-final) - ;; ("gcc" ,gcc-final) - ;; ("libc" ,glibc-final) - ))) - -(define %static-binaries - (package - (name "static-binaries") - (version "0") - (build-system trivial-build-system) - (source #f) - (inputs %static-inputs) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (ice-9 ftw) - (ice-9 match) - (srfi srfi-1) - (srfi srfi-26) - (guix build utils)) - - (let () - (define (directory-contents dir) - (map (cut string-append dir "/" <>) - (scandir dir (negate (cut member <> '("." "..")))))) - - (define (copy-directory source destination) - (for-each (lambda (file) - (format #t "copying ~s...~%" file) - (copy-file file - (string-append destination "/" - (basename file)))) - (directory-contents source))) - - (let* ((out (assoc-ref %outputs "out")) - (bin (string-append out "/bin"))) - (mkdir-p bin) - - ;; Copy Coreutils binaries. - (let* ((coreutils (assoc-ref %build-inputs "coreutils")) - (source (string-append coreutils "/bin"))) - (copy-directory source bin)) - - ;; For the other inputs, copy just one binary, which has the - ;; same name as the input. - (for-each (match-lambda - ((name . dir) - (let ((source (string-append dir "/bin/" name))) - (format #t "copying ~s...~%" source) - (copy-file source - (string-append bin "/" name))))) - (alist-delete "coreutils" %build-inputs)) - - ;; But of course, there are exceptions to this rule. - (let ((grep (assoc-ref %build-inputs "grep"))) - (copy-file (string-append grep "/bin/fgrep") - (string-append bin "/fgrep")) - (copy-file (string-append grep "/bin/egrep") - (string-append bin "/egrep"))) - - ;; Clear references to the store path. - (for-each remove-store-references - (directory-contents bin)) - - (with-directory-excursion bin - ;; Programs such as Perl's build system want these aliases. - (symlink "bash" "sh") - (symlink "gawk" "awk")) - - #t))))) - (synopsis "Statically-linked bootstrap binaries") - (description - "Binaries used to bootstrap the distribution.") - (license #f) - (home-page #f))) - -(define %binutils-static - ;; Statically-linked Binutils. - (package (inherit binutils) - (name "binutils-static") - (arguments - `(#:configure-flags '("--disable-gold" "--with-lib-path=/no-ld-lib-path") - #:strip-flags '("--strip-all") - #:phases (alist-cons-before - 'configure 'all-static - (lambda _ - ;; The `-all-static' libtool flag can only be passed - ;; after `configure', since configure tests don't use - ;; libtool, and only for executables built with libtool. - (substitute* '("binutils/Makefile.in" - "gas/Makefile.in" - "ld/Makefile.in") - (("^LDFLAGS =(.*)$" line) - (string-append line - "\nAM_LDFLAGS = -static -all-static\n")))) - %standard-phases))))) - -(define %binutils-static-stripped - ;; The subset of Binutils that we need. - (package (inherit %binutils-static) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - - (setvbuf (current-output-port) _IOLBF) - (let* ((in (assoc-ref %build-inputs "binutils")) - (out (assoc-ref %outputs "out")) - (bin (string-append out "/bin"))) - (mkdir-p bin) - (for-each (lambda (file) - (let ((target (string-append bin "/" file))) - (format #t "copying `~a'...~%" file) - (copy-file (string-append in "/bin/" file) - target) - (remove-store-references target))) - '("ar" "as" "ld" "nm" "objcopy" "objdump" - "ranlib" "readelf" "size" "strings" "strip")) - #t)))) - (inputs `(("binutils" ,%binutils-static))))) - -(define %glibc-stripped - ;; GNU libc's essential shared libraries, dynamic linker, and headers, - ;; with all references to store directories stripped. As a result, - ;; libc.so is unusable and need to be patched for proper relocation. - (let ((glibc %glibc-for-bootstrap)) - (package (inherit glibc) - (name "glibc-stripped") - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - - (setvbuf (current-output-port) _IOLBF) - (let* ((out (assoc-ref %outputs "out")) - (libdir (string-append out "/lib")) - (incdir (string-append out "/include")) - (libc (assoc-ref %build-inputs "libc")) - (linux (assoc-ref %build-inputs "linux-headers"))) - (mkdir-p libdir) - (for-each (lambda (file) - (let ((target (string-append libdir "/" - (basename file)))) - (copy-file file target) - (remove-store-references target))) - (find-files (string-append libc "/lib") - "^(crt.*|ld.*|lib(c|m|dl|rt|pthread|nsl|util).*\\.so(\\..*)?|libc_nonshared\\.a)$")) - - (copy-recursively (string-append libc "/include") incdir) - - ;; Copy some of the Linux-Libre headers that glibc headers - ;; refer to. - (mkdir (string-append incdir "/linux")) - (for-each (lambda (file) - (copy-file (string-append linux "/include/linux/" file) - (string-append incdir "/linux/" - (basename file)))) - '("limits.h" "errno.h" "socket.h" "kernel.h" - "sysctl.h" "param.h" "ioctl.h" "types.h" - "posix_types.h" "stddef.h")) - - (copy-recursively (string-append linux "/include/asm") - (string-append incdir "/asm")) - (copy-recursively (string-append linux "/include/asm-generic") - (string-append incdir "/asm-generic")) - #t)))) - (inputs `(("libc" ,glibc) - ("linux-headers" ,linux-libre-headers)))))) - -(define %gcc-static - ;; A statically-linked GCC, with stripped-down functionality. - (package-with-explicit-inputs - (package (inherit gcc-final) - (name "gcc-static") - (arguments - (lambda (system) - `(#:modules ((guix build utils) - (guix build gnu-build-system) - (srfi srfi-1) - (srfi srfi-26) - (ice-9 regex)) - ,@(substitute-keyword-arguments ((package-arguments gcc-final) system) - ((#:guile _) #f) - ((#:implicit-inputs? _) #t) - ((#:configure-flags flags) - `(append (list - "--disable-shared" - "--disable-plugin" - "--enable-languages=c" - "--disable-libmudflap" - "--disable-libgomp" - "--disable-libssp" - "--disable-libquadmath" - "--disable-decimal-float") - (remove (cut string-match "--(.*plugin|enable-languages)" <>) - ,flags))) - ((#:make-flags flags) - `(cons "BOOT_LDFLAGS=-static" ,flags)))))) - (inputs `(("gmp-source" ,(package-source gmp)) - ("mpfr-source" ,(package-source mpfr)) - ("mpc-source" ,(package-source mpc)) - ("binutils" ,binutils-final) - ,@(package-inputs gcc-4.7)))) - %standard-inputs-with-relocatable-glibc)) - -(define %gcc-stripped - ;; The subset of GCC files needed for bootstrap. - (package (inherit gcc-4.7) - (name "gcc-stripped") - (build-system trivial-build-system) - (source #f) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (srfi srfi-1) - (srfi srfi-26) - (guix build utils)) - - (setvbuf (current-output-port) _IOLBF) - (let* ((out (assoc-ref %outputs "out")) - (bindir (string-append out "/bin")) - (libdir (string-append out "/lib")) - (libexecdir (string-append out "/libexec")) - (gcc (assoc-ref %build-inputs "gcc"))) - (copy-recursively (string-append gcc "/bin") bindir) - (for-each remove-store-references - (find-files bindir ".*")) - - (copy-recursively (string-append gcc "/lib") libdir) - (for-each remove-store-references - (remove (cut string-suffix? ".h" <>) - (find-files libdir ".*"))) - - (copy-recursively (string-append gcc "/libexec") - libexecdir) - (for-each remove-store-references - (find-files libexecdir ".*")) - #t)))) - (inputs `(("gcc" ,%gcc-static))))) - -(define %guile-static - ;; A statically-linked Guile that is relocatable--i.e., it can search - ;; .scm and .go files relative to its installation directory, rather - ;; than in hard-coded configure-time paths. - (let ((guile (package (inherit guile-2.0) - (inputs - `(("patch/relocatable" - ,(search-patch "guile-relocatable.patch")) - ("patch/utf8" - ,(search-patch "guile-default-utf8.patch")) - ,@(package-inputs guile-2.0))) - (arguments - `(;; When `configure' checks for ltdl availability, it - ;; doesn't try to link using libtool, and thus fails - ;; because of a missing -ldl. Work around that. - #:configure-flags '("LDFLAGS=-ldl") - - #:phases (alist-cons-before - 'configure 'static-guile - (lambda _ - (substitute* "libguile/Makefile.in" - ;; Create a statically-linked `guile' - ;; executable. - (("^guile_LDFLAGS =") - "guile_LDFLAGS = -all-static") - - ;; Add `-ldl' *after* libguile-2.0.la. - (("^guile_LDADD =(.*)$" _ ldadd) - (string-append "guile_LDADD = " - (string-trim-right ldadd) - " -ldl\n")))) - %standard-phases) - - ;; Allow Guile to be relocated, as is needed during - ;; bootstrap. - #:patches - (list (assoc-ref %build-inputs "patch/relocatable") - (assoc-ref %build-inputs "patch/utf8")) - - ;; There are uses of `dynamic-link' in - ;; {foreign,coverage}.test that don't fly here. - #:tests? #f))))) - (package-with-explicit-inputs (static-package guile) - %standard-inputs-with-relocatable-glibc - (current-source-location)))) - -(define %guile-static-stripped - ;; A stripped static Guile binary, for use during bootstrap. - (package (inherit %guile-static) - (name "guile-static-stripped") - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (let () - (use-modules (guix build utils)) - - (let ((in (assoc-ref %build-inputs "guile")) - (out (assoc-ref %outputs "out"))) - (mkdir-p (string-append out "/share/guile/2.0")) - (copy-recursively (string-append in "/share/guile/2.0") - (string-append out "/share/guile/2.0")) - - (mkdir-p (string-append out "/lib/guile/2.0/ccache")) - (copy-recursively (string-append in "/lib/guile/2.0/ccache") - (string-append out "/lib/guile/2.0/ccache")) - - (mkdir (string-append out "/bin")) - (copy-file (string-append in "/bin/guile") - (string-append out "/bin/guile")) - (remove-store-references (string-append out "/bin/guile")) - #t)))) - (inputs `(("guile" ,%guile-static))))) - -(define (tarball-package pkg) - "Return a package containing a tarball of PKG." - (package (inherit pkg) - (location (source-properties->location (current-source-location))) - (name (string-append (package-name pkg) "-tarball")) - (build-system trivial-build-system) - (inputs `(("tar" ,tar) - ("xz" ,xz) - ("input" ,pkg))) - (arguments - (lambda (system) - (let ((name (package-name pkg)) - (version (package-version pkg))) - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let ((out (assoc-ref %outputs "out")) - (input (assoc-ref %build-inputs "input")) - (tar (assoc-ref %build-inputs "tar")) - (xz (assoc-ref %build-inputs "xz"))) - (mkdir out) - (set-path-environment-variable "PATH" '("bin") (list tar xz)) - (with-directory-excursion input - (zero? (system* "tar" "cJvf" - (string-append out "/" - ,name "-" ,version - "-" ,system ".tar.xz") - "."))))))))))) - -(define %bootstrap-binaries-tarball - ;; A tarball with the statically-linked bootstrap binaries. - (tarball-package %static-binaries)) - -(define %binutils-bootstrap-tarball - ;; A tarball with the statically-linked Binutils programs. - (tarball-package %binutils-static-stripped)) - -(define %glibc-bootstrap-tarball - ;; A tarball with GNU libc's shared libraries, dynamic linker, and headers. - (tarball-package %glibc-stripped)) - -(define %gcc-bootstrap-tarball - ;; A tarball with a dynamic-linked GCC and its headers. - (tarball-package %gcc-stripped)) - -(define %guile-bootstrap-tarball - ;; A tarball with the statically-linked, relocatable Guile. - (tarball-package %guile-static-stripped)) - -(define %bootstrap-tarballs - ;; A single derivation containing all the bootstrap tarballs, for - ;; convenience. - (package - (name "bootstrap-tarballs") - (version "0") - (source #f) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (let ((out (assoc-ref %outputs "out"))) - (use-modules (guix build utils) - (ice-9 match) - (srfi srfi-26)) - - (setvbuf (current-output-port) _IOLBF) - (mkdir out) - (chdir out) - (for-each (match-lambda - ((name . directory) - (for-each (lambda (file) - (format #t "~a -> ~a~%" file out) - (symlink file (basename file))) - (find-files directory "\\.tar\\.")))) - %build-inputs) - #t))) - (inputs `(("guile-tarball" ,%guile-bootstrap-tarball) - ("gcc-tarball" ,%gcc-bootstrap-tarball) - ("binutils-tarball" ,%binutils-bootstrap-tarball) - ("glibc-tarball" ,%glibc-bootstrap-tarball) - ("coreutils&co-tarball" ,%bootstrap-binaries-tarball))) - (synopsis #f) - (description #f) - (home-page #f) - (license gpl3+))) - -;;; make-bootstrap.scm ends here diff --git a/distro/packages/mit-krb5.scm b/distro/packages/mit-krb5.scm deleted file mode 100644 index 13250ff95b..0000000000 --- a/distro/packages/mit-krb5.scm +++ /dev/null @@ -1,69 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Andreas Enge <andreas@enge.fr> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages mit-krb5) - #:use-module (distro) - #:use-module (distro packages bison) - #:use-module (distro packages perl) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public mit-krb5 - (package - (name "mit-krb5") - (version "1.11") - (source (origin - (method url-fetch) - (uri (string-append "http://web.mit.edu/kerberos/www/dist/krb5/" - version - "/krb5-" version - "-signed.tar")) - (sha256 (base32 - "0lc6lxb98qzg4x01lppq700vkr1ax9rld09znahrinwqnf9zndzy")))) - (build-system gnu-build-system) - (inputs `(("bison" ,bison) - ("perl" ,perl) - )) - (arguments - (lambda (system) - `(#:tests? #f - #:phases - (alist-replace - 'unpack - (lambda* (#:key source #:allow-other-keys) - (system* "echo" source) - (let ((inner - (substring source - (string-index-right source #\k) - (string-index-right source #\-)))) - (system* "echo" inner) - (and (zero? (system* "tar" "xvf" source)) - (zero? (system* "tar" "xvf" (string-append inner ".tar.gz"))) - (chdir inner) - (chdir "src")))) - %standard-phases)))) - (synopsis "MIT Kerberos 5") - (description - "Massachusetts Institute of Technology implementation of Kerberos. -Kerberos is a network authentication protocol designed to provide strong -authentication for client/server applications by using secret-key cryptography.") - (license (bsd-style "file://NOTICE" - "See NOTICE in the distribution.")) - (home-page "http://web.mit.edu/kerberos/"))) diff --git a/distro/packages/multiprecision.scm b/distro/packages/multiprecision.scm deleted file mode 100644 index 444c6103eb..0000000000 --- a/distro/packages/multiprecision.scm +++ /dev/null @@ -1,124 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages multiprecision) - #:use-module (guix licenses) - #:use-module (distro) - #:use-module (distro packages m4) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system gnu)) - -(define-public gmp - (package - (name "gmp") - (version "5.1.0") - (source (origin - (method url-fetch) - (uri - ;; Note: this version is not available from GNU mirrors - ;; because it was made with an Automake affected by - ;; CVE-2012-3386. - (string-append "ftp://ftp.gmplib.org/pub/gmp-" - version "/gmp-" version ".tar.bz2")) - (sha256 - (base32 - "15n7xxgasbxdch8ii8z9ic6fxc2ysk3q8iavf55abjp5iylspnfz")))) - (build-system gnu-build-system) - (native-inputs `(("m4" ,m4))) - (arguments `(#:configure-flags - '(;; Build a "fat binary", with routines for several - ;; sub-architectures. - "--enable-fat" - "--enable-cxx"))) - (synopsis "GMP, the GNU multiple precision arithmetic library") - (description - "GMP is a free library for arbitrary precision arithmetic, operating on -signed integers, rational numbers, and floating point numbers. There is no -practical limit to the precision except the ones implied by the available -memory in the machine GMP runs on. GMP has a rich set of functions, and the -functions have a regular interface. - -The main target applications for GMP are cryptography applications and -research, Internet security applications, algebra systems, computational -algebra research, etc. - -GMP is carefully designed to be as fast as possible, both for small operands -and for huge operands. The speed is achieved by using fullwords as the basic -arithmetic type, by using fast algorithms, with highly optimised assembly -code for the most common inner loops for a lot of CPUs, and by a general -emphasis on speed. - -GMP is faster than any other bignum library. The advantage for GMP increases -with the operand sizes for many operations, since GMP uses asymptotically -faster algorithms.") - (license lgpl3+) - (home-page "http://gmplib.org/"))) - -(define-public mpfr - (package - (name "mpfr") - (version "3.1.1") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/mpfr/mpfr-" version - ".tar.xz")) - (sha256 (base32 - "0ym1ylcq803n52qrggxqmkz66gbn8ncc3ybawal31v5y5p1srma9")))) - (build-system gnu-build-system) - (inputs `(("gmp" ,gmp))) - (synopsis "GNU MPFR, a library for multiple-precision floating-point -arithmetic") - (description - "The GNU MPFR library is a C library for multiple-precision -floating-point computations with correct rounding. MPFR is based on the GMP -multiple-precision library. - -The main goal of MPFR is to provide a library for multiple-precision -floating-point computation which is both efficient and has a well-defined -semantics. It copies the good ideas from the ANSI/IEEE-754 standard for -double-precision floating-point arithmetic (53-bit mantissa).") - (license lgpl3+) - (home-page "http://www.mpfr.org/"))) - -(define-public mpc - (package - (name "mpc") - (version "1.0.1") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://gnu/mpc/mpc-" version ".tar.gz")) - (sha256 (base32 - "1zq0fidp1jii2j5k5n9hmx55a6wwid33gjzhimvxq9d5zrf82npd")))) - (build-system gnu-build-system) - (inputs `(("gmp" ,gmp) - ("mpfr" ,mpfr))) - (synopsis "GNU MPC, a library for multiprecision complex arithmetic -with exact rounding") - (description - "GNU MPC is a C library for the arithmetic of complex numbers with -arbitrarily high precision and correct rounding of the result. It extends -the principles of the IEEE-754 standard for fixed precision real floating -point numbers to complex numbers, providing well-defined semantics for -every operation. At the same time, speed of operation at high precision -is a major design goal. The library is built upon and follows the same -principles as GNU MPFR.") - (license lgpl3+) - (home-page "http://mpc.multiprecision.org/"))) diff --git a/distro/packages/mysql.scm b/distro/packages/mysql.scm deleted file mode 100644 index d98271a78b..0000000000 --- a/distro/packages/mysql.scm +++ /dev/null @@ -1,87 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages mysql) - #:use-module (distro) - #:use-module (distro packages perl) - #:use-module (distro packages linux) - #:use-module (distro packages openssl) - #:use-module (distro packages compression) - #:use-module (distro packages ncurses) - #:use-module ((guix licenses) #:select (gpl2)) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public mysql - (package - (name "mysql") - (version "5.1.54") - (source (origin - (method url-fetch) - (uri (string-append - "http://downloads.mysql.com/archives/mysql-5.1/mysql-" - version ".tar.gz")) - (sha256 - (base32 - "07xbnwk7h1xya8s6dw34nrv7ampzag8l0l1szd2pc9zyqkzhydw4")))) - (build-system gnu-build-system) - (inputs - `(("procps" ,procps) - ("openssl" ,openssl) - ("perl" ,perl) - ("zlib" ,zlib) - ("ncurses" ,ncurses))) - (arguments - '(#:modules ((guix build gnu-build-system) - (guix build utils) - (ice-9 ftw)) ; for "rm -rf" - #:phases (alist-cons-after - 'install 'clean-up - (lambda* (#:key outputs #:allow-other-keys) - ;; Remove the 112 MiB of tests that get installed. - (let ((out (assoc-ref outputs "out"))) - (define (rm-rf dir) - (file-system-fold (const #t) ; enter? - (lambda (file stat result) ; leaf - (delete-file file)) - (const #t) ; down - (lambda (dir stat result) ; up - (rmdir dir)) - (const #t) - (lambda (file stat errno result) - (format (current-error-port) - "error: ~a: ~a~%" - file (strerror errno))) - #t - (string-append out "/" dir))) - (rm-rf "mysql-test") - (rm-rf "sql-bench") - - ;; Compress the 14 MiB Info file. - (zero? - (system* "gzip" "--best" - (string-append out "/share/info/mysql.info"))))) - %standard-phases))) - (home-page "http://www.mysql.com/") - (synopsis "A fast, easy to use, and popular database") - (description - "MySQL is a fast, reliable, and easy to use relational database -management system that supports the standardized Structured Query -Language.") - (license gpl2))) diff --git a/distro/packages/nano.scm b/distro/packages/nano.scm deleted file mode 100644 index f51702f4f2..0000000000 --- a/distro/packages/nano.scm +++ /dev/null @@ -1,52 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages nano) - #:use-module (guix licenses) - #:use-module ((distro packages gettext) - #:renamer (symbol-prefix-proc 'guix:)) - #:use-module (distro packages ncurses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public nano - (package - (name "nano") - (version "2.2.6") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/nano/nano-" - version ".tar.gz")) - (sha256 - (base32 - "0yp6pid67k8h7394spzw0067fl2r7rxm2b6kfccg87g8nlry2s5y")))) - (build-system gnu-build-system) - (inputs - `(("gettext" ,guix:gettext) - ("ncurses" ,ncurses))) - (home-page "http://www.nano-editor.org/") - (synopsis - "A small, user-friendly console text editor") - (description - "GNU nano is designed to be a free replacement for the Pico text -editor, part of the Pine email suite from The University of -Washington. It aims to emulate Pico as closely as possible and perhaps -include extra functionality.") - (license gpl3+))) ; some files are under GPLv2+ \ No newline at end of file diff --git a/distro/packages/ncurses.scm b/distro/packages/ncurses.scm deleted file mode 100644 index 938d1dc2c4..0000000000 --- a/distro/packages/ncurses.scm +++ /dev/null @@ -1,128 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages ncurses) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system gnu)) - -(define-public ncurses - (let ((patch-makefile-phase - '(lambda _ - (for-each patch-makefile-SHELL - (find-files "." "Makefile.in")))) - (configure-phase - '(lambda* (#:key inputs outputs configure-flags - #:allow-other-keys) - ;; The `ncursesw5-config' has a #!/bin/sh. We want to patch - ;; it to point to libc's embedded Bash, to avoid retaining a - ;; reference to the bootstrap Bash. - (let* ((libc (assoc-ref inputs "libc")) - (bash (string-append libc "/bin/bash")) - (out (assoc-ref outputs "out"))) - (format #t "configure flags: ~s~%" configure-flags) - (zero? (apply system* bash "./configure" - (string-append "SHELL=" bash) - (string-append "CONFIG_SHELL=" bash) - (string-append "--prefix=" out) - configure-flags))))) - (post-install-phase - '(lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; When building a wide-character (Unicode) build, create backward - ;; compatibility links from the the "normal" libraries to the - ;; wide-character libraries (e.g. libncurses.so to libncursesw.so). - (with-directory-excursion (string-append out "/lib") - (for-each (lambda (lib) - (define libw.a - (string-append "lib" lib "w.a")) - (define lib.a - (string-append "lib" lib ".a")) - (define libw.so.x - (string-append "lib" lib "w.so.5")) - (define lib.so.x - (string-append "lib" lib ".so.5")) - (define lib.so - (string-append "lib" lib ".so")) - - (when (file-exists? libw.a) - (format #t "creating symlinks for `lib~a'~%" lib) - (symlink libw.a lib.a) - (symlink libw.so.x lib.so.x) - (false-if-exception (delete-file lib.so)) - (call-with-output-file lib.so - (lambda (p) - (format p "INPUT (-l~aw)~%" lib))))) - '("curses" "ncurses" "form" "panel" "menu"))))))) - (package - (name "ncurses") - (version "5.9") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/ncurses/ncurses-" - version ".tar.gz")) - (sha256 - (base32 - "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh")))) - (build-system gnu-build-system) - (arguments - (case-lambda - ((system) - `(#:configure-flags - `("--with-shared" "--without-debug" "--enable-widec" - - ;; By default headers land in an `ncursesw' subdir, which is not - ;; what users expect. - ,(string-append "--includedir=" (assoc-ref %outputs "out") - "/include") - - ;; C++ bindings fail to build on - ;; `i386-pc-solaris2.11' with GCC 3.4.3: - ;; <http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6395191>. - ,,@(if (string=? system "i686-solaris") - '("--without-cxx-binding") - '())) - #:tests? #f ; no "check" target - #:phases (alist-cons-after - 'install 'post-install ,post-install-phase - (alist-cons-before - 'configure 'patch-makefile-SHELL - ,patch-makefile-phase - (alist-replace - 'configure - ,configure-phase - %standard-phases))))) - ((system cross-system) - (arguments cross-system)))) - (self-native-input? #t) - (synopsis - "GNU Ncurses, a free software emulation of curses in SVR4 and more") - (description - "The Ncurses (new curses) library is a free software emulation of curses -in System V Release 4.0, and more. It uses Terminfo format, supports pads -and color and multiple highlights and forms characters and function-key -mapping, and has all the other SYSV-curses enhancements over BSD Curses. - -The ncurses code was developed under GNU/Linux. It has been in use for some -time with OpenBSD as the system curses library, and on FreeBSD and NetBSD as -an external package. It should port easily to any ANSI/POSIX-conforming -UNIX. It has even been ported to OS/2 Warp!") - (license x11) - (home-page "http://www.gnu.org/software/ncurses/")))) diff --git a/distro/packages/nettle.scm b/distro/packages/nettle.scm deleted file mode 100644 index 2f512a36d0..0000000000 --- a/distro/packages/nettle.scm +++ /dev/null @@ -1,60 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages nettle) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (distro packages multiprecision) - #:use-module (distro packages m4)) - -(define-public nettle - (package - (name "nettle") - (version "2.6") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/nettle/nettle-" - version ".tar.gz")) - (sha256 - (base32 - "0mminj3fg0vba8qx4q6dbf0xz6fskamli7z2r8rci5xrcd7n5pv0")))) - (build-system gnu-build-system) - (inputs `(("m4" ,m4))) - (propagated-inputs `(("gmp" ,gmp))) - (home-page "http://www.lysator.liu.se/~nisse/nettle/") - (synopsis "GNU Nettle, a cryptographic library") - (description - "Nettle is a cryptographic library that is designed to fit easily -in more or less any context: In crypto toolkits for object-oriented -languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, -or even in kernel space. In most contexts, you need more than the basic -cryptographic algorithms, you also need some way to keep track of -available algorithms, their properties and variants. You often have -some algorithm selection process, often dictated by a protocol you want -to implement. - -And as the requirements of applications differ in subtle and not so -subtle ways, an API that fits one application well can be a pain to use -in a different context. And that is why there are so many different -cryptographic libraries around. \nNettle tries to avoid this problem by -doing one thing, the low-level crypto stuff, and providing a simple but -general interface to it. In particular, Nettle doesn't do algorithm -selection. It doesn't do memory allocation. It doesn't do any I/O.") - (license gpl2+))) diff --git a/distro/packages/openssl.scm b/distro/packages/openssl.scm deleted file mode 100644 index 503f593bdd..0000000000 --- a/distro/packages/openssl.scm +++ /dev/null @@ -1,68 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages openssl) - #:use-module (distro) - #:use-module (distro packages perl) - #:use-module ((guix licenses) #:renamer (symbol-prefix-proc 'license:)) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public openssl - (package - (name "openssl") - (version "1.0.1c") - (source (origin - (method url-fetch) - (uri (string-append "ftp://ftp.openssl.org/source/openssl-" version - ".tar.gz")) - (sha256 (base32 - "1gjy6a7d8nszi9wq8jdzx3cffn0nss23h3cw2ywlw4cb9v6v77ia")))) - (build-system gnu-build-system) - (inputs `(("perl" ,perl))) - (arguments - (lambda (system) - `(#:parallel-build? #f - #:parallel-tests? #f - #:test-target "test" - #:phases - (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (zero? - (system* "./config" - "shared" ; build shared libraries - "--libdir=lib" - (string-append "--prefix=" out))))) - (alist-cons-before - 'patch-source-shebangs 'patch-tests - (lambda* (#:key inputs #:allow-other-keys) - (let ((bash (assoc-ref inputs "bash"))) - (substitute* (find-files "test" ".*") - (("/bin/sh") - (string-append bash "/bin/bash")) - (("/bin/rm") - "rm")))) - %standard-phases))))) - (synopsis "OpenSSL, an SSL/TLS implementation") - (description - "OpenSSL is an implementation of SSL/TLS") - (license license:openssl) - (home-page "http://www.openssl.org/"))) diff --git a/distro/packages/patches/bigloo-gc-shebangs.patch b/distro/packages/patches/bigloo-gc-shebangs.patch deleted file mode 100644 index 07af261887..0000000000 --- a/distro/packages/patches/bigloo-gc-shebangs.patch +++ /dev/null @@ -1,17 +0,0 @@ -Patch shebangs in source that gets unpacked by `configure'. - ---- bigloo3.9a/gc/install-gc-7.2d 2013-01-14 15:24:01.000000000 +0100 -+++ bigloo3.9a/gc/install-gc-7.2d 2013-01-14 15:23:51.000000000 +0100 -@@ -29,9 +29,11 @@ fi - # untar the two versions of the GC - $tar xfz $src -C ../gc || (echo "$tar xfz $src failed"; exit 1) - /bin/rm -rf "../gc/$gc"_fth -+find ../gc/gc-7.2 -perm /111 -type f | xargs sed -i -e"s|/bin/sh|`type -P bash`|g" - mv ../gc/gc-7.2 "../gc/$gc"_fth || (echo "mv gc-7.2 failed"; exit 1) - - $tar xfz $src -C ../gc || (echo "$tar xfz $src failed"; exit 1) -+find ../gc/gc-7.2 -perm /111 -type f | xargs sed -i -e"s|/bin/sh|`type -P bash`|g" - mv ../gc/gc-7.2 "../gc/$gc" - - # general Bigloo patch - diff --git a/distro/packages/patches/binutils-ld-new-dtags.patch b/distro/packages/patches/binutils-ld-new-dtags.patch deleted file mode 100644 index 5f7a03fc38..0000000000 --- a/distro/packages/patches/binutils-ld-new-dtags.patch +++ /dev/null @@ -1,16 +0,0 @@ -Turn on --enable-new-dtags by default to make the linker set RUNPATH -instead of RPATH on binaries. This is important because RUNPATH can -be overriden using LD_LIBRARY_PATH at runtime. - -Patch from Nixpkgs by Eelco Dolstra <eelco.dolstra@logicblox.com>. - ---- binutils/ld/ldmain.c -+++ binutils/ld/ldmain.c -@@ -296,6 +296,7 @@ main (int argc, char **argv) - - link_info.allow_undefined_version = TRUE; - link_info.keep_memory = TRUE; -+ link_info.new_dtags = TRUE; - link_info.combreloc = TRUE; - link_info.strip_discarded = TRUE; - link_info.callbacks = &link_callbacks; diff --git a/distro/packages/patches/cpio-gets-undeclared.patch b/distro/packages/patches/cpio-gets-undeclared.patch deleted file mode 100644 index bc34de6455..0000000000 --- a/distro/packages/patches/cpio-gets-undeclared.patch +++ /dev/null @@ -1,45 +0,0 @@ -This patch is needed to allow builds with newer versions of -the GNU libc (2.16+). - -The upstream fix was: - - commit 66712c23388e93e5c518ebc8515140fa0c807348 - Author: Eric Blake <eblake@redhat.com> - Date: Thu Mar 29 13:30:41 2012 -0600 - - stdio: don't assume gets any more - - Gnulib intentionally does not have a gets module, and now that C11 - and glibc have dropped it, we should be more proactive about warning - any user on a platform that still has a declaration of this dangerous - interface. - - * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets - support. - * modules/stdio (Makefile.am): Likewise. - * lib/stdio-read.c (gets): Likewise. - * tests/test-stdio-c++.cc: Likewise. - * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment. - * lib/stdio.in.h (gets): Make warning occur in more places. - * doc/posix-functions/gets.texi (gets): Update documentation. - Reported by Christer Solskogen. - - Signed-off-by: Eric Blake <eblake@redhat.com> - -This patch just gets rid of the offending part. - ---- cpio-2.11/gnu/stdio.in.h-orig 2012-11-25 22:17:06.000000000 +0400 -+++ cpio-2.11/gnu/stdio.in.h 2012-11-25 22:18:36.000000000 +0400 -@@ -135,12 +135,6 @@ - "use gnulib module fflush for portable POSIX compliance"); - #endif - --/* It is very rare that the developer ever has full control of stdin, -- so any use of gets warrants an unconditional warning. Assume it is -- always declared, since it is required by C89. */ --#undef gets --_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); -- - #if @GNULIB_FOPEN@ - # if @REPLACE_FOPEN@ - # if !(defined __cplusplus && defined GNULIB_NAMESPACE) diff --git a/distro/packages/patches/diffutils-gets-undeclared.patch b/distro/packages/patches/diffutils-gets-undeclared.patch deleted file mode 100644 index b6cdc77caa..0000000000 --- a/distro/packages/patches/diffutils-gets-undeclared.patch +++ /dev/null @@ -1,71 +0,0 @@ -This patch is needed to allow builds with newer versions of -the GNU libc (2.16+). - - -commit 66712c23388e93e5c518ebc8515140fa0c807348 -Author: Eric Blake <eblake@redhat.com> -Date: Thu Mar 29 13:30:41 2012 -0600 - - stdio: don't assume gets any more - - Gnulib intentionally does not have a gets module, and now that C11 - and glibc have dropped it, we should be more proactive about warning - any user on a platform that still has a declaration of this dangerous - interface. - - * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets - support. - * modules/stdio (Makefile.am): Likewise. - * lib/stdio-read.c (gets): Likewise. - * tests/test-stdio-c++.cc: Likewise. - * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment. - * lib/stdio.in.h (gets): Make warning occur in more places. - * doc/posix-functions/gets.texi (gets): Update documentation. - Reported by Christer Solskogen. - - Signed-off-by: Eric Blake <eblake@redhat.com> - -diff --git a/lib/stdio.in.h b/lib/stdio.in.h -index aa7b599..c377b6e 100644 ---- a/lib/stdio.in.h -+++ b/lib/stdio.in.h -@@ -698,22 +698,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " - # endif - #endif - --#if @GNULIB_GETS@ --# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ --# if !(defined __cplusplus && defined GNULIB_NAMESPACE) --# undef gets --# define gets rpl_gets --# endif --_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1))); --_GL_CXXALIAS_RPL (gets, char *, (char *s)); --# else --_GL_CXXALIAS_SYS (gets, char *, (char *s)); --# undef gets --# endif --_GL_CXXALIASWARN (gets); - /* It is very rare that the developer ever has full control of stdin, -- so any use of gets warrants an unconditional warning. Assume it is -- always declared, since it is required by C89. */ -+ so any use of gets warrants an unconditional warning; besides, C11 -+ removed it. */ -+#undef gets -+#if HAVE_RAW_DECL_GETS - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - #endif - -@@ -1053,9 +1042,9 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - " - # endif - #endif - --/* Some people would argue that sprintf should be handled like gets -- (for example, OpenBSD issues a link warning for both functions), -- since both can cause security holes due to buffer overruns. -+/* Some people would argue that all sprintf uses should be warned about -+ (for example, OpenBSD issues a link warning for it), -+ since it can cause security holes due to buffer overruns. - However, we believe that sprintf can be used safely, and is more - efficient than snprintf in those safe cases; and as proof of our - belief, we use sprintf in several gnulib modules. So this header diff --git a/distro/packages/patches/emacs-configure-sh.patch b/distro/packages/patches/emacs-configure-sh.patch deleted file mode 100644 index fd34d06ced..0000000000 --- a/distro/packages/patches/emacs-configure-sh.patch +++ /dev/null @@ -1,14 +0,0 @@ -Make sure the right shell is used when creating src/epaths.h. - ---- emacs-24.2/configure 2013-01-13 17:01:53.000000000 +0100 -+++ emacs-24.2/configure 2013-01-13 17:01:57.000000000 +0100 -@@ -24135,7 +24135,7 @@ done - ;; - "epaths":C) - echo creating src/epaths.h --${MAKE-make} epaths-force -+${MAKE-make} epaths-force SHELL="$CONFIG_SHELL" - ;; - "gdbinit":C) - if test ! -f src/.gdbinit && test -f $srcdir/src/.gdbinit; then - diff --git a/distro/packages/patches/findutils-absolute-paths.patch b/distro/packages/patches/findutils-absolute-paths.patch deleted file mode 100644 index 96341e281f..0000000000 --- a/distro/packages/patches/findutils-absolute-paths.patch +++ /dev/null @@ -1,29 +0,0 @@ -Fix use of LFS-style absolute paths. - -Patches from Nixpkgs by Armijn Hemel <armijn@gpl-violations.org> -and Wouter den Breejen <uu@denbreejen.net>. - -diff -ruN findutils-4.2.20/locate/updatedb.sh findutils-4.2.20.new/locate/updatedb.sh ---- findutils-4.2.20/locate/updatedb.sh 2005-01-24 17:12:35.000000000 +0100 -+++ findutils-4.2.20.new/locate/updatedb.sh 2005-08-23 14:37:10.000000000 +0200 -@@ -141,7 +141,7 @@ - : ${code:=${LIBEXECDIR}/@code@} - - --PATH=/bin:/usr/bin:${BINDIR}; export PATH -+PATH=/bin:/usr/bin:${BINDIR}:${PATH}; export PATH - - : ${PRUNEFS="nfs NFS proc afs proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs sysfs shfs"} - -diff -Naur findutils-4.2.30/xargs/xargs.c findutils-4.2.30_new/xargs/xargs.c ---- findutils-4.2.30/xargs/xargs.c 2007-02-27 11:21:08.000000000 +0100 -+++ findutils-4.2.30_new/xargs/xargs.c 2007-07-17 19:02:05.000000000 +0200 -@@ -402,7 +402,7 @@ - int show_limits = 0; /* --show-limits */ - int always_run_command = 1; - char *input_file = "-"; /* "-" is stdin */ -- char *default_cmd = "/bin/echo"; -+ char *default_cmd = "echo"; - int (*read_args) PARAMS ((void)) = read_line; - void (*act_on_init_result)(void) = noop; - int env_too_big = 0; diff --git a/distro/packages/patches/flex-bison-tests.patch b/distro/packages/patches/flex-bison-tests.patch deleted file mode 100644 index 0f372f83bf..0000000000 --- a/distro/packages/patches/flex-bison-tests.patch +++ /dev/null @@ -1,24 +0,0 @@ -The `test-bison-yyl{loc,val}' tests fail with "conflicting types for -'testparse'" because `YYPARSE_PARAM' is undefined; work around that. - ---- flex-2.5.37/tests/test-bison-yylloc/main.c 2012-11-22 18:17:01.000000000 +0100 -+++ flex-2.5.37/tests/test-bison-yylloc/main.c 2012-11-22 18:17:07.000000000 +0100 -@@ -21,6 +21,7 @@ - * PURPOSE. - */ - -+#define YYPARSE_PARAM scanner - #include "parser.h" - #include "scanner.h" - - ---- flex-2.5.37/tests/test-bison-yylval/main.c 2012-11-22 18:17:42.000000000 +0100 -+++ flex-2.5.37/tests/test-bison-yylval/main.c 2012-11-22 18:17:49.000000000 +0100 -@@ -21,6 +21,7 @@ - * PURPOSE. - */ - -+#define YYPARSE_PARAM scanner - #include "parser.h" - #include "scanner.h" - diff --git a/distro/packages/patches/gawk-shell.patch b/distro/packages/patches/gawk-shell.patch deleted file mode 100644 index 89b8540a8d..0000000000 --- a/distro/packages/patches/gawk-shell.patch +++ /dev/null @@ -1,34 +0,0 @@ -As for libc's `system', change Awk to look for `sh' in $PATH. This patch is -only meant to be used during bootstrapping, where we don't know in advance the -absolute file name of `sh'. - ---- gawk-4.0.0/io.c 2011-05-18 20:47:29.000000000 +0200 -+++ gawk-4.0.0/io.c 2012-12-18 15:56:06.000000000 +0100 -@@ -1759,7 +1759,7 @@ two_way_open(const char *str, struct red - - signal(SIGPIPE, SIG_DFL); - -- execl("/bin/sh", "sh", "-c", str, NULL); -+ execlp("sh", "sh", "-c", str, NULL); - _exit(errno == ENOENT ? 127 : 126); - - case -1: -@@ -1924,7 +1924,7 @@ use_pipes: - || close(ctop[0]) == -1 || close(ctop[1]) == -1) - fatal(_("close of pipe failed (%s)"), strerror(errno)); - /* stderr does NOT get dup'ed onto child's stdout */ -- execl("/bin/sh", "sh", "-c", str, NULL); -+ execlp("sh", "sh", "-c", str, NULL); - _exit(errno == ENOENT ? 127 : 126); - } - #endif /* NOT __EMX__ */ -@@ -2074,7 +2074,7 @@ gawk_popen(const char *cmd, struct redir - fatal(_("moving pipe to stdout in child failed (dup: %s)"), strerror(errno)); - if (close(p[0]) == -1 || close(p[1]) == -1) - fatal(_("close of pipe failed (%s)"), strerror(errno)); -- execl("/bin/sh", "sh", "-c", cmd, NULL); -+ execlp("sh", "sh", "-c", cmd, NULL); - _exit(errno == ENOENT ? 127 : 126); - } - #endif /* NOT __EMX__ */ - diff --git a/distro/packages/patches/gettext-gets-undeclared.patch b/distro/packages/patches/gettext-gets-undeclared.patch deleted file mode 100644 index 072a8d94ab..0000000000 --- a/distro/packages/patches/gettext-gets-undeclared.patch +++ /dev/null @@ -1,77 +0,0 @@ -This patch is needed to allow builds with newer versions of -the GNU libc (2.16+). - -The upstream fix was: - - commit 66712c23388e93e5c518ebc8515140fa0c807348 - Author: Eric Blake <eblake@redhat.com> - Date: Thu Mar 29 13:30:41 2012 -0600 - - stdio: don't assume gets any more - - Gnulib intentionally does not have a gets module, and now that C11 - and glibc have dropped it, we should be more proactive about warning - any user on a platform that still has a declaration of this dangerous - interface. - - * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets - support. - * modules/stdio (Makefile.am): Likewise. - * lib/stdio-read.c (gets): Likewise. - * tests/test-stdio-c++.cc: Likewise. - * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment. - * lib/stdio.in.h (gets): Make warning occur in more places. - * doc/posix-functions/gets.texi (gets): Update documentation. - Reported by Christer Solskogen. - - Signed-off-by: Eric Blake <eblake@redhat.com> - -This patch just gets rid of the offending part. - ---- gettext-0.18.1.1/gettext-tools/libgettextpo/stdio.in.h-orig 2012-11-24 01:13:14.000000000 +0400 -+++ gettext-0.18.1.1/gettext-tools/libgettextpo/stdio.in.h 2012-11-24 01:13:46.000000000 +0400 -@@ -137,12 +137,6 @@ - "use gnulib module fflush for portable POSIX compliance"); - #endif - --/* It is very rare that the developer ever has full control of stdin, -- so any use of gets warrants an unconditional warning. Assume it is -- always declared, since it is required by C89. */ --#undef gets --_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); -- - #if @GNULIB_FOPEN@ - # if @REPLACE_FOPEN@ - # if !(defined __cplusplus && defined GNULIB_NAMESPACE) - ---- gettext-0.18.1.1/gettext-runtime/gnulib-lib/stdio.in.h-orig 2012-11-24 00:26:49.000000000 +0400 -+++ gettext-0.18.1.1/gettext-runtime/gnulib-lib/stdio.in.h 2012-11-24 00:45:54.000000000 +0400 -@@ -137,12 +137,6 @@ - "use gnulib module fflush for portable POSIX compliance"); - #endif - --/* It is very rare that the developer ever has full control of stdin, -- so any use of gets warrants an unconditional warning. Assume it is -- always declared, since it is required by C89. */ --#undef gets --_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); -- - #if @GNULIB_FOPEN@ - # if @REPLACE_FOPEN@ - # if !(defined __cplusplus && defined GNULIB_NAMESPACE) - ---- gettext-0.18.1.1/gettext-tools/gnulib-lib/stdio.in.h-orig 2012-11-24 01:00:26.000000000 +0400 -+++ gettext-0.18.1.1/gettext-tools/gnulib-lib/stdio.in.h 2012-11-24 01:00:53.000000000 +0400 -@@ -137,12 +137,6 @@ - "use gnulib module fflush for portable POSIX compliance"); - #endif - --/* It is very rare that the developer ever has full control of stdin, -- so any use of gets warrants an unconditional warning. Assume it is -- always declared, since it is required by C89. */ --#undef gets --_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); -- - #if @GNULIB_FOPEN@ - # if @REPLACE_FOPEN@ - # if !(defined __cplusplus && defined GNULIB_NAMESPACE) diff --git a/distro/packages/patches/glibc-bootstrap-system.patch b/distro/packages/patches/glibc-bootstrap-system.patch deleted file mode 100644 index 7208cce3f4..0000000000 --- a/distro/packages/patches/glibc-bootstrap-system.patch +++ /dev/null @@ -1,28 +0,0 @@ -We want to allow builds in chroots that lack /bin/sh. Thus, system(3) -and popen(3) need to be tweaked to use the right shell. For the bootstrap -glibc, we just use whatever `sh' can be found in $PATH. The final glibc -instead uses the hard-coded absolute file name of `bash'. - ---- a/sysdeps/posix/system.c -+++ b/sysdeps/posix/system.c -@@ -134,7 +134,7 @@ do_system (const char *line) - INIT_LOCK (); - - /* Exec the shell. */ -- (void) __execve (SHELL_PATH, (char *const *) new_argv, __environ); -+ (void) __execvpe (SHELL_NAME, (char *const *) new_argv, __environ); - _exit (127); - } - else if (pid < (pid_t) 0) - ---- b/libio/iopopen.c 2012-06-30 21:12:34.000000000 +0200 -+++ b/libio/iopopen.c 2012-12-19 12:52:29.000000000 +0100 -@@ -226,7 +226,7 @@ _IO_new_proc_open (fp, command, mode) - _IO_close (fd); - } - -- _IO_execl ("/bin/sh", "sh", "-c", command, (char *) 0); -+ execlp ("sh", "sh", "-c", command, (char *) 0); - _IO__exit (127); - } - _IO_close (child_end); diff --git a/distro/packages/patches/glibc-no-ld-so-cache.patch b/distro/packages/patches/glibc-no-ld-so-cache.patch deleted file mode 100644 index 75fff50b47..0000000000 --- a/distro/packages/patches/glibc-no-ld-so-cache.patch +++ /dev/null @@ -1,53 +0,0 @@ -Disable attempts to use the system-wide /etc/ld.so.cache. This is -required on LFS distros to avoid loading the distro's libc.so instead -of ours. - -Patch from Nixpkgs. Idea by Eelco Dolstra, initial patch by Jack -Cummings, minor fixups by Shea Levy. - -diff -Naur glibc-2.13-orig/elf/ldconfig.c glibc-2.13/elf/ldconfig.c ---- glibc-2.13-orig/elf/ldconfig.c 2011-01-17 23:34:07.000000000 -0500 -+++ glibc-2.13/elf/ldconfig.c 2012-04-10 23:28:45.957492340 -0400 -@@ -51,7 +51,7 @@ - #endif - - #ifndef LD_SO_CONF --# define LD_SO_CONF SYSCONFDIR "/ld.so.conf" -+# define LD_SO_CONF PREFIX "/etc/ld.so.conf" - #endif - - /* Get libc version number. */ - ---- glibc-2.16.0/elf/Makefile 2012-06-30 21:12:34.000000000 +0200 -+++ glibc-2.16.0/elf/Makefile 2012-11-12 23:52:21.000000000 +0100 -@@ -415,12 +415,12 @@ $(objpfx)ldconfig: $(ldconfig-modules:%= - - $(objpfx)pldd: $(pldd-modules:%=$(objpfx)%.o) - --SYSCONF-FLAGS := -D'SYSCONFDIR="$(sysconfdir)"' --CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \ -+PREFIX-FLAGS := -D'PREFIX="$(sysconfdir)"' -+CFLAGS-ldconfig.c = $(PREFIX-FLAGS) -D'LIBDIR="$(libdir)"' \ - -D'SLIBDIR="$(slibdir)"' -DIS_IN_ldconfig=1 --CFLAGS-dl-cache.c = $(SYSCONF-FLAGS) --CFLAGS-cache.c = $(SYSCONF-FLAGS) --CFLAGS-rtld.c = $(SYSCONF-FLAGS) -+CFLAGS-dl-cache.c = $(PREFIX-FLAGS) -+CFLAGS-cache.c = $(PREFIX-FLAGS) -+CFLAGS-rtld.c = $(PREFIX-FLAGS) - - CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\ - -DNOT_IN_libc=1 -DIS_IN_rtld=1 -DIN_LIB=rtld) - -diff -Naur glibc-2.13-orig/sysdeps/generic/dl-cache.h glibc-2.13/sysdeps/generic/dl-cache.h ---- glibc-2.13-orig/sysdeps/generic/dl-cache.h 2011-01-17 23:34:07.000000000 -0500 -+++ glibc-2.13/sysdeps/generic/dl-cache.h 2012-04-10 23:28:20.077488815 -0400 -@@ -29,7 +29,7 @@ - #endif - - #ifndef LD_SO_CACHE --# define LD_SO_CACHE SYSCONFDIR "/ld.so.cache" -+# define LD_SO_CACHE PREFIX "/etc/ld.so.cache" - #endif - - #ifndef add_system_dir diff --git a/distro/packages/patches/guile-1.8-cpp-4.5.patch b/distro/packages/patches/guile-1.8-cpp-4.5.patch deleted file mode 100644 index 638d071baf..0000000000 --- a/distro/packages/patches/guile-1.8-cpp-4.5.patch +++ /dev/null @@ -1,24 +0,0 @@ -Fix doc snarfing with GCC 4.5+. -From <http://git.savannah.gnu.org/cgit/guile.git/commit/?h=branch_release-1-8&id=aac41d28358cea594bb30f6e547afb82bb6004a6>. - -diff --git a/scripts/snarf-check-and-output-texi b/scripts/snarf-check-and-output-texi -index ea33e17..8cd42e8 100755 ---- a/scripts/snarf-check-and-output-texi -+++ b/scripts/snarf-check-and-output-texi -@@ -267,6 +267,17 @@ exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@" - (set! *file* file) - (set! *line* line)) - -+ ;; newer gccs like to throw around more location markers into the -+ ;; preprocessed source; these (hash . hash) bits are what they translate to -+ ;; in snarfy terms. -+ (('location ('string . file) ('int . line) ('hash . 'hash)) -+ (set! *file* file) -+ (set! *line* line)) -+ -+ (('location ('hash . 'hash) ('string . file) ('int . line) ('hash . 'hash)) -+ (set! *file* file) -+ (set! *line* line)) -+ - (('arglist rest ...) - (set! *args* (do-arglist rest))) diff --git a/distro/packages/patches/guile-default-utf8.patch b/distro/packages/patches/guile-default-utf8.patch deleted file mode 100644 index 409f435161..0000000000 --- a/distro/packages/patches/guile-default-utf8.patch +++ /dev/null @@ -1,111 +0,0 @@ -This hack makes Guile default to UTF-8. This avoids calls to -`iconv_open'; `iconv_open' tries to open shared objects that aren't -available during bootstrap, so using UTF-8 avoids that (and UTF-8 has -built-in conversions in glibc, too.) - -diff --git a/libguile/bytevectors.c b/libguile/bytevectors.c -index cf41f2f..facfb91 100644 ---- a/libguile/bytevectors.c -+++ b/libguile/bytevectors.c -@@ -1887,7 +1887,7 @@ utf_encoding_name (char *name, size_t utf_width, SCM endianness) - if (scm_i_is_narrow_string (str)) \ - { \ - err = mem_iconveh (scm_i_string_chars (str), c_strlen, \ -- "ISO-8859-1", c_utf_name, \ -+ "UTF-8", c_utf_name, \ - iconveh_question_mark, NULL, \ - &c_utf, &c_utf_len); \ - if (SCM_UNLIKELY (err)) \ -diff --git a/libguile/ports.c b/libguile/ports.c -index 301bc44..b0ea2e6 100644 ---- a/libguile/ports.c -+++ b/libguile/ports.c -@@ -1750,7 +1750,7 @@ scm_ungetc (scm_t_wchar c, SCM port) - if (pt->encoding != NULL) - encoding = pt->encoding; - else -- encoding = "ISO-8859-1"; -+ encoding = "UTF-8"; - - len = sizeof (result_buf); - result = u32_conv_to_encoding (encoding, -@@ -2212,7 +2212,7 @@ scm_i_set_port_encoding_x (SCM port, const char *encoding) - pt = SCM_PTAB_ENTRY (port); - - if (encoding == NULL) -- encoding = "ISO-8859-1"; -+ encoding = "UTF-8"; - - if (pt->encoding != encoding) - pt->encoding = scm_gc_strdup (encoding, "port"); -diff --git a/libguile/posix.c b/libguile/posix.c -index 4f8b8ac..fea7f74 100644 ---- a/libguile/posix.c -+++ b/libguile/posix.c -@@ -1740,7 +1740,7 @@ SCM_DEFINE (scm_setlocale, "setlocale", 1, 1, 0, - SCM_SYSERROR; - } - -- enc = locale_charset (); -+ enc = "UTF-8"; - - /* Set the default encoding for new ports. */ - scm_i_set_default_port_encoding (enc); -diff --git a/libguile/script.c b/libguile/script.c -index 83daf8a..083891e 100644 ---- a/libguile/script.c -+++ b/libguile/script.c -@@ -387,7 +387,7 @@ locale_arguments_to_string_list (int argc, char **const argv) - SCM lst; - const char *encoding; - -- encoding = environ_locale_charset (); -+ encoding = "UTF-8"; - for (i = argc - 1, lst = SCM_EOL; - i >= 0; - i--) -diff --git a/libguile/strings.c b/libguile/strings.c -index 5d0db23..8266247 100644 ---- a/libguile/strings.c -+++ b/libguile/strings.c -@@ -1576,7 +1576,7 @@ scm_from_locale_string (const char *str) - SCM - scm_from_locale_stringn (const char *str, size_t len) - { -- return scm_from_stringn (str, len, locale_charset (), -+ return scm_from_stringn (str, len, "UTF-8", - scm_i_default_port_conversion_handler ()); - } - -@@ -1803,7 +1803,7 @@ char * - scm_to_locale_stringn (SCM str, size_t *lenp) - { - return scm_to_stringn (str, lenp, -- locale_charset (), -+ "UTF-8", - scm_i_default_port_conversion_handler ()); - } - -@@ -2054,7 +2054,7 @@ scm_to_stringn (SCM str, size_t *lenp, const char *encoding, - "string contains #\\nul character: ~S", - scm_list_1 (str)); - -- if (scm_i_is_narrow_string (str) && (encoding == NULL)) -+ if (scm_i_is_narrow_string (str)) - { - /* If using native Latin-1 encoding, just copy the string - contents. */ -@@ -2079,11 +2079,11 @@ scm_to_stringn (SCM str, size_t *lenp, const char *encoding, - len = 0; - enc = encoding; - if (enc == NULL) -- enc = "ISO-8859-1"; -+ enc = "UTF-8"; - if (scm_i_is_narrow_string (str)) - { - ret = mem_iconveh (scm_i_string_chars (str), ilen, -- "ISO-8859-1", enc, -+ "UTF-8", enc, - (enum iconv_ilseq_handler) handler, NULL, - &buf, &len); - diff --git a/distro/packages/patches/guile-relocatable.patch b/distro/packages/patches/guile-relocatable.patch deleted file mode 100644 index 077394cdde..0000000000 --- a/distro/packages/patches/guile-relocatable.patch +++ /dev/null @@ -1,70 +0,0 @@ -This patch changes Guile to use a default search path relative to the -location of the `guile' binary, allowing it to be relocated. - -diff --git a/libguile/load.c b/libguile/load.c -index af2ca45..19dd338 100644 ---- a/libguile/load.c -+++ b/libguile/load.c -@@ -26,6 +26,7 @@ - - #include <string.h> - #include <stdio.h> -+#include <libgen.h> - - #include "libguile/_scm.h" - #include "libguile/private-gc.h" /* scm_getenv_int */ -@@ -255,6 +256,32 @@ scm_init_load_path () - SCM cpath = SCM_EOL; - - #ifdef SCM_LIBRARY_DIR -+ char *program, *bin_dir, *prefix, *module_dir, *ccache_dir; -+ -+ /* Determine the source and compiled module directories at run-time, -+ relative to the executable's location. -+ -+ Note: Use /proc/self/exe instead of argv[0] because the latter is -+ not necessarily an absolute, nor a valid file name. */ -+ -+ program = scm_gc_malloc_pointerless (256, "string"); -+ readlink ("/proc/self/exe", program, 256); -+ -+ bin_dir = dirname (strdupa (program)); -+ -+ prefix = scm_gc_malloc_pointerless (strlen (bin_dir) + 4, "string"); -+ strcpy (prefix, bin_dir); -+ strcat (prefix, "/.."); -+ prefix = canonicalize_file_name (prefix); -+ -+ module_dir = scm_gc_malloc_pointerless (strlen (prefix) + 50, "string"); -+ strcpy (module_dir, prefix); -+ strcat (module_dir, "/share/guile/2.0"); -+ -+ ccache_dir = scm_gc_malloc_pointerless (strlen (prefix) + 50, "string"); -+ strcpy (ccache_dir, prefix); -+ strcat (ccache_dir, "/lib/guile/2.0/ccache"); -+ - env = getenv ("GUILE_SYSTEM_PATH"); - if (env && strcmp (env, "") == 0) - /* special-case interpret system-path=="" as meaning no system path instead -@@ -263,10 +290,7 @@ scm_init_load_path () - else if (env) - path = scm_parse_path (scm_from_locale_string (env), path); - else -- path = scm_list_4 (scm_from_locale_string (SCM_LIBRARY_DIR), -- scm_from_locale_string (SCM_SITE_DIR), -- scm_from_locale_string (SCM_GLOBAL_SITE_DIR), -- scm_from_locale_string (SCM_PKGDATA_DIR)); -+ path = scm_list_1 (scm_from_locale_string (module_dir)); - - env = getenv ("GUILE_SYSTEM_COMPILED_PATH"); - if (env && strcmp (env, "") == 0) -@@ -276,8 +300,7 @@ scm_init_load_path () - cpath = scm_parse_path (scm_from_locale_string (env), cpath); - else - { -- cpath = scm_list_2 (scm_from_locale_string (SCM_CCACHE_DIR), -- scm_from_locale_string (SCM_SITE_CCACHE_DIR)); -+ cpath = scm_list_1 (scm_from_locale_string (ccache_dir)); - } - - #endif /* SCM_LIBRARY_DIR */ diff --git a/distro/packages/patches/libtool-skip-tests.patch b/distro/packages/patches/libtool-skip-tests.patch deleted file mode 100644 index 6e12615d51..0000000000 --- a/distro/packages/patches/libtool-skip-tests.patch +++ /dev/null @@ -1,37 +0,0 @@ -Because our GCC `lib' spec automatically adds `-rpath' for each `-L' -and a couple more `-rpath, there are two test failures: -demo-hardcode.test, and destdir.at. Disable these. - ---- libtool-2.4.2/Makefile.in 2011-10-17 12:18:55.000000000 +0200 -+++ libtool-2.4.2/Makefile.in 2012-09-13 23:50:37.000000000 +0200 -@@ -909,7 +908,7 @@ COMMON_TESTS = \ - # but they depend on the other tests being run beforehand. - INTERACTIVE_TESTS = tests/demo-shared.test tests/demo-shared-make.test \ - tests/demo-shared-exec.test tests/demo-shared-inst.test \ -- tests/demo-hardcode.test tests/demo-relink.test \ -+ tests/demo-relink.test \ - tests/demo-noinst-link.test tests/demo-shared-unst.test \ - tests/depdemo-shared.test tests/depdemo-shared-make.test \ - tests/depdemo-shared-exec.test tests/depdemo-shared-inst.test \ -@@ -2580,8 +2579,7 @@ tests/cdemo-static-make.log: tests/cdemo - - tests/demo-shared-unst.log: tests/demo-noinst-link.log - tests/demo-noinst-link.log: tests/demo-relink.log --tests/demo-relink.log: tests/demo-hardcode.log --tests/demo-hardcode.log: tests/demo-shared-inst.log -+tests/demo-relink.log: tests/demo-shared-inst.log - tests/demo-shared-inst.log: tests/demo-shared-exec.log - tests/demo-shared-exec.log: tests/demo-shared-make.log - tests/demo-shared-make.log: tests/demo-shared.log - ---- libtool-2.4.2/tests/testsuite 2011-10-17 12:19:52.000000000 +0200 -+++ libtool-2.4.2/tests/testsuite 2012-09-14 00:28:45.000000000 +0200 -@@ -14443,6 +14443,6 @@ read at_status <"$at_status_file" - #AT_START_69 - at_fn_group_banner 69 'destdir.at:75' \ - "DESTDIR with in-package deplibs" " " 4 --at_xfail=no -+at_xfail=yes - eval `$LIBTOOL --config | grep '^fast_install='` - case $fast_install in no) :;; *) false;; esac && at_xfail=yes - diff --git a/distro/packages/patches/lsh-guile-compat.patch b/distro/packages/patches/lsh-guile-compat.patch deleted file mode 100644 index 0fe0484580..0000000000 --- a/distro/packages/patches/lsh-guile-compat.patch +++ /dev/null @@ -1,9 +0,0 @@ -Use (ice-9 rdelim) for `read-line'. - ---- lsh-2.0.4/src/scm/guile-compat.scm 2012-12-03 23:28:01.000000000 +0100 -+++ lsh-2.0.4/src/scm/guile-compat.scm 2012-12-03 23:28:04.000000000 +0100 -@@ -21,3 +21,4 @@ - ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - (use-syntax (ice-9 syncase)) -+(use-modules (ice-9 rdelim)) diff --git a/distro/packages/patches/lsh-no-root-login.patch b/distro/packages/patches/lsh-no-root-login.patch deleted file mode 100644 index 9dd81de3fb..0000000000 --- a/distro/packages/patches/lsh-no-root-login.patch +++ /dev/null @@ -1,16 +0,0 @@ -Correctly handle the `--no-root-login' option. - ---- lsh-2.0.4/src/lshd.c 2006-05-01 13:47:44.000000000 +0200 -+++ lsh-2.0.4/src/lshd.c 2009-09-08 12:20:36.000000000 +0200 -@@ -758,6 +758,10 @@ main_argp_parser(int key, char *arg, str - self->allow_root = 1; - break; - -+ case OPT_NO_ROOT_LOGIN: -+ self->allow_root = 0; -+ break; -+ - case OPT_KERBEROS_PASSWD: - self->pw_helper = PATH_KERBEROS_HELPER; - break; - diff --git a/distro/packages/patches/lsh-pam-service-name.patch b/distro/packages/patches/lsh-pam-service-name.patch deleted file mode 100644 index 6a6156855c..0000000000 --- a/distro/packages/patches/lsh-pam-service-name.patch +++ /dev/null @@ -1,14 +0,0 @@ -Tell `lsh-pam-checkpw', the PAM password helper program, to use a more -descriptive service name. - ---- lsh-2.0.4/src/lsh-pam-checkpw.c 2003-02-16 22:30:10.000000000 +0100 -+++ lsh-2.0.4/src/lsh-pam-checkpw.c 2008-11-28 16:16:58.000000000 +0100 -@@ -38,7 +38,7 @@ - #include <security/pam_appl.h> - - #define PWD_MAXLEN 1024 --#define SERVICE_NAME "other" -+#define SERVICE_NAME "lshd" - #define TIMEOUT 600 - - static int diff --git a/distro/packages/patches/m4-gets-undeclared.patch b/distro/packages/patches/m4-gets-undeclared.patch deleted file mode 100644 index d28f0cdcc4..0000000000 --- a/distro/packages/patches/m4-gets-undeclared.patch +++ /dev/null @@ -1,45 +0,0 @@ -This patch is needed to allow builds with newer versions of -the GNU libc (2.16+). - -The upstream fix was: - - commit 66712c23388e93e5c518ebc8515140fa0c807348 - Author: Eric Blake <eblake@redhat.com> - Date: Thu Mar 29 13:30:41 2012 -0600 - - stdio: don't assume gets any more - - Gnulib intentionally does not have a gets module, and now that C11 - and glibc have dropped it, we should be more proactive about warning - any user on a platform that still has a declaration of this dangerous - interface. - - * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets - support. - * modules/stdio (Makefile.am): Likewise. - * lib/stdio-read.c (gets): Likewise. - * tests/test-stdio-c++.cc: Likewise. - * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment. - * lib/stdio.in.h (gets): Make warning occur in more places. - * doc/posix-functions/gets.texi (gets): Update documentation. - Reported by Christer Solskogen. - - Signed-off-by: Eric Blake <eblake@redhat.com> - -This patch just gets rid of the offending part. - ---- m4-1.4.16/lib/stdio.in.h.orig 2012-09-01 01:05:36.000000000 +0200 -+++ m4-1.4.16/lib/stdio.in.h 2012-09-01 01:05:42.000000000 +0200 -@@ -158,12 +158,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not - "use gnulib module fflush for portable POSIX compliance"); - #endif - --/* It is very rare that the developer ever has full control of stdin, -- so any use of gets warrants an unconditional warning. Assume it is -- always declared, since it is required by C89. */ --#undef gets --_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); -- - #if @GNULIB_FOPEN@ - # if @REPLACE_FOPEN@ - # if !(defined __cplusplus && defined GNULIB_NAMESPACE) diff --git a/distro/packages/patches/m4-readlink-EINVAL.patch b/distro/packages/patches/m4-readlink-EINVAL.patch deleted file mode 100644 index dd371584a7..0000000000 --- a/distro/packages/patches/m4-readlink-EINVAL.patch +++ /dev/null @@ -1,18 +0,0 @@ -Newer Linux kernels would return EINVAL instead of ENOENT. -The patch below, taken from Gnulib, allows the test to pass when -these Linux versions are in use: -https://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00308.html . - -diff --git a/tests/test-readlink.h b/tests/test-readlink.h -index 08d5662..7247fc4 100644 ---- a/tests/test-readlink.h -+++ b/tests/test-readlink.h -@@ -38,7 +38,7 @@ test_readlink (ssize_t (*func) (char const *, char *, size_t), bool print) - ASSERT (errno == ENOENT); - errno = 0; - ASSERT (func ("", buf, sizeof buf) == -1); -- ASSERT (errno == ENOENT); -+ ASSERT (errno == ENOENT || errno == EINVAL); - errno = 0; - ASSERT (func (".", buf, sizeof buf) == -1); - ASSERT (errno == EINVAL); diff --git a/distro/packages/patches/m4-s_isdir.patch b/distro/packages/patches/m4-s_isdir.patch deleted file mode 100644 index a009a4ba44..0000000000 --- a/distro/packages/patches/m4-s_isdir.patch +++ /dev/null @@ -1,14 +0,0 @@ -Fails to build with glibc 2.12.1 without this patch. - -http://lists.gnu.org/archive/html/bug-m4/2010-05/msg00002.html - ---- a/src/path.c -+++ b/src/path.c -@@ -22,6 +22,7 @@ - /* Handling of path search of included files via the builtins "include" - and "sinclude". */ - - #include "m4.h" -+#include "sys/stat.h" - - struct includes diff --git a/distro/packages/patches/make-impure-dirs.patch b/distro/packages/patches/make-impure-dirs.patch deleted file mode 100644 index 83a5fbe3a5..0000000000 --- a/distro/packages/patches/make-impure-dirs.patch +++ /dev/null @@ -1,40 +0,0 @@ -Purity: don't look for library dependencies (of the form `-lfoo') in -/lib and /usr/lib. Likewise, when searching for included Makefiles, -don't look in /usr/include and friends. - -Patch from Nixpkgs, by Eelco Dolstra. - -diff -rc make-3.81-orig/read.c make-3.81/read.c -*** make-3.81-orig/read.c 2006-03-17 15:24:20.000000000 +0100 ---- make-3.81/read.c 2007-05-24 17:16:31.000000000 +0200 -*************** -*** 99,107 **** ---- 99,109 ---- - #endif - INCLUDEDIR, - #ifndef _AMIGA -+ #if 0 - "/usr/gnu/include", - "/usr/local/include", - "/usr/include", -+ #endif - #endif - 0 - }; -diff -rc make-3.81-orig/remake.c make-3.81/remake.c -*** make-3.81-orig/remake.c 2006-03-20 03:36:37.000000000 +0100 ---- make-3.81/remake.c 2007-05-24 17:06:54.000000000 +0200 -*************** -*** 1452,1460 **** ---- 1452,1462 ---- - static char *dirs[] = - { - #ifndef _AMIGA -+ #if 0 - "/lib", - "/usr/lib", - #endif -+ #endif - #if defined(WINDOWS32) && !defined(LIBDIR) - /* - * This is completely up to the user at product install time. Just define diff --git a/distro/packages/patches/perl-no-sys-dirs.patch b/distro/packages/patches/perl-no-sys-dirs.patch deleted file mode 100644 index 3aba4d7529..0000000000 --- a/distro/packages/patches/perl-no-sys-dirs.patch +++ /dev/null @@ -1,156 +0,0 @@ -Don't long for headers and libraries in "traditional" locations. - -Patch from Nixpkgs by Eelco Dolstra <eelco.dolstra@logicblox.com>. - -diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure ---- perl-5.14.2-orig/Configure 2011-09-26 11:44:34.000000000 +0200 -+++ perl-5.14.2/Configure 2012-01-20 17:05:23.089223129 +0100 -@@ -106,15 +106,7 @@ - fi - - : Proper PATH setting --paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin' --paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin" --paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin" --paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin" --paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb" --paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin" --paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib" --paths="$paths /sbin /usr/sbin /usr/libexec" --paths="$paths /system/gnu_library/bin" -+paths='' - - for p in $paths - do -@@ -1311,8 +1303,7 @@ - archname='' - : Possible local include directories to search. - : Set locincpth to "" in a hint file to defeat local include searches. --locincpth="/usr/local/include /opt/local/include /usr/gnu/include" --locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include" -+locincpth="" - : - : no include file wanted by default - inclwanted='' -@@ -1328,17 +1319,12 @@ - archobjs='' - libnames='' - : change the next line if compiling for Xenix/286 on Xenix/386 --xlibpth='/usr/lib/386 /lib/386' -+xlibpth='' - : Possible local library directories to search. --loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib" --loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib" -+loclibpth="" - - : general looking path for locating libraries --glibpth="/lib /usr/lib $xlibpth" --glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib" --test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth" --test -f /shlib/libc.so && glibpth="/shlib $glibpth" --test -d /usr/lib64 && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64" -+glibpth="" - - : Private path used by Configure to find libraries. Its value - : is prepended to libpth. This variable takes care of special -@@ -1371,8 +1357,6 @@ - libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD" - : We probably want to search /usr/shlib before most other libraries. - : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. --glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'` --glibpth="/usr/shlib $glibpth" - : Do not use vfork unless overridden by a hint file. - usevfork=false - -@@ -2380,7 +2364,6 @@ - zip - " - pth=`echo $PATH | sed -e "s/$p_/ /g"` --pth="$pth /lib /usr/lib" - for file in $loclist; do - eval xxx=\$$file - case "$xxx" in -@@ -4785,7 +4768,7 @@ - : Set private lib path - case "$plibpth" in - '') if ./mips; then -- plibpth="$incpath/usr/lib /usr/local/lib /usr/ccs/lib" -+ plibpth="$incpath/usr/lib" - fi;; - esac - case "$libpth" in -@@ -8390,13 +8373,8 @@ - echo " " - case "$sysman" in - '') -- syspath='/usr/share/man/man1 /usr/man/man1' -- syspath="$syspath /usr/man/mann /usr/man/manl /usr/man/local/man1" -- syspath="$syspath /usr/man/u_man/man1" -- syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1" -- syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1" -- syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1" -- sysman=`./loc . /usr/man/man1 $syspath` -+ syspath='' -+ sysman='' - ;; - esac - if $test -d "$sysman"; then -@@ -19721,9 +19699,10 @@ - case "$full_ar" in - '') full_ar=$ar ;; - esac -+full_ar=ar - - : Store the full pathname to the sed program for use in the C program --full_sed=$sed -+full_sed=sed - - : see what type gids are declared as in the kernel - echo " " -diff -ru -x '*~' perl-5.14.2-orig/ext/Errno/Errno_pm.PL perl-5.14.2/ext/Errno/Errno_pm.PL ---- perl-5.14.2-orig/ext/Errno/Errno_pm.PL 2011-09-26 11:44:34.000000000 +0200 -+++ perl-5.14.2/ext/Errno/Errno_pm.PL 2012-01-20 17:02:07.938138311 +0100 -@@ -137,11 +137,7 @@ - if ($dep =~ /(\S+errno\.h)/) { - $file{$1} = 1; - } -- } elsif ($^O eq 'linux' && -- $Config{gccversion} ne '' && -- $Config{gccversion} !~ /intel/i -- # might be using, say, Intel's icc -- ) { -+ } elsif (0) { - # Some Linuxes have weird errno.hs which generate - # no #file or #line directives - my $linux_errno_h = -e '/usr/include/errno.h' ? -diff -ru -x '*~' perl-5.14.2-orig/hints/freebsd.sh perl-5.14.2/hints/freebsd.sh ---- perl-5.14.2-orig/hints/freebsd.sh 2011-09-19 15:18:22.000000000 +0200 -+++ perl-5.14.2/hints/freebsd.sh 2012-01-20 17:10:37.267924044 +0100 -@@ -118,21 +118,21 @@ - objformat=`/usr/bin/objformat` - if [ x$objformat = xaout ]; then - if [ -e /usr/lib/aout ]; then -- libpth="/usr/lib/aout /usr/local/lib /usr/lib" -- glibpth="/usr/lib/aout /usr/local/lib /usr/lib" -+ libpth="" -+ glibpth="" - fi - lddlflags='-Bshareable' - else -- libpth="/usr/lib /usr/local/lib" -- glibpth="/usr/lib /usr/local/lib" -+ libpth="" -+ glibpth="" - ldflags="-Wl,-E " - lddlflags="-shared " - fi - cccdlflags='-DPIC -fPIC' - ;; - *) -- libpth="/usr/lib /usr/local/lib" -- glibpth="/usr/lib /usr/local/lib" -+ libpth="" -+ glibpth="" - ldflags="-Wl,-E " - lddlflags="-shared " - cccdlflags='-DPIC -fPIC' diff --git a/distro/packages/patches/procps-make-3.82.patch b/distro/packages/patches/procps-make-3.82.patch deleted file mode 100644 index 7bf53e2ccc..0000000000 --- a/distro/packages/patches/procps-make-3.82.patch +++ /dev/null @@ -1,14 +0,0 @@ -Fix compilation with GNU Make 3.82 (patch from Nixpkgs). - -diff --git a/Makefile b/Makefile -index 09fb3ed..59eba16 100644 ---- a/Makefile -+++ b/Makefile -@@ -174,7 +174,7 @@ INSTALL := $(BINFILES) $(MANFILES) - # want this rule first, use := on ALL, and ALL not filled in yet - all: do_all - ---include */module.mk -+-include proc/module.mk ps/module.mk - - do_all: $(ALL) diff --git a/distro/packages/patches/readline-link-ncurses.patch b/distro/packages/patches/readline-link-ncurses.patch deleted file mode 100644 index 0fd0598f46..0000000000 --- a/distro/packages/patches/readline-link-ncurses.patch +++ /dev/null @@ -1,18 +0,0 @@ -This patch is to make sure that `libncurses' is among the `NEEDED' -dependencies of `libreadline.so' and `libhistory.so'. - -Failing to do that, applications linking against Readline are -forced to explicitly link against libncurses as well; in addition, -this trick doesn't work when using GNU ld's `--as-needed'. - ---- shlib/Makefile.in 2009-01-06 18:03:22.000000000 +0100 -+++ shlib/Makefile.in 2009-07-27 14:43:25.000000000 +0200 -@@ -84,7 +84,7 @@ SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@ - SHOBJ_XLDFLAGS = @SHOBJ_XLDFLAGS@ - SHOBJ_LIBS = @SHOBJ_LIBS@ - --SHLIB_XLDFLAGS = @LDFLAGS@ @SHLIB_XLDFLAGS@ -+SHLIB_XLDFLAGS = @LDFLAGS@ @SHLIB_XLDFLAGS@ -lncurses - SHLIB_LIBS = @SHLIB_LIBS@ - - SHLIB_DOT = @SHLIB_DOT@ diff --git a/distro/packages/patches/shishi-gets-undeclared.patch b/distro/packages/patches/shishi-gets-undeclared.patch deleted file mode 100644 index a3d6d0cca2..0000000000 --- a/distro/packages/patches/shishi-gets-undeclared.patch +++ /dev/null @@ -1,71 +0,0 @@ -This patch is needed to allow builds with newer versions of -the GNU libc (2.16+). - - -commit 66712c23388e93e5c518ebc8515140fa0c807348 -Author: Eric Blake <eblake@redhat.com> -Date: Thu Mar 29 13:30:41 2012 -0600 - - stdio: don't assume gets any more - - Gnulib intentionally does not have a gets module, and now that C11 - and glibc have dropped it, we should be more proactive about warning - any user on a platform that still has a declaration of this dangerous - interface. - - * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets - support. - * modules/stdio (Makefile.am): Likewise. - * lib/stdio-read.c (gets): Likewise. - * tests/test-stdio-c++.cc: Likewise. - * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment. - * lib/stdio.in.h (gets): Make warning occur in more places. - * doc/posix-functions/gets.texi (gets): Update documentation. - Reported by Christer Solskogen. - - Signed-off-by: Eric Blake <eblake@redhat.com> - -diff --git a/gl/stdio.in.h b/gl/stdio.in.h -index aa7b599..c377b6e 100644 ---- a/gl/stdio.in.h -+++ b/gl/stdio.in.h -@@ -698,22 +698,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " - # endif - #endif - --#if @GNULIB_GETS@ --# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ --# if !(defined __cplusplus && defined GNULIB_NAMESPACE) --# undef gets --# define gets rpl_gets --# endif --_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1))); --_GL_CXXALIAS_RPL (gets, char *, (char *s)); --# else --_GL_CXXALIAS_SYS (gets, char *, (char *s)); --# undef gets --# endif --_GL_CXXALIASWARN (gets); - /* It is very rare that the developer ever has full control of stdin, -- so any use of gets warrants an unconditional warning. Assume it is -- always declared, since it is required by C89. */ -+ so any use of gets warrants an unconditional warning; besides, C11 -+ removed it. */ -+#undef gets -+#if HAVE_RAW_DECL_GETS - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - #endif - -@@ -1053,9 +1042,9 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - " - # endif - #endif - --/* Some people would argue that sprintf should be handled like gets -- (for example, OpenBSD issues a link warning for both functions), -- since both can cause security holes due to buffer overruns. -+/* Some people would argue that all sprintf uses should be warned about -+ (for example, OpenBSD issues a link warning for it), -+ since it can cause security holes due to buffer overruns. - However, we believe that sprintf can be used safely, and is more - efficient than snprintf in those safe cases; and as proof of our - belief, we use sprintf in several gnulib modules. So this header diff --git a/distro/packages/patches/tar-gets-undeclared.patch b/distro/packages/patches/tar-gets-undeclared.patch deleted file mode 100644 index 301a09dde1..0000000000 --- a/distro/packages/patches/tar-gets-undeclared.patch +++ /dev/null @@ -1,26 +0,0 @@ -This patch is needed to allow builds with newer versions of -the GNU libc (2.16+). - -This is a backport of this patch: - -commit 66712c23388e93e5c518ebc8515140fa0c807348 -Author: Eric Blake <eblake@redhat.com> -Date: Thu Mar 29 13:30:41 2012 -0600 - - stdio: don't assume gets any more - ---- tar-1.26/gnu/stdio.in.h 2012-07-02 14:28:45.000000000 +0200 -+++ tar-1.26/gnu/stdio.in.h 2012-07-02 14:28:50.000000000 +0200 -@@ -160,12 +160,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not - "use gnulib module fflush for portable POSIX compliance"); - #endif - --/* It is very rare that the developer ever has full control of stdin, -- so any use of gets warrants an unconditional warning. Assume it is -- always declared, since it is required by C89. */ --#undef gets --_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); -- - #if @GNULIB_FOPEN@ - # if @REPLACE_FOPEN@ - # if !(defined __cplusplus && defined GNULIB_NAMESPACE) diff --git a/distro/packages/perl.scm b/distro/packages/perl.scm deleted file mode 100644 index b6357875b6..0000000000 --- a/distro/packages/perl.scm +++ /dev/null @@ -1,73 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages perl) - #:use-module (guix licenses) - #:use-module (distro) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system gnu)) - -(define-public perl - ;; Yeah, Perl... It is required early in the bootstrap process by Linux. - (package - (name "perl") - (version "5.16.1") - (source (origin - (method url-fetch) - (uri (string-append "http://www.cpan.org/src/5.0/perl-" - version ".tar.gz")) - (sha256 - (base32 - "15qxzba3a50c9nik5ydgyfp62x7h9vxxn12yd1jgl93hb1wj96km")))) - (build-system gnu-build-system) - (arguments - (lambda (system) - `(#:tests? #f - #:patches (list (assoc-ref %build-inputs "patch/no-sys-dirs")) - #:phases - (alist-replace - 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (libc (assoc-ref inputs "libc"))) - ;; Use the right path for `pwd'. - (substitute* "dist/Cwd/Cwd.pm" - (("/bin/pwd") - (which "pwd"))) - - (zero? - (system* "./Configure" - (string-append "-Dprefix=" out) - (string-append "-Dman1dir=" out "/share/man/man1") - (string-append "-Dman3dir=" out "/share/man/man3") - "-de" "-Dcc=gcc" - "-Uinstallusrbinperl" - "-Dinstallstyle=lib/perl5" - "-Duseshrplib" - (string-append "-Dlocincpth=" libc "/include") - (string-append "-Dloclibpth=" libc "/lib"))))) - %standard-phases)))) - (inputs `(("patch/no-sys-dirs" ,(search-patch "perl-no-sys-dirs.patch")))) - (synopsis "Implementation of the Perl programming language") - (description - "Perl 5 is a highly capable, feature-rich programming language with over -24 years of development.") - (home-page "http://www.perl.org/") - (license gpl1+))) ; or "Artistic" diff --git a/distro/packages/pkg-config.scm b/distro/packages/pkg-config.scm deleted file mode 100644 index 499e3fdc86..0000000000 --- a/distro/packages/pkg-config.scm +++ /dev/null @@ -1,51 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages pkg-config) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system gnu)) - -(define-public pkg-config - (package - (name "pkg-config") - (version "0.27.1") - (source (origin - (method url-fetch) - (uri (string-append - "http://pkgconfig.freedesktop.org/releases/pkg-config-" - version ".tar.gz")) - (sha256 - (base32 - "05wc5nwkqz7saj2v33ydmz1y6jdg659dll4jjh91n41m63gx0qsg")))) - (build-system gnu-build-system) - (arguments `(#:configure-flags '("--with-internal-glib"))) - (home-page "http://www.freedesktop.org/wiki/Software/pkg-config") - (license gpl2+) - (synopsis "a helper tool used when compiling applications and -libraries") - (description - "pkg-config is a helper tool used when compiling applications and -libraries. It helps you insert the correct compiler options on the -command line so an application can use gcc -o test test.c `pkg-config ---libs --cflags glib-2.0` for instance, rather than hard-coding values -on where to find glib (or other libraries). It is language-agnostic, so -it can be used for defining the location of documentation tools, for -instance."))) diff --git a/distro/packages/pth.scm b/distro/packages/pth.scm deleted file mode 100644 index 4c52079544..0000000000 --- a/distro/packages/pth.scm +++ /dev/null @@ -1,61 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages pth) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public pth - (package - (name "pth") - (version "2.0.7") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/pth/pth-" version - ".tar.gz")) - (sha256 - (base32 - "0ckjqw5kz5m30srqi87idj7xhpw6bpki43mj07bazjm2qmh3cdbj")))) - (build-system gnu-build-system) - (arguments '(#:parallel-build? #f)) - (home-page "http://www.gnu.org/software/pth") - (synopsis "The GNU Portable Threads library") - (description - "Pth is a very portable POSIX/ANSI-C based library for Unix -platforms which provides non-preemptive priority-based scheduling for -multiple threads of execution (aka ``multithreading'') inside -event-driven applications. All threads run in the same address space of -the server application, but each thread has it's own individual -program-counter, run-time stack, signal mask and errno variable. - -The thread scheduling itself is done in a cooperative way, i.e., the -threads are managed by a priority- and event-based non-preemptive -scheduler. The intention is that this way one can achieve better -portability and run-time performance than with preemptive -scheduling. The event facility allows threads to wait until various -types of events occur, including pending I/O on file descriptors, -asynchronous signals, elapsed timers, pending I/O on message ports, -thread and process termination, and even customized callback functions. - -Additionally Pth provides an optional emulation API for POSIX.1c -threads (\"Pthreads\") which can be used for backward compatibility to -existing multithreaded applications.") - (license lgpl2.1+))) diff --git a/distro/packages/python.scm b/distro/packages/python.scm deleted file mode 100644 index 5692cd5bd5..0000000000 --- a/distro/packages/python.scm +++ /dev/null @@ -1,58 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages python) - #:use-module ((guix licenses) #:select (psfl)) - #:use-module (distro packages compression) - #:use-module (distro packages openssl) - #:use-module (distro packages base) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public python - (package - (name "python") - (version "2.7.3") - (source - (origin - (method url-fetch) - (uri (string-append "http://www.python.org/ftp/python/" - version "/Python-" version ".tar.xz")) - (sha256 - (base32 - "11f9aw855lrmknr6c82gm1ijr3n0smc6idyp94y7774yivjnplv1")))) - (build-system gnu-build-system) - (arguments `(#:tests? #f)) ; XXX: some tests fail - (inputs - `(("zlib" ,zlib) - ("openssl" ,openssl) - ("bzip2" ,bzip2))) - (home-page "http://python.org") - (synopsis - "Python, a high-level dynamically-typed programming language") - (description - "Python is a remarkably powerful dynamic programming language that -is used in a wide variety of application domains. Some of its key -distinguishing features include: clear, readable syntax; strong -introspection capabilities; intuitive object orientation; natural -expression of procedural code; full modularity, supporting hierarchical -packages; exception-based error handling; and very high level dynamic -data types.") - (license psfl))) diff --git a/distro/packages/readline.scm b/distro/packages/readline.scm deleted file mode 100644 index 5498f15b52..0000000000 --- a/distro/packages/readline.scm +++ /dev/null @@ -1,79 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages readline) - #:use-module (guix licenses) - #:use-module (distro) - #:use-module (distro packages ncurses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system gnu)) - -(define-public readline - (let ((post-install-phase - '(lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib"))) - ;; Make libraries writable so that `strip' can work. - ;; Failing to do that, it bails out with "Permission - ;; denied". - (for-each (lambda (f) (chmod f #o755)) - (find-files lib "\\.so")) - (for-each (lambda (f) (chmod f #o644)) - (find-files lib "\\.a")))))) - (package - (name "readline") - (version "6.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/readline/readline-" - version ".tar.gz")) - (sha256 - (base32 - "10ckm2bd2rkxhvdmj7nmbsylmihw0abwcsnxf8y27305183rd9kr")))) - (build-system gnu-build-system) - (propagated-inputs `(("ncurses" ,ncurses))) - (inputs `(("patch/link-ncurses" - ,(search-patch "readline-link-ncurses.patch")))) - (arguments `(#:patches (list (assoc-ref %build-inputs - "patch/link-ncurses")) - #:patch-flags '("-p0") - #:configure-flags - (list (string-append "LDFLAGS=-Wl,-rpath -Wl," - (assoc-ref %build-inputs "ncurses") - "/lib")) - - #:phases (alist-cons-after - 'install 'post-install - ,post-install-phase - %standard-phases))) - (synopsis "GNU Readline, a library for interactive line editing") - (description - "The GNU Readline library provides a set of functions for use by -applications that allow users to edit command lines as they are typed in. -Both Emacs and vi editing modes are available. The Readline library includes -additional functions to maintain a list of previously-entered command lines, -to recall and perhaps reedit those lines, and perform csh-like history -expansion on previous commands. - -The history facilites are also placed into a separate library, the History -library, as part of the build process. The History library may be used -without Readline in applications which desire its capabilities.") - (license gpl3+) - (home-page "http://savannah.gnu.org/projects/readline/")))) diff --git a/distro/packages/recutils.scm b/distro/packages/recutils.scm deleted file mode 100644 index 484dd232bb..0000000000 --- a/distro/packages/recutils.scm +++ /dev/null @@ -1,57 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages recutils) - #:use-module (guix licenses) - #:use-module (distro) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system gnu) - #:use-module (distro packages emacs) - #:use-module (distro packages check) - #:use-module (distro packages algebra)) - -(define-public recutils - (package - (name "recutils") - (version "1.5") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/recutils/recutils-" - version ".tar.gz")) - (sha256 - (base32 - "1v2xzwwwhc5j5kmvg4sv6baxjpsfqh8ln7ilv4mgb1408rs7xmky")))) - (build-system gnu-build-system) - (inputs `(;; TODO: Enable optional deps when they're packaged. - ;; ("curl" ,(nixpkgs-derivation "curl")) - ("emacs" ,emacs) - ("check" ,check) - ("bc" ,bc) - ("patch/gets" - ,(search-patch "diffutils-gets-undeclared.patch")))) - (arguments `(#:patches (list (assoc-ref %build-inputs "patch/gets")))) - (synopsis "GNU recutils, tools and libraries to access human-editable, -text-based databases") - (description - "GNU recutils is a set of tools and libraries to access human-editable, -text-based databases called recfiles. The data is stored as a sequence of -records, each record containing an arbitrary number of named fields.") - (license gpl3+) - (home-page "http://www.gnu.org/software/recutils/"))) diff --git a/distro/packages/rsync.scm b/distro/packages/rsync.scm deleted file mode 100644 index 8dc0acb118..0000000000 --- a/distro/packages/rsync.scm +++ /dev/null @@ -1,51 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Andreas Enge <andreas@enge.fr> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages rsync) - #:use-module (distro) - #:use-module (distro packages perl) - #:use-module (distro packages acl) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - - -(define-public rsync - (package - (name "rsync") - (version "3.0.9") - (source (origin - (method url-fetch) - (uri (string-append "http://rsync.samba.org/ftp/rsync/rsync-" - version ".tar.gz")) - (sha256 - (base32 - "01bw4klqsrlhh3i9lazd485sd9qx5djvnwa21lj2h3a9sn6hzw9h")))) - (build-system gnu-build-system) - (inputs `(("perl" ,perl) - ("acl" ,acl))) - (synopsis "rsync, a remote (and local) file copying tool") - (description - "rsync is a fast and versatile file copying tool. It can copy locally, -to/from another host over any remote shell, or to/from a remote rsync daemon. -Its delta-transfer algorithm reduces the amount of data sent over the network -by sending only the differences between the source files and the existing -files in the destination.") - (license gpl3+) - (home-page "http://rsync.samba.org/"))) diff --git a/distro/packages/scheme.scm b/distro/packages/scheme.scm deleted file mode 100644 index b18697cb08..0000000000 --- a/distro/packages/scheme.scm +++ /dev/null @@ -1,168 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages scheme) - #:use-module (distro) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (distro packages m4) - #:use-module (distro packages multiprecision) - #:use-module (distro packages emacs) - #:use-module (distro packages texinfo) - #:use-module (ice-9 match)) - -(define-public mit-scheme - (package - (name "mit-scheme") - (version "9.1.1") - (source #f) ; see below - (build-system gnu-build-system) - (arguments - `(#:tests? #f ; no "check" target - #:phases - (alist-replace - 'unpack - (lambda* (#:key inputs #:allow-other-keys) - (and (zero? (system* "tar" "xzvf" - (assoc-ref inputs "source"))) - (chdir ,(string-append name "-" version)) - (begin - ;; Delete these dangling symlinks since they break - ;; `patch-shebangs'. - (for-each delete-file - (append (find-files "src/lib/lib" "\\.so$") - (find-files "src/lib" "^ffi-test"))) - (chdir "src") - #t))) - (alist-replace - 'build - (lambda* (#:key system outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (if (or (string-prefix? "x86_64" system) - (string-prefix? "i686" system)) - (zero? (system* "make" "compile-microcode")) - (zero? (system* "./etc/make-liarc.sh" - (string-append "--prefix=" out)))))) - %standard-phases)))) - (inputs - `(;; TODO: Build doc when TeX Live is available. - ;; ("automake" ,automake) - ;; ("texlive-core" ,texlive-core) - ("texinfo" ,texinfo) - ("m4" ,m4) - - ("source" - ,(lambda (system) - ;; MIT/GNU Scheme is not bootstrappable, so it's recommended to - ;; compile from the architecture-specific tarballs, which contain - ;; pre-built binaries. It leads to more efficient code than when - ;; building the tarball that contains generated C code instead of - ;; those binaries. - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/mit-scheme/stable.pkg/" - version "/mit-scheme-" - version "-" - (match system - ("x86_64-linux" "x86-64") - ("i686-linux" "i386") - (_ "c")) - ".tar.gz")) - (sha256 - (match system - ("x86_64-linux" - (base32 - "1wcxm9hyfc53myvlcn93fyqrnnn4scwkknl9hkbp1cphc6mp291x")) - ("i686-linux" - (base32 - "0vi760fy550d9db538m0vzbq1mpdncvw9g8bk4lswk0kcdira55z")) - (_ - (base32 - "0pclakzwxbqgy6wqwvs6ml62wgby8ba8xzmwzdwhx1v8wv05yw1j"))))))))) - (home-page "http://www.gnu.org/software/mit-scheme/") - (synopsis "MIT/GNU Scheme, a native code Scheme compiler") - (description - "MIT/GNU Scheme is an implementation of the Scheme programming -language, providing an interpreter, compiler, source-code debugger, -integrated Emacs-like editor, and a large runtime library. MIT/GNU -Scheme is best suited to programming large applications with a rapid -development cycle.") - (license gpl2+))) - -(define-public bigloo - (package - (name "bigloo") - (version "3.9a") - (source (origin - (method url-fetch) - (uri (string-append "ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo" - version ".tar.gz")) - (sha256 - (base32 - "0v1q0gcbn38ackdzsnvpkdgaj6ydkfdya31l2hag21aig087px1y")))) - (build-system gnu-build-system) - (arguments - '(#:patches (list (assoc-ref %build-inputs "patch/shebangs")) - #:test-target "test" - #:phases (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - - (substitute* "configure" - (("^shell=.*$") - (string-append "shell=" (which "bash") "\n"))) - - ;; Those variables are used by libgc's `configure'. - (setenv "SHELL" (which "bash")) - (setenv "CONFIG_SHELL" (which "bash")) - - ;; The `configure' script doesn't understand options - ;; of those of Autoconf. - (let ((out (assoc-ref outputs "out"))) - (zero? - (system* "./configure" - (string-append "--prefix=" out) - (string-append"--mv=" (which "mv")) - (string-append "--rm=" (which "rm")))))) - (alist-cons-after - 'patch 'patch-absolute-file-names - (lambda _ - (substitute* (cons "configure" - (find-files "gc" "^install-gc")) - (("/bin/rm") (which "rm")) - (("/bin/mv") (which "mv")))) - %standard-phases)))) - (inputs - `(("gmp" ,gmp) - ("emacs" ,emacs) - ("patch/shebangs" ,(search-patch "bigloo-gc-shebangs.patch")))) - (home-page "http://www-sop.inria.fr/indes/fp/Bigloo/") - (synopsis "Bigloo, an efficient Scheme compiler") - (description - "Bigloo is a Scheme implementation devoted to one goal: enabling -Scheme based programming style where C(++) is usually -required. Bigloo attempts to make Scheme practical by offering -features usually presented by traditional programming languages -but not offered by Scheme and functional programming. Bigloo -compiles Scheme modules. It delivers small and fast stand alone -binary executables. Bigloo enables full connections between -Scheme and C programs, between Scheme and Java programs, and -between Scheme and C# programs.") - (license gpl2+))) diff --git a/distro/packages/shishi.scm b/distro/packages/shishi.scm deleted file mode 100644 index acbb1ed5c0..0000000000 --- a/distro/packages/shishi.scm +++ /dev/null @@ -1,71 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages shishi) - #:use-module (guix licenses) - #:use-module (distro) - #:use-module (distro packages gnutls) - #:use-module (distro packages gnupg) - #:use-module ((distro packages compression) - #:renamer (symbol-prefix-proc 'guix:)) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public shishi - (package - (name "shishi") - (version "1.0.1") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://gnu/shishi/shishi-" - version - ".tar.gz")) - (sha256 - (base32 - "13c6w9rpaqb3am65nrn86byvmll5r78pld2vb0i68491vww4fzlx")))) - (build-system gnu-build-system) - (arguments - `(#:make-flags - '("CPPFLAGS=-DMAX_ERROR_DESCRIPTION_SIZE=ASN1_MAX_ERROR_DESCRIPTION_SIZE") - #:patches (list (assoc-ref %build-inputs - "patch/gets")))) - (inputs - `(("gnutls" ,gnutls) - ("zlib" ,guix:zlib) - ("libgcrypt" ,libgcrypt) - ("libtasn1" ,libtasn1) - ("patch/gets" ,(search-patch "shishi-gets-undeclared.patch")))) - (home-page "http://www.gnu.org/software/shishi/") - (synopsis - "GNU Shishi, free implementation of the Kerberos 5 network security system") - (description - " GNU Shishi is an implementation of the Kerberos 5 network - authentication system, as specified in RFC 4120. Shishi can be - used to authenticate users in distributed systems. - - Shishi contains a library (`libshishi') that can be used by - application developers to add support for Kerberos 5. Shishi - contains a command line utility (1shishi') that is used by - users to acquire and manage tickets (and more). The server - side, a Key Distribution Center, is implemented by `shishid'. -") - (license gpl3+))) ; some files are under GPLv2+ diff --git a/distro/packages/system.scm b/distro/packages/system.scm deleted file mode 100644 index f2a031ccd7..0000000000 --- a/distro/packages/system.scm +++ /dev/null @@ -1,91 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages system) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (distro) - #:use-module (distro packages ncurses)) - -(define-public pies - (package - (name "pies") - (version "1.2") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/pies/pies-" - version ".tar.bz2")) - (sha256 - (base32 - "18w0dbg77i56cx1bwa789w0qi3l4xkkbascxcv2b6gbm0zmjg1g6")))) - (build-system gnu-build-system) - (home-page "http://www.gnu.org/software/pies/") - (synopsis - "GNU Pies, a program invocation and execution supervisor") - (description - "The name Pies (pronounced \"p-yes\") stands for Program Invocation -and Execution Supervisor. This utility starts and controls execution of -external programs, called components. Each component is a stand-alone -program, which is executed in the foreground. Upon startup, pies reads -the list of components from its configuration file, starts them, and -remains in the background, controlling their execution. If any of the -components terminates, the default action of Pies is to restart it. -However, it can also be programmed to perform a variety of another -actions such as, e.g., sending mail notifications to the system -administrator, invoking another external program, etc. - -Pies can be used for a wide variety of tasks. Its most obious use is to -put in backgound a program which normally cannot detach itself from the -controlling terminal, such as, e.g., minicom. It can launch and control -components of some complex system, such as Jabberd or MeTA1 (and it -offers much more control over them than the native utilities). Finally, -it can replace the inetd utility!") - (license gpl3+))) - -(define-public inetutils - (package - (name "inetutils") - (version "1.9.1") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/inetutils/inetutils-" - version ".tar.gz")) - (sha256 - (base32 - "0azzg6njgq79byl6960kb0wihfhhzf49snslhxgvi30ribgfpa82")))) - (build-system gnu-build-system) - (arguments `(#:patches (list (assoc-ref %build-inputs "patch/gets")) - - ;; FIXME: `tftp.sh' relies on `netstat' from utils-linux, - ;; which is currently missing. - #:tests? #f)) - (inputs `(("patch/gets" ,(search-patch "diffutils-gets-undeclared.patch")) - ("ncurses" ,ncurses))) - (home-page "http://www.gnu.org/software/inetutils/") - (synopsis - "GNU Inetutils, a collection of common network programs") - (description - "The GNU network utilities suite provides the following tools: -ftp(d), hostname, ifconfig, inetd, logger, ping, rcp, rexec(d), -rlogin(d), rsh(d), syslogd, talk(d), telnet(d), tftp(d), traceroute, -uucpd, and whois.") - (license gpl3+))) diff --git a/distro/packages/tcl.scm b/distro/packages/tcl.scm deleted file mode 100644 index d764f6b8ad..0000000000 --- a/distro/packages/tcl.scm +++ /dev/null @@ -1,109 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages tcl) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix licenses)) - -(define-public tcl - (package - (name "tcl") - (version "8.6.0") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/tcl/Tcl/" - version "/tcl" version "-src.tar.gz")) - (sha256 - (base32 - "1pnabp3xsja4rc8c01l9q1avb65a3zhdzci3j54qa5krqjwj4i1m")))) - (build-system gnu-build-system) - (arguments - '(#:phases (alist-cons-before - 'configure 'pre-configure - (lambda _ - (chdir "unix")) - (alist-cons-after - 'install 'install-private-headers - (lambda _ - ;; Private headers are needed by Expect. - (zero? (system* "make" "install-private-headers"))) - %standard-phases)) - - ;; XXX: There are a few test failures (related to HTTP, most - ;; likely related to name resolution), but that doesn't cause - ;; `make' to fail. - #:test-target "test")) - (home-page "http://www.tcl.tk/") - (synopsis "The Tcl scripting language") - (description "The Tcl (Tool Command Language) scripting language.") - (license (bsd-style "http://www.tcl.tk/software/tcltk/license.html" - "Tcl/Tk license")))) - - -(define-public expect - (package - (name "expect") - (version "5.45") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/expect/Expect/" - version "/expect" version ".tar.gz")) - (sha256 - (base32 - "0h60bifxj876afz4im35rmnbnxjx4lbdqp2ja3k30fwa8a8cm3dj")))) - (build-system gnu-build-system) - (inputs - `(;; TODO: Add these optional dependencies. - ;; ("libX11" ,libX11) - ;; ("xproto" ,xproto) - ;; ("tk" ,tk) - ("tcl" ,tcl))) - (arguments - '(#:configure-flags - (list (string-append "--with-tcl=" - (assoc-ref %build-inputs "tcl") - "/lib") - (string-append "--with-tclinclude=" - (assoc-ref %build-inputs "tcl") - "/include") - (string-append "--exec-prefix=" - (assoc-ref %outputs "out"))) - - #:phases (alist-cons-before - 'configure 'set-path-to-stty - (lambda _ - (substitute* "configure" - (("STTY_BIN=/bin/stty") - (string-append "STTY_BIN=" (which "stty"))))) - %standard-phases) - - #:test-target "test")) - (home-page "http://expect.nist.gov/") - (synopsis - "A tool for automating interactive applications") - (description - "Expect is a tool for automating interactive applications such as -telnet, ftp, passwd, fsck, rlogin, tip, etc. Expect really makes this -stuff trivial. Expect is also useful for testing these same -applications. And by adding Tk, you can wrap interactive applications in -X11 GUIs.") - (license public-domain))) ; as written in `license.terms' diff --git a/distro/packages/texinfo.scm b/distro/packages/texinfo.scm deleted file mode 100644 index 99925eeb53..0000000000 --- a/distro/packages/texinfo.scm +++ /dev/null @@ -1,61 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages texinfo) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (distro packages compression) - #:use-module (distro packages ncurses)) - -(define-public texinfo - (package - (name "texinfo") - (version "4.13a") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://gnu/texinfo/texinfo-" - version - ".tar.lzma")) - (sha256 - (base32 - "1rf9ckpqwixj65bw469i634897xwlgkm5i9g2hv3avl6mv7b0a3d")))) - (build-system gnu-build-system) - (inputs `(("ncurses" ,ncurses) ("xz" ,xz))) - (home-page - "http://www.gnu.org/software/texinfo/") - (synopsis - "GNU Texinfo, the GNU documentation system") - (description - "Texinfo is the official documentation format of the GNU project. -It was invented by Richard Stallman and Bob Chassell many years -ago, loosely based on Brian Reid's Scribe and other formatting -languages of the time. It is used by many non-GNU projects as -well. - -Texinfo uses a single source file to produce output in a number -of formats, both online and printed (dvi, html, info, pdf, xml, -etc.). This means that instead of writing different documents -for online information and another for a printed manual, you -need write only one document. And when the work is revised, you -need revise only that one document. The Texinfo system is -well-integrated with GNU Emacs.") - (license gpl3+))) diff --git a/distro/packages/time.scm b/distro/packages/time.scm deleted file mode 100644 index 0b7bde9a1b..0000000000 --- a/distro/packages/time.scm +++ /dev/null @@ -1,66 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages time) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public time - (package - (name "time") - (version "1.7") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/time/time-" - version ".tar.gz")) - (sha256 - (base32 - "0va9063fcn7xykv658v2s9gilj2fq4rcdxx2mn2mmy1v4ndafzp3")))) - (build-system gnu-build-system) - (arguments - '(#:phases - (alist-replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - ;; This old `configure' script doesn't support - ;; variables passed as arguments. - (let ((out (assoc-ref outputs "out"))) - (setenv "CONFIG_SHELL" (which "bash")) - (zero? - (system* "./configure" - (string-append "--prefix=" out))))) - %standard-phases))) - (home-page "http://www.gnu.org/software/time/") - (synopsis - "GNU Time, a tool that runs programs and summarizes the system -resources they use") - (description - "The 'time' command runs another program, then displays information -about the resources used by that program, collected by the system while -the program was running. You can select which information is reported -and the format in which it is shown, or have 'time' save the information -in a file instead of displaying it on the screen. - -The resources that 'time' can report on fall into the general categories -of time, memory, and I/O and IPC calls. Some systems do not provide -much information about program resource use; 'time' reports unavailable -information as zero values.") - (license gpl2+))) diff --git a/distro/packages/wget.scm b/distro/packages/wget.scm deleted file mode 100644 index 08b16f167b..0000000000 --- a/distro/packages/wget.scm +++ /dev/null @@ -1,61 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages wget) - #:use-module (guix licenses) - #:use-module ((distro packages gettext) - #:renamer (symbol-prefix-proc 'guix:)) - #:use-module (distro packages gnutls) - #:use-module (distro packages perl) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public wget - (package - (name "wget") - (version "1.14") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/wget/wget-" - version ".tar.xz")) - (sha256 - (base32 - "0yqllj3nv9p3vqbdm6j4nvpjcwf1y19rq8sd966nrbd2qvvxfq8p")))) - (build-system gnu-build-system) - (inputs - `(("gnutls" ,gnutls) - ("perl" ,perl) - ("gettext" ,guix:gettext))) - (arguments - '(#:phases - (alist-cons-before 'build 'patch-/usr/bin/env - (lambda _ - (for-each patch-shebang - '("doc/texi2pod.pl" "tests/run-px"))) - %standard-phases))) - (home-page "http://www.gnu.org/software/wget/") - (synopsis - "GNU Wget, a tool for retrieving files using HTTP, HTTPS, and FTP") - (description - "GNU Wget is a free software package for retrieving files using HTTP, -HTTPS and FTP, the most widely-used Internet protocols. It is a -non-interactive commandline tool, so it may easily be called from -scripts, cron jobs, terminals without X-Windows support, etc.") - (license gpl3+))) ; some files are under GPLv2+ diff --git a/distro/packages/which.scm b/distro/packages/which.scm deleted file mode 100644 index 8cdd36841c..0000000000 --- a/distro/packages/which.scm +++ /dev/null @@ -1,48 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages which) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public which - (package - (name "which") - (version "2.20") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/which/which-" - version ".tar.gz")) - (sha256 - (base32 - "1y2p50zadb36izzh2zw4dm5hvdiydqf3qa88l8kav20dcmfbc5yl")))) - (build-system gnu-build-system) - (home-page "https://gnu.org/software/which/") - (synopsis - "GNU Which shows the full path of (shell) commands") - (description - "GNU Which takes one or more arguments. For each of its arguments -it prints to stdout the full path of the executables that would have -been executed when this argument had been entered at the shell -prompt. It does this by searching for an executable or script in the -directories listed in the environment variable PATH using the same -algorithm as bash(1).") - (license gpl3+))) ; some files are under GPLv2+ diff --git a/distro/packages/xml.scm b/distro/packages/xml.scm deleted file mode 100644 index 5962e35d86..0000000000 --- a/distro/packages/xml.scm +++ /dev/null @@ -1,44 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages xml) - #:use-module ((guix licenses) - #:renamer (symbol-prefix-proc 'license:)) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public expat - (package - (name "expat") - (version "2.1.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/expat/expat/" - version "/expat-" version ".tar.gz")) - (sha256 - (base32 - "11pblz61zyxh68s5pdcbhc30ha1b2vfjd83aiwfg4vc15x3hadw2")))) - (build-system gnu-build-system) - (home-page "http://www.libexpat.org/") - (synopsis "A stream-oriented XML parser library written in C") - (description - "Expat is an XML parser library written in C. It is a -stream-oriented parser in which an application registers handlers for -things the parser might find in the XML document (like start tags).") - (license license:expat))) diff --git a/distro/packages/zile.scm b/distro/packages/zile.scm deleted file mode 100644 index 9eae6d4b9f..0000000000 --- a/distro/packages/zile.scm +++ /dev/null @@ -1,66 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; 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. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; 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 -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (distro packages zile) - #:use-module (guix licenses) - #:use-module (guix download) - #:use-module (guix packages) - #:use-module (guix build-system gnu) - #:use-module (distro packages bdw-gc) - #:use-module (distro packages perl) - #:use-module (distro packages help2man) - #:use-module (distro packages ncurses)) - -(define-public zile - (package - (name "zile") - (version "2.4.9") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/zile/zile-" - version ".tar.gz")) - (sha256 - (base32 - "0j801c28ypm924rw3lqyb6khxyslg6ycrv16wmmwcam0mk3mj6f7")))) - (build-system gnu-build-system) - (inputs - `(("boehm-gc" ,libgc) - ("ncurses" ,ncurses) - ("perl" ,perl) - ("help2man" ,help2man))) - (home-page "http://www.gnu.org/software/zile/") - (synopsis "GNU Zile, a lightweight Emacs clone") - (description - "GNU Zile, which is a lightweight Emacs clone. Zile is short -for Zile Is Lossy Emacs. Zile has been written to be as -similar as possible to Emacs; every Emacs user should feel at -home. - -Zile has all of Emacs's basic editing features: it is 8-bit -clean (though it currently lacks Unicode support), and the -number of editing buffers and windows is only limited by -available memory and screen space respectively. Registers, -minibuffer completion and auto fill are available. Function -and variable names are identical with Emacs's (except those -containing the word \"emacs\", which instead contain the word -\"zile\"!). - -However, all of this is packed into a program which typically -compiles to about 130Kb.") - (license gpl3+))) |