From dcd3ed9cc764d269259374286807a5483ad219b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 14 Apr 2014 13:55:59 +0200 Subject: gnu: man-pages: Fix URL. * gnu/packages/man.scm (man-pages): Use the 'kernel.org' mirror set. --- gnu/packages/man.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index a6c2c1c0a8..2e0b161578 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -117,7 +117,7 @@ the traditional flat-text whatis databases.") (source (origin (method url-fetch) (uri (string-append - "mirror://kernel/linux/docs/man-pages/man-pages-" + "mirror://kernel.org/linux/docs/man-pages/man-pages-" version ".tar.xz")) (sha256 (base32 -- cgit v1.2.3 From 0b7a0c2030fe85fc54f428e1d874017d4072eead Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 14 Apr 2014 23:47:15 +0200 Subject: gnu: unionfs-fuse-static: Remove dependency on util-linux. * gnu/packages/linux.scm (fuse-static): New variable. (unionfs-fuse/static): Use it. --- gnu/packages/linux.scm | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index da5b31a169..759b92d51e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -962,6 +962,23 @@ space, using the FUSE library. Mounting a union file system allows you to UnionFS-FUSE additionally supports copy-on-write.") (license bsd-3))) +(define fuse-static + (package (inherit fuse) + (name "fuse-static") + (source (origin (inherit (package-source fuse)) + (modules '((guix build utils))) + (snippet + ;; Normally libfuse invokes mount(8) so that /etc/mtab is + ;; updated. Change calls to 'mtab_needs_update' to 0 so that + ;; it doesn't do that, allowing us to remove the dependency on + ;; util-linux (something that is useful in initrds.) + '(substitute* '("lib/mount_util.c" + "util/mount_util.c") + (("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)") + "0") + (("/bin/") + ""))))))) + (define-public unionfs-fuse/static (package (inherit unionfs-fuse) (synopsis "User-space union file system (statically linked)") @@ -976,4 +993,5 @@ UnionFS-FUSE additionally supports copy-on-write.") libs " dl)")))))) (arguments '(#:tests? #f - #:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-static"))))) + #:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-static"))) + (inputs `(("fuse" ,fuse-static))))) -- cgit v1.2.3 From 87d7bb0d02bf0e5985cf4f47fa21aebb62c9260f Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 15 Apr 2014 14:31:54 +0200 Subject: gnu: gawk: Upgrade to 4.1.1. * gnu/packages/gawk.scm (gawk): Upgrade to 4.1.1. --- gnu/packages/gawk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/gawk.scm b/gnu/packages/gawk.scm index 9b22a1e5b8..fe422a2014 100644 --- a/gnu/packages/gawk.scm +++ b/gnu/packages/gawk.scm @@ -27,13 +27,13 @@ (define-public gawk (package (name "gawk") - (version "4.1.0") + (version "4.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gawk/gawk-" version ".tar.xz")) (sha256 - (base32 "0hin2hswbbd6kd6i4zzvgciwpl5fba8d2s524z8y5qagyz3x010q")))) + (base32 "1nz83vpss8xv7m475sv4qhhj40g74nvcw0y9kwq9ds8wzfmcdm7g")))) (build-system gnu-build-system) (arguments `(#:parallel-tests? #f ; test suite fails in parallel -- cgit v1.2.3 From eda6a07419394f5a7c7bf40dddb50c4b5aa874fb Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 15 Apr 2014 14:50:33 +0200 Subject: gnu: gawk: Revert previous commit, which should go into core-updates. * gnu/packages/gawk.scm (gawk): Downgrade to 4.1.0 to avoid recompiling almost everything in master. --- gnu/packages/gawk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/gawk.scm b/gnu/packages/gawk.scm index fe422a2014..9b22a1e5b8 100644 --- a/gnu/packages/gawk.scm +++ b/gnu/packages/gawk.scm @@ -27,13 +27,13 @@ (define-public gawk (package (name "gawk") - (version "4.1.1") + (version "4.1.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gawk/gawk-" version ".tar.xz")) (sha256 - (base32 "1nz83vpss8xv7m475sv4qhhj40g74nvcw0y9kwq9ds8wzfmcdm7g")))) + (base32 "0hin2hswbbd6kd6i4zzvgciwpl5fba8d2s524z8y5qagyz3x010q")))) (build-system gnu-build-system) (arguments `(#:parallel-tests? #f ; test suite fails in parallel -- cgit v1.2.3 From 7e1c735f0bcbbc846a236bd66de7649204d47ab4 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 15 Apr 2014 14:55:44 +0200 Subject: gnu: wdiff: Upgrade to 1.2.2. * gnu/packages/wdiff.scm (wdiff): Upgrade to 1.2.2. --- gnu/packages/wdiff.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/wdiff.scm b/gnu/packages/wdiff.scm index 774015ef90..06a44a9f40 100644 --- a/gnu/packages/wdiff.scm +++ b/gnu/packages/wdiff.scm @@ -28,7 +28,7 @@ (define-public wdiff (package (name "wdiff") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) @@ -36,7 +36,7 @@ version ".tar.gz")) (sha256 (base32 - "1gb5hpiyikada9bwz63q3g96zs383iskiir0xsqynqnvq1vd4n41")))) + "0sxgg0ms5lhi4aqqvz1rj4s77yi9wymfm3l3gbjfd1qchy66kzrl")))) (build-system gnu-build-system) (arguments `(#:phases (alist-cons-before -- cgit v1.2.3 From dc8d69760960d6c1467d73658b306e31ccac3332 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 15 Apr 2014 17:40:23 +0200 Subject: gnu: Add qjson. * gnu/packages/kde.scm (qjson): New variable. --- gnu/packages/kde.scm | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 2666e58a7a..bb2a7ec997 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2013, 2014 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,7 +17,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages kde) - #:use-module ((guix licenses) #:select (bsd-2 lgpl2.1+)) + #:use-module ((guix licenses) #:select (bsd-2 lgpl2.1 lgpl2.1+)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) @@ -78,3 +78,27 @@ (synopsis "Qt 4 multimedia API") (description "KDE desktop environment") (license lgpl2.1+))) + +(define-public qjson + (package + (name "qjson") + (version "0.8.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/flavio/qjson/archive/" + version ".tar.gz")) + (sha256 + (base32 + "163fspi0xc705irv79qw861fmh68pjyla9vx3kqiq6xrdhb9834j")))) + (build-system cmake-build-system) + (inputs + `(("qt" ,qt-4))) + (arguments + `(#:tests? #f)) ; no test target + (home-page "http://qjson.sourceforge.net/") + (synopsis "Qt-based library for handling JSON") + (description "QJson is a Qt-based library that maps JSON data to QVariant +objects and vice versa. JSON arrays are mapped to QVariantList instances, +while JSON objects are mapped to QVariantMap.") + (license lgpl2.1+))) + -- cgit v1.2.3 From ff46707281096b41818737c14933b3cf829abf49 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 15 Apr 2014 17:46:55 +0200 Subject: gnu: Add libdbusmenu-qt. * gnu/packages/kde.scm (libdbusmenu-qt): New variable. --- gnu/packages/kde.scm | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index bb2a7ec997..0a71329c99 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -17,7 +17,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages kde) - #:use-module ((guix licenses) #:select (bsd-2 lgpl2.1 lgpl2.1+)) + #:use-module ((guix licenses) #:select (bsd-2 lgpl2.0+ lgpl2.1 lgpl2.1+)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) @@ -102,3 +102,31 @@ objects and vice versa. JSON arrays are mapped to QVariantList instances, while JSON objects are mapped to QVariantMap.") (license lgpl2.1+))) +(define-public libdbusmenu-qt + (package + (name "libdbusmenu-qt") + (version "0.9.2") + (source (origin + (method url-fetch) + (uri (string-append "https://launchpad.net/" name "/trunk/" + version "/+download/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "1v0ri5g9xw2z64ik0kx0ra01v8rpjn2kxprrxppkls1wvav1qv5f")))) + (build-system cmake-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("qjson", qjson) + ("qt" ,qt-4))) + (arguments + `(#:tests? #f ; no check target + #:configure-flags + '("-DWITH_DOC=OFF"))) ; FIXME: drop once input doxygen is available + (home-page "https://launchpad.net/libdbusmenu-qt/") + (synopsis "Qt implementation of the DBusMenu protocol") + (description "The library provides a Qt implementation of the DBusMenu +protocol. The DBusMenu protocol makes it possible for applications to export +and import their menus over DBus.") + (license lgpl2.0+))) -- cgit v1.2.3 From 2b42718b34a7084418a780d553b67ce377171d41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 15 Apr 2014 22:23:12 +0200 Subject: gnu: man-db: Add specification for $MANPATH. * gnu/packages/man.scm (man-db)[native-search-paths]: New field. --- gnu/packages/man.scm | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 2e0b161578..03058a55e1 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -102,6 +102,10 @@ a flexible and convenient way.") ("groff" ,groff) ("less" ,less) ("libpipeline" ,libpipeline))) + (native-search-paths + (list (search-path-specification + (variable "MANPATH") + (directories '("share/man"))))) (home-page "http://man-db.nongnu.org/") (synopsis "Standard Unix documentation system") (description -- cgit v1.2.3 From 158adb661175ed77694a56902a2e347a8192500f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 15 Apr 2014 23:01:53 +0200 Subject: gnu: Add lftp. * gnu/packages/ftp.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu/packages/ftp.scm | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 gnu/packages/ftp.scm (limited to 'gnu/packages') diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm new file mode 100644 index 0000000000..96af2bf649 --- /dev/null +++ b/gnu/packages/ftp.scm @@ -0,0 +1,56 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 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 ftp) + #:use-module ((guix licenses) #:select (gpl3+)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages readline) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages gnutls) + #:use-module (gnu packages compression)) + +(define-public lftp + (package + (name "lftp") + (version "4.4.15") + (source (origin + (method url-fetch) + (uri (string-append "http://lftp.yar.ru/ftp/lftp-" + version ".tar.xz")) + (sha256 + (base32 + "0s38vc2ij869dwx3i1c7sk96mqv0hknf3cqf86av59rqnix0px3m")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("zlib" ,zlib) + ("readline" ,readline) + ("gnutls" ,gnutls))) + (home-page "http://lftp.yar.ru/") + (synopsis "Command-line file transfer program") + (description + "LFTP is a sophisticated FTP/HTTP client, and a file transfer program +supporting a number of network protocols. Like Bash, it has job control and +uses the Readline library for input. It has bookmarks, a built-in mirror +command, and can transfer several files in parallel. It was designed with +reliability in mind.") + (license gpl3+))) -- cgit v1.2.3 From 1da34f5ad5dff68b18d4d22002e48a61dc986881 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 15 Apr 2014 23:31:31 +0200 Subject: gnu: Add tcpdump. * gnu/packages/admin.scm (tcpdump): New variable. --- gnu/packages/admin.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 774194d87b..bc654dfc75 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -480,6 +480,31 @@ network statistics collection, security monitoring, network debugging, etc.") ;; fad-*.c and a couple other files are BSD-4, but the rest is BSD-3. (license bsd-3))) +(define-public tcpdump + (package + (name "tcpdump") + (version "4.5.1") + (source (origin + (method url-fetch) + (uri (string-append "http://www.tcpdump.org/release/tcpdump-" + version ".tar.gz")) + (sha256 + (base32 + "15hb7zkzd66nag102qbv100hcnf7frglbkylmr8adwr8f5jkkaql")))) + (build-system gnu-build-system) + (inputs `(("libpcap" ,libpcap))) + (native-inputs `(("perl" ,perl))) ; for tests + (arguments + ;; XXX: Temporarily disabled until + ;; is resolved. + '(#:tests? #f)) + (home-page "http://www.tcpdump.org/") + (synopsis "Network packet analyzer") + (description + "Tcpdump is a command-line tool to analyze network traffic passing +through the network interface controller.") + (license bsd-3))) + (define-public jnettop (package (name "jnettop") -- cgit v1.2.3 From fccf2fe06b2e2a3d6d57d0a8a86f370586a1f4b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 15 Apr 2014 23:54:18 +0200 Subject: gnu: Add Rot[t]log. * gnu/packages/admin.scm (rottlog): New variable. --- gnu/packages/admin.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index bc654dfc75..418c094018 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -44,6 +44,7 @@ #:use-module (gnu packages flex) #:use-module (gnu packages glib) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages texinfo) #:use-module (gnu packages xorg)) (define-public dmd @@ -576,3 +577,46 @@ by bandwidth they use.") console window to allow commands to be interactively run on multiple servers over ssh connections.") (license gpl2+))) + +(define-public rottlog + (package + (name "rottlog") + (version "0.72.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/rottlog/rottlog-" + version ".tar.gz")) + (sha256 + (base32 + "0751mb9l2f0jrk3vj6q8ilanifd121dliwk0c34g8k0dlzsv3kd7")) + (modules '((guix build utils))) + (snippet + '(substitute* "Makefile.in" + (("-o \\$\\{LOG_OWN\\} -g \\$\\{LOG_GROUP\\}") + ;; Don't try to chown root. + "") + (("mkdir -p \\$\\(ROTT_STATDIR\\)") + ;; Don't attempt to create /var/lib/rottlog. + "true"))))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags (list (string-append "ROTT_ETCDIR=" + (assoc-ref %outputs "out") + "/etc") + "--localstatedir=/var") + #:phases (alist-cons-after + 'install 'install-info + (lambda _ + (zero? (system* "make" "install-info"))) + %standard-phases))) + (native-inputs `(("texinfo" ,texinfo) + ("util-linux" ,util-linux))) ; for 'cal' + (home-page "http://www.gnu.org/software/rottlog/") + (synopsis "Log rotation and management") + (description + "GNU Rot[t]log is a program for managing log files. It is used to +automatically rotate out log files when they have reached a given size or +according to a given schedule. It can also be used to automatically compress +and archive such logs. Rot[t]log will mail reports of its activity to the +system administrator.") + (license gpl3+))) -- cgit v1.2.3 From 10db1e6c36616e6422f09548192383feda32e673 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 16 Apr 2014 00:18:44 +0200 Subject: gnu: tcpdump: Add dependency on OpenSSL. * gnu/packages/admin.scm (tcpdump)[inputs]: Add OpenSSL. --- gnu/packages/admin.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 418c094018..dd3ba33666 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -40,6 +40,8 @@ #:select (tar)) #:use-module ((gnu packages compression) #:select (gzip)) + #:use-module ((gnu packages openssl) + #:renamer (symbol-prefix-proc 'o:)) #:use-module (gnu packages bison) #:use-module (gnu packages flex) #:use-module (gnu packages glib) @@ -493,12 +495,9 @@ network statistics collection, security monitoring, network debugging, etc.") (base32 "15hb7zkzd66nag102qbv100hcnf7frglbkylmr8adwr8f5jkkaql")))) (build-system gnu-build-system) - (inputs `(("libpcap" ,libpcap))) + (inputs `(("libpcap" ,libpcap) + ("openssl" ,o:openssl))) (native-inputs `(("perl" ,perl))) ; for tests - (arguments - ;; XXX: Temporarily disabled until - ;; is resolved. - '(#:tests? #f)) (home-page "http://www.tcpdump.org/") (synopsis "Network packet analyzer") (description -- cgit v1.2.3 From 8b32a70b239b608638bd98f536eb05baa6b740f9 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 16 Apr 2014 09:04:52 +0200 Subject: gnu: Add attica. * gnu/packages/kde.scm (attica): New variable. --- gnu/packages/kde.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 0a71329c99..4d75ea76b4 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -130,3 +130,27 @@ while JSON objects are mapped to QVariantMap.") protocol. The DBusMenu protocol makes it possible for applications to export and import their menus over DBus.") (license lgpl2.0+))) + +(define-public attica + (package + (name "attica") + (version "0.4.2") + (source (origin + (method url-fetch) + (uri (string-append "http://download.kde.org/stable/" + name "/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "1y74gsyzi70dfr9d1f1b08k130rm3jaibsppg8dv5h3211vm771v")))) + (build-system cmake-build-system) + (inputs + `(("qt" ,qt-4))) + (home-page "https://projects.kde.org/projects/kdesupport/attica") + (synopsis "Qt library for the Open Collaboration Services API") + (description "Attica is a Qt library that implements the Open +Collaboration Services API version 1.6. It grants easy access to the +services such as querying information about persons and contents. The +library is used in KNewStuff3 as content provider. In order to integrate +with KDE's Plasma Desktop, a platform plugin exists in kdebase.") + (license lgpl2.1+))) -- cgit v1.2.3 From 8a79ec41e8bec04af4f889a4fdf2b25e3641f12c Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 16 Apr 2014 10:07:52 +0200 Subject: gnu: Add clucene. * gnu/packages/rdf.scm (clucene): New variable. --- gnu/packages/rdf.scm | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index 22cfc2e257..c9364de6f1 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -17,11 +17,12 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages rdf) - #:use-module ((guix licenses) #:select (lgpl2.0+ lgpl2.1+)) + #:use-module ((guix licenses) #:select (lgpl2.0+ lgpl2.1 lgpl2.1+)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages pkg-config) @@ -60,6 +61,37 @@ Turtle 2013, N-Quads, N-Triples 1.1, Atom 1.0, RSS 1.0, GraphViz DOT, HTML and JSON.") (license lgpl2.1+))) ; or any choice of gpl2+ or asl2.0 +(define-public clucene + (package + (name "clucene") + (version "2.3.3.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/clucene/" + "clucene-core-unstable/2.3/clucene-core-" + version ".tar.gz")) + (sha256 + (base32 + "1arffdwivig88kkx685pldr784njm0249k0rb1f1plwavlrw9zfx")))) + (build-system cmake-build-system) + (inputs + `(("boost" ,boost) ; could also use bundled copy + ("zlib" ,zlib))) + (arguments + `(#:test-target "cl_test" + #:tests? #f)) ; Tests do not compile, as TestIndexSearcher.cpp uses + ; undeclared usleep. After fixing this, one needs to run + ; "make test" in addition to "make cl_test", then + ; SimpleTest fails. + ; Notice that the library appears to be unmaintained + ; with no reaction to bug reports. + (home-page "http://clucene.sourceforge.net/") + (synopsis "C text indexing and searching library") + (description "CLucene is a high-performance, scalable, cross platform, +full-featured indexing and searching API. It is a port of the very popular +Java Lucene text search engine API to C++.") + (license lgpl2.1))) + (define-public soprano (package (name "soprano") -- cgit v1.2.3 From 7051054a0a2751af840159e3aa68ffd0cdb5cb84 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 16 Apr 2014 10:58:31 +0200 Subject: gnu: clucene: Add patch to indicate linking with clucene-shared, not only clucene-core, to pkgconfig. * gnu/packages/patches/clucene-pkgconfig.patch: New file. * gnu-system.am (dist_patch_DATA): Register patch. * gnu/packages/rdf.scm (clucene): Use patch. --- gnu/packages/patches/clucene-pkgconfig.patch | 21 +++++++++++++++++++++ gnu/packages/rdf.scm | 4 +++- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/clucene-pkgconfig.patch (limited to 'gnu/packages') diff --git a/gnu/packages/patches/clucene-pkgconfig.patch b/gnu/packages/patches/clucene-pkgconfig.patch new file mode 100644 index 0000000000..5e4825cd3f --- /dev/null +++ b/gnu/packages/patches/clucene-pkgconfig.patch @@ -0,0 +1,21 @@ +Taken from the Debian package. + +From 7be4a19b76d98260cf95040a47935f854a4ba7a4 Mon Sep 17 00:00:00 2001 +From: Valentin Rusu +Date: Sat, 17 Dec 2011 13:47:58 +0100 +Subject: [PATCH] Fix .pc file by adding clucene-shared library + +--- + src/core/libclucene-core.pc.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/src/core/libclucene-core.pc.cmake ++++ b/src/core/libclucene-core.pc.cmake +@@ -6,6 +6,6 @@ includedir=${prefix}/include:${prefix}/i + Name: libclucene + Description: CLucene - a C++ search engine, ported from the popular Apache Lucene + Version: @CLUCENE_VERSION_MAJOR@.@CLUCENE_VERSION_MINOR@.@CLUCENE_VERSION_REVISION@.@CLUCENE_VERSION_PATCH@ +-Libs: -L${prefix}/@LIB_DESTINATION@/ -lclucene-core ++Libs: -L${prefix}/@LIB_DESTINATION@/ -lclucene-core -lclucene-shared + Cflags: -I${prefix}/include -I${prefix}/include/CLucene/ext + ~ diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index c9364de6f1..dec2f0e3ee 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -22,6 +22,7 @@ #:use-module (guix download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (gnu packages) #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages curl) @@ -72,7 +73,8 @@ HTML and JSON.") version ".tar.gz")) (sha256 (base32 - "1arffdwivig88kkx685pldr784njm0249k0rb1f1plwavlrw9zfx")))) + "1arffdwivig88kkx685pldr784njm0249k0rb1f1plwavlrw9zfx")) + (patches (list (search-patch "clucene-pkgconfig.patch"))))) (build-system cmake-build-system) (inputs `(("boost" ,boost) ; could also use bundled copy -- cgit v1.2.3 From 58ec6f4ba9e431246a9367d440ded76bb04b18c1 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 16 Apr 2014 11:14:59 +0200 Subject: gnu: Add strigi. * gnu/packages/kde.scm (strigi): New variable. --- gnu/packages/kde.scm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 4d75ea76b4..320bcd9d1a 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -21,10 +21,17 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) + #:use-module (gnu packages compression) + #:use-module (gnu packages geeqie) #:use-module (gnu packages glib) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages python) #:use-module (gnu packages qt) + #:use-module (gnu packages rdf) + #:use-module (gnu packages video) + #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) (define-public automoc4 @@ -154,3 +161,47 @@ services such as querying information about persons and contents. The library is used in KNewStuff3 as content provider. In order to integrate with KDE's Plasma Desktop, a platform plugin exists in kdebase.") (license lgpl2.1+))) + +(define-public strigi + (package + (name "strigi") + (version "0.7.8") + (source (origin + (method url-fetch) + (uri (string-append "http://www.vandenoever.info/software/" + name "/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "12grxzqwnvbyqw7q1gnz42lypadxmq89vk2qpxczmpmc4nk63r23")))) + (build-system cmake-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + ;; FIXME: Add optional inputs XAttr, FAM, Log4cxx + (inputs + `(("clucene" ,clucene) + ("dbus" ,dbus) + ("exiv2" ,exiv2) + ("ffmpeg" ,ffmpeg) + ("libxml2" ,libxml2) + ("perl" ,perl) + ("python" ,python-wrapper) + ("qt" ,qt-4) + ("zlib" ,zlib))) + (arguments + `(#:tests? #f)) ; FIXME: Test 23/25 ProcessInputStreamTest fails. + (home-page "http://www.vandenoever.info/software/strigi/") + (synopsis "Desktop search daemon") + (description "Strigi is a desktop search daemon with the following +main features: +very fast crawling; +very small memory footprint; +no hammering of the system; +pluggable backend, currently clucene and hyperestraier, sqlite3 and xapian +are in the works; +communication between daemon and search program over an abstract interface, +currently a simple socket; +simple interface for implementing plugins for extracting information; +calculation of sha1 for every file crawled +(allows fast finding of duplicates).") + (license lgpl2.0+))) -- cgit v1.2.3 From 90f80bf21cce30b92c48958f5a5dcb12942b69a4 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 16 Apr 2014 15:12:46 +0200 Subject: gnu: lua: Compile with -fPIC. * gnu/packages/lua.scm (lua): Add -fPIC to CFLAGS and LDFLAGS. --- gnu/packages/lua.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 991cfc6e67..f2a603bc91 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013 Cyril Roelandt ;;; Copyright © 2014 Raimon Grau ;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2014 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,7 +46,7 @@ #:test-target "test" #:phases (alist-replace 'build - (lambda _ (zero? (system* "make" "linux"))) ; XXX: Other OS. + (lambda _ (zero? (system* "make" "CFLAGS=-fPIC" "linux"))) (alist-replace 'install (lambda* (#:key outputs #:allow-other-keys) -- cgit v1.2.3 From 7b29779561122a94290eb075ae35c56767b2e49f Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 16 Apr 2014 15:14:43 +0200 Subject: gnu: lua: Upgrade to 5.2.3. * gnu/packages/lua.scm (lua): Upgrade to 5.2.3. --- gnu/packages/lua.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index f2a603bc91..7996c11820 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -30,13 +30,13 @@ (define-public lua (package (name "lua") - (version "5.2.1") + (version "5.2.3") (source (origin (method url-fetch) (uri (string-append "http://www.lua.org/ftp/lua-" version ".tar.gz")) (sha256 - (base32 "1rbv2ysq5fdksz7xg07dnrkl8i0gnx855hg4z6b324vng6l4sc34")))) + (base32 "0b8034v1s82n4dg5rzcn12067ha3nxaylp2vdp8gg08kjsbzphhk")))) (build-system gnu-build-system) (inputs `(("readline", readline))) (arguments -- cgit v1.2.3 From 01d3f19b6bec7ed2f4b5bd0c0fbf632498098bba Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 16 Apr 2014 15:31:24 +0200 Subject: gnu: lua: Add older version 5.1.5. * gnu/packages/lua.scm (lua-5.1): New variable. --- gnu/packages/lua.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 7996c11820..a85c120469 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -67,6 +67,16 @@ automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping.") (license x11))) +(define-public lua-5.1 + (package (inherit lua) + (version "5.1.5") + (source (origin + (method url-fetch) + (uri (string-append "http://www.lua.org/ftp/lua-" + version ".tar.gz")) + (sha256 + (base32 "0cskd4w0g6rdm2q8q3i4n1h3j8kylhs3rq8mxwl9vwlmlxbgqh16")))))) + (define-public luajit (package (name "luajit") -- cgit v1.2.3 From d5a748e8e324130fff3de147e0809346d68cb306 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 16 Apr 2014 17:46:42 +0200 Subject: gnu: Add vlc. * gnu/packages/video.scm (vlc): New variable. --- gnu/packages/video.scm | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 7c3bf6b777..cd827d626d 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -22,14 +22,31 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages algebra) + #:use-module (gnu packages avahi) + #:use-module (gnu packages cdrom) #:use-module (gnu packages compression) #:use-module (gnu packages elf) #:use-module (gnu packages fontutils) + #:use-module (gnu packages gl) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages gnutls) + #:use-module (gnu packages libpng) + #:use-module (gnu packages linux) + #:use-module (gnu packages lua) + #:use-module (gnu packages mp3) #:use-module (gnu packages openssl) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages qt) + #:use-module (gnu packages sdl) + #:use-module (gnu packages ssh) + #:use-module (gnu packages version-control) #:use-module (gnu packages xiph) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg) #:use-module (gnu packages yasm)) (define-public ffmpeg @@ -192,3 +209,71 @@ convert and stream audio and video. It includes the libavcodec audio/video codec library.") (license gpl2+))) + +(define-public vlc + (package + (name "vlc") + (version "2.1.4") + (source (origin + (method url-fetch) + (uri (string-append + "http://download.videolan.org/pub/videolan/vlc/" + version "/vlc-" version ".tar.xz")) + (sha256 + (base32 + "1lymhbb2bns73qivdaqanhggjjhyc9fwfgf5ikhng0a74msnqmiy")))) + (build-system gnu-build-system) + (native-inputs + `(("git" ,git) ; needed for a test + ("pkg-config" ,pkg-config))) + ;; FIXME: Add optional inputs once available. + (inputs + `(("alsa-lib" ,alsa-lib) + ("avahi" ,avahi) + ("dbus" ,dbus) + ("flac" ,flac) + ("ffmpeg" ,ffmpeg) + ("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("gnutls" ,gnutls) + ("libcddb" ,libcddb) + ("libgcrypt" ,libgcrypt) + ("libkate" ,libkate) + ("libmad" ,libmad) + ("libogg" ,libogg) + ("libpng" ,libpng) + ("libsamplerate" ,libsamplerate) + ("libssh2" ,libssh2) + ("libvorbis" ,libvorbis) + ("libtheora" ,libtheora) + ("libxext" ,libxext) + ("libxinerama" ,libxinerama) + ("libxml2" ,libxml2) + ("libxpm" ,libxpm) + ("lua" ,lua-5.1) + ("mesa" ,mesa) + ("opus" ,opus) + ("perl" ,perl) + ("pulseaudio" ,pulseaudio) + ("python" ,python-wrapper) + ("qt" ,qt-4) + ("sdl" ,sdl) + ("sdl-image" ,sdl-image) + ("speex" ,speex) + ("xcb-util-keysyms" ,xcb-util-keysyms))) + (arguments + `(#:configure-flags + `("--disable-a52" ; FIXME: reenable once available + "--disable-mmx" ; FIXME: may be enabled on x86_64 + "--disable-sse" ; 1-4, no separate options available + "--disable-neon" + "--disable-altivec" + ,(string-append "LDFLAGS=-Wl,-rpath -Wl," + (assoc-ref %build-inputs "ffmpeg") + "/lib")))) ; needed for the tests + (home-page "https://www.videolan.org/") + (synopsis "Audio and video framework") + (description "VLC is a cross-platform multimedia player and framework +that plays most multimedia files as well as DVD, Audio CD, VCD, and various +treaming protocols.") + (license gpl2+))) -- cgit v1.2.3 From 8c0519bf83dbb40026e55a5449f4f5942fd3b600 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 17 Apr 2014 18:43:40 +0200 Subject: gnu: xorg: libxxf86dga: Propagate input xf86dgaproto. * gnu/packages/xorg.scm (libxxf86dga): Propagate input xf86dgaproto. --- gnu/packages/xorg.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index d72054a855..cc9af18a74 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2014 Eric Bavier ;;; @@ -1427,10 +1427,11 @@ tracking.") (base32 "15291ddhyr54sribwbg8hxx2psgzm5gh0pgkw5yrf3zgvdsa67sm")))) (build-system gnu-build-system) + (propagated-inputs + `(("xf86dgaproto" ,xf86dgaproto))) (inputs `(("libx11" ,libx11) - ("libxext" ,libxext) - ("xf86dgaproto" ,xf86dgaproto))) + ("libxext" ,libxext))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") -- cgit v1.2.3 From ace6924327142c8557349e7c52c594f71a6c079b Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 17 Apr 2014 18:57:46 +0200 Subject: gnu: Add mplayer. * gnu/packages/video.scm (mplayer): New variable. --- gnu/packages/video.scm | 92 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 91 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index cd827d626d..87b4bc66dc 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -17,7 +17,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages video) - #:use-module ((guix licenses) #:select (gpl2+)) + #:use-module ((guix licenses) #:select (gpl2 gpl2+)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -31,6 +31,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) #:use-module (gnu packages gnutls) + #:use-module (gnu packages libjpeg) #:use-module (gnu packages libpng) #:use-module (gnu packages linux) #:use-module (gnu packages lua) @@ -277,3 +278,92 @@ audio/video codec library.") that plays most multimedia files as well as DVD, Audio CD, VCD, and various treaming protocols.") (license gpl2+))) + +(define-public mplayer + (package + (name "mplayer") + (version "1.1.1") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.mplayerhq.hu/MPlayer/releases/MPlayer-" + version ".tar.xz")) + (sha256 + (base32 + "0xlcg7rszrwmw29wqr0plsw5d1rq0hb7vjsq7bmmfsly2z1wg3yf")))) + (build-system gnu-build-system) + ;; FIXME: Add additional inputs once available. + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("cdparanoia" ,cdparanoia) + ("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("lame" ,lame) +;; ("giflib" ,giflib) ; uses QuantizeBuffer, requires version >= 5 + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libtheora" ,libtheora) + ("libvorbis" ,libvorbis) + ("libx11" ,libx11) + ("libxxf86dga" ,libxxf86dga) + ("libxinerama" ,libxinerama) + ("libxv" ,libxv) + ("mesa" ,mesa) + ("perl" ,perl) + ("pulseaudio" ,pulseaudio) + ("python" ,python-wrapper) + ("sdl" ,sdl) + ("speex" ,speex) + ("yasm" ,yasm) + ("zlib" ,zlib))) + (arguments + `(#:tests? #f ; no test target + #:phases + (alist-replace + 'configure + ;; configure does not work followed by "SHELL=..." and + ;; "CONFIG_SHELL=..."; set environment variables instead + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (libx11 (assoc-ref inputs "libx11"))) + (substitute* "configure" + (("#! /bin/sh") (string-append "#!" (which "bash")))) + (setenv "SHELL" (which "bash")) + (setenv "CONFIG_SHELL" (which "bash")) + (zero? (system* + "./configure" + (string-append "--extra-cflags=-I" + libx11 "/include") ; to detect libx11 + "--disable-tremor-internal" ; forces external libvorbis + (string-append "--prefix=" out) + ;; drop special machine instructions not supported + ;; on all instances of the target + ,@(if (string-prefix? "x86_64" + (or (%current-target-system) + (%current-system))) + '() + '("--disable-3dnow" + "--disable-3dnowext" + "--disable-mmx" + "--disable-mmxext" + "--disable-sse" + "--disable-sse2")) + "--disable-ssse3" + "--disable-altivec" + "--disable-armv5te" + "--disable-armv6" + "--disable-armv6t2" + "--disable-armvfp" + "--disable-neon" + "--disable-thumb" + "--disable-iwmmxt")))) + %standard-phases))) + (home-page "http://www.mplayerhq.hu/design7/news.html") + (synopsis "Audio and video player") + (description "MPlayer is a movie player. It plays most MPEG/VOB, AVI, +Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, NUT, +NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, PVA files. One can watch VideoCD, +SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") + (license gpl2))) -- cgit v1.2.3 From 0815f8f9a217ddc2bbe1cf74d10d54aafa2d9063 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 21 Apr 2014 10:04:17 -0400 Subject: gnu: openssl: Fixes for CVE-2010-5298 and extension checking. * gnu/packages/patches/openssl-CVE-2010-5298.patch: New file. * gnu/packages/patches/openssl-extension-checking-fixes.patch: New file. * gnu/packages/openssl.scm (openssl): Add them. * gnu-system.am (dist_patch_DATA): Add them. --- gnu/packages/openssl.scm | 6 +++- gnu/packages/patches/openssl-CVE-2010-5298.patch | 27 +++++++++++++++ .../patches/openssl-extension-checking-fixes.patch | 40 ++++++++++++++++++++++ 3 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/openssl-CVE-2010-5298.patch create mode 100644 gnu/packages/patches/openssl-extension-checking-fixes.patch (limited to 'gnu/packages') diff --git a/gnu/packages/openssl.scm b/gnu/packages/openssl.scm index 8c12ff9355..eb03bb99c3 100644 --- a/gnu/packages/openssl.scm +++ b/gnu/packages/openssl.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2014 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,7 +35,10 @@ ".tar.gz")) (sha256 (base32 - "0a70qdqccg16nw4bbawa6pjvzn05vfp5wkwg6jl0grch7f683jsk")))) + "0a70qdqccg16nw4bbawa6pjvzn05vfp5wkwg6jl0grch7f683jsk")) + (patches + (list (search-patch "openssl-CVE-2010-5298.patch") + (search-patch "openssl-extension-checking-fixes.patch"))))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) (arguments diff --git a/gnu/packages/patches/openssl-CVE-2010-5298.patch b/gnu/packages/patches/openssl-CVE-2010-5298.patch new file mode 100644 index 0000000000..707a24dff0 --- /dev/null +++ b/gnu/packages/patches/openssl-CVE-2010-5298.patch @@ -0,0 +1,27 @@ +From db978be7388852059cf54e42539a363d549c5bfd Mon Sep 17 00:00:00 2001 +From: Kurt Roeckx +Date: Sun, 13 Apr 2014 15:05:30 +0200 +Subject: [PATCH] Don't release the buffer when there still is data in it + +RT: 2167, 3265 +--- + ssl/s3_pkt.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/ssl/s3_pkt.c b/ssl/s3_pkt.c +index b9e45c7..32e9207 100644 +--- a/ssl/s3_pkt.c ++++ b/ssl/s3_pkt.c +@@ -1055,7 +1055,8 @@ int ssl3_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek) + { + s->rstate=SSL_ST_READ_HEADER; + rr->off=0; +- if (s->mode & SSL_MODE_RELEASE_BUFFERS) ++ if (s->mode & SSL_MODE_RELEASE_BUFFERS && ++ s->s3->rbuf.left == 0) + ssl3_release_read_buffer(s); + } + } +-- +1.9.1 + diff --git a/gnu/packages/patches/openssl-extension-checking-fixes.patch b/gnu/packages/patches/openssl-extension-checking-fixes.patch new file mode 100644 index 0000000000..3fdd893563 --- /dev/null +++ b/gnu/packages/patches/openssl-extension-checking-fixes.patch @@ -0,0 +1,40 @@ +From 300b9f0b704048f60776881f1d378c74d9c32fbd Mon Sep 17 00:00:00 2001 +From: "Dr. Stephen Henson" +Date: Tue, 15 Apr 2014 18:48:54 +0100 +Subject: [PATCH] Extension checking fixes. + +When looking for an extension we need to set the last found +position to -1 to properly search all extensions. + +PR#3309. +--- + crypto/x509v3/v3_purp.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/crypto/x509v3/v3_purp.c b/crypto/x509v3/v3_purp.c +index 6c40c7d..5f931db 100644 +--- a/crypto/x509v3/v3_purp.c ++++ b/crypto/x509v3/v3_purp.c +@@ -389,8 +389,8 @@ static void x509v3_cache_extensions(X509 *x) + /* Handle proxy certificates */ + if((pci=X509_get_ext_d2i(x, NID_proxyCertInfo, NULL, NULL))) { + if (x->ex_flags & EXFLAG_CA +- || X509_get_ext_by_NID(x, NID_subject_alt_name, 0) >= 0 +- || X509_get_ext_by_NID(x, NID_issuer_alt_name, 0) >= 0) { ++ || X509_get_ext_by_NID(x, NID_subject_alt_name, -1) >= 0 ++ || X509_get_ext_by_NID(x, NID_issuer_alt_name, -1) >= 0) { + x->ex_flags |= EXFLAG_INVALID; + } + if (pci->pcPathLengthConstraint) { +@@ -670,7 +670,7 @@ static int check_purpose_timestamp_sign(const X509_PURPOSE *xp, const X509 *x, + return 0; + + /* Extended Key Usage MUST be critical */ +- i_ext = X509_get_ext_by_NID((X509 *) x, NID_ext_key_usage, 0); ++ i_ext = X509_get_ext_by_NID((X509 *) x, NID_ext_key_usage, -1); + if (i_ext >= 0) + { + X509_EXTENSION *ext = X509_get_ext((X509 *) x, i_ext); +-- +1.9.1 + -- cgit v1.2.3 From 571aa6cd81ed0c823586fc1b057d68a5d8dab9c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 22 Apr 2014 17:44:45 +0200 Subject: gnu: Add GCC 4.9.0. * gnu/packages/gcc.scm (gcc-4.9): New variable. * gnu/packages/base.scm (gcc-toolchain-4.9): New variable. --- gnu/packages/base.scm | 3 +++ gnu/packages/gcc.scm | 11 +++++++++++ 2 files changed, 14 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index e6a2242cf0..09cbe8915b 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1175,4 +1175,7 @@ and binaries, plus debugging symbols in the 'debug' output), and Binutils.") (define-public gcc-toolchain-4.8 (gcc-toolchain gcc-final)) +(define-public gcc-toolchain-4.9 + (gcc-toolchain gcc-4.9)) + ;;; base.scm ends here diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index cb7817c084..a8d63fc98a 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -227,6 +227,17 @@ Go. It also includes runtime support libraries for these languages.") (base32 "1j6dwgby4g3p3lz7zkss32ghr45zpdidrg8xvazvn91lqxv25p09")))))) +(define-public gcc-4.9 + (package (inherit gcc-4.7) + (version "4.9.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gcc/gcc-" + version "/gcc-" version ".tar.bz2")) + (sha256 + (base32 + "0mqjxpw2klskls00lwx1k24pnyzm3whqxg3hk74c3sddgfllgc5r")))))) + (define (custom-gcc gcc name languages) "Return a custom version of GCC that supports LANGUAGES." (package (inherit gcc) -- cgit v1.2.3 From 1bdb591b74f00813efedce8f1fa854cf8737d706 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 22 Apr 2014 20:41:25 +0200 Subject: gnu: Add mpg123. * gnu/packages/mp3.scm (mpg123): New variable. --- gnu/packages/mp3.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 5eca6c3d35..79ae6eac94 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -30,6 +30,9 @@ #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xiph) + #:use-module (gnu packages pulseaudio) + #:use-module ((gnu packages linux) + #:select (alsa-lib)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu)) @@ -186,6 +189,30 @@ This package contains the binary.") (license license:gpl2+) (home-page "http://mp3splt.sourceforge.net/mp3splt_page/home.php"))) +(define-public mpg123 + (package + (name "mpg123") + (version "1.19.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/mpg123/mpg123-" + version ".tar.bz2")) + (sha256 + (base32 + "06xhd68mj9yp0r6l771aq0d7xgnl402a3wm2mvhxmd3w3ph29446")))) + (build-system gnu-build-system) + (arguments '(#:configure-flags '("--with-default-audio=pulse"))) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pulseaudio" ,pulseaudio) + ("alsa-lib" ,alsa-lib))) + (home-page "http://www.mpg123.org/") + (synopsis "Console MP3 player and decoder library") + (description + "mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers +1,2 and 3 (MPEG 1.0 layer 3 aka MP3 most commonly tested). It comes with a +command-line tool as well as a C library, libmpg123.") + (license license:lgpl2.1))) + (define-public mpg321 (package (name "mpg321") -- cgit v1.2.3 From 60bbd4f1beb4a63a3220425af73f94a4ae1afc1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 22 Apr 2014 20:42:00 +0200 Subject: gnu: mplayer: Add mpg123 as an input. * gnu/packages/video.scm (mplayer)[inputs]: Add mpg123. --- gnu/packages/video.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/packages') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 87b4bc66dc..a824d5c5f7 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -301,6 +301,7 @@ treaming protocols.") ("fontconfig" ,fontconfig) ("freetype" ,freetype) ("lame" ,lame) + ("libmpg123" ,mpg123) ; audio codec for MP3 ;; ("giflib" ,giflib) ; uses QuantizeBuffer, requires version >= 5 ("libjpeg" ,libjpeg) ("libpng" ,libpng) -- cgit v1.2.3 From 42b001381e2d892d9c3ac68d3bf3b89c553699a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 22 Apr 2014 22:15:18 +0200 Subject: gnu: cyrus-sasl: Add alternate source URL. * gnu/packages/cyrus-sasl.scm (cyrus-sasl)[source]: Add alternate URL; the previous one is currently unreachable. --- gnu/packages/cyrus-sasl.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/cyrus-sasl.scm b/gnu/packages/cyrus-sasl.scm index b724d4fc2f..1913f93f0d 100644 --- a/gnu/packages/cyrus-sasl.scm +++ b/gnu/packages/cyrus-sasl.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès +;;; Copyright © 2013, 2014 Ludovic Courtès ;;; Copyright © 2013 Andreas Enge ;;; ;;; This file is part of GNU Guix. @@ -34,8 +34,12 @@ (version "2.1.26") (source (origin (method url-fetch) - (uri (string-append "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-" version - ".tar.gz")) + (uri (list (string-append + "http://cyrusimap.org/releases/cyrus-sasl-" + version ".tar.gz") + (string-append + "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-" + version ".tar.gz"))) (sha256 (base32 "1hvvbcsg21nlncbgs0cgn3iwlnb3vannzwsp6rwvnn9ba4v53g4g")))) (build-system gnu-build-system) -- cgit v1.2.3 From 99fa3024b8a77d1a1fc72487252f3bc32f6f1082 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 24 Apr 2014 11:09:15 +0200 Subject: gnu: gp2c: Upgrade to 0.0.9pl1. * gnu/packages/algebra.scm (gp2c): Upgrade to 0.0.9pl1. --- gnu/packages/algebra.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 86f8361a63..0318cb531e 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -123,14 +123,14 @@ PARI is also available as a C library to allow for faster computations.") (define-public gp2c (package (name "gp2c") - (version "0.0.8pl1") + (version "0.0.9pl1") (source (origin (method url-fetch) (uri (string-append "http://pari.math.u-bordeaux.fr/pub/pari/GP2C/gp2c-" version ".tar.gz")) (sha256 (base32 - "0r1xrshgx0db2snmacwvg5r99fhd9rpblcfs86pfsp23hnjxj9i0")))) + "1p36060vwhn38j77r4c3jqyaslvhvgm6fdw2486k7krxk5ai7ph5")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) (inputs `(("pari-gp" ,pari-gp))) -- cgit v1.2.3 From 436d4d1fbb425c26d716e9f789f1284ec088cc86 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 25 Apr 2014 00:03:36 +0200 Subject: gnu: Add doxygen. * gnu/packages/doxygen.scm: New file. * gnu/packages/patches/doxygen-test.patch, gnu/packages/patches/doxygen-tmake.patch: New files. * gnu-system.am (GNU_SYSTEM_MODULES, dist_patch_DATA): Register the new files. --- gnu/packages/doxygen.scm | 75 ++++++++++++++++++++++++++++++++ gnu/packages/patches/doxygen-test.patch | 38 ++++++++++++++++ gnu/packages/patches/doxygen-tmake.patch | 24 ++++++++++ 3 files changed, 137 insertions(+) create mode 100644 gnu/packages/doxygen.scm create mode 100644 gnu/packages/patches/doxygen-test.patch create mode 100644 gnu/packages/patches/doxygen-tmake.patch (limited to 'gnu/packages') diff --git a/gnu/packages/doxygen.scm b/gnu/packages/doxygen.scm new file mode 100644 index 0000000000..c63a3e6ea1 --- /dev/null +++ b/gnu/packages/doxygen.scm @@ -0,0 +1,75 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 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 doxygen) + #:use-module ((guix licenses) #:select (gpl3+)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages bison) + #:use-module (gnu packages flex) + #:use-module (gnu packages perl) + #:use-module (gnu packages xml) + #:use-module (gnu packages python)) + +(define-public doxygen + (package + (name "doxygen") + (version "1.8.7") + (source (origin + (method url-fetch) + (uri (string-append "http://ftp.stack.nl/pub/users/dimitri/" + name "-" version ".src.tar.gz")) + (sha256 + (base32 + "1ng3dv5fninhfi2fj75ghkr5jwsl653fxv2sxhaswj11x2vcdsn6")) + (patches (list (search-patch "doxygen-tmake.patch") + (search-patch "doxygen-test.patch"))))) + (build-system gnu-build-system) + ;; The presence of graphviz is checked, but it does not seem to influence + ;; the output: Even after adding it as an input, no reference to it is + ;; retained. It might be an option to add it as a propagated input, + ;; only so that it becomes installed in the user profile. + (native-inputs + `(("bison" ,bison) + ("flex" ,flex) + ("libxml2" ,libxml2) ; provides xmllint for the tests + ("perl" ,perl) ; for the tests + ("python" ,python-2))) ; for creating the documentation + (arguments + `(#:test-target "test" + #:phases + (alist-replace + 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; do not pass "--enable-fast-install", which makes the + ;; configure process fail + (zero? (system* + "./configure" + "--prefix" out)))) + %standard-phases))) + (home-page "http://www.stack.nl/~dimitri/doxygen/") + (synopsis "tool for generating documentation from annotated sources") + (description "Doxygen is the de facto standard tool for generating +documentation from annotated C++ sources, but it also supports other popular +programming languages such as C, Objective-C, C#, PHP, Java, Python, +IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl, +and to some extent D.") + (license gpl3+))) diff --git a/gnu/packages/patches/doxygen-test.patch b/gnu/packages/patches/doxygen-test.patch new file mode 100644 index 0000000000..7a7f4e963f --- /dev/null +++ b/gnu/packages/patches/doxygen-test.patch @@ -0,0 +1,38 @@ +Modify the expected outcome of test 012 so that it passes when bibtex is +not in the path, as we do not wish to add texlive as an input just for this +test. + +diff -u -r doxygen-1.8.7.orig/testing/012/citelist.xml doxygen-1.8.7/testing/012/citelist.xml +--- doxygen-1.8.7.orig/testing/012/citelist.xml 2014-04-24 23:43:34.000000000 +0200 ++++ doxygen-1.8.7/testing/012/citelist.xml 2014-04-24 23:49:43.000000000 +0200 +@@ -4,17 +4,6 @@ + citelist + Bibliography + +- +- +- +- [1] +- +- +- DonaldE. Knuth. Tex and Metafont, New Directions in Typesetting. American Mathematical Society and Digital Press, Stanford, 1979. +- +- +- +- + + + +diff -u -r doxygen-1.8.7.orig/testing/012/indexpage.xml doxygen-1.8.7/testing/012/indexpage.xml +--- doxygen-1.8.7.orig/testing/012/indexpage.xml 2014-04-24 23:43:34.000000000 +0200 ++++ doxygen-1.8.7/testing/012/indexpage.xml 2014-04-24 23:44:05.000000000 +0200 +@@ -4,7 +4,7 @@ + index + My Project + +- See [1] for more info. ++ See knuth79 for more info. + + + +Nur in doxygen-1.8.7/testing: test_output_012. diff --git a/gnu/packages/patches/doxygen-tmake.patch b/gnu/packages/patches/doxygen-tmake.patch new file mode 100644 index 0000000000..3579243702 --- /dev/null +++ b/gnu/packages/patches/doxygen-tmake.patch @@ -0,0 +1,24 @@ +Fix the `check_unix' function, which looks for `/bin/uname' to determine +whether we're on a Unix-like system. +Taken from nixpkgs. + +--- doxygen-1.5.8/tmake/bin/tmake 2008-12-06 14:16:20.000000000 +0100 ++++ doxygen-1.5.8/tmake/bin/tmake 2009-03-05 11:29:55.000000000 +0100 +@@ -234,17 +234,7 @@ sub tmake_verb { + # + + sub check_unix { +- my($r); +- $r = 0; +- if ( -f "/bin/uname" ) { +- $r = 1; +- (-f "\\bin\\uname") && ($r = 0); +- } +- if ( -f "/usr/bin/uname" ) { +- $r = 1; +- (-f "\\usr\\bin\\uname") && ($r = 0); +- } +- return $r; ++ return 1; + } + -- cgit v1.2.3 From eb78797163abc06f032ac76a6c8a1e6e579b9de4 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 25 Apr 2014 00:09:59 +0200 Subject: gnu: libdbusmenu-qt: Add native input doxygen for building the documentation, and make input qjson native. * gnu/packages/kde.scm (libdbusmenu-qt): Add native input doxygen for building the documentation. Make input qjson native, as it is needed only for the tests. --- gnu/packages/kde.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 320bcd9d1a..bc5d2d533a 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -22,6 +22,7 @@ #:use-module (guix download) #:use-module (guix build-system cmake) #:use-module (gnu packages compression) + #:use-module (gnu packages doxygen) #:use-module (gnu packages geeqie) #:use-module (gnu packages glib) #:use-module (gnu packages perl) @@ -123,14 +124,13 @@ while JSON objects are mapped to QVariantMap.") "1v0ri5g9xw2z64ik0kx0ra01v8rpjn2kxprrxppkls1wvav1qv5f")))) (build-system cmake-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("doxygen" ,doxygen) ; used for static documentation + ("pkg-config" ,pkg-config) + ("qjson", qjson))) ; used for the tests (inputs - `(("qjson", qjson) - ("qt" ,qt-4))) + `(("qt" ,qt-4))) (arguments - `(#:tests? #f ; no check target - #:configure-flags - '("-DWITH_DOC=OFF"))) ; FIXME: drop once input doxygen is available + `(#:tests? #f)) ; no check target (home-page "https://launchpad.net/libdbusmenu-qt/") (synopsis "Qt implementation of the DBusMenu protocol") (description "The library provides a Qt implementation of the DBusMenu -- cgit v1.2.3 From b01932868ee2b069f7de531a71c1ccb743b74cb4 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 25 Apr 2014 00:16:30 +0200 Subject: gnu: libmpdclient: Add native input doxygen. * gnu/packages/mpd.scm (libmpdclient): Add native input doxygen. --- gnu/packages/mpd.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 04b34eaf87..5841e8be7b 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 David Thompson +;;; Copyright © 2014 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ #:use-module (gnu packages avahi) #:use-module (gnu packages compression) #:use-module (gnu packages curl) + #:use-module (gnu packages doxygen) #:use-module (gnu packages glib) #:use-module (gnu packages linux) #:use-module (gnu packages mp3) @@ -53,9 +55,7 @@ (base32 "0csb9r3nlmbwpiryixjr5k33x3zqd61xjhwmlps3a6prck1n1xw2")))) (build-system gnu-build-system) - (arguments - ;; FIXME: Needs doxygen. - '(#:configure-flags '("--disable-documentation"))) + (native-inputs `(("doxygen" ,doxygen))) (synopsis "Music Player Daemon client library") (description "A stable, documented, asynchronous API library for interfacing MPD in the C, C++ & Objective C languages.") -- cgit v1.2.3 From 707d3e24a23774b8c2e0c6b287de8d6554fae078 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 25 Apr 2014 00:20:31 +0200 Subject: gnu: libkate: Add native input doxygen and make input pkg-config native. * gnu/packages/xiph.scm (libkate): Add native input doxygen. Make input pkg-config native. --- gnu/packages/xiph.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index 2de9074f28..66c6c1373d 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2013 David Thompson ;;; Copyright © 2014 Sree Harsha Totakura @@ -25,6 +25,7 @@ #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages curl) + #:use-module (gnu packages doxygen) #:use-module (gnu packages libpng) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -231,12 +232,13 @@ meaning that audio is compressed in FLAC without any loss in quality.") (base32 "0s3vr2nxfxlf1k75iqpp4l78yf4gil3f0v778kvlngbchvaq23n4")))) (build-system gnu-build-system) - ;; FIXME: Add optional inputs doxygen (for documentation) and liboggz + (native-inputs `(("doxygen" ,doxygen) + ("pkg-config" ,pkg-config))) + ;; FIXME: Add optional input liboggz (inputs `(("bison" ,bison) ("libogg" ,libogg) ("libpng" ,libpng) - ("pkg-config" ,pkg-config) - ("python" ,python-wrapper) +("python" ,python-wrapper) ("zlib" ,zlib))) (synopsis "kate, a karaoke and text codec for embedding in ogg") (description -- cgit v1.2.3 From 9e57c1b58742c5eda3edcccd9397ef28dbfb7f5e Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 25 Apr 2014 00:31:41 +0200 Subject: gnu: doxygen: Add propagated input graphviz. * gnu/packages/doxygen.scm (doxygen): Add propagated input graphviz. --- gnu/packages/doxygen.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/doxygen.scm b/gnu/packages/doxygen.scm index c63a3e6ea1..8c51ae858e 100644 --- a/gnu/packages/doxygen.scm +++ b/gnu/packages/doxygen.scm @@ -24,6 +24,7 @@ #:use-module (gnu packages) #:use-module (gnu packages bison) #:use-module (gnu packages flex) + #:use-module (gnu packages graphviz) #:use-module (gnu packages perl) #:use-module (gnu packages xml) #:use-module (gnu packages python)) @@ -42,16 +43,14 @@ (patches (list (search-patch "doxygen-tmake.patch") (search-patch "doxygen-test.patch"))))) (build-system gnu-build-system) - ;; The presence of graphviz is checked, but it does not seem to influence - ;; the output: Even after adding it as an input, no reference to it is - ;; retained. It might be an option to add it as a propagated input, - ;; only so that it becomes installed in the user profile. (native-inputs `(("bison" ,bison) ("flex" ,flex) ("libxml2" ,libxml2) ; provides xmllint for the tests ("perl" ,perl) ; for the tests ("python" ,python-2))) ; for creating the documentation + (propagated-inputs + `(("graphviz" ,graphviz))) (arguments `(#:test-target "test" #:phases -- cgit v1.2.3 From 5d17cf8eb96e7f266c3ec8d9e512389d1875401b Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 25 Apr 2014 00:24:48 +0200 Subject: gnu: soprano: Add native input doxygen. * gnu/packages/rdf.scm (soprano): Add native input doxygen. --- gnu/packages/rdf.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index dec2f0e3ee..7bf75eeb28 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -26,6 +26,7 @@ #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages curl) + #:use-module (gnu packages doxygen) #:use-module (gnu packages pkg-config) #:use-module (gnu packages qt) #:use-module (gnu packages xml)) @@ -112,9 +113,10 @@ Java Lucene text search engine API to C++.") (base32 "08gb5d8bgy7vc6qd6r1kkmmc5rli67dlglpjqjlahpnvs26r1cwl")))) (build-system cmake-build-system) - ;; FIXME: Add optional dependencies: Redland, odbci, clucene; doxygen + ;; FIXME: Add optional dependencies: Redland, odbci, clucene (native-inputs - `(("pkg-config" ,pkg-config))) + `(("doxygen" ,doxygen) + ("pkg-config" ,pkg-config))) (inputs `(("qt" ,qt-4) ("raptor2" ,raptor2))) -- cgit v1.2.3 From 06ed59825ecc0dc78d4d16d06c129e2f4879201a Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 27 Apr 2014 11:09:07 +0200 Subject: guix: cmake: Add input and package libraries to the rpath, and adapt package definitions accordingly. * guix/build/cmake-build-system.scm (configure): Add flags. * gnu/packages/maths.scm (lapack): Drop special code. * gnu/packages/ssh.scm (libssh): Drop special code. * gnu/packages/slim.scm (slim): Drop special code and enable shared library. Co-authored-by: Eric Bavier --- gnu/packages/maths.scm | 35 +++-------------------------------- gnu/packages/slim.scm | 12 +++--------- gnu/packages/ssh.scm | 35 +++-------------------------------- 3 files changed, 9 insertions(+), 73 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 68c326752c..232b79b312 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2014 John Darrington ;;; @@ -190,43 +190,14 @@ output in text, PostScript, PDF or HTML.") (inputs `(("fortran" ,gfortran-4.8) ("python" ,python-2))) (arguments - `(#:modules ((guix build cmake-build-system) - (guix build utils) - (guix build rpath) - (srfi srfi-1)) - #:imported-modules ((guix build cmake-build-system) - (guix build gnu-build-system) - (guix build utils) - (guix build rpath)) - #:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES") + `(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES") #:phases (alist-cons-before 'check 'patch-python (lambda* (#:key inputs #:allow-other-keys) (let ((python (assoc-ref inputs "python"))) (substitute* "lapack_testing.py" (("/usr/bin/env python") python)))) - (alist-cons-after - 'strip 'add-libs-to-runpath - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (fortran (assoc-ref inputs "fortran")) - (libc (assoc-ref inputs "libc")) - (rpaths `(,(string-append fortran "/lib64") - ,(string-append fortran "/lib") - ,(string-append libc "/lib") - ,(string-append out "/lib")))) - ;; Set RUNPATH for all libraries - (with-directory-excursion out - (for-each - (lambda (lib) - (let ((lib-rpaths (file-rpath lib))) - (for-each - (lambda (dir) - (or (member dir lib-rpaths) - (augment-rpath lib dir))) - rpaths))) - (find-files "lib" ".*so$"))))) - %standard-phases)))) + %standard-phases))) (synopsis "Library for numerical linear algebra") (description "LAPACK is a Fortran 90 library for solving the most commonly occurring diff --git a/gnu/packages/slim.scm b/gnu/packages/slim.scm index f25b070f3c..cea3748985 100644 --- a/gnu/packages/slim.scm +++ b/gnu/packages/slim.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Guy Grant ;;; Copyright © 2014 Ludovic Courtès +;;; Copyright © 2014 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -75,15 +76,8 @@ ;; "systemd". Strip that. ""))) %standard-phases) - #:configure-flags '("-DUSE_PAM=yes" "-DUSE_CONSOLEKIT=no" - - ;; Don't build libslim.so, because then the build - ;; system is unable to set the right RUNPATH on the - ;; 'slim' binary. - "-DBUILD_SHARED_LIBS=OFF" - - ;; Leave a valid RUNPATH upon install. - "-DCMAKE_SKIP_BUILD_RPATH=ON") + #:configure-flags '("-DUSE_PAM=yes" + "-DUSE_CONSOLEKIT=no") #:tests? #f)) (home-page "http://slim.berlios.de/") (synopsis "Desktop-independent graphcal login manager for X11") diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 51e1990168..c8ed3be4a7 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2014 Mark H Weaver ;;; ;;; This file is part of GNU Guix. @@ -53,39 +53,10 @@ "1jyaj9h1iglvn02hrvcchbx8ycjpj8b91h8mi459k7q5jp2xgd9b")))) (build-system cmake-build-system) (arguments - '(#:configure-flags '("-DWITH_GCRYPT=ON" - - ;; Leave a valid RUNPATH upon install. - "-DCMAKE_SKIP_BUILD_RPATH=ON") + '(#:configure-flags '("-DWITH_GCRYPT=ON") ;; TODO: Add 'CMockery' and '-DWITH_TESTING=ON' for the test suite. - #:tests? #f - - #:modules ((guix build cmake-build-system) - (guix build utils) - (guix build rpath)) - #:imported-modules ((guix build gnu-build-system) - (guix build cmake-build-system) - (guix build utils) - (guix build rpath)) - - #:phases (alist-cons-after - 'install 'augment-runpath - (lambda* (#:key outputs #:allow-other-keys) - ;; libssh_threads.so NEEDs libssh.so, so add $libdir to its - ;; RUNPATH. - (define (dereference file) - (let ((target (false-if-exception (readlink file)))) - (if target - (dereference target) - file))) - - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib"))) - (with-directory-excursion lib - (augment-rpath (dereference "libssh_threads.so") - lib)))) - %standard-phases))) + #:tests? #f)) (inputs `(("zlib" ,zlib) ;; Link against an older gcrypt, because libssh tries to access ;; fields of 'gcry_thread_cbs' that are now private: -- cgit v1.2.3 From c69fe8306d7fa69fa67c31b296ae25353f73a2a0 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 28 Apr 2014 20:09:27 +0200 Subject: gnu: soprano: Upgrade to 2.9.4. * gnu/packages/rdf.scm (soprano): Upgrade to 2.9.4. --- gnu/packages/rdf.scm | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index 7bf75eeb28..b297b5209b 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -98,12 +98,7 @@ Java Lucene text search engine API to C++.") (define-public soprano (package (name "soprano") - (version "2.9.3") - ;; 2.9.4 requires clucene, see - ;; http://www.mailinglistarchive.com/html/lfs-book@linuxfromscratch.org/2013-10/msg00285.html - ;; The stable clucene-0.9.21b fails one of its tests; - ;; in the unstable clucene-2.3.3.4 the binary cl_test is not found. - ;; In any case, the library seems to be unmaintained. + (version "2.9.4") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/soprano/Soprano/" @@ -111,14 +106,16 @@ Java Lucene text search engine API to C++.") "soprano-" version ".tar.bz2")) (sha256 (base32 - "08gb5d8bgy7vc6qd6r1kkmmc5rli67dlglpjqjlahpnvs26r1cwl")))) + "1rg0x7yg0a1cbnxz7kqk52580wla8jbnj4d4r3j7l7g7ajyny1k4")))) (build-system cmake-build-system) - ;; FIXME: Add optional dependencies: Redland, odbci, clucene + ;; FIXME: Add optional dependencies: Redland, odbci. (native-inputs `(("doxygen" ,doxygen) ("pkg-config" ,pkg-config))) (inputs - `(("qt" ,qt-4) + `(("clucene" ,clucene) ; is not yet "fully found", but sufficiently + ; so to allow for compilation... + ("qt" ,qt-4) ("raptor2" ,raptor2))) (home-page "http://soprano.sourceforge.net/") (synopsis "RDF data library for Qt") -- cgit v1.2.3 From ba948b4fa0a088f42815aa104e651c9d14d8a1ba Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 28 Apr 2014 20:20:52 +0200 Subject: gnu: soprano: Add input clucene. * gnu/packages/rdf.scm (soprano): Add input clucene and patch the cmake file looking for it. * gnu/packages/patches/soprano-find-clucene.patch: New file. * gnu-system.am (dist_patch_DATA): Register the patch. --- gnu/packages/patches/soprano-find-clucene.patch | 15 +++++++++++++++ gnu/packages/rdf.scm | 6 +++--- 2 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/soprano-find-clucene.patch (limited to 'gnu/packages') diff --git a/gnu/packages/patches/soprano-find-clucene.patch b/gnu/packages/patches/soprano-find-clucene.patch new file mode 100644 index 0000000000..cc2707853a --- /dev/null +++ b/gnu/packages/patches/soprano-find-clucene.patch @@ -0,0 +1,15 @@ +Search for clucene include file in the clucene include directory. + +diff -u -r soprano-2.9.4.orig/cmake/modules/FindCLucene.cmake soprano-2.9.4/cmake/modules/FindCLucene.cmake +--- soprano-2.9.4.orig/cmake/modules/FindCLucene.cmake 2013-10-09 19:22:28.000000000 +0200 ++++ soprano-2.9.4/cmake/modules/FindCLucene.cmake 2014-04-28 20:08:11.000000000 +0200 +@@ -77,7 +77,8 @@ + + get_filename_component(TRIAL_LIBRARY_DIR ${CLUCENE_LIBRARY} PATH) + find_path(CLUCENE_LIBRARY_DIR +- NAMES CLucene/clucene-config.h PATHS ${TRIAL_LIBRARY_DIR} ${TRIAL_LIBRARY_PATHS} ${TRIAL_INCLUDE_PATHS} NO_DEFAULT_PATH) ++ NAMES CLucene/clucene-config.h PATHS ${TRIAL_LIBRARY_DIR} ${TRIAL_LIBRARY_PATHS} ${TRIAL_INCLUDE_PATHS} ${CLUCENE_INCLUDE_DIR} NO_DEFAULT_PATH) ++message (STATUS "XXX ${CLUCENE_LIBRARY_DIR}") + if(CLUCENE_LIBRARY_DIR) + message(STATUS "Found CLucene library dir: ${CLUCENE_LIBRARY_DIR}") + file(READ ${CLUCENE_LIBRARY_DIR}/CLucene/clucene-config.h CLCONTENT) diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index b297b5209b..368245bbaa 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -106,15 +106,15 @@ Java Lucene text search engine API to C++.") "soprano-" version ".tar.bz2")) (sha256 (base32 - "1rg0x7yg0a1cbnxz7kqk52580wla8jbnj4d4r3j7l7g7ajyny1k4")))) + "1rg0x7yg0a1cbnxz7kqk52580wla8jbnj4d4r3j7l7g7ajyny1k4")) + (patches (list (search-patch "soprano-find-clucene.patch"))))) (build-system cmake-build-system) ;; FIXME: Add optional dependencies: Redland, odbci. (native-inputs `(("doxygen" ,doxygen) ("pkg-config" ,pkg-config))) (inputs - `(("clucene" ,clucene) ; is not yet "fully found", but sufficiently - ; so to allow for compilation... + `(("clucene" ,clucene) ("qt" ,qt-4) ("raptor2" ,raptor2))) (home-page "http://soprano.sourceforge.net/") -- cgit v1.2.3 From b6c18d6af7862847326db290e890a7327203b282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 28 Apr 2014 23:52:13 +0200 Subject: gnu: mcron: Upgrade to 1.0.7. * gnu/packages/guile.scm (mcron): Upgrade to 1.0.7. Use GUILE-2.0 instead of GUILE-1.8; add 'native-inputs' field. --- gnu/packages/guile.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index a240937f75..656f22c7e6 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -271,18 +271,18 @@ library.") (define-public mcron (package (name "mcron") - (version "1.0.6") + (version "1.0.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mcron/mcron-" version ".tar.gz")) (sha256 (base32 - "0yvrfzzdy2m7fbqkr61fw01wd9r2jpnbyabxhcsfivgxywknl0fy")) + "1d214fmhsn3kvpnwxnqwfpy6gr5c5dbz2mx3sijhxi070vkfibxc")) (patches (list (search-patch "mcron-install.patch"))))) (build-system gnu-build-system) - (inputs - `(("ed" ,ed) ("which" ,which) ("guile" ,guile-1.8))) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("ed" ,ed) ("which" ,which) ("guile" ,guile-2.0))) (home-page "http://www.gnu.org/software/mcron/") (synopsis "Run jobs at scheduled times") (description -- cgit v1.2.3 From 6d7b4206d73d2a072e394f24e22ba9aded8f65ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 28 Apr 2014 23:53:01 +0200 Subject: gnu: screen: Upgrade to 4.2.1. * gnu/packages/screen.scm (screen): Upgrade to 4.2.1. --- gnu/packages/screen.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm index 58ee42a2a2..ae03220cc3 100644 --- a/gnu/packages/screen.scm +++ b/gnu/packages/screen.scm @@ -29,13 +29,13 @@ (define-public screen (package (name "screen") - (version "4.0.3") + (version "4.2.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/screen/screen-" version ".tar.gz")) (sha256 - (base32 "0xvckv1ia5pjxk7fs4za6gz2njwmfd54sc464n8ab13096qxbw3q")))) + (base32 "105hp6qdd8rl71p81klmxiz4mlb60kh9r7czayrx40g38x858s2l")))) (build-system gnu-build-system) (inputs `(("ncurses", ncurses) -- cgit v1.2.3 From 2c6b7c7d55772be745e8cc615a0868ccc2182e62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 29 Apr 2014 18:05:52 +0200 Subject: gnu: guile-ncurses: Build with Unicode support. * gnu/packages/guile.scm (guile-ncurses)[arguments]: Pass "--with-ncursesw". --- gnu/packages/guile.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 656f22c7e6..4c42d82345 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -247,7 +247,8 @@ many readers as needed).") (inputs `(("ncurses" ,ncurses) ("guile" ,guile-2.0))) (arguments - '(#:configure-flags (list (string-append "--with-guilesitedir=" + '(#:configure-flags (list "--with-ncursesw" ; Unicode support + (string-append "--with-guilesitedir=" (assoc-ref %outputs "out") "/share/guile/site/2.0")) #:phases (alist-cons-after -- cgit v1.2.3 From 3de01d3fa1772ee3dc217fb1464b8b2cce3e9178 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 24 Apr 2014 15:13:59 -0500 Subject: gnu: Add gmsh * gnu/packages/maths.scm (gmsh): New variable --- gnu/packages/maths.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 232b79b312..1bbd2360de 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -26,9 +26,13 @@ #:use-module (guix download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (gnu packages algebra) + #:use-module (gnu packages bison) + #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages elf) + #:use-module (gnu packages flex) #:use-module (gnu packages fltk) #:use-module (gnu packages fontutils) #:use-module (gnu packages gettext) @@ -320,3 +324,45 @@ applications and it provides great support for visualizing results. Work may be performed both at the interactive command-line as well as via script files.") (license license:gpl3+))) + +(define-public gmsh + (package + (name "gmsh") + (version "2.8.4") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.geuz.org/gmsh/src/gmsh-" + version "-source.tgz")) + (sha256 + (base32 "0jv2yvk28w86rx5mvjkb0w12ff2jxih7axnpvznpd295lg5jg7hr")) + (modules '((guix build utils))) + (snippet + ;; Remove non-free METIS code + '(delete-file-recursively "contrib/Metis")))) + (build-system cmake-build-system) + (native-inputs `(("patchelf" ,patchelf))) ;for augment-rpath + (propagated-inputs + `(("fltk" ,fltk) + ("gfortran" ,gfortran-4.8) + ("gmp" ,gmp) + ("hdf5-lib" ,hdf5 "lib") + ("hdf5-include" ,hdf5 "include") + ("lapack" ,lapack) + ("mesa" ,mesa) + ("libx11" ,libx11) + ("libxext" ,libxext))) + (arguments + `(#:configure-flags `("-DENABLE_METIS:BOOL=OFF" + "-DENABLE_BUILD_SHARED:BOOL=ON" + "-DENABLE_BUILD_DYNAMIC:BOOL=ON"))) + (home-page "http://www.geuz.org/gmsh/") + (synopsis "3D finite element grid generator") + (description "Gmsh is a 3D finite element grid generator with a build-in +CAD engine and post-processor. Its design goal is to provide a fast, light and +user-friendly meshing tool with parametric input and advanced visualization +capabilities. Gmsh is built around four modules: geometry, mesh, solver and +post-processing. The specification of any input to these modules is done +either interactively using the graphical user interface or in ASCII text files +using Gmsh's own scripting language.") + (license license:gpl2+))) -- cgit v1.2.3 From edf684ef9993d2c1e64a0bf0b8931608d7a0caf4 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 30 Apr 2014 14:56:52 -0500 Subject: gnu: gmsh: Fix typos * gnu/packages/maths.scm (gmsh): Fix typo and space aftern end-of-sentence. --- gnu/packages/maths.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 1bbd2360de..03f6be120b 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -358,11 +358,11 @@ files.") "-DENABLE_BUILD_DYNAMIC:BOOL=ON"))) (home-page "http://www.geuz.org/gmsh/") (synopsis "3D finite element grid generator") - (description "Gmsh is a 3D finite element grid generator with a build-in -CAD engine and post-processor. Its design goal is to provide a fast, light and -user-friendly meshing tool with parametric input and advanced visualization -capabilities. Gmsh is built around four modules: geometry, mesh, solver and -post-processing. The specification of any input to these modules is done -either interactively using the graphical user interface or in ASCII text files -using Gmsh's own scripting language.") + (description "Gmsh is a 3D finite element grid generator with a built-in +CAD engine and post-processor. Its design goal is to provide a fast, light +and user-friendly meshing tool with parametric input and advanced +visualization capabilities. Gmsh is built around four modules: geometry, +mesh, solver and post-processing. The specification of any input to these +modules is done either interactively using the graphical user interface or in +ASCII text files using Gmsh's own scripting language.") (license license:gpl2+))) -- cgit v1.2.3 From 864068e204faaba44efee940a079ab2a16ba9909 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 30 Apr 2014 15:12:43 -0500 Subject: gnu: calcurse: Fix module definition. * gnu/packages/calcurse.scm: Define calcurse module correctly. --- gnu/packages/calcurse.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/calcurse.scm b/gnu/packages/calcurse.scm index 84dab0c53c..c13cfeaa37 100644 --- a/gnu/packages/calcurse.scm +++ b/gnu/packages/calcurse.scm @@ -16,7 +16,7 @@ ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . -(define-module (gnu packages autogen) +(define-module (gnu packages calcurse) #:use-module (guix packages) #:use-module (guix licenses) #:use-module (guix download) -- cgit v1.2.3 From e1485c7b3846dabc6f9ea2d55bf5766657d0b19b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 30 Apr 2014 23:15:22 +0200 Subject: gnu: Add sudo. * gnu/packages/admin.scm (sudo): New variable. --- gnu/packages/admin.scm | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index dd3ba33666..57fc645ad3 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -47,6 +47,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages pkg-config) #:use-module (gnu packages texinfo) + #:use-module (gnu packages groff) #:use-module (gnu packages xorg)) (define-public dmd @@ -619,3 +620,54 @@ according to a given schedule. It can also be used to automatically compress and archive such logs. Rot[t]log will mail reports of its activity to the system administrator.") (license gpl3+))) + +(define-public sudo + (package + (name "sudo") + (version "1.8.10p2") + (source (origin + (method url-fetch) + (uri + (list (string-append "http://www.sudo.ws/sudo/dist/sudo-" + version ".tar.gz") + (string-append "ftp://ftp.sudo.ws/pub/sudo/OLD/sudo-" + version ".tar.gz"))) + (sha256 + (base32 + "1wbrygz584abmywklq0b4xhqn3s1bjk3rrladslr5nycdpdvhv5s")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--with-logpath=/var/log/sudo.log") + #:phases (alist-cons-before + 'configure 'pre-configure + (lambda _ + (substitute* "configure" + ;; Refer to the right executables. + (("/usr/bin/mv") (which "mv")) + (("/usr/bin/sh") (which "sh"))) + (substitute* (find-files "." "Makefile\\.in") + (("-O [[:graph:]]+ -G [[:graph:]]+") + ;; Allow installation as non-root. + "") + (("^install: (.*)install-sudoers(.*)" _ before after) + ;; Don't try to create /etc/sudoers. + (string-append "install: " before after "\n")))) + %standard-phases) + + ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but + ;; the chroot's /etc/passwd doesn't have it. Turn off the tests. + #:tests? #f)) + (inputs + `(("groff" ,groff) + ("linux-pam" ,linux-pam) + ("coreutils" ,coreutils))) + (home-page "http://www.sudo.ws/") + (synopsis "Run commands as root") + (description + "Sudo (su \"do\") allows a system administrator to delegate authority to +give certain users (or groups of users) the ability to run some (or all) +commands as root or another user while providing an audit trail of the +commands and their arguments.") + + ;; See . + (license x11))) -- cgit v1.2.3 From 586b6d4d45bfbf684a7a4299934d371b8b287665 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Wed, 30 Apr 2014 20:35:45 -0400 Subject: gnu: Propagate necessary inputs for sdl-image. * gnu/packages/sdl.scm (sdl-image): Propagate jpeg, png, and tiff libraries. --- gnu/packages/sdl.scm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index d86ecde38e..bbf8597c7a 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -147,12 +147,17 @@ other supporting functions for SDL.") (base32 "16an9slbb8ci7d89wakkmyfvp7c0cval8xw4hkg0842nhhlp540b")))) (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) ;; FIXME: Add webp - (inputs `(("libpng" ,libpng) - ("libjpeg" ,libjpeg) - ("libtiff" ,libtiff) - ("pkg-config" ,pkg-config))) - (propagated-inputs `(("sdl" ,sdl))) + ;; + ;; libjpeg, libpng, and libtiff are propagated inputs because the + ;; SDL_image headers include the headers of these libraries. SDL is a + ;; propagated input because the pkg-config file refers to SDL's pkg-config + ;; file. + (propagated-inputs `(("sdl" ,sdl) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libtiff" ,libtiff))) (synopsis "SDL image loading library") (description "SDL_image is an image file loading library for SDL that supports the following formats: BMP, GIF, JPEG, LBM, PCX, PNG, PNM, TGA, TIFF, -- cgit v1.2.3 From 3da5dca34c39b209787bc583c16fbe76333c2f4e Mon Sep 17 00:00:00 2001 From: David Thompson Date: Wed, 30 Apr 2014 20:36:32 -0400 Subject: gnu: Add abbaye. * gnu/packages/games.scm (abbaye): New variable. --- gnu/packages/games.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 46fbd21805..0e5616cd59 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 John Darrington +;;; Copyright © 2014 David Thompson ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,6 +33,7 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages pkg-config) #:use-module (gnu packages sqlite) + #:use-module (gnu packages sdl) #:use-module (guix build-system gnu)) (define-public gnubg @@ -94,3 +96,65 @@ you to set the size of the cube (the default is 3x3) or to change the colors. You may even apply photos to the faces instead of colors. The game is scriptable with Guile.") (license gpl3+))) + +(define-public abbaye + (package + (name "abbaye") + (version "1.13") + (source + (origin + (method url-fetch) + (uri (string-append "http://abbaye-for-linux.googlecode.com/files/abbaye-for-linux-src-" + version ".tar.gz")) + (sha256 + (base32 + "1wgvckgqa2084rbskxif58wbb83xbas8s1i8s7d57xbj08ryq8rk")))) + (build-system gnu-build-system) + (arguments + '(#:modules ((ice-9 match) + (guix build gnu-build-system) + (guix build utils)) + #:phases (alist-cons-after + 'set-paths 'set-sdl-paths + (lambda* (#:key inputs outputs (search-paths '()) #:allow-other-keys) + (define input-directories + (match inputs + (((_ . dir) ...) + dir))) + ;; This package does not use pkg-config, so modify CPATH + ;; variable to point to include/SDL for SDL header files. + (set-path-environment-variable "CPATH" + '("include/SDL") + input-directories)) + (alist-cons-after + 'patch-source-shebangs 'patch-makefile + (lambda* (#:key outputs #:allow-other-keys) + ;; Replace /usr with package output directory. + (for-each (lambda (file) + (substitute* file + (("/usr") (assoc-ref outputs "out")))) + '("makefile" "src/pantallas.c" "src/comun.h"))) + (alist-cons-before + 'install 'make-install-dirs + (lambda* (#:key outputs #:allow-other-keys) + (let ((prefix (assoc-ref outputs "out"))) + ;; Create directories that the makefile assumes exist. + (mkdir-p (string-append prefix "/bin")) + (mkdir-p (string-append prefix "/share/applications")))) + ;; No configure script. + (alist-delete 'configure %standard-phases)))) + #:tests? #f)) ;; No check target. + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("sdl" ,sdl) + ("sdl-gfx" ,sdl-gfx) + ("sdl-image" ,sdl-image) + ("sdl-mixer" ,sdl-mixer) + ("sdl-ttf" ,sdl-ttf))) + (home-page "http://code.google.com/p/abbaye-for-linux/") + (synopsis "GNU/Linux port of the indie game \"l'Abbaye des Morts\"") + (description "L'Abbaye des Morts is a 2D platform game set in 13th century +France. The Cathars, who preach about good Christian beliefs, were being +expelled by the Catholic Church out of the Languedoc region in France. One of +them, called Jean Raymond, found an old church in which to hide, not knowing +that beneath its ruins lay buried an ancient evil.") + (license gpl3+))) -- cgit v1.2.3 From b9100e2f11a6735d37bb256ffecb947f9b7ce31f Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 30 Apr 2014 14:01:43 -0500 Subject: gnu: Add petsc * gnu/packages/maths.scm (petsc): New variable. (petsc-complex): New variable. * gnu/packages/patches/petsc-fix-threadcomm.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it. --- gnu/packages/maths.scm | 89 +++++++++++++++++++++++++ gnu/packages/patches/petsc-fix-threadcomm.patch | 15 +++++ 2 files changed, 104 insertions(+) create mode 100644 gnu/packages/patches/petsc-fix-threadcomm.patch (limited to 'gnu/packages') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 03f6be120b..8ac9e461a1 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -366,3 +366,92 @@ mesh, solver and post-processing. The specification of any input to these modules is done either interactively using the graphical user interface or in ASCII text files using Gmsh's own scripting language.") (license license:gpl2+))) + +(define-public petsc + (package + (name "petsc") + (version "3.4.4") + (source + (origin + (method url-fetch) + ;; The *-lite-* tarball does not contain the *large* documentation + (uri (string-append "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/" + "petsc-lite-" version ".tar.gz")) + (sha256 + (base32 "0v5dg6dhdjpi5ianvd4mm6hsvxzv1bsxwnh9f9myag0a0d9xk9iv")) + (patches + (list (search-patch "petsc-fix-threadcomm.patch"))))) + (build-system gnu-build-system) + (native-inputs + `(("python" ,python-2) + ("perl" ,perl))) + (inputs + `(("gfortran" ,gfortran-4.8) + ("lapack" ,lapack) + ;; leaving out hdf5 and fftw, as petsc expects them to be built with mpi + ;; leaving out opengl, as configuration seems to only be for mac + )) + (arguments + `(#:test-target "test" + #:parallel-build? #f + #:configure-flags + `("--with-mpi=0" + "--with-openmp=1") + #:phases + (alist-replace + 'configure + ;; PETSc's configure script is actually a python script, so we can't + ;; run it with bash. + (lambda* (#:key outputs (configure-flags '()) + #:allow-other-keys) + (let* ((prefix (assoc-ref outputs "out")) + (flags `(,(string-append "--prefix=" prefix) + ,@configure-flags))) + (format #t "build directory: ~s~%" (getcwd)) + (format #t "configure flags: ~s~%" flags) + (zero? (apply system* "./configure" flags)))) + (alist-cons-after + 'install 'clean-local-references + ;; Try to keep installed files from leaking build directory names. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (fortran (assoc-ref inputs "gfortran"))) + (substitute* (map (lambda (file) + (string-append out "/" file)) + '("conf/petscvariables" + "conf/PETScConfig.cmake" + "include/petscconf.h" + "include/petscmachineinfo.h")) + (((getcwd)) out)) + ;; Make compiler references point to the store + (substitute* (string-append out "/conf/petscvariables") + (("= g(cc|\\+\\+|fortran)" _ suffix) + (string-append "= " fortran "/bin/g" suffix))) + ;; PETSc installs some build logs, which aren't necessary. + (for-each (lambda (file) + (delete-file (string-append out "/" file))) + '("conf/configure.log" + "conf/make.log" + "conf/test.log" + "conf/RDict.db" + ;; Once installed, should uninstall with Guix + "conf/uninstall.py")))) + %standard-phases)))) + (home-page "http://www.mcs.anl.gov/petsc") + (synopsis "Library to solve ODEs and algebraic equations") + (description "PETSc, pronounced PET-see (the S is silent), is a suite of +data structures and routines for the scalable (parallel) solution of +scientific applications modeled by partial differential equations.") + (license (license:bsd-style + "http://www.mcs.anl.gov/petsc/documentation/copyright.html")))) + +(define-public petsc-complex + (package (inherit petsc) + (name "petsc-complex") + (arguments + (substitute-keyword-arguments (package-arguments petsc) + ((#:configure-flags cf) + `(cons "--with-scalar-type=complex" ,cf)))) + (description + (string-append (package-description petsc) + " Complex scalar type version.")))) diff --git a/gnu/packages/patches/petsc-fix-threadcomm.patch b/gnu/packages/patches/petsc-fix-threadcomm.patch new file mode 100644 index 0000000000..3ef4f2d83d --- /dev/null +++ b/gnu/packages/patches/petsc-fix-threadcomm.patch @@ -0,0 +1,15 @@ +Fix "error: unknown type name 'cpu_set_t'". Patch submitted upstream +http://lists.mcs.anl.gov/pipermail/petsc-dev/2014-May/015345.html + +--- a/src/sys/threadcomm/impls/openmp/tcopenmp.c 2014-03-13 21:47:22.000000000 -0500 ++++ b/src/sys/threadcomm/impls/openmp/tcopenmp.c 2014-04-02 14:44:57.185170151 -0500 +@@ -1,6 +1,9 @@ + #define PETSC_DESIRE_FEATURE_TEST_MACROS + #include <../src/sys/threadcomm/impls/openmp/tcopenmpimpl.h> + #include ++#if defined(PETSC_HAVE_SCHED_CPU_SET_T) ++#include ++#endif + + PetscErrorCode PetscThreadCommGetRank_OpenMP(PetscInt *trank) + { -- cgit v1.2.3 From 6ab6ca4c9a33dd5ffb23fcc3f930772e548f14ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 1 May 2014 22:04:50 +0200 Subject: gnu: qemu: Upgrade to 2.0.0. * gnu/packages/qemu.scm (qemu-headless): Upgrade to 2.0.0. --- gnu/packages/qemu.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm index b02998392e..b4a962e888 100644 --- a/gnu/packages/qemu.scm +++ b/gnu/packages/qemu.scm @@ -44,14 +44,14 @@ ;; This is QEMU without GUI support. (package (name "qemu-headless") - (version "1.7.1") + (version "2.0.0") (source (origin (method url-fetch) (uri (string-append "http://wiki.qemu-project.org/download/qemu-" version ".tar.bz2")) (sha256 (base32 - "1x5y06zhp0gc97g1sb98vf7dkawg63xywv0mbnpfnbi20jh452fn")))) + "0frsahiw56jr4cqr9m6s383lyj4ar9hfs2wp3y4yr76krah1mk30")))) (build-system gnu-build-system) (arguments '(#:phases (alist-replace -- cgit v1.2.3 From 183e44ae4464c7219e9f65dd9c923c3bab2fd732 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 2 May 2014 10:44:50 -0500 Subject: gnu: Add superlu * gnu/packages/maths.scm (superlu): New variable --- gnu/packages/maths.scm | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 8ac9e461a1..991933ad14 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -49,6 +49,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages readline) + #:use-module (gnu packages tcsh) #:use-module (gnu packages texinfo) #:use-module (gnu packages texlive) #:use-module (gnu packages xml)) @@ -455,3 +456,85 @@ scientific applications modeled by partial differential equations.") (description (string-append (package-description petsc) " Complex scalar type version.")))) + +(define-public superlu + (package + (name "superlu") + (version "4.3") + (source + (origin + (method url-fetch) + (uri (string-append "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/" + "superlu_" version ".tar.gz")) + (sha256 + (base32 "10b785s9s4x0m9q7ihap09275pq4km3k2hk76jiwdfdr5qr2168n")))) + (build-system gnu-build-system) + (native-inputs + `(("tcsh" ,tcsh))) + (inputs + `(("lapack" ,lapack) + ("gfortran" ,gfortran-4.8))) + (arguments + `(#:parallel-build? #f + #:tests? #f ;tests are run as part of `make all` + #:phases + (alist-replace + 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (call-with-output-file "make.inc" + (lambda (port) + (format port " +PLAT = +SuperLUroot = ~a +SUPERLULIB = ~a/lib/libsuperlu.a +TMGLIB = libtmglib.a +BLASDEF = -DUSE_VENDOR_BLAS +BLASLIB = -L~a/lib -lblas +LIBS = $(SUPERLULIB) $(BLASLIB) +ARCH = ar +ARCHFLAGS = cr +RANLIB = ranlib +CC = gcc +PIC = -fPIC +CFLAGS = -O3 -DPRNTlevel=0 $(PIC) +NOOPTS = -O0 $(PIC) +FORTRAN = gfortran +FFLAGS = -O2 $(PIC) +LOADER = $(CC) +CDEFS = -DAdd_" + (getcwd) + (assoc-ref outputs "out") + (assoc-ref inputs "lapack"))))) + (alist-cons-before + 'build 'create-install-directories + (lambda* (#:key outputs #:allow-other-keys) + (for-each + (lambda (dir) + (mkdir-p (string-append (assoc-ref outputs "out") + "/" dir))) + '("lib" "include"))) + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + ;; Library is placed in lib during the build phase. Copy over + ;; headers to include. + (let* ((out (assoc-ref outputs "out")) + (incdir (string-append out "/include"))) + (for-each (lambda (file) + (let ((base (basename file))) + (format #t "installing `~a' to `~a'~%" + base incdir) + (copy-file file + (string-append incdir "/" base)))) + (find-files "SRC" ".*\\.h$")))) + %standard-phases))))) + (home-page "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/") + (synopsis "Supernodal direct solver for sparse linear systems") + (description + "SuperLU is a general purpose library for the direct solution of large, +sparse, nonsymmetric systems of linear equations on high performance machines. +The library is written in C and is callable from either C or Fortran. The +library routines perform an LU decomposition with partial pivoting and +triangular system solves through forward and back substitution. The library +also provides threshold-based ILU factorization preconditioners.") + (license license:bsd-3))) -- cgit v1.2.3 From f258212df5be894838fc246c387125be7fa65bc0 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 2 May 2014 14:11:37 -0500 Subject: gnu: petsc: Add input superlu. * gnu/packages/maths.scm (petsc): Configure with superlu support. --- gnu/packages/maths.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 991933ad14..99ea1c1c48 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -389,6 +389,7 @@ ASCII text files using Gmsh's own scripting language.") (inputs `(("gfortran" ,gfortran-4.8) ("lapack" ,lapack) + ("superlu" ,superlu) ;; leaving out hdf5 and fftw, as petsc expects them to be built with mpi ;; leaving out opengl, as configuration seems to only be for mac )) @@ -397,7 +398,12 @@ ASCII text files using Gmsh's own scripting language.") #:parallel-build? #f #:configure-flags `("--with-mpi=0" - "--with-openmp=1") + "--with-openmp=1" + "--with-superlu=1" + ,(string-append "--with-superlu-include=" + (assoc-ref %build-inputs "superlu") "/include") + ,(string-append "--with-superlu-lib=" + (assoc-ref %build-inputs "superlu") "/lib/libsuperlu.a")) #:phases (alist-replace 'configure -- cgit v1.2.3 From f5d5a346dbe74c93642b532a1680c900d24658d8 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 2 May 2014 14:23:16 -0500 Subject: gnu: Add missing copyright line * gnu/packages/maths.scm: Add copyright line missing from 3de01d3. --- gnu/packages/maths.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/packages') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 99ea1c1c48..93ae0bd3ba 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2014 John Darrington +;;; Copyright © 2014 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; -- cgit v1.2.3 From 83a39ed7dbb975e20098c7034f9e6daba7dd02bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 3 May 2014 00:46:34 +0200 Subject: gnu: Add diffstat. * gnu/packages/version-control.scm (diffstat): New variable. --- gnu/packages/version-control.scm | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index f63df4a2ff..ed7d6f61ad 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -21,7 +21,8 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages version-control) - #:use-module ((guix licenses) #:select (asl2.0 gpl1+ gpl2 gpl2+ gpl3+)) + #:use-module ((guix licenses) + #:select (asl2.0 gpl1+ gpl2 gpl2+ gpl3+ x11-style)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -413,3 +414,24 @@ when a file change has been described in the ChangeLog but the file has not been added to the VC. vc-chlog scans changed files and generates standards-compliant ChangeLog entries based on the changes that it detects.") (license gpl3+))) + +(define-public diffstat + (package + (name "diffstat") + (version "1.58") + (source (origin + (method url-fetch) + (uri (string-append + "ftp://invisible-island.net/diffstat/diffstat-" + version ".tgz")) + (sha256 + (base32 + "14rpf5c05ff30f6vn6pn6pzy0k4g4is5im656ahsxff3k58i7mgs")))) + (build-system gnu-build-system) + (home-page "http://invisible-island.net/diffstat/") + (synopsis "Make histograms from the output of 'diff'") + (description + "diffstat reads the output of 'diff' and displays a histogram of the +insertions, deletions, and modifications per-file. It is useful for reviewing +large, complex patch files.") + (license (x11-style "file://COPYING")))) -- cgit v1.2.3 From e102f940976ad3703981e7f7bf5455843054d687 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 3 May 2014 16:37:04 +0200 Subject: gnu: Add statically-linked versions of e2fsprogs and the fsck.* commands. * gnu/packages/linux.scm (e2fsprogs/static, e2fsck/static): New variables. --- gnu/packages/linux.scm | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 759b92d51e..3325679258 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -42,7 +42,8 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) - #:use-module (guix build-system python)) + #:use-module (guix build-system python) + #:use-module (guix build-system trivial)) (define-public (system->linux-architecture arch) "Return the Linux architecture name for ARCH, a Guix system name such as @@ -466,6 +467,48 @@ slabtop, and skill.") lgpl2.0 ; libext2fs x11)))) ; libuuid +(define-public e2fsprogs/static + (package (inherit e2fsprogs) + (name "e2fsprogs-static") + (arguments + `(#:configure-flags '("LDFLAGS=-static") + ,@(package-arguments e2fsprogs))) + (synopsis + "Statically-linked version of the ext2/ext3/ext4 file system tools"))) + +(define-public e2fsck/static + (package + (name "e2fsck-static") + (version (package-version e2fsprogs/static)) + (build-system trivial-build-system) + (source #f) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils) + (ice-9 ftw) + (srfi srfi-26)) + + (let ((source (string-append (assoc-ref %build-inputs "e2fsprogs") + "/sbin")) + (bin (string-append (assoc-ref %outputs "out") "/sbin"))) + (mkdir-p bin) + (with-directory-excursion bin + (for-each (lambda (file) + (copy-file (string-append source "/" file) + file) + (remove-store-references file) + (chmod file #o555)) + (scandir source (cut string-prefix? "fsck." <>)))))))) + (inputs `(("e2fsprogs" ,e2fsprogs/static))) + (synopsis "Statically-linked fsck.* commands from e2fsprogs") + (description + "This package provides statically-linked command of fsck.ext[234] taken +from the e2fsprogs package. It is meant to be used in initrds.") + (home-page (package-home-page e2fsprogs/static)) + (license (package-license e2fsprogs/static)))) + (define-public strace (package (name "strace") -- cgit v1.2.3 From 0e2672aee3087e31bb49920c3eb1544220ae33d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 4 May 2014 11:15:30 +0200 Subject: gnu: Add missing import in (gnu packages maths). * gnu/packages/maths.scm: Use (guix utils), which was needed since b9100e2f. --- gnu/packages/maths.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/packages') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 93ae0bd3ba..2018e1706f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -25,6 +25,7 @@ #:renamer (symbol-prefix-proc 'license:)) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (gnu packages algebra) -- cgit v1.2.3 From 6f194a1e7700997d3c61fa91c58c36da0f96e5c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 5 May 2014 17:12:55 +0200 Subject: gnu: pybugz: Add fixlet patches. * gnu/packages/python.scm (python2-pybugz)[source]: Add 'patches' field. * gnu/packages/patches/pybugz-encode-error.patch, gnu/packages/patches/pybugz-stty.patch: New files. * gnu-system.am (dist_patch_DATA): Add them. --- gnu/packages/patches/pybugz-encode-error.patch | 17 +++++++++++++++++ gnu/packages/patches/pybugz-stty.patch | 19 +++++++++++++++++++ gnu/packages/python.scm | 5 ++++- 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/pybugz-encode-error.patch create mode 100644 gnu/packages/patches/pybugz-stty.patch (limited to 'gnu/packages') diff --git a/gnu/packages/patches/pybugz-encode-error.patch b/gnu/packages/patches/pybugz-encode-error.patch new file mode 100644 index 0000000000..ab78bf84b3 --- /dev/null +++ b/gnu/packages/patches/pybugz-encode-error.patch @@ -0,0 +1,17 @@ +In case of 'AttributeError', 'value' is None, so do not try to +access it. +Submitted upstream. + +--- pybugz-0.6.11/bugz.py 2006-09-02 14:35:37.000000000 +0200 ++++ pybugz-0.6.11/bugz.py 2014-05-05 16:02:20.000000000 +0200 +@@ -1249,9 +1254,9 @@ class PrettyBugz(Bugz): + for field, name in FIELDS + MORE_FIELDS: + try: + value = result.find('//%s' % field).text ++ print '%-12s: %s' % (name, value.encode(self.enc)) + except AttributeError: + continue +- print '%-12s: %s' % (name, value.encode(self.enc)) + + # Print out the cc'ed people + cced = result.findall('.//cc') diff --git a/gnu/packages/patches/pybugz-stty.patch b/gnu/packages/patches/pybugz-stty.patch new file mode 100644 index 0000000000..4453e9d027 --- /dev/null +++ b/gnu/packages/patches/pybugz-stty.patch @@ -0,0 +1,19 @@ +Gracefully deal with 'stty size' failures. +Submitted upstream. + +--- pybugz-0.6.11/bugz.py 2006-09-02 14:35:37.000000000 +0200 ++++ pybugz-0.6.11/bugz.py 2014-05-05 15:17:03.000000000 +0200 +@@ -288,7 +288,12 @@ def get_cols(): + stty = which('stty') + if stty: + row_cols = commands.getoutput("%s size" % stty) +- rows, cols = map(int, row_cols.split()) ++ try: ++ rows, cols = map(int, row_cols.split()) ++ except: ++ # In some cases 'stty size' will just fail with ++ # "Inappropriate ioctl for device". ++ cols = DEFAULT_NUM_COLS + return cols + else: + return DEFAULT_NUM_COLS diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 372f763ee5..d3d4f390ff 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -578,7 +578,10 @@ commands.") version ".tar.gz")) (sha256 (base32 - "17ni00p08gp5lkxlrrcnvi3x09fmajnlbz4da03qcgl9q21ym4jd")))) + "17ni00p08gp5lkxlrrcnvi3x09fmajnlbz4da03qcgl9q21ym4jd")) + (patches (map search-patch + (list "pybugz-stty.patch" + "pybugz-encode-error.patch"))))) (build-system python-build-system) (arguments `(#:python ,python-2 ; SyntaxError with Python 3 -- cgit v1.2.3 From 1dd26275a35f987e1083d428fe30b3501acae94f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 May 2014 00:07:36 +0200 Subject: gnu: Add libcroco. * gnu/packages/gnome.scm (libcroco): New variable. --- gnu/packages/gnome.scm | 64 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 49 insertions(+), 15 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 5d17b019fd..483c3d085b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2014 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,7 +18,8 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages gnome) - #:use-module ((guix licenses) #:select (gpl2 gpl2+ lgpl2.0+ lgpl2.1+ lgpl3)) + #:use-module ((guix licenses) + #:renamer (symbol-prefix-proc 'license:)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -36,6 +38,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages xml) #:use-module (gnu packages gl) + #:use-module (gnu packages compression) #:use-module (gnu packages xorg)) (define-public brasero @@ -75,7 +78,7 @@ (description "Brasero is an application to burn CD/DVD for the Gnome Desktop. It is designed to be as simple as possible and has some unique features to enable users to create their discs easily and quickly.") - (license gpl2+))) + (license license:gpl2+))) (define-public gnome-desktop (package @@ -116,7 +119,7 @@ stability. Documentation for the API is available with gtk-doc. The gnome-about program helps find which version of GNOME is installed.") ; Some bits under the LGPL. - (license gpl2+))) + (license license:gpl2+))) (define-public gnome-doc-utils (package @@ -146,7 +149,7 @@ The gnome-about program helps find which version of GNOME is installed.") "Gnome-doc-utils is a collection of documentation utilities for the Gnome project. It includes xml2po tool which makes it easier to translate and keep up to date translations of documentation.") - (license gpl2+))) ; xslt under lgpl + (license license:gpl2+))) ; xslt under lgpl (define-public libgnome-keyring (package @@ -177,7 +180,7 @@ and keep up to date translations of documentation.") "Client library to access passwords from the GNOME keyring.") ;; Though a couple of files are LGPLv2.1+. - (license lgpl2.0+))) + (license license:lgpl2.0+))) (define-public evince (package @@ -242,7 +245,7 @@ and keep up to date translations of documentation.") currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal of Evince is to replace the multiple document viewers that exist on the GNOME Desktop with a single simple application.") - (license gpl2+))) + (license license:gpl2+))) (define-public gsettings-desktop-schemas (package @@ -269,7 +272,7 @@ on the GNOME Desktop with a single simple application.") (description "Gsettings-desktop-schemas contains a collection of GSettings schemas for settings shared by various components of the GNOME desktop.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public icon-naming-utils (package @@ -294,7 +297,7 @@ for settings shared by various components of the GNOME desktop.") "To help with the transition to the Freedesktop Icon Naming Specification, the icon naming utility maps the icon names used by the GNOME and KDE desktops to the icon names proposed in the specification.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public gnome-icon-theme (package @@ -321,7 +324,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.") "GNOME icon theme") (description "Icons for the GNOME desktop.") - (license lgpl3))) ; or Creative Commons BY-SA 3.0 + (license license:lgpl3))) ; or Creative Commons BY-SA 3.0 (define-public shared-mime-info (package @@ -352,7 +355,7 @@ and the update-mime-database command used to extend it. It requires glib2 to be installed for building the update command. Additionally, it uses intltool for translations, though this is only a dependency for the maintainers. This database is translated at Transifex.") - (license gpl2+))) + (license license:gpl2+))) (define-public hicolor-icon-theme (package @@ -374,7 +377,7 @@ database is translated at Transifex.") "Freedesktop icon theme") (description "Freedesktop icon theme.") - (license gpl2))) + (license license:gpl2))) (define-public libnotify (package @@ -405,7 +408,7 @@ database is translated at Transifex.") notification daemon, as defined in the Desktop Notifications spec. These notifications can be used to inform the user about an event or display some form of information without getting in the user's way.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public libpeas (package @@ -469,7 +472,7 @@ set of features including, but not limited to: multiple extension points; on demand (lazy) programming language support for C, Python and JS; simplicity of the API") - (license lgpl2.0+))) + (license license:lgpl2.0+))) (define-public gtkglext (package @@ -495,7 +498,7 @@ the API") (description "GtkGLExt is an OpenGL extension to GTK+. It provides additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget API add-ons to make GTK+ widgets OpenGL-capable.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public glade3 (package @@ -522,4 +525,35 @@ API add-ons to make GTK+ widgets OpenGL-capable.") (description "Glade is a rapid application development (RAD) tool to enable quick & easy development of user interfaces for the GTK+ toolkit and the GNOME desktop environment.") - (license lgpl2.0+))) + (license license:lgpl2.0+))) + +(define-public libcroco + (package + (name "libcroco") + (version "0.6.8") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/libcroco/0.6/libcroco-" + version + ".tar.xz")) + (sha256 + (base32 + "0w453f3nnkbkrly7spx5lx5pf6mwynzmd5qhszprq8amij2invpa")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("libxml2" ,libxml2) + ("zlib" ,zlib))) + (home-page "https://github.com/GNOME/libcroco") + (synopsis "CSS2 parsing and manipulation library") + (description + "Libcroco is a standalone CSS2 parsing and manipulation library. +The parser provides a low level event driven SAC-like API and a CSS object +model like API. Libcroco provides a CSS2 selection engine and an experimental +XML/CSS rendering engine.") + + ;; LGPLv2.1-only. + (license license:lgpl2.1))) -- cgit v1.2.3 From 251785941159fe57d28558381ab580433fc78099 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 May 2014 00:26:10 +0200 Subject: gnu: Add libgsf. * gnu/packages/gnome.scm (libgsf): New variable. --- gnu/packages/gnome.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 483c3d085b..221c16ca57 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -557,3 +557,35 @@ XML/CSS rendering engine.") ;; LGPLv2.1-only. (license license:lgpl2.1))) + +(define-public libgsf + (package + (name "libgsf") + (version "1.14.30") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/libgsf/1.14/libgsf-" + version ".tar.xz")) + (sha256 + (base32 + "0w2v1a9sxsymd1mcy4mwsz4r6za9iwq69rj86nb939p41d4c6j6b")))) + (build-system gnu-build-system) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (inputs + `(("python" ,python) + ("zlib" ,zlib) + ("bzip2" ,bzip2))) + (propagated-inputs + `(("gdk-pixbuf" ,gdk-pixbuf) + ("glib" ,glib) + ("libxml2" ,libxml2))) + (home-page "http://www.gnome.org/projects/libgsf") + (synopsis "GNOME's Structured File Library") + (description + "Libgsf aims to provide an efficient extensible I/O abstraction for +dealing with different structured file formats.") + + ;; LGPLv2.1-only. + (license license:lgpl2.1))) -- cgit v1.2.3 From 03f4500118eb89a36d6c4978a993c0424b7d8aa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 May 2014 14:06:16 +0200 Subject: gnu: gdb: Add dependency on libxml2. * gnu/packages/gdb.scm (gdb)[inputs]: Add LIBXML2. --- gnu/packages/gdb.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index f521ef5839..a786383027 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -57,7 +57,11 @@ ("readline" ,readline) ("ncurses" ,ncurses) ("python" ,python-wrapper) - ("dejagnu" ,dejagnu))) + ("dejagnu" ,dejagnu) + + ;; Allow use of XML-formatted syscall information. This enables 'catch + ;; syscall' and similar commands. + ("libxml2" ,libxml2))) (native-inputs `(("texinfo" ,texinfo))) (home-page "http://www.gnu.org/software/gdb/") -- cgit v1.2.3 From fd42e6b80343f0a250396150d00c0d3401ac60a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 May 2014 14:06:41 +0200 Subject: gnu: gdb: Upgrade to 7.7.1. * gnu/packages/gdb.scm (gdb): Upgrade to 7.7.1. --- gnu/packages/gdb.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index a786383027..1b8a0bbe22 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -33,14 +33,14 @@ (define-public gdb (package (name "gdb") - (version "7.7") + (version "7.7.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gdb/gdb-" version ".tar.bz2")) (sha256 (base32 - "08vcb97j1b7vxwq6088wb6s3g3bm8iwikd922y0xsgbbxv3d2104")))) + "199sn1p0gzli6icp9dcvrphdvyi7hm4cc9zhziq0q6vg81h55g8d")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; FIXME "make check" fails on single-processor systems. -- cgit v1.2.3 From 0997771ac19d7aa5c51ba25f87f9e08de324edae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 May 2014 14:12:41 +0200 Subject: gnu: e2fsprogs: Use 'static-package' for the statically-linked variant. * gnu/packages/linux.scm (e2fsprogs/static): Remove. (e2fsck/static): Use (static-package e2fsprogs) instead. --- gnu/packages/linux.scm | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 3325679258..f04fd5ce6b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -467,19 +467,10 @@ slabtop, and skill.") lgpl2.0 ; libext2fs x11)))) ; libuuid -(define-public e2fsprogs/static - (package (inherit e2fsprogs) - (name "e2fsprogs-static") - (arguments - `(#:configure-flags '("LDFLAGS=-static") - ,@(package-arguments e2fsprogs))) - (synopsis - "Statically-linked version of the ext2/ext3/ext4 file system tools"))) - (define-public e2fsck/static (package (name "e2fsck-static") - (version (package-version e2fsprogs/static)) + (version (package-version e2fsprogs)) (build-system trivial-build-system) (source #f) (arguments @@ -501,13 +492,13 @@ slabtop, and skill.") (remove-store-references file) (chmod file #o555)) (scandir source (cut string-prefix? "fsck." <>)))))))) - (inputs `(("e2fsprogs" ,e2fsprogs/static))) + (inputs `(("e2fsprogs" ,(static-package e2fsprogs)))) (synopsis "Statically-linked fsck.* commands from e2fsprogs") (description "This package provides statically-linked command of fsck.ext[234] taken from the e2fsprogs package. It is meant to be used in initrds.") - (home-page (package-home-page e2fsprogs/static)) - (license (package-license e2fsprogs/static)))) + (home-page (package-home-page e2fsprogs)) + (license (package-license e2fsprogs)))) (define-public strace (package -- cgit v1.2.3 From f57d263929ea9195d8ce34e89c9a37fb46adc6d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 May 2014 14:26:49 +0200 Subject: gnu: e2fsprogs: Install the libext2fs Info manual. * gnu/packages/linux.scm (e2fsprogs)[native-inputs]: Add TEXINFO. --- gnu/packages/linux.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index f04fd5ce6b..72b445f7a6 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -38,6 +38,7 @@ #:use-module (gnu packages attr) #:use-module (gnu packages xml) #:use-module (gnu packages autotools) + #:use-module (gnu packages texinfo) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -441,7 +442,8 @@ slabtop, and skill.") "0ibkkvp6kan0hn0d1anq4n2md70j5gcm7mwna515w82xwyr02rfw")))) (build-system gnu-build-system) (inputs `(("util-linux" ,util-linux))) - (native-inputs `(("pkg-config" ,pkg-config))) + (native-inputs `(("pkg-config" ,pkg-config) + ("texinfo" ,texinfo))) ; for the libext2fs Info manual (arguments '(#:phases (alist-cons-before 'configure 'patch-shells -- cgit v1.2.3 From 78214b4b89a4066ccbcdbaf9b9fb0a7d676e1a89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 May 2014 15:01:39 +0200 Subject: gnu: make-bootstrap: Add missing export. * gnu/packages/make-bootstrap.scm: Export '%guile-static-stripped'. The problem was hidden because of . --- gnu/packages/make-bootstrap.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 97a13b4b74..2e3e9ec4c1 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,7 +40,9 @@ %glibc-bootstrap-tarball %gcc-bootstrap-tarball %guile-bootstrap-tarball - %bootstrap-tarballs)) + %bootstrap-tarballs + + %guile-static-stripped)) ;;; Commentary: ;;; -- cgit v1.2.3 From 94e3029a834cb53a60dcef18556f8d207dea85cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 May 2014 16:48:58 +0200 Subject: gnu: pius: Use Python 2. * gnu/packages/gnupg.scm (pius): Use Python 2. --- gnu/packages/gnupg.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index f3fbef06fe..39f1ac0036 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -279,7 +279,7 @@ and every application benefits from this.") "1g1jly3wl4ks6h8ydkygyl2c4i7v3z91rg42005m6vm70y1d8b3d")))) (build-system gnu-build-system) (inputs `(("perl" ,perl) - ("python" ,python-wrapper) + ("python" ,python-2) ; uses the Python 2 'print' syntax ("gpg" ,gnupg))) (arguments `(#:tests? #f -- cgit v1.2.3 From 63016e7cd0c1a0a75dd40c44b4cf496aa3c85328 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 May 2014 22:29:55 +0200 Subject: gnu: Add librsvg. * gnu/packages/gnome.scm (librsvg): New variable. --- gnu/packages/gnome.scm | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 221c16ca57..24f018d222 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -589,3 +589,71 @@ dealing with different structured file formats.") ;; LGPLv2.1-only. (license license:lgpl2.1))) + +(define-public librsvg + (package + (name "librsvg") + (version "2.40.2") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/librsvg/2.40/librsvg-" + version ".tar.xz")) + (sha256 + (base32 + "071959yjb2i1bja7ciy4bmpnd6fn2is9jjqsvvvnsqwl69j9n128")))) + (build-system gnu-build-system) + (arguments + `(#:modules ((guix build gnome) + (guix build gnu-build-system) + (guix build utils)) + #:imported-modules ((guix build gnome) + (guix build gnu-build-system) + (guix build utils)) + #:phases + (alist-cons-before + 'configure 'augment-gir-search-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* (find-files "." "Makefile\\.in") + (("INTROSPECTION_SCANNER_ARGS = ") + (string-append "INTROSPECTION_SCANNER_ARGS = " + "--add-include-path=" + (gir-directory inputs "gdk-pixbuf") + " ")) + (("INTROSPECTION_COMPILER_ARGS = ") + (string-append "INTROSPECTION_COMPILER_ARGS = " + "--includedir=" + (gir-directory inputs "gdk-pixbuf") + " "))) + + (substitute* "gdk-pixbuf-loader/Makefile.in" + ;; By default the gdk-pixbuf loader is installed under + ;; gdk-pixbuf's prefix. Work around that. + (("gdk_pixbuf_moduledir = .*$") + (string-append "gdk_pixbuf_moduledir = " + "$(prefix)/lib/gdk-pixbuf-2.0/2.0.10/" + "loaders\n")) + ;; Likewise, create a separate 'loaders.cache' file. + (("gdk_pixbuf_cache_file = .*$") + "gdk_pixbuf_cache_file = $(gdk_pixbuf_moduledir).cache\n"))) + %standard-phases))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc. + (inputs + `(("pango" ,pango) + ("libcroco" ,libcroco) + ("bzip2" ,bzip2) + ("libgsf" ,libgsf) + ("libxml2" ,libxml2))) + (propagated-inputs + ;; librsvg-2.0.pc refers to all of that. + `(("cairo" ,cairo) + ("gdk-pixbuf" ,gdk-pixbuf) + ("glib" ,glib))) + (home-page "https://wiki.gnome.org/LibRsvg") + (synopsis "Render SVG files using Cairo") + (description + "librsvg is a C library to render SVG files using the Cairo 2D graphics +library.") + (license license:lgpl2.0+))) -- cgit v1.2.3 From 141aed808701351685de9d92532392384d730b37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 May 2014 22:40:33 +0200 Subject: gnu: gobject-introspection is usually meant to be a native input. * gnu/packages/gtk.scm (atk, pango, gdk-pixbuf, gtk+): Move gobject-introspection to 'native-inputs' since it's only used at build time. * gnu/packages/gnome.scm (libpeas): Move pkg-config, gobject-introspection, and intltool to 'native-inputs'. --- gnu/packages/gnome.scm | 9 +++++---- gnu/packages/gtk.scm | 25 +++++++++++++------------ 2 files changed, 18 insertions(+), 16 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 24f018d222..3e0ae80db2 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -458,11 +458,12 @@ some form of information without getting in the user's way.") `(("atk" ,atk) ("gdk-pixbuf" ,gdk-pixbuf) ("glib" ,glib) - ("gobject-introspection" ,gobject-introspection) ("gtk+" ,gtk+) - ("intltool" ,intltool) - ("pango" ,pango) - ("pkg-config" ,pkg-config))) + ("pango" ,pango))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("gobject-introspection" ,gobject-introspection) + ("intltool" ,intltool))) (home-page "https://wiki.gnome.org/Libpeas") (synopsis "GObject plugin system") (description diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index fa92e5ab8c..cfe3dac476 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge -;;; Copyright © 2013 Ludovic Courtès +;;; Copyright © 2013, 2014 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -53,9 +53,10 @@ (base32 "1c2hbg66wfvibsz2ia0ri48yr62751fn950i97c53j3b0fjifsb3")))) (build-system gnu-build-system) - (inputs `(("glib" ,glib) - ("gobject-introspection" ,gobject-introspection))) - (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("glib" ,glib))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc. (synopsis "GNOME accessibility toolkit") (description "ATK provides the set of accessibility interfaces that are implemented @@ -156,10 +157,10 @@ affine transformation (scale, rotation, shear, etc.)") `(("cairo" ,cairo) ("harfbuzz" ,harfbuzz))) (inputs - `(("gobject-introspection" ,gobject-introspection) - ("zlib" ,zlib))) + `(("zlib" ,zlib))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc. (synopsis "GNOME text and font handling library") (description "Pango is the core text and font handling library used in GNOME @@ -236,12 +237,12 @@ printing and other features typical of a source code editor.") (build-system gnu-build-system) (inputs `(("glib" ,glib) - ("gobject-introspection", gobject-introspection) ("libjpeg" ,libjpeg) ("libpng" ,libpng) ("libtiff" ,libtiff))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("gobject-introspection", gobject-introspection))) ; g-ir-compiler, etc. (synopsis "GNOME image loading and manipulation library") (description "GdkPixbuf is a library for image loading and manipulation developed @@ -366,11 +367,11 @@ application suites.") ("libxinerama" ,libxinerama) ("pango" ,pango))) (inputs - `(("gobject-introspection" ,gobject-introspection) - ("libxml2" ,libxml2))) + `(("libxml2" ,libxml2))) (native-inputs - `(("perl" ,perl) + `(("perl" ,perl) ("pkg-config" ,pkg-config) + ("gobject-introspection" ,gobject-introspection) ("python-wrapper" ,python-wrapper) ("xorg-server" ,xorg-server))) (arguments -- cgit v1.2.3 From ce2df078d7b8e8d44b831270421513bd04429866 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 6 May 2014 23:10:11 +0200 Subject: gnu: Make $XDG_DATA_DIRS a search path variable for GLib. * gnu/packages/glib.scm (glib): Add 'native-search-paths' and 'search-paths' fields. * gnu/packages/gnome.scm (libpeas): Remove 'arguments' field. (librsvg)[arguments]: Remove #:modules and #:imported-modules. Remove settings of INTROSPECTION_SCANNER_ARGS and INTROSPECTION_COMPILER_ARGS in makefiles. * gnu/packages/gtk.scm (gtk+): Likewise. --- gnu/packages/glib.scm | 11 +++++++++++ gnu/packages/gnome.scm | 50 +------------------------------------------------- gnu/packages/gtk.scm | 36 +++--------------------------------- 3 files changed, 15 insertions(+), 82 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 49ffaa8f6e..77f21f95ce 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -160,6 +160,17 @@ shared NFS home directories.") ;; In 'gio/tests', 'gdbus-test-codegen-generated.h' is #included in a ;; file that gets compiled possibly before it has been fully generated. #:parallel-tests? #f)) + + (native-search-paths + ;; This variable is not really "owned" by GLib, but several related + ;; packages refer to it: gobject-introspection's tools use it as a search + ;; path for .gir files, and it's also a search path for schemas produced + ;; by 'glib-compile-schemas'. + (list (search-path-specification + (variable "XDG_DATA_DIRS") + (directories '("share"))))) + (search-paths native-search-paths) + (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME") (description "GLib provides data structure handling for C, portability wrappers, diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 3e0ae80db2..e889c9bff0 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -424,36 +424,6 @@ some form of information without getting in the user's way.") (base32 "13fzyzv6c0cfdj83z1s16lv8k997wpnzyzr0wfwcfkcmvz64g1q0")))) (build-system gnu-build-system) - (arguments - `(#:modules ((guix build gnome) - (guix build gnu-build-system) - (guix build utils)) - #:imported-modules ((guix build gnome) - (guix build gnu-build-system) - (guix build utils)) - #:phases - (alist-replace - 'configure - (lambda* (#:key inputs #:allow-other-keys #:rest args) - (let ((configure (assoc-ref %standard-phases 'configure))) - (substitute* "libpeas-gtk/Makefile.in" - (("--add-include-path") - (string-append - " --add-include-path=" (gir-directory inputs "atk") - " --add-include-path=" (gir-directory inputs "gdk-pixbuf") - " --add-include-path=" (gir-directory inputs "gtk+") - " --add-include-path=" (gir-directory inputs "pango") - " --add-include-path"))) - (substitute* "libpeas-gtk/Makefile.in" - (("--includedir=\\$\\(top_builddir") - (string-append - " --includedir=" (gir-directory inputs "atk") - " --includedir=" (gir-directory inputs "gdk-pixbuf") - " --includedir=" (gir-directory inputs "gtk+") - " --includedir=" (gir-directory inputs "pango") - " --includedir=$(top_builddir"))) - (apply configure args))) - %standard-phases))) (inputs `(("atk" ,atk) ("gdk-pixbuf" ,gdk-pixbuf) @@ -605,28 +575,10 @@ dealing with different structured file formats.") "071959yjb2i1bja7ciy4bmpnd6fn2is9jjqsvvvnsqwl69j9n128")))) (build-system gnu-build-system) (arguments - `(#:modules ((guix build gnome) - (guix build gnu-build-system) - (guix build utils)) - #:imported-modules ((guix build gnome) - (guix build gnu-build-system) - (guix build utils)) - #:phases + `(#:phases (alist-cons-before 'configure 'augment-gir-search-path (lambda* (#:key inputs #:allow-other-keys) - (substitute* (find-files "." "Makefile\\.in") - (("INTROSPECTION_SCANNER_ARGS = ") - (string-append "INTROSPECTION_SCANNER_ARGS = " - "--add-include-path=" - (gir-directory inputs "gdk-pixbuf") - " ")) - (("INTROSPECTION_COMPILER_ARGS = ") - (string-append "INTROSPECTION_COMPILER_ARGS = " - "--includedir=" - (gir-directory inputs "gdk-pixbuf") - " "))) - (substitute* "gdk-pixbuf-loader/Makefile.in" ;; By default the gdk-pixbuf loader is installed under ;; gdk-pixbuf's prefix. Work around that. diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index cfe3dac476..7600103da3 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -375,13 +375,7 @@ application suites.") ("python-wrapper" ,python-wrapper) ("xorg-server" ,xorg-server))) (arguments - `(#:modules ((guix build gnome) - (guix build gnu-build-system) - (guix build utils)) - #:imported-modules ((guix build gnome) - (guix build gnu-build-system) - (guix build utils)) - #:phases + `(#:phases (alist-replace 'configure (lambda* (#:key inputs #:allow-other-keys #:rest args) @@ -392,32 +386,8 @@ application suites.") ;; directory. ;; See the manual page for dbus-uuidgen to correct this issue. (substitute* "testsuite/Makefile.in" - (("SUBDIRS = gdk gtk a11y css reftests") "SUBDIRS = gdk")) - - ;; We need to tell GIR where it can find some of the required .gir - ;; files. - (substitute* "gdk/Makefile.in" - (("--add-include-path=../gdk") - (string-append - "--add-include-path=../gdk" - " --add-include-path=" (gir-directory inputs "gdk-pixbuf") - " --add-include-path=" (gir-directory inputs "pango"))) - (("--includedir=\\.") - (string-append "--includedir=." - " --includedir=" (gir-directory inputs "gdk-pixbuf") - " --includedir=" (gir-directory inputs "pango")))) - - (substitute* "gtk/Makefile.in" - (("--add-include-path=../gdk") - (string-append "--add-include-path=../gdk" - " --add-include-path=" (gir-directory inputs "atk") - " --add-include-path=" (gir-directory inputs "gdk-pixbuf") - " --add-include-path=" (gir-directory inputs "pango"))) - (("--includedir=../gdk") - (string-append "--includedir=../gdk" - " --includedir=" (gir-directory inputs "atk") - " --includedir=" (gir-directory inputs "gdk-pixbuf") - " --includedir=" (gir-directory inputs "pango")))) + (("SUBDIRS = gdk gtk a11y css reftests") + "SUBDIRS = gdk")) (apply configure args))) %standard-phases))))) -- cgit v1.2.3 From fb0e3709280639fce796edc0f3fa8e0d1a6de46d Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 1 May 2014 12:16:16 -0500 Subject: gnu: Add OpenMPI * gnu/packages/mpi.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu/packages/mpi.scm | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 gnu/packages/mpi.scm (limited to 'gnu/packages') diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm new file mode 100644 index 0000000000..14626acbb0 --- /dev/null +++ b/gnu/packages/mpi.scm @@ -0,0 +1,66 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Eric Bavier +;;; +;;; 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 mpi) + #:use-module (guix packages) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages gcc) + #:use-module (srfi srfi-1)) + +(define-public openmpi + (package + (name "openmpi") + (version "1.8.1") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.open-mpi.org/softawre/ompi/v" + (string-join (take (string-split version #\.) 2) + ".") + "/downloads/openmpi-" version ".tar.bz2")) + (sha256 + (base32 + "13z1q69f3qwmmhpglarfjminfy2yw4rfqr9jydjk5507q3mjf50p")))) + (build-system gnu-build-system) + (propagated-inputs + `(("gfortran" ,gfortran-4.8))) + (arguments + `(#:configure-flags '("--enable-static" + "--enable-oshmem" + ;; Thread support causes some applications to hang + ;; "--enable-event-thread-support" + ;; "--enable-opal-multi-threads" + ;; "--enable-orte-progress-threads" + ;; "--enable-mpi-thread-multiple" + "--enable-mpi-ext=all" + "--with-devel-headers"))) + (home-page "http://www.open-mpi.org") + (synopsis "Open source MPI-2 implementation") + (description + "The Open MPI Project is an open source MPI-2 implementation that is +developed and maintained by a consortium of academic, research, and industry +partners. Open MPI is therefore able to combine the expertise, technologies, +and resources from all across the High Performance Computing community in +order to build the best MPI library available. Open MPI offers advantages for +system and software vendors, application developers and computer science +researchers.") + ;; See file://LICENSE + (license bsd-2))) -- cgit v1.2.3 From 10b11968c8af4e107daed35251e14f7238b43d42 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 8 May 2014 11:39:59 -0500 Subject: gnu: petsc: Clean some more leaked chroot references * gnu/packages/maths.scm (petsc)[arguments]: Scrub some config-generated header files before build. Only remove files if they exist. --- gnu/packages/maths.scm | 58 ++++++++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 25 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 2018e1706f..b83788a67c 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -420,32 +420,40 @@ ASCII text files using Gmsh's own scripting language.") (format #t "configure flags: ~s~%" flags) (zero? (apply system* "./configure" flags)))) (alist-cons-after - 'install 'clean-local-references - ;; Try to keep installed files from leaking build directory names. + 'configure 'clean-local-references + ;; Try to keep build directory names from leaking into compiled code (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (fortran (assoc-ref inputs "gfortran"))) - (substitute* (map (lambda (file) - (string-append out "/" file)) - '("conf/petscvariables" - "conf/PETScConfig.cmake" - "include/petscconf.h" - "include/petscmachineinfo.h")) - (((getcwd)) out)) - ;; Make compiler references point to the store - (substitute* (string-append out "/conf/petscvariables") - (("= g(cc|\\+\\+|fortran)" _ suffix) - (string-append "= " fortran "/bin/g" suffix))) - ;; PETSc installs some build logs, which aren't necessary. - (for-each (lambda (file) - (delete-file (string-append out "/" file))) - '("conf/configure.log" - "conf/make.log" - "conf/test.log" - "conf/RDict.db" - ;; Once installed, should uninstall with Guix - "conf/uninstall.py")))) - %standard-phases)))) + (let ((out (assoc-ref outputs "out"))) + (substitute* (find-files "." "^petsc(conf|machineinfo).h$") + (((getcwd)) out)))) + (alist-cons-after + 'install 'clean-install + ;; Try to keep installed files from leaking build directory names. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (fortran (assoc-ref inputs "gfortran"))) + (substitute* (map (lambda (file) + (string-append out "/" file)) + '("conf/petscvariables" + "conf/PETScConfig.cmake")) + (((getcwd)) out)) + ;; Make compiler references point to the store + (substitute* (string-append out "/conf/petscvariables") + (("= g(cc|\\+\\+|fortran)" _ suffix) + (string-append "= " fortran "/bin/g" suffix))) + ;; PETSc installs some build logs, which aren't necessary. + (for-each (lambda (file) + (let ((f (string-append out "/" file))) + (when (file-exists? f) + (delete-file f)))) + '("conf/configure.log" + "conf/make.log" + "conf/test.log" + "conf/error.log" + "conf/RDict.db" + ;; Once installed, should uninstall with Guix + "conf/uninstall.py")))) + %standard-phases))))) (home-page "http://www.mcs.anl.gov/petsc") (synopsis "Library to solve ODEs and algebraic equations") (description "PETSc, pronounced PET-see (the S is silent), is a suite of -- cgit v1.2.3 From d8c7eeb996c433b1744a1404e1fc1e5f987589a1 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 8 May 2014 12:33:47 -0500 Subject: gnu: Add petsc-openmpi. * gnu/packages/maths.scm (petsc-openmpi): New variable. (petsc-complex-openmpi): New variable. --- gnu/packages/maths.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index b83788a67c..4e8c67746d 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -45,6 +45,7 @@ #:use-module (gnu packages less) #:use-module (gnu packages xorg) #:use-module (gnu packages gl) + #:use-module (gnu packages mpi) #:use-module (gnu packages multiprecision) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) @@ -473,6 +474,40 @@ scientific applications modeled by partial differential equations.") (string-append (package-description petsc) " Complex scalar type version.")))) +(define-public petsc-openmpi + (package (inherit petsc) + (name "petsc-openmpi") + (inputs + `(("openmpi" ,openmpi) + ,@(package-inputs petsc))) + (arguments + (substitute-keyword-arguments (package-arguments petsc) + ((#:configure-flags cf) + ``("--with-mpiexec=mpirun" + ,(string-append "--with-mpi-dir=" + (assoc-ref %build-inputs "openmpi")) + ,@(delete "--with-mpi=0" ,cf))))) + (description + (string-append (package-description petsc) + " With OpenMPI parallelism support.")))) + +(define-public petsc-complex-openmpi + (package (inherit petsc-complex) + (name "petsc-complex-openmpi") + (inputs + `(("openmpi" ,openmpi) + ,@(package-inputs petsc-complex))) + (arguments + (substitute-keyword-arguments (package-arguments petsc-complex) + ((#:configure-flags cf) + ``("--with-mpiexec=mpirun" + ,(string-append "--with-mpi-dir=" + (assoc-ref %build-inputs "openmpi")) + ,@(delete "--with-mpi=0" ,cf))))) + (description + (string-append (package-description petsc-complex) + " With OpenMPI parallelism support.")))) + (define-public superlu (package (name "superlu") -- cgit v1.2.3 From 8ede638c4b84d5e26844fdc5726992ed78244cfd Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 8 May 2014 14:48:59 -0500 Subject: gnu: openmpi: Avoid "open source" verbiage * gnu/packages/mpi.scm (openmpi)[synopsis,description]: Remove mention of "open source". --- gnu/packages/mpi.scm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 14626acbb0..eae5722078 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -53,14 +53,13 @@ "--enable-mpi-ext=all" "--with-devel-headers"))) (home-page "http://www.open-mpi.org") - (synopsis "Open source MPI-2 implementation") + (synopsis "MPI-2 implementation") (description - "The Open MPI Project is an open source MPI-2 implementation that is -developed and maintained by a consortium of academic, research, and industry -partners. Open MPI is therefore able to combine the expertise, technologies, -and resources from all across the High Performance Computing community in -order to build the best MPI library available. Open MPI offers advantages for -system and software vendors, application developers and computer science -researchers.") + "The Open MPI Project is an MPI-2 implementation that is developed and +maintained by a consortium of academic, research, and industry partners. Open +MPI is therefore able to combine the expertise, technologies, and resources +from all across the High Performance Computing community in order to build the +best MPI library available. Open MPI offers advantages for system and +software vendors, application developers and computer science researchers.") ;; See file://LICENSE (license bsd-2))) -- cgit v1.2.3 From 2cf287df596fb3490f0313c324b5c70ee5cb3aa7 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 8 May 2014 16:45:43 -0500 Subject: gnu: fftw: Upgrade to 3.3.4 * gnu/packages/algebra.scm (fftw): Upgrade to 3.3.4. --- gnu/packages/algebra.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 0318cb531e..b7e067af00 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -196,14 +196,14 @@ syntax is similar to that of C, so basic usage is familiar. It also includes (define-public fftw (package (name "fftw") - (version "3.3.3") + (version "3.3.4") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.fftw.org/pub/fftw/fftw-" version".tar.gz")) (sha256 (base32 - "1wwp9b2va7vkq3ay7a9jk22nr4x5q6m37rzqy2j8y3d11c5grkc5")))) + "10h9mzjxnwlsjziah4lri85scc05rlajz39nqf3mbh4vja8dw34g")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-shared" "--enable-openmp") -- cgit v1.2.3 From 0fc54d4b319ede932e5978f672ea095e89711605 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 8 May 2014 16:54:06 -0500 Subject: gnu: fftw: Add dependency on openmpi. * gnu/packages/algebra.scm (fftw)[inputs,arguments]: Add OpenMPI. --- gnu/packages/algebra.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index b7e067af00..7d2d50cc75 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -21,6 +21,7 @@ (define-module (gnu packages algebra) #:use-module (gnu packages) #:use-module (gnu packages multiprecision) + #:use-module (gnu packages mpi) #:use-module (gnu packages perl) #:use-module (gnu packages readline) #:use-module (gnu packages flex) @@ -206,7 +207,7 @@ syntax is similar to that of C, so basic usage is familiar. It also includes "10h9mzjxnwlsjziah4lri85scc05rlajz39nqf3mbh4vja8dw34g")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--enable-shared" "--enable-openmp") + '(#:configure-flags '("--enable-shared" "--enable-openmp" "--enable-mpi") #:phases (alist-cons-before 'build 'no-native (lambda _ @@ -218,6 +219,7 @@ syntax is similar to that of C, so basic usage is familiar. It also includes (("-mtune=native") ""))) %standard-phases))) (native-inputs `(("perl" ,perl))) + (inputs `(("openmpi" ,openmpi))) (home-page "http://fftw.org") (synopsis "Computing the discrete Fourier transform") (description -- cgit v1.2.3 From 85a84cbd83b90d132035c3b20456bd241e0ef86d Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 8 May 2014 17:06:46 -0500 Subject: gnu: openmpi: Fix typo in download uri * gnu/packages/mpi.scm (openmpi)[origin]: Fix typo. --- gnu/packages/mpi.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index eae5722078..eea218799d 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -32,7 +32,7 @@ (source (origin (method url-fetch) - (uri (string-append "http://www.open-mpi.org/softawre/ompi/v" + (uri (string-append "http://www.open-mpi.org/software/ompi/v" (string-join (take (string-split version #\.) 2) ".") "/downloads/openmpi-" version ".tar.bz2")) -- cgit v1.2.3 From 67b660037c21c5c7071c01406524f32331851877 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 9 May 2014 14:55:12 +0200 Subject: gnu: Add numactl. * gnu/packages/linux.scm (numactl): New variable. --- gnu/packages/linux.scm | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 72b445f7a6..bcef394244 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1031,3 +1031,59 @@ UnionFS-FUSE additionally supports copy-on-write.") '(#:tests? #f #:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-static"))) (inputs `(("fuse" ,fuse-static))))) + +(define-public numactl + (package + (name "numactl") + (version "2.0.9") + (source (origin + (method url-fetch) + (uri (string-append + "ftp://oss.sgi.com/www/projects/libnuma/download/numactl-" + version + ".tar.gz")) + (sha256 + (base32 + "073myxlyyhgxh1w3r757ajixb7s2k69czc3r0g12c3scq7k3784w")))) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-replace + 'configure + (lambda* (#:key outputs #:allow-other-keys) + ;; There's no 'configure' script, just a raw makefile. + (substitute* "Makefile" + (("^prefix := .*$") + (string-append "prefix := " (assoc-ref outputs "out") + "\n")) + (("^libdir := .*$") + ;; By default the thing tries to install under + ;; $prefix/lib64 when on a 64-bit platform. + (string-append "libdir := $(prefix)/lib\n")))) + %standard-phases) + + #:make-flags (list + ;; By default the thing tries to use 'cc'. + "CC=gcc" + + ;; Make sure programs have an RPATH so they can find + ;; libnuma.so. + (string-append "LDLIBS=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib")) + + ;; There's a 'test' target, but it requires NUMA support in the kernel + ;; to run, which we can't assume to have. + #:tests? #f)) + (home-page "http://oss.sgi.com/projects/libnuma/") + (synopsis "Tools for non-uniform memory access (NUMA) machines") + (description + "NUMA stands for Non-Uniform Memory Access, in other words a system whose +memory is not all in one place. The numactl program allows you to run your +application program on specific CPU's and memory nodes. It does this by +supplying a NUMA memory policy to the operating system before running your +program. + +The package contains other commands, such as numademo, numastat and memhog. +The numademo command provides a quick overview of NUMA performance on your +system.") + (license (list gpl2 ; programs + lgpl2.1)))) ; library -- cgit v1.2.3 From 42422cc2f1c9c05c7bfb075a8bc360b8bb7eaee4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 9 May 2014 15:23:41 +0200 Subject: gnu: Add pciutils. * gnu/packages/pciutils.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu/packages/pciutils.scm | 91 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 gnu/packages/pciutils.scm (limited to 'gnu/packages') diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm new file mode 100644 index 0000000000..2b887f16d8 --- /dev/null +++ b/gnu/packages/pciutils.scm @@ -0,0 +1,91 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 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 pciutils) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module ((guix licenses) + #:renamer (symbol-prefix-proc 'license:)) + #:use-module (guix build-system gnu) + #:use-module (gnu packages compression) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages which)) + +(define-public pciutils + (package + (name "pciutils") + (version "3.2.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://kernel.org/software/utils/pciutils/pciutils-" + version + ".tar.bz2")) + (sha256 + (base32 + "0d9as9jzjjg5c1nwf58z1y1i7rf9fqxmww1civckhcvcn0xr85mq")))) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-replace + 'configure + (lambda* (#:key outputs #:allow-other-keys) + ;; There's no 'configure' script, just a raw makefile. + (substitute* "Makefile" + (("^PREFIX=.*$") + (string-append "PREFIX := " (assoc-ref outputs "out") + "\n")) + (("^MANDIR:=.*$") + ;; By default the thing tries to automatically + ;; determine whether to use $prefix/man or + ;; $prefix/share/man, and wrongly so. + (string-append "MANDIR := " (assoc-ref outputs "out") + "/share/man\n")) + (("^SHARED=.*$") + ;; Build libpciutils.so. + "SHARED := yes\n") + (("^ZLIB=.*$") + ;; Ask for zlib support. + "ZLIB := yes\n"))) + + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + ;; Install the commands, library, and .pc files. + (zero? (system* "make" "install" "install-lib"))) + %standard-phases)) + + ;; Make sure programs have an RPATH so they can find libpciutils.so. + #:make-flags (list (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib")) + + ;; No test suite. + #:tests? #f)) + (native-inputs + `(("which" ,which) + ("pkg-config" ,pkg-config))) + (inputs + ;; TODO: Add dependency on Linux libkmod. + `(("zlib" ,zlib))) + (home-page "http://mj.ucw.cz/sw/pciutils/") + (synopsis "Programs for inspecting and manipulating PCI devices") + (description + "The PCI Utilities are a collection of programs for inspecting and +manipulating configuration of PCI devices, all based on a common portable +library libpci which offers access to the PCI configuration space on a variety +of operating systems. This includes the 'lspci' and 'setpci' commands.") + (license license:gpl2+))) -- cgit v1.2.3 From 2b0d560a3f41d9973c53ac03cf3531f9e4cab0ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 9 May 2014 15:49:08 +0200 Subject: gnu: Add hwloc. * gnu/packages/mpi.scm (hwloc): New variable. (openmpi): Add TODO comment. --- gnu/packages/mpi.scm | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index eea218799d..071229214b 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Eric Bavier +;;; Copyright © 2014 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,13 +19,66 @@ (define-module (gnu packages mpi) #:use-module (guix packages) - #:use-module (guix licenses) + #:use-module ((guix licenses) + #:hide (expat)) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages gcc) + #:use-module (gnu packages linux) + #:use-module (gnu packages pciutils) + #:use-module (gnu packages xorg) + #:use-module (gnu packages gtk) + #:use-module (gnu packages xml) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages pkg-config) #:use-module (srfi srfi-1)) +(define-public hwloc + (package + (name "hwloc") + (version "1.9") + (source (origin + (method url-fetch) + (uri (string-append "http://www.open-mpi.org/software/hwloc/v" + version "/downloads/hwloc-" + version ".tar.bz2")) + (sha256 + (base32 + "0zjgiili2a8v63s8ly3a8qp8ibxv1jw3zbgm7diic3w1qgqiza14")))) + (build-system gnu-build-system) + (arguments + ;; Enable libpci support, which effectively makes hwloc GPLv2+. + '(#:configure-flags '("--enable-libpci"))) + (inputs + `(("numactl" ,numactl) + ("libx11" ,libx11) + ("cairo" ,cairo) + ("ncurses" ,ncurses) + ("expat" ,expat))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (propagated-inputs + ;; 'hwloc.pc' refers to libpci, hence the propagation. + `(("pciutils" ,pciutils))) + (home-page "http://www.open-mpi.org/projects/hwloc/") + (synopsis "Abstraction of hardware architectures") + (description + "hwloc provides a portable abstraction (across OS, +versions, architectures, ...) of the hierarchical topology of modern +architectures, including NUMA memory nodes, sockets, shared caches, cores and +simultaneous multithreading. It also gathers various attributes such as cache +and memory information. It primarily aims at helping high-performance +computing applications with gathering information about the hardware so as to +exploit it accordingly and efficiently. + +hwloc may display the topology in multiple convenient formats. It also offers +a powerful programming interface to gather information about the hardware, +bind processes, and much more.") + + ;; But see above about linking against libpci. + (license bsd-3))) + (define-public openmpi (package (name "openmpi") @@ -40,6 +94,7 @@ (base32 "13z1q69f3qwmmhpglarfjminfy2yw4rfqr9jydjk5507q3mjf50p")))) (build-system gnu-build-system) + ;; TODO: Use our hwloc instead of the bundled one. (propagated-inputs `(("gfortran" ,gfortran-4.8))) (arguments -- cgit v1.2.3 From e5c66f8c7bfb1f8c4162d19b3d01526164cfe2a4 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 9 May 2014 08:59:47 -0500 Subject: gnu: fftw: Factor out OpenMPI dependency. * gnu/packages/algebra.scm (fftw)[inputs,arguments]: Remove OpenMPI. (fftw-openmpi): New variable. --- gnu/packages/algebra.scm | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 7d2d50cc75..9ed978536d 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -207,7 +207,7 @@ syntax is similar to that of C, so basic usage is familiar. It also includes "10h9mzjxnwlsjziah4lri85scc05rlajz39nqf3mbh4vja8dw34g")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--enable-shared" "--enable-openmp" "--enable-mpi") + '(#:configure-flags '("--enable-shared" "--enable-openmp") #:phases (alist-cons-before 'build 'no-native (lambda _ @@ -219,7 +219,6 @@ syntax is similar to that of C, so basic usage is familiar. It also includes (("-mtune=native") ""))) %standard-phases))) (native-inputs `(("perl" ,perl))) - (inputs `(("openmpi" ,openmpi))) (home-page "http://fftw.org") (synopsis "Computing the discrete Fourier transform") (description @@ -239,3 +238,17 @@ cosine/ sine transforms or DCT/DST).") (description (string-append (package-description fftw) " Single-precision version.")))) + +(define-public fftw-openmpi + (package (inherit fftw) + (name "fftw-openmpi") + (inputs + `(("openmpi" ,openmpi) + ,@(package-inputs fftw))) + (arguments + (substitute-keyword-arguments (package-arguments fftw) + ((#:configure-flags cf) + `(cons "--enable-mpi" ,cf)))) + (description + (string-append (package-description fftw) + " With OpenMPI parallelism support.")))) -- cgit v1.2.3 From 7e0c23fb3e232ddb3cbcb9c115618b25840eccde Mon Sep 17 00:00:00 2001 From: John Darrington Date: Sun, 11 May 2014 07:27:38 +0200 Subject: gnu: pspp: Upgrade to 0.8.3 * gnu/packages/maths.scm (pspp): Update to 0.8.3. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 4e8c67746d..49fdacef04 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -145,7 +145,7 @@ LP/MIP solver is included in the package.") (define-public pspp (package (name "pspp") - (version "0.8.2") + (version "0.8.3") (source (origin (method url-fetch) @@ -153,7 +153,7 @@ LP/MIP solver is included in the package.") version ".tar.gz")) (sha256 (base32 - "1w7h3dglgx0jlq1wb605b8pgfsk2vr1q2q2rj7bsajh9ihbcsixr")))) + "0vri2pzvmm38qaihfvwlry30f40lcnps4blg59ixic4q20ldxf5d")))) (build-system gnu-build-system) (inputs `(("cairo" ,cairo) -- cgit v1.2.3 From f5ea273a001736af3e61207b094556893aa05309 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 12 May 2014 11:42:53 -0500 Subject: gnu: perl-tk: Patch for i686 * gnu/packages/patches/perl-tk-x11-discover.patch: New patch. * gnu-system.am [dist_patch_DATA]: Add it. * gnu/packages/tcl.scm (perl-tk)[origin]: Use it. --- gnu/packages/patches/perl-tk-x11-discover.patch | 14 ++++++++++++++ gnu/packages/tcl.scm | 4 +++- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/perl-tk-x11-discover.patch (limited to 'gnu/packages') diff --git a/gnu/packages/patches/perl-tk-x11-discover.patch b/gnu/packages/patches/perl-tk-x11-discover.patch new file mode 100644 index 0000000000..f4365e6882 --- /dev/null +++ b/gnu/packages/patches/perl-tk-x11-discover.patch @@ -0,0 +1,14 @@ +On non-x86_64 systems, this conditional can cause a specified X11 build value +to be overwritten to null, causing x11 discovery to fail. + +--- a/myConfig 2014-05-12 11:16:48.152719722 -0500 ++++ b/myConfig 2014-05-12 11:16:24.704719113 -0500 +@@ -350,7 +350,7 @@ + # + # Prefer 64bit libraries on certain architectures + # +- unless (defined $xlib and $Config{'archname'} =~ m/x86_64/) ++ unless (defined $xlib or not $Config{'archname'} =~ m/x86_64/) + { + $xlib64 = &lX11(0, chooseX11()); + } diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index eb4c227049..4859c2be72 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -23,6 +23,7 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) + #:use-module (gnu packages) #:use-module (gnu packages libpng) #:use-module (gnu packages libjpeg) #:use-module (gnu packages perl) @@ -177,7 +178,8 @@ X11 GUIs.") version ".tar.gz")) (sha256 (base32 - "0jarvplhfvnm0shhdm2a5zczlnk9mkf8jvfjiwyhjrr3cy1gl0w0")))) + "0jarvplhfvnm0shhdm2a5zczlnk9mkf8jvfjiwyhjrr3cy1gl0w0")) + (patches (list (search-patch "perl-tk-x11-discover.patch"))))) (build-system perl-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("libx11" ,libx11) -- cgit v1.2.3 From a37b807769cb5505384acd17d3f042398471f079 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 12 May 2014 23:54:30 +0200 Subject: gnu: Add babl. * gnu/packages/gimp.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu/packages/gimp.scm | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 gnu/packages/gimp.scm (limited to 'gnu/packages') diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm new file mode 100644 index 0000000000..bdcd46f38e --- /dev/null +++ b/gnu/packages/gimp.scm @@ -0,0 +1,63 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 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 gimp) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module ((guix licenses) + #:renamer (symbol-prefix-proc 'license:)) + #:use-module (guix build-system gnu) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) + #:use-module (gnu packages gnome) + #:use-module (gnu packages libpng) + #:use-module (gnu packages libjpeg) + #:use-module ((gnu packages ghostscript) + #:select (lcms)) + #:use-module (gnu packages compression) + #:use-module (gnu packages xml) + #:use-module (gnu packages photo) + #:use-module (gnu packages xorg) + #:use-module (gnu packages imagemagick)) + +(define-public babl + (package + (name "babl") + (version "0.1.10") + (source (origin + (method url-fetch) + (uri (list (string-append "http://ftp.gtk.org/pub/babl/0.1/babl-" + version ".tar.bz2") + (string-append "ftp://ftp.gtk.org/pub/babl/0.1/babl-" + version ".tar.bz2"))) + (sha256 + (base32 + "1x2mb7zfbvk9d0a7h5cpdff9hhjsadxvqml2jay2bpf7x9nc6gwl")))) + (build-system gnu-build-system) + (home-page "http://gegl.org/babl/") + (synopsis "Image pixel format conversion library") + (description + "babl is a dynamic, any to any, pixel format translation library. +It allows converting between different methods of storing pixels known as +pixel formats that have with different bitdepths and other data +representations, color models and component permutations. + +A vocabulary to formulate new pixel formats from existing primitives is +provided as well as the framework to add new color models and data types.") + (license license:lgpl3+))) -- cgit v1.2.3 From 5b527256ee8d280ec6f5d445522beb120005ad84 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 12 May 2014 16:43:04 -0500 Subject: gnu: openmpi: Use our hwloc. * gnu/packages/mpi.scm (hwloc): Propagate numactl. (openmpi)[inputs]: Add hwloc. [native-inputs]: Add pkg-config. [argument]: Add hwloc configure flags. --- gnu/packages/mpi.scm | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 071229214b..37b7858469 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -51,16 +51,16 @@ ;; Enable libpci support, which effectively makes hwloc GPLv2+. '(#:configure-flags '("--enable-libpci"))) (inputs - `(("numactl" ,numactl) - ("libx11" ,libx11) + `(("libx11" ,libx11) ("cairo" ,cairo) ("ncurses" ,ncurses) ("expat" ,expat))) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs - ;; 'hwloc.pc' refers to libpci, hence the propagation. - `(("pciutils" ,pciutils))) + ;; 'hwloc.pc' refers to libpci and libnuma, hence the propagation. + `(("numactl" ,numactl) + ("pciutils" ,pciutils))) (home-page "http://www.open-mpi.org/projects/hwloc/") (synopsis "Abstraction of hardware architectures") (description @@ -94,11 +94,14 @@ bind processes, and much more.") (base32 "13z1q69f3qwmmhpglarfjminfy2yw4rfqr9jydjk5507q3mjf50p")))) (build-system gnu-build-system) - ;; TODO: Use our hwloc instead of the bundled one. + (inputs + `(("hwloc" ,hwloc))) + (native-inputs + `(("pkg-config" ,pkg-config))) (propagated-inputs `(("gfortran" ,gfortran-4.8))) (arguments - `(#:configure-flags '("--enable-static" + `(#:configure-flags `("--enable-static" "--enable-oshmem" ;; Thread support causes some applications to hang ;; "--enable-event-thread-support" @@ -106,7 +109,9 @@ bind processes, and much more.") ;; "--enable-orte-progress-threads" ;; "--enable-mpi-thread-multiple" "--enable-mpi-ext=all" - "--with-devel-headers"))) + "--with-devel-headers" + ,(string-append "--with-hwloc=" + (assoc-ref %build-inputs "hwloc"))))) (home-page "http://www.open-mpi.org") (synopsis "MPI-2 implementation") (description -- cgit v1.2.3 From e7e5a4f8d4b67edd3c003b1ab36d6c42f7c4483b Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 14 May 2014 14:30:28 +0200 Subject: gnu: qt-4: Enable session management by adding libsm as an input. * gnu/packages/qt.scm (qt-4): Add input qt-4. --- gnu/packages/qt.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index a47dcac50f..f813011eb5 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2013, 2014 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -163,7 +163,8 @@ developers using C++ or QML, a CSS & JavaScript like language.") "0f51dbgn1dcck8pqimls2qyf1pfmsmyknh767cvw87c3d218ywpb")) (patches (list (search-patch "qt4-tests.patch"))))) (inputs `(,@(alist-delete "libjpeg" (package-inputs qt)) - ("libjepg" ,libjpeg-8))) + ("libjepg" ,libjpeg-8) + ("libsm" ,libsm))) (arguments `(#:phases (alist-replace -- cgit v1.2.3 From c98f2ff309d481c034b61240f3432d76fd74eea5 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 14 May 2014 15:53:00 +0200 Subject: gnu: qt-4: Upgrade to 4.8.6. * gnu/packages/qt.scm (qt-4): Upgrade to 4.8.6. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index f813011eb5..de8dbdea48 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -150,7 +150,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qt-4 (package (inherit qt) - (version "4.8.5") + (version "4.8.6") (source (origin (method url-fetch) (uri (string-append "http://download.qt-project.org/official_releases/qt/" @@ -160,7 +160,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.gz")) (sha256 (base32 - "0f51dbgn1dcck8pqimls2qyf1pfmsmyknh767cvw87c3d218ywpb")) + "0b036iqgmbbv37dgwwfihw3mihjbnw3kb5kaisdy0qi8nn8xs54b")) (patches (list (search-patch "qt4-tests.patch"))))) (inputs `(,@(alist-delete "libjpeg" (package-inputs qt)) ("libjepg" ,libjpeg-8) -- cgit v1.2.3 From 211345b3a5097f9a6ed036c9a6a231ec9fa34ad8 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 14 May 2014 16:04:42 +0200 Subject: gnu: libsm: Propagate input libice. * gnu/packages/xorg.scm (libsm): Propagate input libice. --- gnu/packages/xorg.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index cc9af18a74..8264c3a2ed 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1153,10 +1153,11 @@ tracking.") (base32 "07bzi6xwlhq36f60qfspjbz0qjj7zcgayi1vp4ihgx34kib1vhck")))) (build-system gnu-build-system) + (propagated-inputs + `(("libice" ,libice))) ; SMlib.h includes ICElib.h (inputs `(("xtrans" ,xtrans) - ("util-linux" ,util-linux) - ("libice" ,libice))) + ("util-linux" ,util-linux))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") -- cgit v1.2.3 From 4106c589885bceab3faee9d446f348784018891c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 14 May 2014 23:02:10 +0200 Subject: gnu: xterm: Upgrade to 304. * gnu/packages/xorg.scm (xterm): Upgrade to 304. Switch to a version-specific URL. --- gnu/packages/xorg.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 8264c3a2ed..a480896083 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4735,14 +4735,14 @@ icccm: Both client and window-manager helpers for ICCCM.") (define-public xterm (package (name "xterm") - (version "303") + (version "304") (source (origin (method url-fetch) - (uri ; XXX: constant URL! - "http://invisible-island.net/datafiles/release/xterm.tar.gz") + (uri (string-append "ftp://ftp.invisible-island.net/xterm/" + "xterm-" version ".tgz")) (sha256 (base32 - "0n7hay16aam9kfn642ri0wj5yzilbjm3l8znxc2p5dx9pn3rkwla")))) + "19yp5phfzzgydc2yqka4p69ygvfzsd2aa98hbw086xyjlws3kbyk")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-wide-chars" "--enable-256-color" -- cgit v1.2.3 From 90f69c2ec598b7a94b7d35e4ce61bda245369b6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 16 May 2014 15:40:19 +0200 Subject: gnu: Add libuv. * gnu/packages/libevent.scm (libuv): New variable. --- gnu/packages/libevent.scm | 47 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index dce1ac1a69..7b8adbace4 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès +;;; Copyright © 2013, 2014 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,7 +23,9 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages which) - #:use-module (gnu packages python)) + #:use-module (gnu packages python) + #:use-module (gnu packages autotools) + #:use-module (gnu packages pkg-config)) (define-public libevent (package @@ -58,3 +60,44 @@ network servers. An application just needs to call event_dispatch() and then add or remove events dynamically without having to change the event loop.") (license bsd-3))) + +(define-public libuv + (package + (name "libuv") + (version "0.11.25") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/joyent/libuv/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "1ys2wlypdbv59yywn91d5vl329z50mi7ivi3fj5rjm4mr9g3wnmr")))) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-cons-before + 'configure 'autogen + (lambda _ + ;; Fashionable people don't run 'make dist' these days, so + ;; we need to do that ourselves. + (zero? (system* "./autogen.sh"))) + %standard-phases) + + ;; XXX: Some tests want /dev/tty, attempt to make connections, etc. + #:tests? #f)) + (native-inputs `(("autoconf" ,(autoconf-wrapper)) + ("automake" ,automake) + ("libtool" ,libtool "bin") + + ;; libuv.pc is installed only when pkg-config is found. + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/joyent/libuv") + (synopsis "Library for asynchronous I/O") + (description + "libuv is a multi-platform support library with a focus on asynchronous +I/O. Among other things, it supports event loops via epoll, kqueue, and +similar IOCP, and event ports, asynchronous TCP/UDP sockets, asynchronous DNS +resolution, asynchronous file system operations, and threading primitives.") + + ;; A few files fall under other non-copyleft licenses; see 'LICENSE' for + ;; details. + (license x11))) -- cgit v1.2.3 From 1634c0420e5e8e609f5d52f5bf92eeafff5bfb6a Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 17 May 2014 14:43:34 +0200 Subject: gnu: Add rasqal. * gnu/packages/rdf.scm (rasqal): New variable. --- gnu/packages/rdf.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index 368245bbaa..4fc9b9e61f 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -27,6 +27,11 @@ #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages doxygen) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages linux) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages qt) #:use-module (gnu packages xml)) @@ -95,6 +100,46 @@ full-featured indexing and searching API. It is a port of the very popular Java Lucene text search engine API to C++.") (license lgpl2.1))) +(define-public rasqal + (package + (name "rasqal") + (version "0.9.32") + (source (origin + (method url-fetch) + (uri (string-append "http://download.librdf.org/source/" name + "-" version ".tar.gz")) + (sha256 + (base32 + "13rfprkk7d74065c7bafyshajwa6lshj7m9l741zlz9viqhh7fpf")))) + (build-system gnu-build-system) + (native-inputs + `(("perl" ,perl) + ("perl-xml-dom" ,perl-xml-dom) ; for the tests + ("pkg-config" ,pkg-config))) + (inputs + `(("libgcrypt" ,libgcrypt) + ("libxml2" ,libxml2) + ("mpfr" ,mpfr) + ("pcre" ,pcre) + ("raptor2" ,raptor2) + ("util-linux" ,util-linux))) + (arguments + `(#:parallel-tests? #f + ; test failure reported upstream, see + ; http://bugs.librdf.org/mantis/view.php?id=571 + #:tests? #f)) + (home-page "http://librdf.org/rasqal/") + (synopsis "RDF query library") + (description "Rasqal is a C library that handles Resource Description +Framework (RDF) query language syntaxes, query construction and execution +of queries returning results as bindings, boolean, RDF graphs/triples or +syntaxes. The supported query languages are SPARQL Query 1.0, +SPARQL Query 1.1, SPARQL Update 1.1 (no executing) and the Experimental +SPARQL extensions (LAQRS). Rasqal can write binding query results in the +SPARQL XML, SPARQL JSON, CSV, TSV, HTML, ASCII tables, RDF/XML and +Turtle/N3 and read them in SPARQL XML, RDF/XML and Turtle/N3. ") + (license lgpl2.1+))) ; or any choice of gpl2+ or asl2.0 + (define-public soprano (package (name "soprano") -- cgit v1.2.3 From 85d83c3b7b4fb3e970c8ad27856e9b34f1773cbc Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 17 May 2014 14:55:27 +0200 Subject: gnu: rasqal: Propagate input raptor2. * gnu/packages/rdf.scm (rasqal): Propagate input raptor2 as indicated in the pkg-config file. --- gnu/packages/rdf.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index 4fc9b9e61f..2a4418e849 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -121,8 +121,9 @@ Java Lucene text search engine API to C++.") ("libxml2" ,libxml2) ("mpfr" ,mpfr) ("pcre" ,pcre) - ("raptor2" ,raptor2) ("util-linux" ,util-linux))) + (propagated-inputs + `(("raptor2" ,raptor2))) ; stipulated by rasqal.pc (arguments `(#:parallel-tests? #f ; test failure reported upstream, see -- cgit v1.2.3 From af6fce0fd146f5a73246476b7815bc13ddc3e527 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 17 May 2014 14:59:15 +0200 Subject: gnu: Add redland. * gnu/packages/rdf.scm (redland): New variable. --- gnu/packages/rdf.scm | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index 2a4418e849..feee762e51 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -23,6 +23,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (gnu packages) + #:use-module (gnu packages bdb) #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages curl) @@ -138,7 +139,31 @@ syntaxes. The supported query languages are SPARQL Query 1.0, SPARQL Query 1.1, SPARQL Update 1.1 (no executing) and the Experimental SPARQL extensions (LAQRS). Rasqal can write binding query results in the SPARQL XML, SPARQL JSON, CSV, TSV, HTML, ASCII tables, RDF/XML and -Turtle/N3 and read them in SPARQL XML, RDF/XML and Turtle/N3. ") +Turtle/N3 and read them in SPARQL XML, RDF/XML and Turtle/N3.") + (license lgpl2.1+))) ; or any choice of gpl2+ or asl2.0 + +(define-public redland + (package + (name "redland") + (version "1.0.17") + (source (origin + (method url-fetch) + (uri (string-append "http://download.librdf.org/source/" name + "-" version ".tar.gz")) + (sha256 + (base32 + "109n0kp39p966dpiasad2bb7q66rwbcb9avjvimw28chnpvlf66y")))) + (build-system gnu-build-system) + (native-inputs + `(("perl" ,perl) ; needed for installation + ("pkg-config" ,pkg-config))) + (inputs + `(("bdb" ,bdb) + ("rasqal" ,rasqal))) + (home-page "http://librdf.org/") + (synopsis "RDF library") + (description "The Redland RDF Library (librdf) provides the RDF API +and triple stores.") (license lgpl2.1+))) ; or any choice of gpl2+ or asl2.0 (define-public soprano -- cgit v1.2.3 From bf43449acefc343557f84c4c14ac83bceff799ad Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 17 May 2014 17:12:27 +0200 Subject: gnu: soprano: Add input redland. * gnu/packages/rdf.scm (soprano): Add inputs redland and rasqal, drop raptor2 (propagated by rasqal). --- gnu/packages/rdf.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index feee762e51..7634e48018 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -180,14 +180,14 @@ and triple stores.") "1rg0x7yg0a1cbnxz7kqk52580wla8jbnj4d4r3j7l7g7ajyny1k4")) (patches (list (search-patch "soprano-find-clucene.patch"))))) (build-system cmake-build-system) - ;; FIXME: Add optional dependencies: Redland, odbci. (native-inputs `(("doxygen" ,doxygen) ("pkg-config" ,pkg-config))) (inputs `(("clucene" ,clucene) ("qt" ,qt-4) - ("raptor2" ,raptor2))) + ("rasqal" ,rasqal) + ("redland" ,redland))) (home-page "http://soprano.sourceforge.net/") (synopsis "RDF data library for Qt") (description "Soprano (formerly known as QRDF) is a library which -- cgit v1.2.3 From 1691b4cdc619caf47700eef22023066985afb877 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sun, 18 May 2014 11:08:17 -0500 Subject: gnu: openmpi: Add memchecker support. * gnu/packages/mpi.scm (openmpi) [inputs]: Add valgrind. Unpropagate gfortran. [arguments]: Add configure flags for memchecker. --- gnu/packages/mpi.scm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 37b7858469..e7919bc436 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -32,6 +32,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages valgrind) #:use-module (srfi srfi-1)) (define-public hwloc @@ -95,11 +96,11 @@ bind processes, and much more.") "13z1q69f3qwmmhpglarfjminfy2yw4rfqr9jydjk5507q3mjf50p")))) (build-system gnu-build-system) (inputs - `(("hwloc" ,hwloc))) + `(("hwloc" ,hwloc) + ("gfortran" ,gfortran-4.8) + ("valgrind" ,valgrind))) (native-inputs `(("pkg-config" ,pkg-config))) - (propagated-inputs - `(("gfortran" ,gfortran-4.8))) (arguments `(#:configure-flags `("--enable-static" "--enable-oshmem" @@ -110,6 +111,10 @@ bind processes, and much more.") ;; "--enable-mpi-thread-multiple" "--enable-mpi-ext=all" "--with-devel-headers" + "--enable-debug" + "--enable-memchecker" + ,(string-append "--with-valgrind=" + (assoc-ref %build-inputs "valgrind")) ,(string-append "--with-hwloc=" (assoc-ref %build-inputs "hwloc"))))) (home-page "http://www.open-mpi.org") -- cgit v1.2.3 From f8ed036a317ee87ced2422d61c84a821b15fb5e1 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 19 May 2014 00:08:30 -0500 Subject: gnu: Add scotch package. * gnu/packages/maths.scm (scotch): New variable. * gnu/packages/patches/scotch-test-threading.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it. --- gnu/packages/maths.scm | 77 +++++++++++++ gnu/packages/patches/scotch-test-threading.patch | 139 +++++++++++++++++++++++ 2 files changed, 216 insertions(+) create mode 100644 gnu/packages/patches/scotch-test-threading.patch (limited to 'gnu/packages') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 49fdacef04..2fe06a3956 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -589,3 +589,80 @@ library routines perform an LU decomposition with partial pivoting and triangular system solves through forward and back substitution. The library also provides threshold-based ILU factorization preconditioners.") (license license:bsd-3))) + +(define-public scotch + (package + (name "scotch") + (version "6.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://gforge.inria.fr/frs/download.php/31831/" + "scotch_" version ".tar.gz")) + (sha256 + (base32 "0yfqf9lk7chb3h42777x42x4adx0v3n0b41q0cdqrdmscp4iczp5")) + (patches (list (search-patch "scotch-test-threading.patch"))))) + (build-system gnu-build-system) + (inputs + `(("zlib" ,zlib) + ("flex" ,flex) + ("bison" ,bison))) + (arguments + `(#:phases + (alist-cons-after + 'unpack 'chdir-to-src + (lambda _ (chdir "src")) + (alist-replace + 'configure + (lambda _ + (call-with-output-file "Makefile.inc" + (lambda (port) + (format port " +EXE = +LIB = .a +OBJ = .o +MAKE = make +AR = ar +ARFLAGS = -ruv +CCS = gcc +CCP = mpicc +CCD = gcc +CPPFLAGS =~{ -D~a~} +CFLAGS = -O2 -g $(CPPFLAGS) +LDFLAGS = -lz -lm -lrt -lpthread +CP = cp +LEX = flex -Pscotchyy -olex.yy.c +LN = ln +MKDIR = mkdir +MV = mv +RANLIB = ranlib +YACC = bison -pscotchyy -y -b y +" + '("COMMON_FILE_COMPRESS_GZ" + "COMMON_PTHREAD" + "COMMON_RANDOM_FIXED_SEED" + ;; TODO: Define once our MPI supports + ;; MPI_THREAD_MULTIPLE + ;; "SCOTCH_PTHREAD" + ;; "SCOTCH_PTHREAD_NUMBER=2" + "restrict=__restrict"))))) + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir out) + (zero? (system* "make" + (string-append "prefix=" out) + "install")))) + %standard-phases))))) + (home-page "http://www.labri.fr/perso/pelegrin/scotch/") + (synopsis "Programs and libraries for graph algorithms") + (description "SCOTCH is a set of programs and libraries which implement +the static mapping and sparse matrix reordering algorithms developed within +the SCOTCH project. Its purpose is to apply graph theory, with a divide and +conquer approach, to scientific computing problems such as graph and mesh +partitioning, static mapping, and sparse matrix ordering, in application +domains ranging from structural mechanics to operating systems or +bio-chemistry.") + ;; See LICENSE_en.txt + (license license:cecill-c))) diff --git a/gnu/packages/patches/scotch-test-threading.patch b/gnu/packages/patches/scotch-test-threading.patch new file mode 100644 index 0000000000..2527a6e6dd --- /dev/null +++ b/gnu/packages/patches/scotch-test-threading.patch @@ -0,0 +1,139 @@ +* These tests assume threading support, even when the library is compiled + without it. Protect these checks. + +* Tests should not require keyboard interaction. + +--- a/src/check/test_scotch_dgraph_band.c 2012-09-27 10:46:42.000000000 -0500 ++++ b/src/check/test_scotch_dgraph_band.c 2014-05-13 14:36:07.479270243 -0500 +@@ -99,10 +99,12 @@ + errorPrint ("main: Cannot initialize (1)"); + exit (1); + } ++#ifdef SCOTCH_PTHREAD + if (thrdlvlreqval > thrdlvlproval) { + errorPrint ("main: Cannot initialize (2)"); + exit (1); + } ++#endif + + if (argc != 2) { + errorPrint ("main: invalid number of parameters"); +@@ -115,12 +117,14 @@ + + fprintf (stderr, "Proc %2d of %2d, pid %d\n", proclocnum, procglbnbr, getpid ()); + ++#ifdef SCOTCH_DEBUG_CHECK2 + if (proclocnum == 0) { /* Synchronize on keybord input */ + char c; + + printf ("Waiting for key press...\n"); + scanf ("%c", &c); + } ++#endif /* SCOTCH_DEBUG_CHECK2 */ + + if (MPI_Barrier (proccomm) != MPI_SUCCESS) { /* Synchronize for debug */ + errorPrint ("main: cannot communicate"); +--- a/src/check/test_scotch_dgraph_grow.c 2012-11-30 12:19:33.000000000 -0600 ++++ b/src/check/test_scotch_dgraph_grow.c 2014-05-13 14:35:31.307269303 -0500 +@@ -103,10 +103,12 @@ + errorPrint ("main: Cannot initialize (1)"); + exit (1); + } ++#ifdef SCOTCH_PTHREAD + if (thrdlvlreqval > thrdlvlproval) { + errorPrint ("main: Cannot initialize (2)"); + exit (1); + } ++#endif + + if (argc != 2) { + errorPrint ("main: invalid number of parameters"); +@@ -119,12 +121,14 @@ + + fprintf (stderr, "Proc %2d of %2d, pid %d\n", proclocnum, procglbnbr, getpid ()); + ++#ifdef SCOTCH_DEBUG_CHECK2 + if (proclocnum == 0) { /* Synchronize on keybord input */ + char c; + + printf ("Waiting for key press...\n"); + scanf ("%c", &c); + } ++#endif /* SCOTCH_DEBUG_CHECK2 */ + + if (MPI_Barrier (proccomm) != MPI_SUCCESS) { /* Synchronize for debug */ + errorPrint ("main: cannot communicate"); +--- a/src/check/test_scotch_dgraph_redist.c 2012-09-26 11:42:27.000000000 -0500 ++++ b/src/check/test_scotch_dgraph_redist.c 2014-05-13 14:34:30.323267722 -0500 +@@ -98,10 +98,12 @@ + errorPrint ("main: Cannot initialize (1)"); + exit (1); + } ++#ifdef SCOTCH_PTHREAD + if (thrdlvlreqval > thrdlvlproval) { + errorPrint ("main: Cannot initialize (2)"); + exit (1); + } ++#endif + + if (argc != 2) { + errorPrint ("main: invalid number of parameters"); +@@ -114,7 +116,6 @@ + + fprintf (stderr, "Proc %2d of %2d, pid %d\n", proclocnum, procglbnbr, getpid ()); + +-#define SCOTCH_DEBUG_CHECK2 + #ifdef SCOTCH_DEBUG_CHECK2 + if (proclocnum == 0) { /* Synchronize on keybord input */ + char c; +--- /tmp/nix-build-scotch-6.0.0.drv-9/scotch_6.0.0/src/check/test_common_thread.c 2012-11-30 11:05:23.000000000 -0600 ++++ scotch_6.0.0/src/check/test_common_thread.c 2014-05-13 17:26:27.159535244 -0500 +@@ -90,7 +90,7 @@ + /* */ + /*************************/ + +-#if ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) ++#ifdef SCOTCH_PTHREAD + + static + void +@@ -161,7 +161,7 @@ + return (o); + } + +-#endif /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */ ++#endif /* SCOTCH_PTHREAD */ + + /*********************/ + /* */ +@@ -175,14 +175,14 @@ + char * argv[]) + { + TestThreadGroup groudat; +-#if ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) ++#ifdef SCOTCH_PTHREAD + TestThread * restrict thrdtab; + int thrdnbr; +-#endif /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */ ++#endif /* SCOTCH_PTHREAD */ + + SCOTCH_errorProg (argv[0]); + +-#if ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) ++#ifdef SCOTCH_PTHREAD + thrdnbr = SCOTCH_PTHREAD_NUMBER; + + groudat.redusum = COMPVAL (thrdnbr); +@@ -197,9 +197,9 @@ + errorPrint ("main: cannot launch or run threads"); + return (1); + } +-#else /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */ +- printf ("Scotch not compiled with either COMMON_PTHREAD or SCOTCH_PTHREAD\n"); +-#endif /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */ ++#else /* not SCOTCH_PTHREAD */ ++ printf ("Scotch not compiled with SCOTCH_PTHREAD\n"); ++#endif /* not SCOTCH_PTHREAD */ + + return (0); + } -- cgit v1.2.3 From 6acb4adb34a1b76744c024c945cca5cfdbdfffc5 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 19 May 2014 00:09:15 -0500 Subject: gnu: Add pt-scotch package. * gnu/packages/maths.scm (pt-scotch): New variable. --- gnu/packages/maths.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 2fe06a3956..9288ba91f4 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -666,3 +666,33 @@ domains ranging from structural mechanics to operating systems or bio-chemistry.") ;; See LICENSE_en.txt (license license:cecill-c))) + +(define-public pt-scotch + (package (inherit scotch) + (name "pt-scotch") + (propagated-inputs + `(("openmpi" ,openmpi))) ;Headers include MPI headers + (arguments + (substitute-keyword-arguments (package-arguments scotch) + ((#:phases scotch-phases) + `(alist-replace + 'build + ;; TODO: Would like to add parallelism here + (lambda _ + (and + (zero? (system* "make" "ptscotch")) + ;; Install the serial metis compatibility library + (zero? (system* "make" "-C" "libscotchmetis" "install")))) + (alist-replace + 'check + (lambda _ (zero? (system* "make" "ptcheck"))) + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir out) + (zero? (system* "make" + (string-append "prefix=" out) + "install")))) + ,scotch-phases)))))) + (synopsis "Programs and libraries for graph algorithms (with MPI)"))) -- cgit v1.2.3 From a54aefead6bfcc35bce0ac2aebb4cd32eb94208e Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 19 May 2014 00:12:46 -0500 Subject: gnu: Add superlu-dist package. * gnu/packages/maths.scm (superlu-dist): New variable. * gnu/packages/patches/superlu-dist-scotchmetis.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it. --- gnu/packages/maths.scm | 101 +++++++++++++++++++++ .../patches/superlu-dist-scotchmetis.patch | 21 +++++ 2 files changed, 122 insertions(+) create mode 100644 gnu/packages/patches/superlu-dist-scotchmetis.patch (limited to 'gnu/packages') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 9288ba91f4..cda3af8d97 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -590,6 +590,107 @@ triangular system solves through forward and back substitution. The library also provides threshold-based ILU factorization preconditioners.") (license license:bsd-3))) +(define-public superlu-dist + (package + (name "superlu-dist") + (version "3.3") + (source + (origin + (method url-fetch) + (uri (string-append "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/" + "superlu_dist_" version ".tar.gz")) + (sha256 + (base32 "1hnak09yxxp026blq8zhrl7685yip16svwngh1wysqxf8z48vzfj")) + (patches (list (search-patch "superlu-dist-scotchmetis.patch"))))) + (build-system gnu-build-system) + (native-inputs + `(("tcsh" ,tcsh))) + (inputs + `(("gfortran" ,gfortran-4.8))) + (propagated-inputs + `(("openmpi" ,openmpi) ;headers include MPI heades + ("lapack" ,lapack) ;required to link with output library + ("pt-scotch" ,pt-scotch))) ;same + (arguments + `(#:parallel-build? #f ;race conditions using ar + #:phases + (alist-replace + 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (call-with-output-file "make.inc" + (lambda (port) + (format port " +PLAT = +DSuperLUroot = ~a +DSUPERLULIB = ~a/lib/libsuperlu_dist.a +BLASDEF = -DUSE_VENDOR_BLAS +BLASLIB = -L~a/lib -lblas +PARMETISLIB = -L~a/lib \ + -lptscotchparmetis -lptscotch -lptscotcherr -lptscotcherrexit \ + -lscotch -lscotcherr -lscotcherrexit +METISLIB = -L~:*~a/lib \ + -lscotchmetis -lscotch -lscotcherr -lscotcherrexit +LIBS = $(DSUPERLULIB) $(PARMETISLIB) $(METISLIB) $(BLASLIB) +ARCH = ar +ARCHFLAGS = cr +RANLIB = ranlib +CC = mpicc +PIC = -fPIC +CFLAGS = -O3 -g -DPRNTlevel=0 $(PIC) +NOOPTS = -O0 -g $(PIC) +FORTRAN = mpifort +FFLAGS = -O2 -g $(PIC) +LOADER = $(CC) +CDEFS = -DAdd_" + (getcwd) + (assoc-ref outputs "out") + (assoc-ref inputs "lapack") + (assoc-ref inputs "pt-scotch"))))) + (alist-cons-after + 'unpack 'remove-broken-symlinks + (lambda _ + (for-each delete-file + (find-files "MAKE_INC" "\\.#make\\..*"))) + (alist-cons-before + 'build 'create-install-directories + (lambda* (#:key outputs #:allow-other-keys) + (for-each + (lambda (dir) + (mkdir-p (string-append (assoc-ref outputs "out") + "/" dir))) + '("lib" "include"))) + (alist-replace + 'check + (lambda _ + (with-directory-excursion "EXAMPLE" + (and + (zero? (system* "mpirun" "-n" "2" + "./pddrive" "-r" "1" "-c" "2" "g20.rua")) + (zero? (system* "mpirun" "-n" "2" + "./pzdrive" "-r" "1" "-c" "2" "cg20.cua"))))) + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + ;; Library is placed in lib during the build phase. Copy over + ;; headers to include. + (let* ((out (assoc-ref outputs "out")) + (incdir (string-append out "/include"))) + (for-each (lambda (file) + (let ((base (basename file))) + (format #t "installing `~a' to `~a'~%" + base incdir) + (copy-file file + (string-append incdir "/" base)))) + (find-files "SRC" ".*\\.h$")))) + %standard-phases))))))) + (home-page (package-home-page superlu)) + (synopsis "Parallel supernodal direct solver") + (description + "SuperLU_DIST is a parallel extension to the serial SuperLU library. +It is targeted for distributed memory parallel machines. SuperLU_DIST is +implemented in ANSI C, and MPI for communications.") + (license license:bsd-3))) + (define-public scotch (package (name "scotch") diff --git a/gnu/packages/patches/superlu-dist-scotchmetis.patch b/gnu/packages/patches/superlu-dist-scotchmetis.patch new file mode 100644 index 0000000000..3d78380551 --- /dev/null +++ b/gnu/packages/patches/superlu-dist-scotchmetis.patch @@ -0,0 +1,21 @@ +The METIS interface from Scotch may segfault if passed NULL to indicate a +default parameter, so use the older calling style. + +--- a/SRC/get_perm_c.c 2014-05-16 23:38:30.070835316 -0500 ++++ b/SRC/get_perm_c.c 2014-05-16 23:39:04.582836211 -0500 +@@ -70,11 +70,13 @@ + #else + + /* Earlier version 3.x.x */ +- /* METIS_NodeND(&nm, b_colptr, b_rowind, &numflag, metis_options, +- perm, iperm);*/ ++ METIS_NodeND(&nm, b_colptr, b_rowind, &numflag, metis_options, ++ perm, iperm); + + /* Latest version 4.x.x */ ++#if 0 + METIS_NodeND(&nm, b_colptr, b_rowind, NULL, NULL, perm, iperm); ++#endif + + /*check_perm_dist("metis perm", n, perm);*/ + #endif -- cgit v1.2.3 From b10e9ff6da886a787e37c3bf34da9e80406ae14b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 19 May 2014 23:52:11 +0200 Subject: gnu: Add Linux kbd. * gnu/packages/linux.scm (kbd): New variable. --- gnu/packages/linux.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index bcef394244..e9e7ebb99c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -39,6 +39,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages autotools) #:use-module (gnu packages texinfo) + #:use-module (gnu packages check) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -1087,3 +1088,40 @@ The numademo command provides a quick overview of NUMA performance on your system.") (license (list gpl2 ; programs lgpl2.1)))) ; library + +(define-public kbd + (package + (name "kbd") + (version "2.0.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://kernel.org/linux/utils/kbd/kbd-" + version ".tar.gz")) + (sha256 + (base32 + "0c34b0za2v0934acvgnva0vaqpghmmhz4zh7k0m9jd4mbc91byqm")))) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-cons-before + 'build 'pre-build + (lambda* (#:key inputs #:allow-other-keys) + (let ((gzip (assoc-ref %build-inputs "gzip")) + (bzip2 (assoc-ref %build-inputs "bzip2"))) + (substitute* "src/libkeymap/findfile.c" + (("gzip") + (string-append gzip "/bin/gzip")) + (("bzip2") + (string-append bzip2 "/bin/bzip2"))))) + %standard-phases))) + (inputs `(("check" ,check) + ("gzip" ,guix:gzip) + ("bzip2" ,guix:bzip2) + ("pam" ,linux-pam))) + (native-inputs `(("pkg-config" ,pkg-config))) + (home-page "ftp://ftp.kernel.org/pub/linux/utils/kbd/") + (synopsis "Linux keyboard utilities and keyboard maps") + (description + "This package contains keytable files and keyboard utilities compatible +for systems using the Linux kernel. This includes commands such as +'loadkeys', 'setfont', 'kbdinfo', and 'chvt'.") + (license gpl2+))) -- cgit v1.2.3 From 3919a31a75f4de5c88decff60f9be737a36e626c Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 20 May 2014 09:00:04 -0500 Subject: gnu: Add offlineimap * gnu/packages/mail.scm (offlineimap): New variable. --- gnu/packages/mail.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 3790b583ee..1ba75da02b 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -32,6 +32,7 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages openssl) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages texinfo) #:use-module (gnu packages compression) @@ -44,6 +45,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (srfi srfi-1)) (define-public mailutils @@ -253,4 +255,30 @@ content (body). The program is able to learn from the user's classifications and corrections. It is based on a Bayesian filter.") (license gpl2))) +(define-public offlineimap + (package + (name "offlineimap") + (version "6.5.5") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/OfflineIMAP/offlineimap/" + "archive/v" version ".tar.gz")) + (sha256 + (base32 + "00k84qagph3xnxss6rkxm61x07ngz8fvffx4z9jyw5baf3cdd32p")))) + (build-system python-build-system) + (native-inputs `(("python" ,python-2))) + (arguments + ;; The setup.py script expects python-2. + `(#:python ,python-2 + ;; Tests require a modifiable IMAP account. + #:tests? #f)) + (home-page "http://www.offlineimap.org") + (synopsis "Synch emails between two repositories") + (description + "OfflineImap synchronizes emails between two repositories, so that you +can read the same mailbox from multiple computers. It supports IMAP as REMOTE +repository and Maildir/IMAP as LOCAL repository.") + (license gpl2))) + ;;; mail.scm ends here -- cgit v1.2.3 From d2938d59aafbb4a65e8c2035a40e878a7fc94d33 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 20 May 2014 09:00:59 -0500 Subject: gnu: Add mu. * gnu/packages/mail.scm (mu): New variable. --- gnu/packages/mail.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 1ba75da02b..ece06dd0ab 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -20,9 +20,12 @@ (define-module (gnu packages mail) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages dejagnu) + #:use-module (gnu packages emacs) #:use-module (gnu packages gdbm) + #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) #:use-module (gnu packages gnutls) #:use-module (gnu packages guile) @@ -34,6 +37,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages readline) + #:use-module (gnu packages search) #:use-module (gnu packages texinfo) #:use-module (gnu packages compression) #:use-module (gnu packages glib) @@ -281,4 +285,45 @@ can read the same mailbox from multiple computers. It supports IMAP as REMOTE repository and Maildir/IMAP as LOCAL repository.") (license gpl2))) +(define-public mu + (package + (name "mu") + (version "0.9.9.5") + (source (origin + (method url-fetch) + (uri (string-append "https://mu0.googlecode.com/files/mu-" + version ".tar.gz")) + (sha256 + (base32 + "1hwkliyb8fjrz5sw9fcisssig0jkdxzhccw0ld0l9a10q1l9mqhp")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("texinfo" ,texinfo))) + ;; TODO: Add webkit and gtk to build the mug GUI. + (inputs + `(("xapian" ,xapian) + ("emacs" ,emacs) + ("guile" ,guile-2.0) + ("glib" ,glib) + ("gmime" ,gmime) + ("tzdata" ,tzdata))) ;for mu/test/test-mu-query.c + (arguments + '(#:phases (alist-cons-before + 'check 'check-tz-setup + (lambda* (#:key inputs #:allow-other-keys) + ;; For mu/test/test-mu-query.c + (setenv "TZDIR" + (string-append (assoc-ref inputs "tzdata") + "/share/zoneinfo"))) + %standard-phases))) + (home-page "http://www.djcbsoftware.nl/code/mu/") + (synopsis "Quickly find emails") + (description + "Mu is a tool for dealing with e-mail messages stored in the +Maildir-format. Mu's purpose in life is to help you to quickly find the +messages you need; in addition, it allows you to view messages, extract +attachments, create new maildirs, and so on.") + (license gpl3+))) + ;;; mail.scm ends here -- cgit v1.2.3 From 7886e23b03881a2d11bc97a05c4a77d04cf2c8f5 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 20 May 2014 09:50:58 -0500 Subject: gnu: offlineimap: fix license. * gnu/packages/mail.scm (offlineimap) [license]: Change to gpl2+. --- gnu/packages/mail.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index ece06dd0ab..796dcd7e88 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -283,7 +283,7 @@ and corrections. It is based on a Bayesian filter.") "OfflineImap synchronizes emails between two repositories, so that you can read the same mailbox from multiple computers. It supports IMAP as REMOTE repository and Maildir/IMAP as LOCAL repository.") - (license gpl2))) + (license gpl2+))) (define-public mu (package -- cgit v1.2.3 From 16ecf3ff4a06b35c2f74325606e915c782ef2549 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sat, 17 May 2014 01:44:42 -0500 Subject: gnu: Edit synopses of petsc packages. * gnu/packages/maths.scm (petsc) [synopsis]: Shorten. (petsc-complex,petsc-openmpi,petsc-complex-openmpi) [synopsis]: Repeat synopsis from petsc package with extensions. [description]: Remove. --- gnu/packages/maths.scm | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index cda3af8d97..4fcb997f34 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -456,7 +456,7 @@ ASCII text files using Gmsh's own scripting language.") "conf/uninstall.py")))) %standard-phases))))) (home-page "http://www.mcs.anl.gov/petsc") - (synopsis "Library to solve ODEs and algebraic equations") + (synopsis "Library to solve PDEs") (description "PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations.") @@ -470,9 +470,7 @@ scientific applications modeled by partial differential equations.") (substitute-keyword-arguments (package-arguments petsc) ((#:configure-flags cf) `(cons "--with-scalar-type=complex" ,cf)))) - (description - (string-append (package-description petsc) - " Complex scalar type version.")))) + (synopsis "Library to solve PDEs (with complex scalars)"))) (define-public petsc-openmpi (package (inherit petsc) @@ -487,9 +485,7 @@ scientific applications modeled by partial differential equations.") ,(string-append "--with-mpi-dir=" (assoc-ref %build-inputs "openmpi")) ,@(delete "--with-mpi=0" ,cf))))) - (description - (string-append (package-description petsc) - " With OpenMPI parallelism support.")))) + (synopsis "Library to solve PDEs (with MPI support)"))) (define-public petsc-complex-openmpi (package (inherit petsc-complex) @@ -504,9 +500,7 @@ scientific applications modeled by partial differential equations.") ,(string-append "--with-mpi-dir=" (assoc-ref %build-inputs "openmpi")) ,@(delete "--with-mpi=0" ,cf))))) - (description - (string-append (package-description petsc-complex) - " With OpenMPI parallelism support.")))) + (synopsis "Library to solve PDEs (with complex scalars and MPI support)"))) (define-public superlu (package -- cgit v1.2.3 From 5bbd6bf1815398f3cbe3d2f218b537a82f7219a7 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 20 May 2014 12:20:12 -0500 Subject: gnu: Add ccache. * gnu/packages/ccache.scm: New file. * gnu/packages/patches/ccache-stdc-predef-test.patch: New patch. * gnu-system.am (GNU_SYSTEM_MODULES): Add ccache.scm. (dist_patch_DATA): Add patch. --- gnu/packages/ccache.scm | 57 ++++++++ gnu/packages/patches/ccache-stdc-predef-test.patch | 157 +++++++++++++++++++++ 2 files changed, 214 insertions(+) create mode 100644 gnu/packages/ccache.scm create mode 100644 gnu/packages/patches/ccache-stdc-predef-test.patch (limited to 'gnu/packages') diff --git a/gnu/packages/ccache.scm b/gnu/packages/ccache.scm new file mode 100644 index 0000000000..4918ec9609 --- /dev/null +++ b/gnu/packages/ccache.scm @@ -0,0 +1,57 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Eric Bavier +;;; +;;; 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 ccache) + #:use-module (guix packages) + #:use-module ((guix licenses) #:select (gpl3+)) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages perl) + #:use-module (gnu packages compression)) + +(define-public ccache + (package + (name "ccache") + (version "3.1.9") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.samba.org/ftp/ccache/ccache-" + version ".tar.xz")) + (sha256 + (base32 + "1i06015jjc0n55xgvhv2h37fjp0i7z8a10s0v40f87c5mprzv0a9")) + (patches (list (search-patch "ccache-stdc-predef-test.patch"))))) + (build-system gnu-build-system) + (native-inputs `(("perl" ,perl))) ;for test.sh + (inputs `(("zlib" ,zlib))) + (arguments + '(#:phases (alist-cons-before + 'check 'patch-test-shebangs + (lambda _ + (substitute* '("test/test_hashutil.c" "test.sh") + (("#!/bin/sh") (string-append "#!" (which "sh"))))) + %standard-phases))) + (home-page "https://ccache.samba.org/") + (synopsis "Compiler cache") + (description + "Ccache is a compiler cache. It speeds up recompilation by caching +previous compilations and detecting when the same compilation is being done +again. Supported languages are C, C++, Objective-C and Objective-C++.") + (license gpl3+))) diff --git a/gnu/packages/patches/ccache-stdc-predef-test.patch b/gnu/packages/patches/ccache-stdc-predef-test.patch new file mode 100644 index 0000000000..bd9444c2df --- /dev/null +++ b/gnu/packages/patches/ccache-stdc-predef-test.patch @@ -0,0 +1,157 @@ +This patch is a combination of the following commits:: + + https://git.samba.org/?p=ccache.git;a=commit;h=b5d63f81c1a83fd4c50b769a96a04f581b7db70c + https://git.samba.org/?p=ccache.git;a=commit;h=a11f5688748ecb49f590b3f4bc0e9b3458f9a56f + https://git.samba.org/?p=ccache.git;a=commit;h=5a9322c56ed0cd16255966e99077843aae57ab3e + +from the general discussion at +http://comments.gmane.org/gmane.comp.compilers.ccache/1089 + +--- a/test.sh ++++ b/test.sh +@@ -562,6 +562,12 @@ + EOF + backdate test1.h test2.h test3.h + ++ $COMPILER -c -Wp,-MD,expected.d test.c ++ expected_d_content=`cat expected.d` ++ ++ $COMPILER -c -Wp,-MMD,expected_mmd.d test.c ++ expected_mmd_d_content=`cat expected_mmd.d` ++ + ################################################################## + # First compilation is a miss. + testname="first compilation" +@@ -677,7 +683,7 @@ + checkstat 'cache hit (direct)' 0 + checkstat 'cache hit (preprocessed)' 0 + checkstat 'cache miss' 1 +- checkfile other.d "test.o: test.c test1.h test3.h test2.h" ++ checkfile other.d "$expected_d_content" + + rm -f other.d + +@@ -685,7 +691,7 @@ + checkstat 'cache hit (direct)' 1 + checkstat 'cache hit (preprocessed)' 0 + checkstat 'cache miss' 1 +- checkfile other.d "test.o: test.c test1.h test3.h test2.h" ++ checkfile other.d "$expected_d_content" + + rm -f other.d + +@@ -698,7 +704,7 @@ + checkstat 'cache hit (direct)' 0 + checkstat 'cache hit (preprocessed)' 0 + checkstat 'cache miss' 1 +- checkfile other.d "test.o: test.c test1.h test3.h test2.h" ++ checkfile other.d "$expected_mmd_d_content" + + rm -f other.d + +@@ -706,7 +712,7 @@ + checkstat 'cache hit (direct)' 1 + checkstat 'cache hit (preprocessed)' 0 + checkstat 'cache miss' 1 +- checkfile other.d "test.o: test.c test1.h test3.h test2.h" ++ checkfile other.d "$expected_mmd_d_content" + + rm -f other.d + +@@ -760,7 +766,7 @@ + checkstat 'cache hit (direct)' 0 + checkstat 'cache hit (preprocessed)' 0 + checkstat 'cache miss' 1 +- checkfile test.d "test.o: test.c test1.h test3.h test2.h" ++ checkfile test.d "$expected_d_content" + + rm -f test.d + +@@ -768,7 +774,7 @@ + checkstat 'cache hit (direct)' 1 + checkstat 'cache hit (preprocessed)' 0 + checkstat 'cache miss' 1 +- checkfile test.d "test.o: test.c test1.h test3.h test2.h" ++ checkfile test.d "$expected_d_content" + + ################################################################## + # Check the scenario of running a ccache with direct mode on a cache +@@ -780,7 +786,7 @@ + checkstat 'cache hit (direct)' 0 + checkstat 'cache hit (preprocessed)' 0 + checkstat 'cache miss' 1 +- checkfile test.d "test.o: test.c test1.h test3.h test2.h" ++ checkfile test.d "$expected_d_content" + + rm -f test.d + +@@ -788,7 +794,7 @@ + checkstat 'cache hit (direct)' 0 + checkstat 'cache hit (preprocessed)' 1 + checkstat 'cache miss' 1 +- checkfile test.d "test.o: test.c test1.h test3.h test2.h" ++ checkfile test.d "$expected_d_content" + + rm -f test.d + +@@ -796,7 +802,7 @@ + checkstat 'cache hit (direct)' 0 + checkstat 'cache hit (preprocessed)' 2 + checkstat 'cache miss' 1 +- checkfile test.d "test.o: test.c test1.h test3.h test2.h" ++ checkfile test.d "$expected_d_content" + + rm -f test.d + +@@ -804,7 +810,7 @@ + checkstat 'cache hit (direct)' 1 + checkstat 'cache hit (preprocessed)' 2 + checkstat 'cache miss' 1 +- checkfile test.d "test.o: test.c test1.h test3.h test2.h" ++ checkfile test.d "$expected_d_content" + + ################################################################## + # Check that -MF works. +@@ -815,7 +821,7 @@ + checkstat 'cache hit (direct)' 0 + checkstat 'cache hit (preprocessed)' 0 + checkstat 'cache miss' 1 +- checkfile other.d "test.o: test.c test1.h test3.h test2.h" ++ checkfile other.d "$expected_d_content" + + rm -f other.d + +@@ -823,7 +829,7 @@ + checkstat 'cache hit (direct)' 1 + checkstat 'cache hit (preprocessed)' 0 + checkstat 'cache miss' 1 +- checkfile other.d "test.o: test.c test1.h test3.h test2.h" ++ checkfile other.d "$expected_d_content" + + ################################################################## + # Check that a missing .d file in the cache is handled correctly. +@@ -835,13 +841,13 @@ + checkstat 'cache hit (direct)' 0 + checkstat 'cache hit (preprocessed)' 0 + checkstat 'cache miss' 1 +- checkfile other.d "test.o: test.c test1.h test3.h test2.h" ++ checkfile other.d "$expected_d_content" + + $CCACHE $COMPILER -c -MD test.c + checkstat 'cache hit (direct)' 1 + checkstat 'cache hit (preprocessed)' 0 + checkstat 'cache miss' 1 +- checkfile other.d "test.o: test.c test1.h test3.h test2.h" ++ checkfile other.d "$expected_d_content" + + find $CCACHE_DIR -name '*.d' -exec rm -f '{}' \; + +@@ -849,7 +855,7 @@ + checkstat 'cache hit (direct)' 1 + checkstat 'cache hit (preprocessed)' 1 + checkstat 'cache miss' 1 +- checkfile other.d "test.o: test.c test1.h test3.h test2.h" ++ checkfile other.d "$expected_d_content" + + ################################################################## + # Check that stderr from both the preprocessor and the compiler is emitted -- cgit v1.2.3 From 952298d709b63b6475640e4a777b28f5fbf7cfeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 21 May 2014 17:12:03 +0200 Subject: gnu: Add wpa_supplicant. * gnu/packages/admin.scm (wpa-supplicant): New variable. --- gnu/packages/admin.scm | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 57fc645ad3..df968c4846 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -671,3 +671,63 @@ commands and their arguments.") ;; See . (license x11))) + +(define-public wpa-supplicant + (package + (name "wpa-supplicant") + (version "2.1") + (source (origin + (method url-fetch) + (uri (string-append + "http://hostap.epitest.fi/releases/wpa_supplicant-" + version + ".tar.gz")) + (sha256 + (base32 + "0xxjw7lslvql1ykfbwmbhdrnjsjljf59fbwf837418s97dz2wqwi")))) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-replace + 'configure + (lambda* (#:key outputs #:allow-other-keys) + (chdir "wpa_supplicant") + (copy-file "defconfig" ".config") + (let ((port (open-file ".config" "al"))) + (display " + CONFIG_DEBUG_SYSLOG=y + CONFIG_CTRL_IFACE_DBUS=y + CONFIG_CTRL_IFACE_DBUS_NEW=y + CONFIG_CTRL_IFACE_DBUS_INTRO=y + CONFIG_DRIVER_NL80211=y + CFLAGS += $(shell pkg-config libnl-3.0 --cflags) + CONFIG_LIBNL32=y + CONFIG_READLINE=y\n" port) + (close-port port))) + %standard-phases) + + #:make-flags (list "CC=gcc" + (string-append "BINDIR=" (assoc-ref %outputs "out") + "/sbin") + (string-append "LIBDIR=" (assoc-ref %outputs "out") + "/lib")) + #:tests? #f)) + (inputs + `(("readline" ,readline) + ("libnl" ,libnl) + ("dbus" ,dbus) + ("openssl" ,o:openssl))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://hostap.epitest.fi/wpa_supplicant/") + (synopsis "Connecting to WPA and WPA2-protected wireless networks") + (description + "wpa_supplicant is a WPA Supplicant with support for WPA and WPA2 (IEEE +802.11i / RSN). Supplicant is the IEEE 802.1X/WPA component that is used in +the client stations. It implements key negotiation with a WPA Authenticator +and it controls the roaming and IEEE 802.11 authentication/association of the +WLAN driver. + +This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.") + + ;; In practice, this is linked against Readline, which makes it GPLv3+. + (license bsd-3))) -- cgit v1.2.3 From 39aa11e090d3eb959d283737eb4adc2461aba369 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 22 May 2014 22:13:42 +0200 Subject: gnu: perl-io-tty: Upgrade to 1.11. * gnu/packages/perl.scm (perl-io-tty): Upgrade to 1.11. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 6279120107..48b543436e 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -106,14 +106,14 @@ matching a regular expression.") (define-public perl-io-tty (package (name "perl-io-tty") - (version "1.10") + (version "1.11") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-" version ".tar.gz")) (sha256 (base32 - "1cgqyv1zg8857inlnfczrrgpqr0r6mmqv29b7jlmxv47s4df59ii")))) + "0lgd9xcbi4gf4gw1ka6fj94my3w1f3k1zamb4pfln0qxz45zlxx4")))) (build-system perl-build-system) (home-page "http://search.cpan.org/~toddr/IO-Tty/") (synopsis "Perl interface to pseudo ttys") -- cgit v1.2.3 From ca143f13791e65a6469426523d1a1a75cc4295de Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 22 May 2014 22:28:12 +0200 Subject: gnu: imagemagick: Upgrade to 6.8.9-0. * gnu/packages/imagemagick.scm (imagemagick): Upgrade to 6.8.9-0. --- gnu/packages/imagemagick.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index d8c1afaaec..0c80c0a57f 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -37,14 +37,14 @@ (define-public imagemagick (package (name "imagemagick") - (version "6.8.8-10") + (version "6.8.9-0") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "0crdazi2f1qj1ppb01f0mhqjw5q3afswgw49fa1m100bxmqpf77k")))) + "1lapn2798fkc2wn81slpms5p21kq4dsyg45khsk7n8p69cvrmw2b")))) (build-system gnu-build-system) (arguments `(#:phases (alist-cons-before -- cgit v1.2.3 From a9f48ff0766cfcd27426be540c7bb755f3093291 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 22 May 2014 13:28:34 -0500 Subject: gnu: Add lzop. * gnu/packages/compression.scm (lzop): New variable. --- gnu/packages/compression.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index a4c6f53202..c8328076cf 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -238,6 +238,29 @@ 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+))) +(define-public lzop + (package + (name "lzop") + (version "1.03") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.lzop.org/download/lzop-" + version ".tar.gz")) + (sha256 + (base32 + "1jdjvc4yjndf7ihmlcsyln2rbnbaxa86q4jskmkmm7ylfy65nhn1")))) + (build-system gnu-build-system) + (inputs `(("lzo" ,lzo))) + (home-page "http://www.lzop.org/") + (synopsis "Compress or expand files") + (description + "Lzop is a file compressor which is very similar to gzip. Lzop uses the +LZO data compression library for compression services, and its main advantages +over gzip are much higher compression and decompression speed (at the cost of +some compression ratio).") + (license license:gpl2+))) + (define-public lzip (package (name "lzip") -- cgit v1.2.3 From de0b620e88226cc9da6eaabf5a7c6111ba0fba3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 May 2014 00:08:50 +0200 Subject: gnu: Add inotify-tools. * gnu/packages/linux.scm (inotify-tools): New variable. --- gnu/packages/linux.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e9e7ebb99c..130a0f2a9a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1125,3 +1125,23 @@ system.") for systems using the Linux kernel. This includes commands such as 'loadkeys', 'setfont', 'kbdinfo', and 'chvt'.") (license gpl2+))) + +(define-public inotify-tools + (package + (name "inotify-tools") + (version "3.13") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/inotify-tools/inotify-tools/" + version "/inotify-tools-" version ".tar.gz")) + (sha256 + (base32 + "0icl4bx041axd5dvhg89kilfkysjj86hjakc7bk8n49cxjn4cha6")))) + (build-system gnu-build-system) + (home-page "http://inotify-tools.sourceforge.net/") + (synopsis "Monitor file accesses") + (description + "The inotify-tools packages provides a C library and command-line tools +to use Linux' inotify mechanism, which allows file accesses to be monitored.") + (license gpl2+))) -- cgit v1.2.3 From 7f0635f684b6646f266e1c890085e823b16f543d Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 20 May 2014 08:20:27 -0500 Subject: gnu: Add librsync. * gnu/packages/rsync.scm (librsync): New variable. --- gnu/packages/rsync.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/rsync.scm b/gnu/packages/rsync.scm index c51d65c33e..a55febfdf4 100644 --- a/gnu/packages/rsync.scm +++ b/gnu/packages/rsync.scm @@ -20,6 +20,7 @@ #:use-module (gnu packages) #:use-module (gnu packages perl) #:use-module (gnu packages acl) + #:use-module (gnu packages which) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) @@ -49,3 +50,29 @@ by sending only the differences between the source files and the existing files in the destination.") (license gpl3+) (home-page "http://rsync.samba.org/"))) + +(define-public librsync + (package + (name "librsync") + (version "0.9.7") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/projects/librsync/librsync/" + version "/librsync-" version ".tar.gz")) + (sha256 + (base32 + "1mj1pj99mgf1a59q9f2mxjli2fzxpnf55233pc1klxk2arhf8cv6")))) + (build-system gnu-build-system) + (native-inputs + `(("which" ,which) + ("perl" ,perl))) + (arguments '(#:configure-flags '("--enable-shared"))) + (home-page "http://librsync.sourceforge.net/") + (synopsis "Implementation of the rsync remote-delta algorithm") + (description + "Librsync is a free software library that implements the rsync +remote-delta algorithm. This algorithm allows efficient remote updates of a +file, without requiring the old and new versions to both be present at the +sending end. The library uses a \"streaming\" design similar to that of zlib +with the aim of allowing it to be embedded into many different applications.") + (license lgpl2.1+))) -- cgit v1.2.3 From ff78435fa022578da012f582df506c7a6d6a0716 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 26 May 2014 01:15:53 -0500 Subject: gnu: Add mcrypt, libmcrypt, and libmhash. * gnu/packages/mcrypt.scm: New file. * gnu/packages/patches/mhash-keygen-test-segfault.patch: New patch. * gnu-system.am (GNU_SYSTEM_MODULES): Add file. (dist_patch_DATA): Add patch. --- gnu/packages/mcrypt.scm | 114 +++++++++++++++++++++ .../patches/mhash-keygen-test-segfault.patch | 13 +++ 2 files changed, 127 insertions(+) create mode 100644 gnu/packages/mcrypt.scm create mode 100644 gnu/packages/patches/mhash-keygen-test-segfault.patch (limited to 'gnu/packages') diff --git a/gnu/packages/mcrypt.scm b/gnu/packages/mcrypt.scm new file mode 100644 index 0000000000..eac8c72c5e --- /dev/null +++ b/gnu/packages/mcrypt.scm @@ -0,0 +1,114 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Eric Bavier +;;; +;;; 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 mcrypt) + #:use-module (guix packages) + #:use-module ((guix licenses) #:select (gpl2+)) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:use-module (gnu packages perl) + #:use-module (gnu packages file)) + +(define-public mcrypt + (package + (name "mcrypt") + (version "2.6.8") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/mcrypt/mcrypt-" + version ".tar.gz")) + (sha256 + (base32 + "161031n1w9pb4yzz9i47szc12a4mwpcpvyxnvafsik2l9s2aliai")))) + (build-system gnu-build-system) + (inputs + `(("zlib" ,zlib) + ("libmcrypt" ,libmcrypt) + ("libmhash" ,libmhash))) + (home-page "http://mcrypt.sourceforge.net/") + (synopsis "Replacement for the popular Unix crypt command") + (description + "MCrypt is a replacement for the old crypt() package and crypt(1) +command, with extensions. It allows developers to use a wide range of +encryption functions, without making drastic changes to their code. It allows +users to encrypt files or data streams without having to be cryptographers. +The companion to MCrypt is Libmcrypt, which contains the actual encryption +functions themselves, and provides a standardized mechanism for accessing +them.") + (license gpl2+))) + +(define-public libmcrypt + (package + (name "libmcrypt") + (version "2.5.8") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/mcrypt/libmcrypt-" + version ".tar.gz")) + (sha256 + (base32 + "0gipgb939vy9m66d3k8il98rvvwczyaw2ixr8yn6icds9c3nrsz4")))) + (build-system gnu-build-system) + (native-inputs `(("file" ,file))) + (home-page "http://mcrypt.sourceforge.net/") + (synopsis "Encryption algorithm library") + (description + "Libmcrypt is a data encryption library. The library is thread safe and +provides encryption and decryption functions. This version of the library +supports many encryption algorithms and encryption modes. Some algorithms +which are supported: SERPENT, RIJNDAEL, 3DES, GOST, SAFER+, CAST-256, RC2, +XTEA, 3WAY, TWOFISH, BLOWFISH, ARCFOUR, WAKE and more.") + (license gpl2+))) + +(define-public libmhash + (package + (name "libmhash") + (version "0.9.9.9") + (source + (origin + (method url-fetch) + + (uri (string-append "mirror://sourceforge/mhash/mhash-" + version ".tar.bz2")) + (sha256 + (base32 + "1w7yiljan8gf1ibiypi6hm3r363imm3sxl1j8hapjdq3m591qljn")) + (patches (list (search-patch "mhash-keygen-test-segfault.patch"))))) + (build-system gnu-build-system) + (native-inputs + `(("file" ,file) + ("perl" ,perl))) ;for tests + (home-page "http://mhash.sourceforge.net/") + (synopsis "Thread-safe hash library") + (description + "mhash is a thread-safe hash library, implemented in C, and provides a +uniform interface to a large number of hash algorithms. These algorithms can +be used to compute checksums, message digests, and other signatures. The HMAC +support implements the basics for message authentication, following RFC 2104. + +Algorithms currently supplied are: + +CRC-32, CRC-32B, ALDER-32, MD-2, MD-4, MD-5, RIPEMD-128, RIPEMD-160, +RIPEMD-256, RIPEMD-320, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, HAVAL-128, +HAVAL-160, HAVAL-192, HAVAL-256, TIGER, TIGER-128, TIGER-160, GOST, WHIRLPOOL, +SNEFRU-128, SNEFRU-256") + (license gpl2+))) diff --git a/gnu/packages/patches/mhash-keygen-test-segfault.patch b/gnu/packages/patches/mhash-keygen-test-segfault.patch new file mode 100644 index 0000000000..3bd9f43418 --- /dev/null +++ b/gnu/packages/patches/mhash-keygen-test-segfault.patch @@ -0,0 +1,13 @@ +This patch from resolution of https://sourceforge.net/p/mhash/bugs/37/ + +--- a/src/keygen_test.c ++++ b/src/keygen_test.c +@@ -121,8 +121,6 @@ + + mhash_keygen_ext(KEYGEN_S2K_SALTED, data, key, keysize, password, passlen); + +- mutils_memset(tmp, 0, keysize * 2); +- + tmp = mutils_asciify(key, keysize); + + result = mutils_strcmp((mutils_word8 *) KEY2, tmp); -- cgit v1.2.3 From 5698b8b82ce81e380908eff57c72464937116285 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Sun, 25 May 2014 07:29:30 +0200 Subject: gnu: Add gsegrafix and dependent libraries. * gnu/packages/math.scm (gsegrafix): New variable. * gnu/packages/gtk.scm (pangox-compat): New variable. * gnu/packages/gnome.scm (libidl, orbit2, libbonobo, gconf, gnome-mime-data, gnome-vfs, libgnome, libart-lgpl, libgnomecanvas, libgnomeui, libglade, libgnomeprint, libgnomeprintui, libbonoboui): New variables. --- gnu/packages/gnome.scm | 480 +++++++++++++++++++++++++++++++++++++++++++++++++ gnu/packages/gtk.scm | 27 +++ gnu/packages/maths.scm | 35 ++++ 3 files changed, 542 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index e889c9bff0..232afc6e44 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -24,14 +24,18 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages) + #:use-module (gnu packages bison) + #:use-module (gnu packages flex) #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages pdf) + #:use-module (gnu packages popt) #:use-module (gnu packages ghostscript) #:use-module (gnu packages iso-codes) #:use-module (gnu packages libcanberra) + #:use-module (gnu packages libjpeg) #:use-module (gnu packages libpng) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -610,3 +614,479 @@ dealing with different structured file formats.") "librsvg is a C library to render SVG files using the Cairo 2D graphics library.") (license license:lgpl2.0+))) + +(define-public libidl + (package + (name "libidl") + (version "0.8.14") + (source (origin + (method url-fetch) + (uri (let ((upstream-name "libIDL")) + (string-append + "mirror://gnome/sources/" upstream-name "/" (string-take version 3) "/" upstream-name "-" + version + ".tar.bz2"))) + (sha256 + (base32 + "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5")))) + (build-system gnu-build-system) + (inputs `(("glib" ,glib))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("flex", flex) + ("bison" ,bison))) + (home-page "http://freecode.com/projects/libidl") + (synopsis "Create trees of CORBA Interface Definition Language files") + (description "libidl is a library for creating trees of CORBA Interface +Definition Language (idl) files, which is a specification for defining +portable interfaces. libidl was initially written for orbit (the orb from the +GNOME project, and the primary means of libidl distribution). However, the +functionality was designed to be as reusable and portable as possible.") + (license license:lgpl2.0+))) + + +(define-public orbit2 + (package + (name "orbit2") + (version "2.14.19") + (source (origin + (method url-fetch) + (uri (let ((upstream-name "ORBit2")) + (string-append + "mirror://gnome/sources/" upstream-name "/" (string-take version 4) "/" upstream-name "-" + version + ".tar.bz2"))) + (sha256 + (base32 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam")))) + (build-system gnu-build-system) + (arguments + ;; The programmer kindly gives us a hook to turn off deprecation warnings ... + `(#:configure-flags '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS") + ;; ... which they then completly ignore !! + #:phases + (alist-cons-before + 'configure 'ignore-deprecations + (lambda _ + (substitute* "linc2/src/Makefile.in" + (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))) + %standard-phases))) + (inputs `(("glib" ,glib) + ("libidl" ,libidl))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://projects.gnome.org/orbit2/") + (synopsis "CORBA 2.4-compliant Object Request Broker") + (description "orbit2 is a CORBA 2.4-compliant Object Request Broker (orb) +featuring mature C, C++ and Python bindings.") + ;; Licence notice is unclear. The Web page simply say "GPL" without giving a version. + ;; SOME of the code files have licence notices for GPLv2+ + ;; The tarball contains files of the text of GPLv2 and LGPLv2 + (license license:gpl2+))) + + +(define-public libbonobo + (package + (name "libbonobo") + (version "2.32.1") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/" name "/" (string-take version 4) "/" name "-" + version + ".tar.bz2")) + (sha256 + (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i")))) + (build-system gnu-build-system) + (arguments + ;; The programmer kindly gives us a hook to turn off deprecation warnings ... + `(#:configure-flags '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS") + ;; ... which they then completly ignore !! + #:phases + (alist-cons-before + 'configure 'ignore-deprecations + (lambda _ + (substitute* "activation-server/Makefile.in" + (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))) + %standard-phases))) + (inputs `(("popt" ,popt) + ("libxml2" ,libxml2))) + ;; The following are Required by the .pc file + (propagated-inputs + `(("glib" ,glib) + ("orbit2" ,orbit2))) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config) + ("flex" ,flex) + ("bison" ,bison))) + (home-page "https://developer.gnome.org/libbonobo/") + (synopsis "Framework for creating reusable components for use in GNOME applications") + (description "Bonobo is a framework for creating reusable components for +use in GNOME applications, built on top of CORBA.") + ;; Licence not explicitly stated. Source files contain no licence notices. + ;; Tarball contains text of both GPLv2 and LGPLv2 + ;; GPLv2 covers both conditions + (license license:gpl2+))) + + +(define-public gconf + (package + (name "gconf") + (version "3.2.6") + (source (origin + (method url-fetch) + (uri + (let ((upstream-name "GConf")) + (string-append + "mirror://gnome/sources/" upstream-name "/" (string-take version 3) "/" upstream-name "-" + version + ".tar.xz"))) + (sha256 + (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr")))) + (build-system gnu-build-system) + (inputs `(("glib" ,glib) + ("dbus" ,dbus) + ("dbus-glib" ,dbus-glib) + ("libxml2" ,libxml2))) + (propagated-inputs `(("orbit2" ,orbit2))) ; referred to in the .pc file + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (home-page "https://projects.gnome.org/gconf/") + (synopsis "store application preferences") + (description "gconf is a system for storing application preferences. It +is intended for user preferences; not arbitrary data storage.") + (license license:lgpl2.0+))) + + +(define-public gnome-mime-data + (package + (name "gnome-mime-data") + (version "2.18.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/" name "/" (string-take version 4) "/" name "-" + version + ".tar.bz2")) + (sha256 + (base32 + "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p")))) + (build-system gnu-build-system) + (native-inputs + `(("perl" ,perl) + ("intltool" ,intltool))) + (home-page "http://www.gnome.org") + (synopsis "base MIME and Application database for GNOME") + (description "GNOME Mime Data is a module which contains the base MIME +and Application database for GNOME. The data stored by this module is +designed to be accessed through the MIME functions in GnomeVFS.") + (license license:gpl2+))) + + +(define-public gnome-vfs + (package + (name "gnome-vfs") + (version "2.24.4") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/" name "/" (string-take version 4) "/" name "-" + version + ".tar.bz2")) + (sha256 + (base32 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2")))) + (build-system gnu-build-system) + (arguments + ;; The programmer kindly gives us a hook to turn off deprecation warnings ... + `(#:configure-flags '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS") + ;; ... which they then completly ignore !! + #:phases + (alist-cons-before + 'configure 'ignore-deprecations + (lambda _ + (begin + (substitute* "libgnomevfs/Makefile.in" + (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")) + (substitute* "daemon/Makefile.in" + (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))) + %standard-phases))) + (inputs `(("glib" ,glib) + ("libxml2" ,libxml2) + ("dbus-glib" ,dbus-glib) + ("dbus" ,dbus) + ("gconf" ,gconf) + ("gnome-mime-data" ,gnome-mime-data) + ("zlib" ,zlib))) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (home-page "https://developer.gnome.org/gnome-vfs/") + (synopsis "access files and folders in GNOME applications") + (description "GnomeVFS is the core library used to access files and +folders in GNOME applications. It provides a file system abstraction which +allows applications to access local and remote files with a single consistent API.") + (license license:lgpl2.0+))) + + + +(define-public libgnome + (package + (name "libgnome") + (version "2.32.1") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/" name "/" (string-take version 3) "/" name "-" + version + ".tar.bz2")) + (sha256 + (base32 + "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (alist-cons-before + 'configure 'enable-deprecated + (lambda _ + (substitute* "libgnome/Makefile.in" + (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))) + %standard-phases))) + (inputs `(("popt" ,popt) + ("libxml2" ,libxml2))) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + ;; The following are listed as Required in the .pc file + ;; (except for libcanberra -- which seems to be oversight on the part + ;; of the upstream developers -- anything that links against libgnome, + ;; must also link against libcanberra + (propagated-inputs + `(("libcanberra" ,libcanberra) + ("libbonobo" ,libbonobo) + ("gconf" ,gconf) + ("gnome-vfs" ,gnome-vfs) + ("glib" ,glib))) + (home-page "https://developer.gnome.org/libgnome/") + (synopsis "Useful routines for building applications") + (description "The libgnome library provides a number of useful routines +for building modern applications, including session management, activation of +files and URIs, and displaying help.") + (license license:lgpl2.0+))) + + +(define-public libart-lgpl + (package + (name "libart-lgpl") + (version "2.3.9") + (source (origin + (method url-fetch) + (uri (let ((upstream-name "libart_lgpl")) + (string-append + "mirror://gnome/sources/" upstream-name "/" + (string-take version 3) "/" upstream-name "-" version + ".tar.bz2"))) + (sha256 + (base32 + "072r4svs4hjf2f4gxzx02n3f970kdv9fpx54r2m8bd42fjyyawrw")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://people.gnome.org/~mathieu/libart") + (synopsis "2D drawing library") + (description "Libart is a 2D drawing library intended as a +high-quality vector-based 2D library with antialiasing and alpha composition.") + (license license:lgpl2.0+))) + + + +(define-public libgnomecanvas + (package + (name "libgnomecanvas") + (version "2.30.3") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/" name "/" (string-take version 4) "/" name "-" + version + ".tar.gz")) + (sha256 + (base32 + "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8")))) + (build-system gnu-build-system) + ;; Mentioned as Required in the .pc file + (propagated-inputs `(("libart-lgpl" ,libart-lgpl) + ("gtk+" ,gtk+-2))) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (home-page "https://developer.gnome.org/libgnomecanvas/") + (synopsis "Flexible widget for creating interactive structured graphics") + (description "The GnomeCanvas widget provides a flexible widget for +creating interactive structured graphics.") + (license license:lgpl2.0+))) + +(define-public libgnomeui + (package + (name "libgnomeui") + (version "2.24.5") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/" name "/" (string-take version 4) "/" name "-" + version + ".tar.bz2")) + (sha256 + (base32 + "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf")))) + (build-system gnu-build-system) + ;; Mentioned as Required in the .pc file + (propagated-inputs `(("libgnome" ,libgnome) + ("libgnome-keyring" ,libgnome-keyring))) + (inputs `(("libgnomecanvas" ,libgnomecanvas) + ("libbonoboui" ,libbonoboui) + ("libjpeg" ,libjpeg) + ("popt" ,popt) + ("libbonobo" ,libbonobo) + ("libxml2" ,libxml2) + ("libglade" ,libglade))) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (home-page "https://developer.gnome.org/libgnomeui/") + (synopsis "Additional widgets for applications") + (description "The libgnomeui library provides additional widgets for +applications. Many of the widgets from libgnomeui have already been ported to GTK+.") + (license license:lgpl2.0+))) + +(define-public libglade + (package + (name "libglade") + (version "2.6.4") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/" name "/" (string-take version 3) "/" name "-" + version + ".tar.bz2")) + (sha256 + (base32 + "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4")))) + (build-system gnu-build-system) + (inputs + `(("gtk+-2" ,gtk+-2) + ("libxml2" ,libxml2) + ("python" ,python))) ;; needed for the optional libglade-convert program + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://developer.gnome.org/libglade") + (synopsis "load glade interfaces and access the glade built widgets") + (description "libglade is a library that provides interfaces for loading +graphical interfaces described in glade files and for accessing the +widgets built in the loading process.") + (license license:gpl2+))) ; This is correct. GPL not LGPL + +(define-public libgnomeprint + (package + (name "libgnomeprint") + (version "2.8.2") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/" name "/" (string-take version 3) "/" name "-" + version + ".tar.bz2")) + (sha256 + (base32 + "129ka3nn8gx9dlfry17ib79azxk45wzfv5rgqzw6dwx2b5ns8phm")))) + (build-system gnu-build-system) + (inputs + `(("popt" ,popt) + ("libart-lgpl" ,libart-lgpl) + ("gtk+" ,gtk+-2) + ("libxml2" ,libxml2))) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (home-page "https://projects.gnome.org/gnome-print/home/faq.html") + (synopsis "printing framework for GNOME") + (description "Gnome-print is a high-quality printing framework for GNOME.") + (license license:lgpl2.0+))) + + +(define-public libgnomeprintui + (package + (name "libgnomeprintui") + (version "2.8.2") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/" name "/" (string-take version 3) "/" name "-" + version + ".tar.bz2")) + (sha256 + (base32 + "1ivipk7r61rg90p9kp889j28xlyyj6466ypvwa4jvnrcllnaajsw")))) + (build-system gnu-build-system) + ;; Mentioned as Required in the .pc file + (propagated-inputs `(("libgnomeprint" ,libgnomeprint))) + (inputs `(("gtk+" ,gtk+-2) + ("glib" ,glib) + ("gnome-icon-theme" ,gnome-icon-theme) + ("libgnomecanvas" ,libgnomecanvas) + ("libxml2" ,libxml2))) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (home-page "https://projects.gnome.org/gnome-print/home/faq.html") + (synopsis "Printing framework for GNOME") + (description "Gnome-print is a high-quality printing framework for GNOME.") + (license license:lgpl2.0+))) + + +(define-public libbonoboui + (package + (name "libbonoboui") + (version "2.24.5") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/" name "/" (string-take version 3) "/" name "-" + version + ".tar.bz2")) + (sha256 + (base32 + "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (alist-cons-before + 'check 'start-xserver + (lambda* (#:key inputs #:allow-other-keys) + (let ((xorg-server (assoc-ref inputs "xorg-server")) + (disp ":1")) + + (setenv "HOME" (getcwd)) + (setenv "DISPLAY" disp) + ;; There must be a running X server and make check doesn't start one. + ;; Therefore we must do it. + (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))))) + %standard-phases))) + ;; Mentioned as Required by the .pc file + (propagated-inputs `(("libxml2" ,libxml2))) + (inputs + `(("popt" ,popt) + ("pangox-compat" ,pangox-compat) + ("libgnome" ,libgnome) + ("libgnomecanvas" ,libgnomecanvas) + ("libglade" ,libglade))) + (native-inputs + `(("intltool" ,intltool) + ("xorg-server" ,xorg-server) ; For running the tests + ("pkg-config" ,pkg-config))) + (home-page "https://developer.gnome.org/libbonoboui/") + (synopsis "Some user interface controls using Bonobo") + (description "The Bonobo UI library provides a number of user interface +controls using the Bonobo component framework.") + (license license:lgpl2.0+))) + diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 7600103da3..54cfbfb5f1 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -169,6 +169,33 @@ used throughout the world.") (license license:lgpl2.0+) (home-page "https://developer.gnome.org/pango/"))) +(define-public pangox-compat + (package + (name "pangox-compat") + (version "0.0.2") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/" name "/" (string-take version 3) "/" name "-" + version + ".tar.xz")) + (sha256 + (base32 + "0ip0ziys6mrqqmz4n71ays0kf5cs1xflj1gfpvs4fgy2nsrr482m")))) + (build-system gnu-build-system) + (inputs + `(("glib" ,glib) + ("pango" ,pango))) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (home-page "https://developer.gnome.org/pango") + (synopsis "functions now obsolete in pango") + (description "Pangox was a X backend to pango. It is now obsolete and no +longer provided by recent pango releases. pangox-compat provides the +functions which were removed.") + (license license:lgpl2.0+))) + (define-public gtksourceview (package diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 4fcb997f34..8ef4f44f5a 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -43,11 +43,13 @@ #:use-module (gnu packages ghostscript) #:use-module (gnu packages gtk) #:use-module (gnu packages less) + #:use-module (gnu packages gnome) #:use-module (gnu packages xorg) #:use-module (gnu packages gl) #:use-module (gnu packages mpi) #:use-module (gnu packages multiprecision) #:use-module (gnu packages pcre) + #:use-module (gnu packages popt) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -791,3 +793,36 @@ bio-chemistry.") "install")))) ,scotch-phases)))))) (synopsis "Programs and libraries for graph algorithms (with MPI)"))) + +(define-public gsegrafix + (package + (name "gsegrafix") + (version "1.0.6") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/" name "/" name "-" + version ".tar.gz")) + (sha256 + (base32 + "1b13hvx063zv970y750bx41wpx6hwd5ngjhbdrna8w8yy5kmxcda")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("LDFLAGS=-lm"))) + (inputs + `(("libgnomecanvas" ,libgnomecanvas) + ("libbonoboui" ,libbonoboui) + ("libgnomeui" ,libgnomeui) + ("libgnomeprintui" ,libgnomeprintui) + ("popt" ,popt))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://www.gnu.org/software/gsegrafix/") + (synopsis "GNOME application to create scientific and engineering plots") + (description "GSEGrafix is an application which produces high-quality graphical +plots for science and engineering. Plots are specified via simple ASCII +parameter files and data files and are presented in an anti-aliased GNOME +canvas. The program supports rectangular two-dimensional plots, histograms, +polar-axis plots and three-dimensional plots. Plots can be printed or saved +to BMP, JPEG or PNG image formats.") + (license license:gpl3+))) -- cgit v1.2.3 From 3963a7292a1c098b7539962daf5dd82f2faefed1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 May 2014 11:51:49 +0200 Subject: gnu: Add Transmission. * gnu/packages/bittorrent.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu/packages/bittorrent.scm | 91 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 gnu/packages/bittorrent.scm (limited to 'gnu/packages') diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm new file mode 100644 index 0000000000..e21b7fbee2 --- /dev/null +++ b/gnu/packages/bittorrent.scm @@ -0,0 +1,91 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 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 bittorrent) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) + #:renamer (symbol-prefix-proc 'l:)) + #:use-module (gnu packages openssl) + #:use-module (gnu packages libevent) + #:use-module (gnu packages curl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages file) + #:use-module (gnu packages linux) + #:use-module ((gnu packages compression) + #:select (zlib)) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk)) + +(define-public transmission + (package + (name "transmission") + (version "2.83") + (source (origin + (method url-fetch) + (uri (string-append + "https://transmission.cachefly.net/transmission-" + version ".tar.xz")) + (sha256 + (base32 + "0cqlgl6jmjw1caybz6nzh3l8z0jak1dxba01isv72zvy2r8b1qdh")))) + (build-system gnu-build-system) + (outputs '("out" ; library and command-line interface + "gui")) ; graphical user interface + (arguments + '(#:phases (alist-cons-after + 'install 'move-gui + (lambda* (#:key outputs #:allow-other-keys) + ;; Move the GUI to its own output, so that "out" doesn't + ;; depend on GTK+. + (let ((out (assoc-ref outputs "out")) + (gui (assoc-ref outputs "gui"))) + (mkdir-p (string-append gui "/bin")) + (rename-file (string-append out "/bin/transmission-gtk") + (string-append gui + "/bin/transmission-gtk")))) + %standard-phases))) + (inputs + `(("inotify-tools" ,inotify-tools) + ("libevent" ,libevent) + ("curl" ,curl) + ("openssl" ,openssl) + ("file" ,file) + ("zlib" ,zlib) + ("gtk+" ,gtk+))) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (home-page "http://www.transmissionbt.com/") + (synopsis "Fast and easy BitTorrent client") + (description + "Transmission is a BitTorrent client that comes with graphical, +textual, and Web user interfaces. Transmission also has a daemon for +unattended operationg. It supports local peer discovery, full encryption, +DHT, µTP, PEX and Magnet Links.") + + ;; COPYING reads: + ;; + ;; Transmission can be redistributed and/or modified under the terms of + ;; the GNU GPLv2 (http://www.gnu.org/licenses/license-list.html#GPLv2), + ;; the GNU GPLv3 (http://www.gnu.org/licenses/license-list.html#GNUGPLv3), + ;; or any future license endorsed by Mnemosyne LLC. + ;; + ;; A few files files carry an MIT/X11 license header. + (license l:gpl3+))) -- cgit v1.2.3 From c1448c69747c7e8bd2a2e911b96c7f2837fee691 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 27 May 2014 10:01:52 -0500 Subject: gnu: Add python-lockfile. * gnu/packages/python.scm (python-lockfile): New variable. --- gnu/packages/python.scm | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index d3d4f390ff..53d1f3edb4 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -21,7 +21,7 @@ (define-module (gnu packages python) #:use-module ((guix licenses) - #:select (bsd-3 bsd-style psfl x11 x11-style + #:select (bsd-3 bsd-style expat psfl x11 x11-style gpl2 gpl2+ lgpl2.1+)) #:use-module ((guix licenses) #:select (zlib) #:renamer (symbol-prefix-proc 'license:)) @@ -293,6 +293,30 @@ etc. ") (define-public python2-babel (package-with-python2 python-babel)) +(define-public python-lockfile + (package + (name "python-lockfile") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/l/lockfile/" + "lockfile-" version ".tar.gz")) + (sha256 + (base32 + "0iwif7i84gwpvrnpv4brshdk8j6l77smvknm8k3bg77mj6f5ini3")))) + (build-system python-build-system) + (arguments '(#:test-target "check")) + (home-page "http://code.google.com/p/pylockfile/") + (synopsis "Platform-independent file locking module") + (description + "The lockfile package exports a LockFile class which provides a simple +API for locking files.") + (license expat))) + +(define-public python2-lockfile + (package-with-python2 python-lockfile)) + (define-public python-setuptools (package -- cgit v1.2.3 From 5a1a4bf6b2cc2a7652d0c9199b22af6297b78f7e Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 27 May 2014 10:02:16 -0500 Subject: gnu: Add python-mock. * gnu/packages/python.scm (python-mock): New variable. --- gnu/packages/python.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 53d1f3edb4..b15e5b66d2 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -317,6 +317,31 @@ API for locking files.") (define-public python2-lockfile (package-with-python2 python-lockfile)) +(define-public python-mock + (package + (name "python-mock") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/m/mock/" + "mock-" version ".tar.gz")) + (sha256 + (base32 + "0kzlsbki6q0awf89rc287f3aj8x431lrajf160a70z0ikhnxsfdq")))) + (build-system python-build-system) + (arguments '(#:test-target "check")) + (home-page "http://code.google.com/m/mock/") + (synopsis "A Python Mocking and Patching Library for Testing") + (description + "Mock is a library for testing in Python. It allows you to replace parts +of your system under test with mock objects and make assertions about how they +have been used.") + (license expat))) + +(define-public python2-mock + (package-with-python2 python-mock)) + (define-public python-setuptools (package -- cgit v1.2.3 From d1a5439bcbb1da781e08a69a630722af626263d2 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 27 May 2014 10:04:42 -0500 Subject: gnu: Add duplicity. * gnu/packages/backup.scm: New file. * gnu-system.am: Add it. --- gnu/packages/backup.scm | 71 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 gnu/packages/backup.scm (limited to 'gnu/packages') diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm new file mode 100644 index 0000000000..574bb11816 --- /dev/null +++ b/gnu/packages/backup.scm @@ -0,0 +1,71 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Eric Bavier +;;; +;;; 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 backup) + #:use-module (guix packages) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix build-system python) + #:use-module (gnu packages) + #:use-module (gnu packages python) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages rsync) + #:use-module (srfi srfi-1)) + +(define-public duplicity + (package + (name "duplicity") + (version "0.6.24") + (source + (origin + (method url-fetch) + (uri (string-append "https://code.launchpad.net/duplicity/" + (string-join (take (string-split version #\.) 2) ".") + "-series/" version "/+download/duplicity-" + version ".tar.gz")) + (sha256 + (base32 + "0l14nrhbgkyjgvh339bbhnm6hrdwrjadphq1jmpi0mcgcdbdfh8x")))) + (build-system python-build-system) + (native-inputs + `(("python2-setuptools" ,python2-setuptools))) + (inputs + `(("python" ,python-2) + ("librsync" ,librsync) + ("mock" ,python2-mock) ;for testing + ("lockfile" ,python2-lockfile) + ("gnupg" ,gnupg-1))) ;gpg executable needed + (arguments + `(#:python ,python-2 ;setup assumes Python 2 + #:test-target "test" + #:phases (alist-cons-before + 'check 'patch-tests + (lambda _ + (substitute* "testing/functional/__init__.py" + (("/bin/sh") (which "sh")))) + %standard-phases))) + (home-page "http://duplicity.nongnu.org/index.html") + (synopsis "Encrypted backup using rsync algorithm") + (description + "Duplicity backs up directories by producing encrypted tar-format volumes +and uploading them to a remote or local file server. Because duplicity uses +librsync, the incremental archives are space efficient and only record the +parts of files that have changed since the last backup. Because duplicity +uses GnuPG to encrypt and/or sign these archives, they will be safe from +spying and/or modification by the server.") + (license gpl2+))) -- cgit v1.2.3 From 33dcd2a80410d9dbd9b4428ed6a7ef59cd1b0493 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 27 May 2014 10:38:57 -0500 Subject: gnu: librsync: Fix source uri * gnu/packages/rsync.scm (librsync) [source]: Fix sourceforge uri. --- gnu/packages/rsync.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/rsync.scm b/gnu/packages/rsync.scm index a55febfdf4..9c1a7a3b34 100644 --- a/gnu/packages/rsync.scm +++ b/gnu/packages/rsync.scm @@ -57,7 +57,7 @@ files in the destination.") (version "0.9.7") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/projects/librsync/librsync/" + (uri (string-append "mirror://sourceforge/librsync/librsync/" version "/librsync-" version ".tar.gz")) (sha256 (base32 -- cgit v1.2.3 From 2a7050abf8ae27d6ee929426cadd3889be611ff8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 27 May 2014 14:51:57 +0200 Subject: gnu: Add Autoconf 2.64. * gnu/packages/autotools.scm (autoconf-2.64): New variable. --- gnu/packages/autotools.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index bd38f2a901..db1db45fc1 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -74,6 +74,20 @@ know anything about Autoconf or M4.") (base32 "1fjm21k2na07f3vasf288a0zx66lbv0hd3l9bvv3q8p62s3pg569")))))) +(define-public autoconf-2.64 + ;; As of GDB 7.8, GDB is still developed using this version of Autoconf. + (package (inherit autoconf) + (version "2.64") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/autoconf/autoconf-" + version ".tar.xz")) + (sha256 + (base32 + "0j3jdjpf5ly39dlp0bg70h72nzqr059k0x8iqxvaxf106chpgn9j")))))) + + (define* (autoconf-wrapper #:optional (autoconf autoconf)) "Return an wrapper around AUTOCONF that generates `configure' scripts that use our own Bash instead of /bin/sh in shebangs. For that reason, it should -- cgit v1.2.3