From 938081b9cecba95803a6581b2ff4e9fc0d781ab6 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 5 Mar 2013 00:14:44 +0100 Subject: gnu: Add lsof. * gnu/packages/lsof.scm: New file. * Makefile.am (MODULES): Add it. --- gnu/packages/lsof.scm | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 gnu/packages/lsof.scm (limited to 'gnu') diff --git a/gnu/packages/lsof.scm b/gnu/packages/lsof.scm new file mode 100644 index 0000000000..d0cdefd533 --- /dev/null +++ b/gnu/packages/lsof.scm @@ -0,0 +1,75 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Andreas Enge +;;; +;;; 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 . + +(define-module (gnu packages lsof) + #:use-module ((guix licenses) + #:renamer (symbol-prefix-proc 'license:)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages perl)) + +(define-public lsof + (package + (name "lsof") + (version "4.87") + (source (origin + (method url-fetch) + (uri (string-append "ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_" + version ".tar.bz2")) + (sha256 (base32 + "0b6si72sml7gr9784ak491cxxbm9mx5bh174yg6rrirbv04kgpfz")))) + (build-system gnu-build-system) + (inputs `(("perl" ,perl))) + (arguments + `(#:tests? #f ; no test target + #:phases + (alist-replace + 'unpack + (lambda* (#:key source name version #:allow-other-keys) + (let ((unpack (assoc-ref %standard-phases 'unpack))) + (apply unpack (list #:source source)) + (apply unpack (list #:source (car (find-files "." "\\.tar$")))))) + (alist-replace + 'configure + (lambda* (#:key #:allow-other-keys) + (setenv "LSOF_CC" "gcc") + (setenv "LSOF_MAKE" "make") + (system* "./Configure" "linux")) + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir out) + (mkdir (string-append out "/bin")) + (copy-file "lsof" (string-append out "/bin/lsof")) + (mkdir (string-append out "/share")) + (mkdir (string-append out "/share/man")) + (mkdir (string-append out "/share/man/man8")) + (copy-file "lsof.8" (string-append out "/share/man/man8/lsof.8")) + )) + %standard-phases))))) + (synopsis "lsof displays information about open files") + (description + "Lsof stands for LiSt Open Files, and it does just that. +It lists information about files that are open by the processes running +on the system.") + (license (license:fsf-free + "file://00FAQ" + "License inspired by zlib, see point 1.9 of 00FAQ in the distribution.")) + (home-page "http://people.freebsd.org/~abe/"))) -- cgit v1.2.3 From 71eb5c1067dcd1d32f881b01cecf36a4121aef9d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 5 Mar 2013 10:16:17 +0100 Subject: gnu: Add intltool. * guix/download.scm (%mirrors): Add `gnome' mirrors. * gnu/packages/glib.scm (intltool): New variable. --- gnu/packages/glib.scm | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- guix/download.scm | 5 +++++ 2 files changed, 55 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 1286700911..72e8d7ed2b 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -18,7 +18,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages glib) - #:use-module ((guix licenses) #:select (lgpl2.0+ gpl2+)) + #:use-module ((guix licenses) #:select (lgpl2.0+ gpl2+ gpl2)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -124,3 +124,52 @@ and interfaces for such runtime functionality as an event loop, threads, dynamic loading, and an object system.") (home-page "http://developer.gnome.org/glib/") (license lgpl2.0+))) ; some files are under lgpl2.1+ + +(define-public intltool + (package + (name "intltool") + (version "0.40.6") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/intltool/0.40/intltool-" + version + ".tar.bz2")) + (sha256 + (base32 + "0r1vkvy5xzqk01yl6a0xlrry39bra24alkrx6279b77hc62my7jd")))) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-cons-before + 'configure 'set-perl-path + (lambda* (#:key inputs #:allow-other-keys) + ;; FIXME: Remove this phase when proper support for search + ;; paths is available. + (let ((xml-parser (assoc-ref inputs "perl-xml-parser"))) + (setenv "PERL5LIB" + (string-append xml-parser + "/lib/perl5/site_perl")) + #t)) + %standard-phases))) + (native-inputs `(("pkg-config" ,pkg-config))) + (propagated-inputs + `(("gettext" ,guix:gettext) + ("perl-xml-parser" ,xml:perl-xml-parser) + ("perl" ,perl))) + (home-page "http://freedesktop.org/wiki/Software/intltool") + (synopsis "Tools to centralize translation of many different file formats") + (description + "intltool is a set of tools to centralize translation of many different +file formats using GNU gettext-compatible PO files. + +The intltool collection can be used to do these things: + + Extract translatable strings from various source files (.xml.in, + glade, .desktop.in, .server.in, .oaf.in). + + Collect the extracted strings together with messages from traditional + source files (.c, .h) in po/$(PACKAGE).pot. + + Merge back the translations from .po files into .xml, .desktop and + oaf files. This merge step will happen at build resp. installation time.") + (license gpl2))) diff --git a/guix/download.scm b/guix/download.scm index b6bf6a0822..8dcfc7cb9a 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -67,6 +67,11 @@ "ftp://trumpetti.atm.tut.fi/gcrypt/" "ftp://mirror.cict.fr/gnupg/" "ftp://ftp.strasbourg.linuxfr.org/pub/gnupg/") + (gnome + "http://ftp.belnet.be/ftp.gnome.org/" + "http://ftp.linux.org.uk/mirrors/ftp.gnome.org/" + "http://ftp.gnome.org/pub/GNOME/" + "http://mirror.yandex.ru/mirrors/ftp.gnome.org/") (savannah "http://download.savannah.gnu.org/releases/" "ftp://ftp.twaren.net/Unix/NonGNU/" -- cgit v1.2.3 From ea7127b9b76449d4379561f39bd5d2964778da68 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 5 Mar 2013 14:40:09 +0100 Subject: gnu: Update GnuTLS to 3.1.9.1. * gnu/packages/gnutls.scm (gnutls): Update to 3.1.9.1. --- gnu/packages/gnutls.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnutls.scm b/gnu/packages/gnutls.scm index 0a681e3a88..dc571adc60 100644 --- a/gnu/packages/gnutls.scm +++ b/gnu/packages/gnutls.scm @@ -52,7 +52,7 @@ portable, and only require an ANSI C89 platform.") (define-public gnutls (package (name "gnutls") - (version "3.1.6") + (version "3.1.9.1") (source (origin (method url-fetch) (uri @@ -62,7 +62,7 @@ portable, and only require an ANSI C89 platform.") version ".tar.xz")) (sha256 (base32 - "0zsybr9plllk1phh83bx9bg7c5ccik427j4n3k1s9fiy4j69n0w3")))) + "0gkwhz7sypfy39jfj2yzrngbxq5j9l9smqc89mqlqsh25spc8009")))) (build-system gnu-build-system) (inputs `(("guile" ,guile-2.0) -- cgit v1.2.3 From c50cbfd61a540e120b922fa16bf6ab8533c37b0b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 5 Mar 2013 20:26:24 +0100 Subject: gnu: Add Avahi. * gnu/packages/avahi.scm: New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 1 + gnu/packages/avahi.scm | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 gnu/packages/avahi.scm (limited to 'gnu') diff --git a/Makefile.am b/Makefile.am index ed09e73023..78726a4556 100644 --- a/Makefile.am +++ b/Makefile.am @@ -58,6 +58,7 @@ MODULES = \ gnu/packages/aspell.scm \ gnu/packages/attr.scm \ gnu/packages/autotools.scm \ + gnu/packages/avahi.scm \ gnu/packages/base.scm \ gnu/packages/bash.scm \ gnu/packages/bdb.scm \ diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm new file mode 100644 index 0000000000..f7ce908351 --- /dev/null +++ b/gnu/packages/avahi.scm @@ -0,0 +1,77 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Ludovic Courtès +;;; +;;; 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 . + +(define-module (gnu packages avahi) + #:use-module ((guix licenses) #:select (lgpl2.1+)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages gdbm) + #:use-module (gnu packages libdaemon) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages glib) + #:use-module (gnu packages xml)) + +(define-public avahi + (package + (name "avahi") + (version "0.6.31") + (home-page "http://avahi.org") + (source (origin + (method url-fetch) + (uri (string-append home-page "/download/avahi-" + version ".tar.gz")) + (sha256 + (base32 + "0j5b5ld6bjyh3qhd2nw0jb84znq0wqai7fsrdzg7bpg24jdp2wl3")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--with-distro=none" + "--disable-python" + "--disable-mono" + "--disable-doxygen-doc" + "--disable-xmltoman" + "--enable-tests" + "--disable-qt3" "--disable-qt4" + "--disable-gtk" "--disable-gtk3") + #:phases (alist-cons-before + 'configure 'set-perl-path + (lambda* (#:key inputs #:allow-other-keys) + ;; FIXME: Remove this phase when proper support for search + ;; paths is available. + (let ((xml-parser (assoc-ref inputs + "intltool/perl-xml-parser"))) + (setenv "PERL5LIB" + (string-append xml-parser + "/lib/perl5/site_perl")) + #t)) + %standard-phases))) + (inputs + `(("expat" ,expat) + ("glib" ,glib) + ("dbus" ,dbus) + ("libdaemon" ,libdaemon) + ("intltool" ,intltool) + ("pkg-config" ,pkg-config) + ("gdbm" ,gdbm))) + (synopsis "Avahi, an mDNS/DNS-SD implementation") + (description + "Avahi is a system which facilitates service discovery on a local +network. It is an implementation of the mDNS (for \"Multicast DNS\") and +DNS-SD (for \"DNS-Based Service Discovery\") protocols.") + (license lgpl2.1+))) -- cgit v1.2.3 From bd5ecea63754b2dbc0c142ae11d9d11716fd703a Mon Sep 17 00:00:00 2001 From: Nikita Karetnikov Date: Mon, 4 Mar 2013 01:34:13 +0000 Subject: gnu: Add w3m. * gnu/packages/w3m.scm, gnu/packages/patches/w3m-fix-compile.patch: New files. * Makefile.am (MODULES): Add 'w3m.scm'. (dist_patch_DATA): Add 'w3m-fix-compile.patch'. --- Makefile.am | 4 +- gnu/packages/patches/w3m-fix-compile.patch | 15 ++++++ gnu/packages/w3m.scm | 81 ++++++++++++++++++++++++++++++ 3 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/w3m-fix-compile.patch create mode 100644 gnu/packages/w3m.scm (limited to 'gnu') diff --git a/Makefile.am b/Makefile.am index 78726a4556..0916d26fb9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -163,6 +163,7 @@ MODULES = \ gnu/packages/tor.scm \ gnu/packages/vim.scm \ gnu/packages/vpn.scm \ + gnu/packages/w3m.scm \ gnu/packages/wdiff.scm \ gnu/packages/wget.scm \ gnu/packages/which.scm \ @@ -221,7 +222,8 @@ dist_patch_DATA = \ gnu/packages/patches/tar-gets-undeclared.patch \ gnu/packages/patches/tcsh-fix-autotest.patch \ gnu/packages/patches/teckit-cstdio.patch \ - gnu/packages/patches/vpnc-script.patch + gnu/packages/patches/vpnc-script.patch \ + gnu/packages/patches/w3m-fix-compile.patch bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux diff --git a/gnu/packages/patches/w3m-fix-compile.patch b/gnu/packages/patches/w3m-fix-compile.patch new file mode 100644 index 0000000000..5604052f67 --- /dev/null +++ b/gnu/packages/patches/w3m-fix-compile.patch @@ -0,0 +1,15 @@ +https://bugs.archlinux.org/task/33397 + +diff -aur old/main.c new/main.c +--- main.c 2013-01-14 18:16:14.216210053 -0600 ++++ main.c 2013-01-14 18:17:28.816220559 -0600 +@@ -833,7 +833,8 @@ + mySignal(SIGPIPE, SigPipe); + #endif + +- orig_GC_warn_proc = GC_set_warn_proc(wrap_GC_warn_proc); ++ orig_GC_warn_proc = GC_get_warn_proc(); ++ GC_set_warn_proc(wrap_GC_warn_proc); + err_msg = Strnew(); + if (load_argc == 0) { + /* no URL specified */ diff --git a/gnu/packages/w3m.scm b/gnu/packages/w3m.scm new file mode 100644 index 0000000000..9199cbd488 --- /dev/null +++ b/gnu/packages/w3m.scm @@ -0,0 +1,81 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Nikita Karetnikov +;;; +;;; 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 . + +(define-module (gnu packages w3m) + #:use-module ((guix licenses) #:select (x11-style)) + #:use-module ((gnu packages gettext) + #:renamer (symbol-prefix-proc 'guix:)) + #:use-module (gnu packages bdw-gc) + #:use-module (gnu packages compression) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages openssl) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu)) + +(define-public w3m + (package + (name "w3m") + (version "0.5.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/w3m/w3m-" + version ".tar.gz")) + (sha256 + (base32 + "1qx9f0kprf92r1wxl3sacykla0g04qsi0idypzz24b7xy9ix5579")))) + (build-system gnu-build-system) + (arguments `(#:tests? #f ; no check target + #:phases (alist-cons-before + 'configure 'fix-perl + (lambda _ + ;; https://launchpad.net/bugs/935540 + ;; 'struct file_handle' is used by 'glibc' + (substitute* '("istream.c" "istream.h") + (("struct[[:blank:]]+file_handle") + "struct w3m_file_handle")) + (substitute* '("scripts/w3mmail.cgi.in" + "scripts/dirlist.cgi.in") + (("@PERL@") (which "perl")))) + %standard-phases) + ;; cf. https://bugs.archlinux.org/task/33397 + #:patches (list (assoc-ref %build-inputs + "patch/fix-compile")) + #:patch-flags '("-p0"))) + (inputs + `(("gettext" ,guix:gettext) + ("libgc" ,libgc) + ("ncurses" ,ncurses) + ("openssl" ,openssl) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("zlib" ,zlib) + ("patch/fix-compile" ,(search-patch "w3m-fix-compile.patch")))) + (home-page "http://w3m.sourceforge.net/") + (synopsis "w3m, a text-mode web browser") + (description + "w3m is a text-based web browser as well as a pager like 'more' or +'less'. With w3m you can browse web pages through a terminal emulator +window. Moreover, w3m can be used as a text formatting tool which +typesets HTML into plain text.") + (license (x11-style "file://doc/README" + "See 'doc/README' in the distribution.")))) -- cgit v1.2.3 From 563e8b3920e67e0ac9297f4fd3165084c8844654 Mon Sep 17 00:00:00 2001 From: Nikita Karetnikov Date: Wed, 6 Mar 2013 20:58:48 +0000 Subject: gnu: Add GNU Fdisk. * gnu/packages/fdisk.scm: New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 1 + gnu/packages/fdisk.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 gnu/packages/fdisk.scm (limited to 'gnu') diff --git a/Makefile.am b/Makefile.am index 0916d26fb9..5764f3caf9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -75,6 +75,7 @@ MODULES = \ gnu/packages/ddrescue.scm \ gnu/packages/ed.scm \ gnu/packages/emacs.scm \ + gnu/packages/fdisk.scm \ gnu/packages/file.scm \ gnu/packages/flex.scm \ gnu/packages/fontutils.scm \ diff --git a/gnu/packages/fdisk.scm b/gnu/packages/fdisk.scm new file mode 100644 index 0000000000..5cf02a9014 --- /dev/null +++ b/gnu/packages/fdisk.scm @@ -0,0 +1,54 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Nikita Karetnikov +;;; +;;; 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 . + +(define-module (gnu packages fdisk) + #:use-module ((guix licenses) #:select (gpl3+)) + #:use-module ((gnu packages gettext) + #:renamer (symbol-prefix-proc 'guix:)) + #:use-module (gnu packages guile) + #:use-module (gnu packages linux) + #:use-module (gnu packages parted) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu)) + +(define-public fdisk + (package + (name "fdisk") + (version "2.0.0a") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/fdisk/gnufdisk-" + version ".tar.gz")) + (sha256 + (base32 + "04nd7civ561x2lwcmxhsqbprml3178jfc58fy1v7hzqg5k4nbhy3")))) + (build-system gnu-build-system) + (inputs + `(("gettext" ,guix:gettext) + ("guile" ,guile-1.8) + ("util-linux" ,util-linux) + ("parted" ,parted))) + (home-page "https://www.gnu.org/software/fdisk/") + (synopsis + "GNU Fdisk, a command-line disk partitioning tool") + (description + "GNU Fdisk provides alternatives to util-linux fdisk and util-linux +cfdisk. It uses GNU Parted.") + (license gpl3+))) \ No newline at end of file -- cgit v1.2.3 From 1fb78cb2c36a6b0d7a3ecf1f7150c4d99b01c1a9 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 7 Mar 2013 00:42:18 +0100 Subject: packages: Remove the default value for `license'. * guix/packages.scm (): Remove the default value for `license'. * gnu/packages/bootstrap.scm (package-from-tarball, %bootstrap-glibc, %bootstrap-gcc): Initialize `license'. * tests/packages.scm (dummy-package): Likewise. --- gnu/packages/bootstrap.scm | 9 ++++++--- guix/packages.scm | 2 +- tests/packages.scm | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index 22ee98879a..ffe1ec6528 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -104,7 +104,8 @@ check whether everything is alright." ("tarball" ,(bootstrap-origin (source* (%current-system)))))) (synopsis description*) (description #f) - (home-page #f))) + (home-page #f) + (license #f))) (define package-with-bootstrap-guile (memoize @@ -284,7 +285,8 @@ $out/bin/guile --version~%" "08hv8i0axwnihrcgbz19x0a7s6zyv3yx38x8r29liwl8h82x9g88"))))))))) (synopsis "Bootstrap binaries and headers of the GNU C Library") (description #f) - (home-page #f))) + (home-page #f) + (license lgpl2.1+))) (define %bootstrap-gcc ;; The initial GCC. Uses binaries from a tarball typically built by @@ -351,7 +353,8 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \ "06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra0c5vsg2"))))))))) (synopsis "Bootstrap binaries of the GNU Compiler Collection") (description #f) - (home-page #f))) + (home-page #f) + (license gpl3+))) (define %bootstrap-inputs ;; The initial, pre-built inputs. From now on, we can start building our diff --git a/guix/packages.scm b/guix/packages.scm index 51984baa3b..81f09d638e 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -135,7 +135,7 @@ representation." (synopsis package-synopsis) ; one-line description (description package-description) ; one or two paragraphs - (license package-license (default '())) + (license package-license) (home-page package-home-page) (platforms package-platforms (default '())) (maintainers package-maintainers (default '())) diff --git a/tests/packages.scm b/tests/packages.scm index f441532d22..c5d9d280ed 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -49,7 +49,7 @@ (package (name name*) (version "0") (source #f) (build-system gnu-build-system) (synopsis #f) (description #f) - (home-page #f) + (home-page #f) (license #f) extra-fields ...)) (test-assert "package-transitive-inputs" -- cgit v1.2.3 From b5c56e628fdf41f688a67724ea5a6d075bd4dca3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 14 Mar 2013 17:32:25 +0100 Subject: gnu: texinfo: Update to 5.1. * gnu/packages/texinfo.scm (texinfo): Update to 5.1. --- gnu/packages/texinfo.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index 96016c053d..4194f48ffe 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -28,14 +28,14 @@ (define-public texinfo (package (name "texinfo") - (version "5.0") + (version "5.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/texinfo/texinfo-" version ".tar.xz")) (sha256 (base32 - "1p34f68h9ggfj6ckgj0p62qlj7pmz3ha3vc91kh4hr44pnwm1pla")))) + "0864v5i488x3mb3v5p6nhy2kw0mqkzpa3b0453iibj81zlpq078q")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) ("xz" ,xz))) -- cgit v1.2.3 From 3be9f724f58b0e0ec3a905de3a29d0b54bcb7628 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 14 Mar 2013 17:47:26 +0100 Subject: gnu: emacs: Update to 24.3. * gnu/packages/emacs.scm (emacs): Update to 24.3. Use the .xz tarball. * gnu/packages/patches/emacs-configure-sh.patch: Adjust. --- gnu/packages/emacs.scm | 6 +++--- gnu/packages/patches/emacs-configure-sh.patch | 11 +++++------ 2 files changed, 8 insertions(+), 9 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 6b2cda6e73..9a107967a3 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -31,14 +31,14 @@ (define-public emacs (package (name "emacs") - (version "24.2") + (version "24.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/emacs/emacs-" - version ".tar.bz2")) + version ".tar.xz")) (sha256 (base32 - "13wbjfjmz13qpjwssy44nw2230lllmkkgjsy0rqfm6am2cf87n3k")))) + "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh")))) (build-system gnu-build-system) (arguments '(#:configure-flags diff --git a/gnu/packages/patches/emacs-configure-sh.patch b/gnu/packages/patches/emacs-configure-sh.patch index fd34d06ced..6f5f3fe93a 100644 --- a/gnu/packages/patches/emacs-configure-sh.patch +++ b/gnu/packages/patches/emacs-configure-sh.patch @@ -1,14 +1,13 @@ 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 +--- emacs-24.3/configure 2013-03-14 17:42:26.000000000 +0100 ++++ emacs-24.3/configure 2013-03-14 17:42:58.000000000 +0100 +@@ -26463,7 +26463,7 @@ done ;; "epaths":C) echo creating src/epaths.h --${MAKE-make} epaths-force -+${MAKE-make} epaths-force SHELL="$CONFIG_SHELL" +-${MAKE-make} MAKEFILE_NAME=do-not-make-Makefile epaths-force ++${MAKE-make} MAKEFILE_NAME=do-not-make-Makefile epaths-force SHELL="$CONFIG_SHELL" ;; "gdbinit":C) if test ! -f src/.gdbinit && test -f $srcdir/src/.gdbinit; then - -- cgit v1.2.3 From 71f4b81aa5a3daa73e9d4d09ee8b18fac5b9a451 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 16 Mar 2013 22:36:13 +0100 Subject: gnu: Add openconnect. * gnu/packages/vpn.scm (openconnect): New variable. --- gnu/packages/vpn.scm | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 9393e1e7b4..4cd90cd7f2 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -23,8 +23,14 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:use-module ((gnu packages gettext) + #:renamer (symbol-prefix-proc 'gnu:)) #:use-module (gnu packages gnupg) - #:use-module (gnu packages perl)) + #:use-module (gnu packages openssl) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages xml)) (define-public vpnc (package @@ -64,3 +70,45 @@ shared-secret IPSec authentication with Xauth, AES (256, 192, 128), 3DES, Only \"Universal TUN/TAP device driver support\" is needed in the kernel.") (license license:gpl2+) ; some file are bsd-2, see COPYING (home-page "http://www.unix-ag.uni-kl.de/~massar/vpnc/"))) + + +(define-public openconnect + (package + (name "openconnect") + (version "4.99") + (source (origin + (method url-fetch) + (uri (string-append "ftp://ftp.infradead.org/pub/openconnect/openconnect-" + version ".tar.gz")) + (sha256 (base32 + "1rd8pap455wzkx19i0sy3cqap524b6fwcjvqynxp6lhm01di4bd6")))) + (build-system gnu-build-system) + (inputs + `(("gettext" ,gnu:gettext) + ("libxml2" ,libxml2) + ("openssl" ,openssl) + ("pkg-config" ,pkg-config) + ("vpnc" ,vpnc) + ("zlib" ,zlib))) + (arguments + `(#:phases + (alist-replace + 'configure + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (let ((vpnc (assoc-ref inputs "vpnc")) + (configure (assoc-ref %standard-phases 'configure))) + (apply configure + (append args + (list '#:configure-flags + (list (string-append "--with-vpnc-script=" + vpnc + "/etc/vpnc/vpnc-script"))))))) + %standard-phases))) + (synopsis "client for cisco vpn") + (description + "OpenConnect is a client for Cisco's AnyConnect SSL VPN, which is +supported by the ASA5500 Series, by IOS 12.4(9)T or later on Cisco SR500, +870, 880, 1800, 2800, 3800, 7200 Series and Cisco 7301 Routers, +and probably others.") + (license license:lgpl2.1) + (home-page "http://www.infradead.org/openconnect/"))) -- cgit v1.2.3 From 84a3e3b7767fbd9336c7ca704fe956e79c20a6bc Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 19 Mar 2013 17:24:55 +0100 Subject: gnu: libgcrypt: Upgrade to 1.5.1. * gnu/packages/gnupg.scm (libgcrypt): Upgrade to 1.5.1. --- gnu/packages/gnupg.scm | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index f26582fb22..1810b65fe8 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès +;;; Copyright © 2012, 2013 Ludovic Courtès ;;; Copyright © 2013 Andreas Enge ;;; ;;; This file is part of GNU Guix. @@ -57,15 +57,14 @@ Daemon and possibly more in the future.") (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")))) + (version "1.5.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-" + version ".tar.bz2")) + (sha256 + (base32 + "09z5zbxhvg6c7n8qcm8h9ygr28qli2n83hfq1f69jsg711cb37md")))) (build-system gnu-build-system) (propagated-inputs `(("libgpg-error" ,libgpg-error))) -- cgit v1.2.3 From 712e6e684cdab33edafa293cf1484b3866b23098 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Fri, 15 Mar 2013 05:41:12 +0100 Subject: gnu: Add lua. * gnu/packages/lua.scm: New file. * Makefile.am: add it. --- Makefile.am | 1 + gnu/packages/lua.scm | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 gnu/packages/lua.scm (limited to 'gnu') diff --git a/Makefile.am b/Makefile.am index 5764f3caf9..8fac0d60c2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -118,6 +118,7 @@ MODULES = \ gnu/packages/lout.scm \ gnu/packages/lsh.scm \ gnu/packages/lsof.scm \ + gnu/packages/lua.scm \ gnu/packages/m4.scm \ gnu/packages/mailutils.scm \ gnu/packages/make-bootstrap.scm \ diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm new file mode 100644 index 0000000000..14fc28ced0 --- /dev/null +++ b/gnu/packages/lua.scm @@ -0,0 +1,63 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Cyril Roelandt +;;; +;;; 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 . + +(define-module (gnu packages lua) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages readline)) + +(define-public lua + (package + (name "lua") + (version "5.2.1") + (source (origin + (method url-fetch) + (uri (string-append "http://www.lua.org/ftp/lua-" + version ".tar.gz")) + (sha256 + (base32 "1rbv2ysq5fdksz7xg07dnrkl8i0gnx855hg4z6b324vng6l4sc34")))) + (build-system gnu-build-system) + (inputs `(("readline", readline))) + (arguments + '(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) + #:test-target "test" + #:phases (alist-replace + 'build + (lambda _ (zero? (system* "make" "linux"))) ; XXX: Other OS. + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (zero? (system + (string-append "make install INSTALL_TOP=" out))))) + (alist-delete 'configure %standard-phases))))) + (home-page "http://www.lua.org/") + (synopsis "An embeddable scripting language.") + (description + "Lua is a powerful, fast, lightweight, embeddable scripting language. Lua +combines simple procedural syntax with powerful data description constructs +based on associative arrays and extensible semantics. Lua is dynamically typed, +runs by interpreting bytecode for a register-based virtual machine, and has +automatic memory management with incremental garbage collection, making it ideal +for configuration, scripting, and rapid prototyping.") + (license x11))) -- cgit v1.2.3 From 9776ebb2a50234c293d4c4a699b81a2ee3543367 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 21 Mar 2013 00:32:26 +0100 Subject: gnu: Disable file name canonicalization in `search-*'. * gnu/packages.scm (search-patch, search-bootstrap-binary): Make sure no canonicalization occurs. This reduces the number of 'stat' system calls. --- gnu/packages.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages.scm b/gnu/packages.scm index b639541788..821246bc38 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -61,12 +61,14 @@ (define (search-patch file-name) "Search the patch FILE-NAME." - (search-path (%patch-path) file-name)) + (with-fluids ((%file-port-name-canonicalization #f)) + (search-path (%patch-path) file-name))) (define (search-bootstrap-binary file-name system) "Search the bootstrap binary FILE-NAME for SYSTEM." - (search-path (%bootstrap-binaries-path) - (string-append system "/" file-name))) + (with-fluids ((%file-port-name-canonicalization #f)) + (search-path (%bootstrap-binaries-path) + (string-append system "/" file-name)))) (define %distro-module-directory ;; Absolute path of the (gnu packages ...) module root. -- cgit v1.2.3 From b6a64843c6d651903bf6bee4cd029f5ac48c0858 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Tue, 12 Mar 2013 04:40:00 +0100 Subject: gnu: Add cmake. * gnu/packages/cmake.scm: New file. * gnu/packages/patches/cmake-fix-tests.patch: New file. * Makefile.am: Add them. --- Makefile.am | 2 + gnu/packages/cmake.scm | 78 ++++++++++++++++++++++++++++++ gnu/packages/patches/cmake-fix-tests.patch | 45 +++++++++++++++++ 3 files changed, 125 insertions(+) create mode 100644 gnu/packages/cmake.scm create mode 100644 gnu/packages/patches/cmake-fix-tests.patch (limited to 'gnu') diff --git a/Makefile.am b/Makefile.am index 8fac0d60c2..3229f16c92 100644 --- a/Makefile.am +++ b/Makefile.am @@ -67,6 +67,7 @@ MODULES = \ gnu/packages/bootstrap.scm \ gnu/packages/cdrom.scm \ gnu/packages/check.scm \ + gnu/packages/cmake.scm \ gnu/packages/compression.scm \ gnu/packages/cpio.scm \ gnu/packages/curl.scm \ @@ -187,6 +188,7 @@ dist_patch_DATA = \ gnu/packages/patches/automake-skip-amhello-tests.patch \ gnu/packages/patches/bigloo-gc-shebangs.patch \ gnu/packages/patches/binutils-ld-new-dtags.patch \ + gnu/packages/patches/cmake-fix-tests.patch \ gnu/packages/patches/cpio-gets-undeclared.patch \ gnu/packages/patches/diffutils-gets-undeclared.patch \ gnu/packages/patches/emacs-configure-sh.patch \ diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm new file mode 100644 index 0000000000..734f55f330 --- /dev/null +++ b/gnu/packages/cmake.scm @@ -0,0 +1,78 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Cyril Roelandt +;;; +;;; 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 . + +(define-module (gnu packages cmake) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages file)) + +(define-public cmake + (package + (name "cmake") + (version "2.8.10.2") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.cmake.org/files/v" + (substring version 0 + (string-index version #\. (+ 1 (string-index version #\.)))) + "/cmake-" version ".tar.gz")) + (sha256 + (base32 "1c8fj6i2x9sb39wc9av2ighj415mw33cxfrlfpafcvm0knrlylnf")))) + (build-system gnu-build-system) + (arguments + '(#:test-target "test" + #:patches (list (assoc-ref %build-inputs "fix-tests")) + #:patch-flags '("-p0") + #:phases (alist-replace + 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; Replace "/bin/sh" by the right path in... a lot of + ;; files. + (substitute* + '("Modules/CompilerId/Xcode-3.pbxproj.in" + "Modules/CompilerId/Xcode-1.pbxproj.in" + "Modules/CompilerId/Xcode-2.pbxproj.in" + "Modules/CPack.RuntimeScript.in" + "Source/cmakexbuild.cxx" + "Source/cmGlobalXCodeGenerator.cxx" + "Source/CTest/cmCTestBatchTestHandler.cxx" + "Source/cmLocalUnixMakefileGenerator3.cxx" + "Utilities/cmbzip2/Makefile-libbz2_so" + "Utilities/Release/release_cmake.cmake" + "Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c" + "Tests/CMakeLists.txt") + (("/bin/sh") (which "sh"))) + (zero? (system* "./configure" + (string-append "--prefix=" out))))) + %standard-phases))) + (inputs + `(("file" ,file) + ("fix-tests" ,(search-patch "cmake-fix-tests.patch")))) + (home-page "http://www.cmake.org/") + (synopsis "A cross-platform, open-source build system") + (description + "CMake is a family of tools designed to build, test and package software. +CMake is used to control the software compilation process using simple platform +and compiler independent configuration files. CMake generates native makefiles +and workspaces that can be used in the compiler environment of your choice.") + (license bsd-3))) diff --git a/gnu/packages/patches/cmake-fix-tests.patch b/gnu/packages/patches/cmake-fix-tests.patch new file mode 100644 index 0000000000..ae28ca336b --- /dev/null +++ b/gnu/packages/patches/cmake-fix-tests.patch @@ -0,0 +1,45 @@ +--- Tests/CMakeLists.txt 2013-03-20 22:57:13.000000000 +0100 ++++ Tests/CMakeLists.txt 2013-03-20 22:58:02.000000000 +0100 +@@ -1706,16 +1706,17 @@ + PASS_REGULAR_EXPRESSION "Could not find executable" + FAIL_REGULAR_EXPRESSION "SegFault") + +- configure_file( +- "${CMake_SOURCE_DIR}/Tests/CTestTestUpload/test.cmake.in" +- "${CMake_BINARY_DIR}/Tests/CTestTestUpload/test.cmake" +- @ONLY ESCAPE_QUOTES) +- add_test(CTestTestUpload ${CMAKE_CTEST_COMMAND} +- -S "${CMake_BINARY_DIR}/Tests/CTestTestUpload/test.cmake" -V +- --output-log "${CMake_BINARY_DIR}/Tests/CTestTestUpload/testOut.log" +- ) +- set_tests_properties(CTestTestUpload PROPERTIES +- PASS_REGULAR_EXPRESSION "Upload\\.xml") ++# This test requires network connectivity: skip it. ++# configure_file( ++# "${CMake_SOURCE_DIR}/Tests/CTestTestUpload/test.cmake.in" ++# "${CMake_BINARY_DIR}/Tests/CTestTestUpload/test.cmake" ++# @ONLY ESCAPE_QUOTES) ++# add_test(CTestTestUpload ${CMAKE_CTEST_COMMAND} ++# -S "${CMake_BINARY_DIR}/Tests/CTestTestUpload/test.cmake" -V ++# --output-log "${CMake_BINARY_DIR}/Tests/CTestTestUpload/testOut.log" ++# ) ++# set_tests_properties(CTestTestUpload PROPERTIES ++# PASS_REGULAR_EXPRESSION "Upload\\.xml") + + configure_file( + "${CMake_SOURCE_DIR}/Tests/CTestTestConfigFileInBuildDir/test1.cmake.in" +--- Utilities/cmcurl/CMakeLists.txt 2013-03-20 22:57:13.000000000 +0100 ++++ Utilities/cmcurl/CMakeLists.txt 2013-03-20 23:08:41.000000000 +0100 +@@ -729,8 +729,9 @@ + ADD_EXECUTABLE(LIBCURL Testing/curltest.c) + TARGET_LINK_LIBRARIES(LIBCURL cmcurl ${CMAKE_DL_LIBS}) + +-IF(CMAKE_CURL_TEST_URL) +- ADD_TEST(curl LIBCURL ${CMAKE_CURL_TEST_URL}) +-ENDIF(CMAKE_CURL_TEST_URL) ++# This test requires network connectivity: skip it. ++#IF(CMAKE_CURL_TEST_URL) ++# ADD_TEST(curl LIBCURL ${CMAKE_CURL_TEST_URL}) ++#ENDIF(CMAKE_CURL_TEST_URL) + + INSTALL(FILES COPYING DESTINATION ${CMake_DOC_DEST}/cmcurl) -- cgit v1.2.3 From 128663e4c8e8e3c2a56686c6018641ce7bcf92da Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 22 Mar 2013 22:58:19 +0100 Subject: store: Really disable file name canonicalization for derivation inputs. * guix/store.scm (write-contents)[call-with-binary-input-file]: Set %FILE-PORT-NAME-CANONICALIZATION to #f. * gnu/packages.scm (search-patch, search-bootstrap-binary): Leave %FILE-PORT-NAME-CANONICALIZATION unchanged. This reverts 9776ebb. --- gnu/packages.scm | 8 +++----- guix/store.scm | 14 ++++++++------ 2 files changed, 11 insertions(+), 11 deletions(-) (limited to 'gnu') diff --git a/gnu/packages.scm b/gnu/packages.scm index 821246bc38..b639541788 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -61,14 +61,12 @@ (define (search-patch file-name) "Search the patch FILE-NAME." - (with-fluids ((%file-port-name-canonicalization #f)) - (search-path (%patch-path) file-name))) + (search-path (%patch-path) file-name)) (define (search-bootstrap-binary file-name system) "Search the bootstrap binary FILE-NAME for SYSTEM." - (with-fluids ((%file-port-name-canonicalization #f)) - (search-path (%bootstrap-binaries-path) - (string-append system "/" file-name)))) + (search-path (%bootstrap-binaries-path) + (string-append system "/" file-name))) (define %distro-module-directory ;; Absolute path of the (gnu packages ...) module root. diff --git a/guix/store.scm b/guix/store.scm index 688ddbe714..4d078c5899 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -238,12 +238,14 @@ "Write SIZE bytes from FILE to output port P." (define (call-with-binary-input-file file proc) ;; Open FILE as a binary file. This avoids scan-for-encoding, and thus - ;; avoids any initial buffering. - (let ((port (open-file file "rb"))) - (catch #t (cut proc port) - (lambda args - (close-port port) - (apply throw args))))) + ;; avoids any initial buffering. Disable file name canonicalization to + ;; avoid stat'ing like crazy. + (with-fluids ((%file-port-name-canonicalization #f)) + (let ((port (open-file file "rb"))) + (catch #t (cut proc port) + (lambda args + (close-port port) + (apply throw args)))))) (define (dump in size) (define buf-size 65536) -- cgit v1.2.3 From 47a9cb950a181e7efa8af06f1c679ed0390a9164 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 26 Mar 2013 22:32:18 +0100 Subject: gnu: Add GNU cppi. * gnu/packages/cppi.scm: New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 1 + gnu/packages/cppi.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 gnu/packages/cppi.scm (limited to 'gnu') diff --git a/Makefile.am b/Makefile.am index 3229f16c92..2380e75fc6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -70,6 +70,7 @@ MODULES = \ gnu/packages/cmake.scm \ gnu/packages/compression.scm \ gnu/packages/cpio.scm \ + gnu/packages/cppi.scm \ gnu/packages/curl.scm \ gnu/packages/cyrus-sasl.scm \ gnu/packages/dejagnu.scm \ diff --git a/gnu/packages/cppi.scm b/gnu/packages/cppi.scm new file mode 100644 index 0000000000..53f24698fc --- /dev/null +++ b/gnu/packages/cppi.scm @@ -0,0 +1,45 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Ludovic Courtès +;;; +;;; 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 . + +(define-module (gnu packages cppi) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (guix licenses)) + +(define-public cppi + (package + (name "cppi") + (version "1.18") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/cppi/cppi-" + version ".tar.xz")) + (sha256 + (base32 + "1jk42cjaggk71rimjnx3qpmb6hivps0917vl3z7wbxk3i2whb98j")))) + (build-system gnu-build-system) + (home-page "http://www.gnu.org/software/cppi/") + (synopsis "A cpp directive indenter") + (description + "GNU cppi indents C preprocessor directives to reflect their nesting and +ensure that there is exactly one space character between each #if, #elif, +#define directive and the following token. The number of spaces between the +`#' and the following directive must correspond to the level of nesting of +that directive.") + (license gpl3+))) -- cgit v1.2.3 From 7bf569186c12cc9d344905ef673fecaa92a6c023 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 26 Mar 2013 22:43:41 +0100 Subject: gnu: Add GNU cflow. * gnu/packages/cflow.scm: New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 1 + gnu/packages/cflow.scm | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 gnu/packages/cflow.scm (limited to 'gnu') diff --git a/Makefile.am b/Makefile.am index 2380e75fc6..c785014451 100644 --- a/Makefile.am +++ b/Makefile.am @@ -66,6 +66,7 @@ MODULES = \ gnu/packages/bison.scm \ gnu/packages/bootstrap.scm \ gnu/packages/cdrom.scm \ + gnu/packages/cflow.scm \ gnu/packages/check.scm \ gnu/packages/cmake.scm \ gnu/packages/compression.scm \ diff --git a/gnu/packages/cflow.scm b/gnu/packages/cflow.scm new file mode 100644 index 0000000000..bb000ddc59 --- /dev/null +++ b/gnu/packages/cflow.scm @@ -0,0 +1,51 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Ludovic Courtès +;;; +;;; 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 . + +(define-module (gnu packages cflow) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (guix licenses) + #:use-module (gnu packages emacs)) + +(define-public cflow + (package + (name "cflow") + (version "1.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/cflow/cflow-" + version ".tar.bz2")) + (sha256 + (base32 + "1jkbq97ajcf834z68hbn3xfhiz921zhn39gklml1racf0kb3jzh3")))) + (build-system gnu-build-system) + (home-page "http://www.gnu.org/software/cflow/") + (synopsis "A tool to analyze the control flow of C programs") + (description + "GNU cflow analyzes a collection of C source files and prints a +graph, charting control flow within the program. + +GNU cflow is able to produce both direct and inverted flowgraphs +for C sources. Optionally a cross-reference listing can be +generated. Two output formats are implemented: POSIX and GNU +(extended). + +The package also provides Emacs major mode for examining the +produced flowcharts in Emacs.") + (license gpl3+))) -- cgit v1.2.3 From 785db4d877959c0b948859d19dff22384924fae4 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 27 Mar 2013 15:01:30 +0100 Subject: glib: Patch around prlimit(2) failure. * gnu/packages/glib.scm (glib)[source]: Switch to mirror://gnome. [inputs]: Add `patch/tests-prlimit'. [arguments]: Add it. * gnu/packages/patches/glib-tests-prlimit.patch: New file. * Makefile.am (dist_patch_DATA): Add it. --- Makefile.am | 5 +++-- gnu/packages/glib.scm | 9 ++++++--- gnu/packages/patches/glib-tests-prlimit.patch | 14 ++++++++++++++ 3 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 gnu/packages/patches/glib-tests-prlimit.patch (limited to 'gnu') diff --git a/Makefile.am b/Makefile.am index c785014451..706c00e8b3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -201,6 +201,7 @@ dist_patch_DATA = \ gnu/packages/patches/gettext-gets-undeclared.patch \ gnu/packages/patches/glib-tests-desktop.patch \ gnu/packages/patches/glib-tests-homedir.patch \ + gnu/packages/patches/glib-tests-prlimit.patch \ gnu/packages/patches/glib-tests-timezone.patch \ gnu/packages/patches/glibc-bootstrap-system.patch \ gnu/packages/patches/glibc-no-ld-so-cache.patch \ @@ -209,7 +210,7 @@ dist_patch_DATA = \ gnu/packages/patches/guile-default-utf8.patch \ gnu/packages/patches/guile-linux-syscalls.patch \ gnu/packages/patches/guile-relocatable.patch \ - gnu/packages/patches/libapr-skip-getservbyname-test.patch \ + gnu/packages/patches/libapr-skip-getservbyname-test.patch \ gnu/packages/patches/libevent-dns-tests.patch \ gnu/packages/patches/libtool-skip-tests.patch \ gnu/packages/patches/lsh-guile-compat.patch \ @@ -226,7 +227,7 @@ dist_patch_DATA = \ gnu/packages/patches/readline-link-ncurses.patch \ gnu/packages/patches/shishi-gets-undeclared.patch \ gnu/packages/patches/tar-gets-undeclared.patch \ - gnu/packages/patches/tcsh-fix-autotest.patch \ + gnu/packages/patches/tcsh-fix-autotest.patch \ gnu/packages/patches/teckit-cstdio.patch \ gnu/packages/patches/vpnc-script.patch \ gnu/packages/patches/w3m-fix-compile.patch diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 72e8d7ed2b..fdcc9bdc31 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -76,7 +76,7 @@ shared NFS home directories.") (version "2.34.3") (source (origin (method url-fetch) - (uri (string-append "http://ftp.gnome.org/pub/gnome/sources/" + (uri (string-append "mirror://gnome/sources/" name "/2.34/" name "-" version ".tar.xz")) (sha256 @@ -99,11 +99,14 @@ shared NFS home directories.") ("patch/tests-homedir" ,(search-patch "glib-tests-homedir.patch")) ("patch/tests-desktop" - ,(search-patch "glib-tests-desktop.patch")))) + ,(search-patch "glib-tests-desktop.patch")) + ("patch/tests-prlimit" + ,(search-patch "glib-tests-prlimit.patch")))) (arguments '(#:patches (list (assoc-ref %build-inputs "patch/tests-tzdata") (assoc-ref %build-inputs "patch/tests-homedir") - (assoc-ref %build-inputs "patch/tests-desktop")) + (assoc-ref %build-inputs "patch/tests-desktop") + (assoc-ref %build-inputs "patch/tests-prlimit")) #:phases (alist-cons-before 'build 'pre-build (lambda* (#:key inputs outputs #:allow-other-keys) diff --git a/gnu/packages/patches/glib-tests-prlimit.patch b/gnu/packages/patches/glib-tests-prlimit.patch new file mode 100644 index 0000000000..f2b2a61bee --- /dev/null +++ b/gnu/packages/patches/glib-tests-prlimit.patch @@ -0,0 +1,14 @@ +prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64 as found on +hydra.gnu.org, and strace(1) doesn't recognize it. + +--- glib-2.34.3/glib/tests/thread.c 2012-11-20 15:27:12.000000000 +0100 ++++ glib-2.34.3/glib/tests/thread.c 2013-03-27 14:48:31.000000000 +0100 +@@ -130,7 +130,7 @@ test_thread3 (void) + static void + test_thread4 (void) + { +-#ifdef HAVE_PRLIMIT ++#if 0 + struct rlimit ol, nl; + GThread *thread; + GError *error; -- cgit v1.2.3 From e9c0b9446bf9b76448349dce1a026eb010038a67 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 27 Mar 2013 15:13:25 +0100 Subject: gnu: Move GCC to its own module. * gnu/packages/base.scm (gcc-4.7): Move to... * gnu/packages/gcc.scm: ... here. New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 1 + gnu/packages/base.scm | 114 +--------------------------------------- gnu/packages/gcc.scm | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 142 insertions(+), 113 deletions(-) create mode 100644 gnu/packages/gcc.scm (limited to 'gnu') diff --git a/Makefile.am b/Makefile.am index 706c00e8b3..022c9a9afe 100644 --- a/Makefile.am +++ b/Makefile.am @@ -83,6 +83,7 @@ MODULES = \ gnu/packages/flex.scm \ gnu/packages/fontutils.scm \ gnu/packages/gawk.scm \ + gnu/packages/gcc.scm \ gnu/packages/gdb.scm \ gnu/packages/gdbm.scm \ gnu/packages/gettext.scm \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 23bf00b241..92b94dc035 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -24,6 +24,7 @@ #:use-module (gnu packages bash) #:use-module (gnu packages bootstrap) #:use-module (gnu packages compression) + #:use-module (gnu packages gcc) #:use-module (gnu packages gawk) #:use-module (gnu packages guile) #:use-module (gnu packages multiprecision) @@ -378,119 +379,6 @@ 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 - `(#: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))) - '()) - ,(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))))) - - ;; 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") diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm new file mode 100644 index 0000000000..a4ee04f5a5 --- /dev/null +++ b/gnu/packages/gcc.scm @@ -0,0 +1,140 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2012, 2013 Ludovic Courtès +;;; +;;; 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 . + +(define-module (gnu packages gcc) + #:use-module (guix licenses) + #:use-module (gnu packages) + #:use-module (gnu packages bootstrap) + #:use-module (gnu packages compression) + #:use-module (gnu packages multiprecision) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu)) + +(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 + `(#: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))) + '()) + ,(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))))) + + ;; 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/")))) -- cgit v1.2.3 From 832abc76874e8041096bdcd23b7a3a68d6439180 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 27 Mar 2013 15:37:27 +0100 Subject: gnu: Add ISL and CLooG. * gnu/packages/gcc.scm (%gcc-infrastructure, isl, cloog): New variables. --- gnu/packages/gcc.scm | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index a4ee04f5a5..76146ad8fc 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -26,6 +26,10 @@ #:use-module (guix download) #:use-module (guix build-system gnu)) +(define %gcc-infrastructure + ;; Base URL for GCC's infrastructure. + "ftp://gcc.gnu.org/pub/gcc/infrastructure/") + (define-public gcc-4.7 (let ((stripped? #t)) ; TODO: make this a parameter (package @@ -138,3 +142,72 @@ 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 isl + (package + (name "isl") + (version "0.11.1") + (source (origin + (method url-fetch) + (uri (list (string-append + "ftp://ftp.linux.student.kuleuven.be/pub/people/skimo/isl/isl-" + version + ".tar.bz2") + (string-append %gcc-infrastructure + name "-" version ".tar.gz"))) + (sha256 + (base32 + "13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9")))) + (build-system gnu-build-system) + (inputs `(("gmp" ,gmp))) + (home-page "http://www.kotnet.org/~skimo/isl/") + (synopsis + "A library for manipulating sets and relations of integer points bounded +by linear constraints") + (description + "isl is a library for manipulating sets and relations of integer points +bounded by linear constraints. Supported operations on sets include +intersection, union, set difference, emptiness check, convex hull, (integer) +affine hull, integer projection, computing the lexicographic minimum using +parametric integer programming, coalescing and parametric vertex +enumeration. It also includes an ILP solver based on generalized basis +reduction, transitive closures on maps (which may encode infinite graphs), +dependence analysis and bounds on piecewise step-polynomials.") + (license lgpl2.1+))) + +(define-public cloog + (package + (name "cloog") + (version "0.18.0") + (source + (origin + (method url-fetch) + (uri (list (string-append + "http://www.bastoul.net/cloog/pages/download/count.php3?url=cloog-" + version + ".tar.gz") + (string-append %gcc-infrastructure + name "-" version ".tar.gz"))) + (sha256 + (base32 + "0a12rwfwp22zd0nlld0xyql11cj390rrq1prw35yjsw8wzfshjhw")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system gnu-build-system) + (inputs `(("gmp" ,gmp) + ("isl" ,isl))) + (arguments '(#:configure-flags '("--with-isl=system"))) + (home-page "http://www.cloog.org/") + (synopsis "A library to generate code for scanning Z-polyhedra") + (description + "CLooG is a free software library to generate code for scanning +Z-polyhedra. That is, it finds a code (e.g., in C, FORTRAN...) that +reaches each integral point of one or more parameterized polyhedra. +CLooG has been originally written to solve the code generation problem +for optimizing compilers based on the polytope model. Nevertheless it +is used now in various area e.g., to build control automata for +high-level synthesis or to find the best polynomial approximation of a +function. CLooG may help in any situation where scanning polyhedra +matters. While the user has full control on generated code quality, +CLooG is designed to avoid control overhead and to produce a very +effective code.") + (license gpl2+))) -- cgit v1.2.3 From 5c126b645eab6cdfee3d72cb4a0980519994442f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 27 Mar 2013 15:47:48 +0100 Subject: gnu: Add libelf. * gnu/packages/gcc.scm (libelf): New variable. --- gnu/packages/gcc.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 76146ad8fc..116c1859a9 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -211,3 +211,31 @@ matters. While the user has full control on generated code quality, CLooG is designed to avoid control overhead and to produce a very effective code.") (license gpl2+))) + +(define-public libelf + (package + (name "libelf") + (version "0.8.13") + (source (origin + (method url-fetch) + (uri (string-append "http://www.mr511.de/software/libelf-" + version ".tar.gz")) + (sha256 + (base32 + "0vf7s9dwk2xkmhb79aigqm0x0yfbw1j0b9ksm51207qwr179n6jr")))) + (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.mr511.de/software/english.html") + (synopsis "An ELF object file access library") + (description "libelf is a C library to access ELF object files.") + (license lgpl2.0+))) -- cgit v1.2.3 From c415f1453875f5ba0d18b5d5fd8109c81172286a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 27 Mar 2013 23:47:54 +0100 Subject: gnu: make-bootstrap: Import (gnu packages gcc). * gnu/packages/make-bootstrap.scm: Import (gnu packages gcc). --- gnu/packages/make-bootstrap.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 3bb926bd36..40e3e21210 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -27,6 +27,7 @@ #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages gawk) + #:use-module (gnu packages gcc) #:use-module (gnu packages guile) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages linux) -- cgit v1.2.3