aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/admin.scm38
-rw-r--r--gnu/packages/backup.scm214
-rw-r--r--gnu/packages/base.scm1
-rw-r--r--gnu/packages/bdb.scm10
-rw-r--r--gnu/packages/compression.scm1
-rw-r--r--gnu/packages/ddrescue.scm47
-rw-r--r--gnu/packages/disk.scm (renamed from gnu/packages/parted.scm)58
-rw-r--r--gnu/packages/elf.scm9
-rw-r--r--gnu/packages/fdisk.scm53
-rw-r--r--gnu/packages/gnome.scm5
-rw-r--r--gnu/packages/gnutls.scm4
-rw-r--r--gnu/packages/linux.scm62
-rw-r--r--gnu/packages/maths.scm3
-rw-r--r--gnu/packages/openssl.scm7
-rw-r--r--gnu/packages/package-management.scm1
-rw-r--r--gnu/packages/patches/cssc-gets-undeclared.patch17
-rw-r--r--gnu/packages/patches/cssc-missing-include.patch12
-rw-r--r--gnu/packages/patches/gtkglext-remove-pangox-dependency.patch132
-rw-r--r--gnu/packages/patches/module-init-tools-moduledir.patch168
-rw-r--r--gnu/packages/patches/openssl-CVE-2010-5298.patch27
-rw-r--r--gnu/packages/patches/openssl-extension-checking-fixes.patch40
-rw-r--r--gnu/packages/patches/util-linux-perl.patch15
-rw-r--r--gnu/packages/version-control.scm46
23 files changed, 638 insertions, 332 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index fded33c60b..a3d600d7be 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -722,3 +722,41 @@ 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)))
+
+(define-public wakelan
+ (package
+ (name "wakelan")
+ (version "1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "ftp://ftp.gwdg.de/pub/linux/metalab/system/network/misc/wakelan-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0vydqpf44146ir6k87gmqaq6xy66xhc1gkr3nsd7jj3nhy7ypx9x"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases (alist-replace
+ 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (mkdir-p (string-append out "/bin"))
+ (mkdir-p (string-append out "/share/man/man1"))
+
+ ;; It's an old configure script that doesn't understand
+ ;; the extra options we pass.
+ (setenv "CONFIG_SHELL" (which "bash"))
+ (zero?
+ (system* "./configure"
+ (string-append "--prefix=" out)
+ (string-append "--mandir=" out
+ "/share/man")))))
+ %standard-phases)
+ #:tests? #f))
+ (home-page "http://kernel.org") ; really, no home page
+ (synopsis "Send a wake-on-LAN packet")
+ (description
+ "WakeLan broadcasts a properly formatted UDP packet across the local area
+network, which causes enabled computers to power on.")
+ (license gpl2+)))
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 574bb11816..069baa88da 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -18,13 +18,25 @@
(define-module (gnu packages backup)
#:use-module (guix packages)
- #:use-module (guix licenses)
+ #:use-module ((guix licenses)
+ #:renamer (symbol-prefix-proc 'license:))
#:use-module (guix download)
+ #:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages)
- #:use-module (gnu packages python)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages dejagnu)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages mcrypt)
+ #:use-module (gnu packages nettle)
+ #:use-module (gnu packages pcre)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages rsync)
+ #:use-module (gnu packages ssh)
+ #:use-module (gnu packages xml)
#:use-module (srfi srfi-1))
(define-public duplicity
@@ -68,4 +80,200 @@ 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+)))
+ (license license:gpl2+)))
+
+(define-public hdup
+ (package
+ (name "hdup")
+ (version "2.0.14")
+ (source
+ (origin
+ (method url-fetch)
+ ;; Source tarballs are not versioned
+ (uri "http://archive.miek.nl/projects/hdup2/hdup.tar.bz2")
+ (sha256
+ (base32
+ "02bnczg01cyhajmm4rhbnc0ja0dd9ikv9fwv28asxh1rlx9yr0b7"))))
+ (build-system gnu-build-system)
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("tar" ,tar)
+ ("lzop" ,lzop)
+ ("mcrypt" ,mcrypt)
+ ("openssh" ,openssh)
+ ("gnupg" ,gnupg-1)))
+ (arguments
+ `(#:configure-flags
+ `(,(string-append "--sbindir=" (assoc-ref %outputs "out") "/bin"))
+ #:tests? #f))
+ (home-page "http://archive.miek.nl/projects/hdup/index.html")
+ (synopsis "Simple incremental backup tool")
+ (description
+ "Hdup2 is a backup utilty, its aim is to make backup really simple. The
+backup scheduling is done by means of a cron job. It supports an
+include/exclude mechanism, remote backups, encrypted backups and split
+backups (called chunks) to allow easy burning to CD/DVD.")
+ (license license:gpl2)))
+
+(define-public libarchive
+ (package
+ (name "libarchive")
+ (version "3.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://libarchive.org/downloads/libarchive-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0pixqnrcf35dnqgv0lp7qlcw7k13620qkhgxr288v7p4iz6ym1zb"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("zlib" ,zlib)
+ ("nettle" ,nettle)
+ ("lzo" ,lzo)
+ ("bzip2" ,bzip2)
+ ("libxml2" ,libxml2)
+ ("xz" ,xz)))
+ (arguments
+ `(#:phases
+ (alist-cons-before
+ 'build 'patch-pwd
+ (lambda _
+ (substitute* "Makefile"
+ (("/bin/pwd") (which "pwd"))))
+ (alist-replace
+ 'check
+ (lambda _
+ ;; XXX: The test_owner_parse, test_read_disk, and
+ ;; test_write_disk_lookup tests expect user 'root' to exist, but
+ ;; the chroot's /etc/passwd doesn't have it. Turn off those tests.
+ ;;
+ ;; The tests allow one to disable tests matching a globbing pattern.
+ (and (zero? (system* "make"
+ "libarchive_test" "bsdcpio_test" "bsdtar_test"))
+ ;; XXX: This glob disables too much.
+ (zero? (system* "./libarchive_test" "^test_*_disk*"))
+ (zero? (system* "./bsdcpio_test" "^test_owner_parse"))
+ (zero? (system* "./bsdtar_test"))))
+ %standard-phases))))
+ (home-page "http://libarchive.org/")
+ (synopsis "Multi-format archive and compression library")
+ (description
+ "Libarchive provides a flexible interface for reading and writing
+archives in various formats such as tar and cpio. Libarchive also supports
+reading and writing archives compressed using various compression filters such
+as gzip and bzip2. The library is inherently stream-oriented; readers
+serially iterate through the archive, writers serially add things to the
+archive. In particular, note that there is currently no built-in support for
+random access nor for in-place modification.")
+ (license license:bsd-2)))
+
+(define-public rdup
+ (package
+ (name "rdup")
+ (version "1.1.14")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://archive.miek.nl/projects/rdup/rdup-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "0aklwd9v7ix0m4ayl762sil685f42cwljzx3jz5skrnjaq32npmj"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("dejagnu" ,dejagnu)))
+ (inputs
+ `(("glib" ,glib)
+ ("pcre" ,pcre)
+ ("libarchive" ,libarchive)
+ ("nettle" ,nettle)))
+ (arguments
+ `(#:parallel-build? #f ;race conditions
+ #:phases (alist-cons-before
+ 'build 'remove-Werror
+ ;; rdup uses a deprecated function from libarchive
+ (lambda _
+ (substitute* "GNUmakefile"
+ (("^(CFLAGS=.*)-Werror" _ front) front)))
+ %standard-phases)))
+ (home-page "http://archive.miek.nl/projects/rdup/index.html")
+ (synopsis "Provide a list of files to backup")
+ (description
+ "Rdup is a utility inspired by rsync and the plan9 way of doing backups.
+Rdup itself does not backup anything, it only print a list of absolute
+filenames to standard output. Auxiliary scripts are needed that act on this
+list and implement the backup strategy.")
+ (license license:gpl3+)))
+
+(define-public btar
+ (package
+ (name "btar")
+ (version "1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://vicerveza.homeunix.net/~viric/soft/btar/"
+ "btar-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0miklk4bqblpyzh1bni4x6lqn88fa8fjn15x1k1n8bxkx60nlymd"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("librsync" ,librsync)))
+ (arguments
+ `(#:make-flags `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
+ "CC=gcc")
+ #:tests? #f ;test input not distributed
+ #:phases
+ (alist-delete
+ 'configure ;no configure phase
+ %standard-phases)))
+ (home-page "http://viric.name/cgi-bin/btar/doc/trunk/doc/home.wiki")
+ (synopsis "Tar-compatible archiver")
+ (description
+ "Btar is a tar-compatible archiver which allows arbitrary compression and
+ciphering, redundancy, differential backup, indexed extraction, multicore
+compression, input and output serialisation, and tolerance to partial archive
+errors.")
+ (license license:gpl3+)))
+
+(define-public rdiff-backup
+ (package
+ (name "rdiff-backup")
+ (version "1.2.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/rdiff-backup/rdiff-backup-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1nwmmh816f96h0ff1jxk95ad38ilbhbdl5dgibx1d4cl81dsi48d"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python2-setuptools" ,python2-setuptools)))
+ (inputs
+ `(("python" ,python-2)
+ ("librsync" ,librsync)))
+ (arguments
+ `(#:python ,python-2
+ #:tests? #f))
+ (home-page "http://www.nongnu.org/rdiff-backup/")
+ (synopsis "Local/remote mirroring+incremental backup")
+ (description
+ "Rdiff-backup backs up one directory to another, possibly over a network.
+The target directory ends up a copy of the source directory, but extra reverse
+diffs are stored in a special subdirectory of that target directory, so you
+can still recover files lost some time ago. The idea is to combine the best
+features of a mirror and an incremental backup. Rdiff-backup also preserves
+subdirectories, hard links, dev files, permissions, uid/gid ownership,
+modification times, extended attributes, acls, and resource forks. Also,
+rdiff-backup can operate in a bandwidth efficient manner over a pipe, like
+rsync. Thus you can use rdiff-backup and ssh to securely back a hard drive up
+to a remote location, and only the differences will be transmitted. Finally,
+rdiff-backup is easy to use and settings have sensical defaults.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 3f83ed8d49..ce95559ba5 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -976,6 +976,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; The final GCC.
(package (inherit gcc-boot0)
(name "gcc")
+ (location (source-properties->location (current-source-location)))
(arguments
`(#:guile ,%bootstrap-guile
#:implicit-inputs? #f
diff --git a/gnu/packages/bdb.scm b/gnu/packages/bdb.scm
index 75a2b72b44..e82a683332 100644
--- a/gnu/packages/bdb.scm
+++ b/gnu/packages/bdb.scm
@@ -34,13 +34,21 @@
(sha256 (base32
"1f2g2612lf8djbwbwhxsvmffmf9d7693kh2l20195pqp0f9jmnfx"))))
(build-system gnu-build-system)
+ (outputs '("out" ; programs, libraries, headers
+ "doc")) ; 94 MiB of HTML docs
(arguments
'(#:tests? #f ; no check target available
#:phases
(alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
+ (let ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ ;; '--docdir' is not honored, so we need to patch.
+ (substitute* "dist/Makefile.in"
+ (("docdir[[:blank:]]*=.*")
+ (string-append "docdir = " doc "/share/doc/bdb")))
+
(zero?
(system* "./dist/configure"
(string-append "--prefix=" out)
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index c8328076cf..6887ba6167 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -315,3 +315,4 @@ archives that can be readily emailed. A shell archive is a file that can be
processed by a Bourne-type shell to unpack the original collection of files.
This package is mostly for compatibility and historical interest.")
(license license:gpl3+)))
+
diff --git a/gnu/packages/ddrescue.scm b/gnu/packages/ddrescue.scm
deleted file mode 100644
index dd5bf0e552..0000000000
--- a/gnu/packages/ddrescue.scm
+++ /dev/null
@@ -1,47 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (gnu packages ddrescue)
- #:use-module (guix licenses)
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (guix build-system gnu)
- #:use-module ((gnu packages compression) #:select (lzip)))
-
-(define-public ddrescue
- (package
- (name "ddrescue")
- (version "1.17")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/ddrescue/ddrescue-"
- version ".tar.lz"))
- (sha256
- (base32
- "0bvmsbzli2j4czwkabzs978n1y6vx31axh02kpgcf7033cc6rydy"))))
- (build-system gnu-build-system)
- (home-page "http://www.gnu.org/software/ddrescue/ddrescue.html")
- (synopsis "Data recovery utility")
- (native-inputs `(("lzip" ,lzip)))
- (description
- "GNU ddrescue is a fully automated data recovery tool. It copies data
-from one file to another, working to rescue data in case of read errors. The
-program also includes a tool for manipulating its log files, which are used
-to recover data more efficiently by only reading the necessary blocks.")
- (license gpl3+)))
diff --git a/gnu/packages/parted.scm b/gnu/packages/disk.scm
index 5d5d38a515..a5404b2749 100644
--- a/gnu/packages/parted.scm
+++ b/gnu/packages/disk.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
+;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -16,7 +16,7 @@
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-(define-module (gnu packages parted)
+(define-module (gnu packages disk)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
@@ -24,7 +24,10 @@
#:use-module (gnu packages check)
#:use-module (gnu packages gettext)
#:use-module (gnu packages linux)
- #:use-module (gnu packages readline))
+ #:use-module (gnu packages readline)
+ #:use-module (gnu packages guile)
+ #:use-module ((gnu packages compression)
+ #:select (lzip)))
(define-public parted
(package
@@ -67,3 +70,52 @@
"GNU Parted is a package for creating and manipulating disk partition
tables. It includes a library and command-line utility.")
(license gpl3+)))
+
+(define-public fdisk
+ (package
+ (name "fdisk")
+ (version "2.0.0a")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/fdisk/gnufdisk-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "04nd7civ561x2lwcmxhsqbprml3178jfc58fy1v7hzqg5k4nbhy3"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("gettext" ,gnu-gettext)
+ ("guile" ,guile-1.8)
+ ("util-linux" ,util-linux)
+ ("parted" ,parted)))
+ (home-page "https://www.gnu.org/software/fdisk/")
+ (synopsis "Low-level disk partitioning and formatting")
+ (description
+ "GNU fdisk provides a GNU version of the common disk partitioning tool
+fdisk. fdisk is used for the creation and manipulation of disk partition
+tables, and it understands a variety of different formats.")
+ (license gpl3+)))
+
+(define-public ddrescue
+ (package
+ (name "ddrescue")
+ (version "1.17")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/ddrescue/ddrescue-"
+ version ".tar.lz"))
+ (sha256
+ (base32
+ "0bvmsbzli2j4czwkabzs978n1y6vx31axh02kpgcf7033cc6rydy"))))
+ (build-system gnu-build-system)
+ (home-page "http://www.gnu.org/software/ddrescue/ddrescue.html")
+ (synopsis "Data recovery utility")
+ (native-inputs `(("lzip" ,lzip)))
+ (description
+ "GNU ddrescue is a fully automated data recovery tool. It copies data
+from one file to another, working to rescue data in case of read errors. The
+program also includes a tool for manipulating its log files, which are used
+to recover data more efficiently by only reading the necessary blocks.")
+ (license gpl3+)))
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index 45714be70e..a9f2ab5351 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -47,8 +47,11 @@
(native-inputs `(("m4" ,m4)))
(inputs `(("zlib" ,zlib)))
(home-page "https://fedorahosted.org/elfutils/")
- (synopsis #f)
- (description #f)
+ (synopsis "Linker and ELF manipulation tools")
+ (description
+ "This package provides command-line tools to manipulate binaries in the
+Executable and Linkable Format (ELF). This includes ld, ar, objdump,
+addr2line, and more.")
;; Libraries are dual-licensed LGPLv3.0+ | GPLv2, and programs are GPLv3+.
(license lgpl3+)))
diff --git a/gnu/packages/fdisk.scm b/gnu/packages/fdisk.scm
deleted file mode 100644
index 8272c45aab..0000000000
--- a/gnu/packages/fdisk.scm
+++ /dev/null
@@ -1,53 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (gnu packages fdisk)
- #:use-module ((guix licenses) #:select (gpl3+))
- #:use-module (gnu packages gettext)
- #:use-module (gnu packages guile)
- #:use-module (gnu packages linux)
- #:use-module (gnu packages parted)
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (guix build-system gnu))
-
-(define-public fdisk
- (package
- (name "fdisk")
- (version "2.0.0a")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/fdisk/gnufdisk-"
- version ".tar.gz"))
- (sha256
- (base32
- "04nd7civ561x2lwcmxhsqbprml3178jfc58fy1v7hzqg5k4nbhy3"))))
- (build-system gnu-build-system)
- (inputs
- `(("gettext" ,gnu-gettext)
- ("guile" ,guile-1.8)
- ("util-linux" ,util-linux)
- ("parted" ,parted)))
- (home-page "https://www.gnu.org/software/fdisk/")
- (synopsis "Low-level disk partitioning and formatting")
- (description
- "GNU fdisk provides a GNU version of the common disk partitioning tool
-fdisk. fdisk is used for the creation and manipulation of disk partition
-tables, and it understands a variety of different formats.")
- (license gpl3+)))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 232afc6e44..b10f2a6646 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -460,7 +460,6 @@ the API")
(sha256
(base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
(patches (list
- (search-patch "gtkglext-remove-pangox-dependency.patch")
(search-patch "gtkglext-disable-disable-deprecated.patch")))))
(build-system gnu-build-system)
(inputs `(("gtk+" ,gtk+-2)
@@ -468,6 +467,7 @@ the API")
("libx11" ,libx11)
("libxt" ,libxt)))
(native-inputs `(("pkg-config" ,pkg-config)))
+ (propagated-inputs `(("pangox-compat" ,pangox-compat)))
(home-page "https://projects.gnome.org/gtkglext")
(synopsis "OpenGL extension to GTK+.")
(description "GtkGLExt is an OpenGL extension to GTK+. It provides
@@ -837,7 +837,8 @@ allows applications to access local and remote files with a single consistent AP
(source (origin
(method url-fetch)
(uri (string-append
- "mirror://gnome/sources/" name "/" (string-take version 3) "/" name "-"
+ "mirror://gnome/sources/" name "/"
+ (string-take version 4) "/" name "-"
version
".tar.bz2"))
(sha256
diff --git a/gnu/packages/gnutls.scm b/gnu/packages/gnutls.scm
index 0391f54126..e136ed8b26 100644
--- a/gnu/packages/gnutls.scm
+++ b/gnu/packages/gnutls.scm
@@ -63,7 +63,7 @@ specifications.")
(define-public gnutls
(package
(name "gnutls")
- (version "3.2.12")
+ (version "3.2.15")
(source (origin
(method url-fetch)
(uri
@@ -75,7 +75,7 @@ specifications.")
"/gnutls-" version ".tar.xz"))
(sha256
(base32
- "0195nliarszq5mginli6d2f5z7ljnd7mwa46iy9z8pkcgy56khbl"))))
+ "1fbpr9r1r2y803s3avwjpy1higqsz85dyb302kvmh0i29frwgg9h"))))
(build-system gnu-build-system)
(arguments
;; Work around build issue reported at
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 130a0f2a9a..518b0e41b9 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -34,6 +34,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages algebra)
#:use-module (gnu packages gettext)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages attr)
#:use-module (gnu packages xml)
@@ -132,7 +133,9 @@
version ".tar.bz2"))
(sha256
(base32
- "0jxnz9ahfic79rp93l5wxcbgh4pkv85mwnjlbv1gz3jawv5cvwp1"))))
+ "0jxnz9ahfic79rp93l5wxcbgh4pkv85mwnjlbv1gz3jawv5cvwp1"))
+ (patches
+ (list (search-patch "module-init-tools-moduledir.patch")))))
(build-system gnu-build-system)
(arguments
;; FIXME: The upstream tarball lacks man pages, and building them would
@@ -181,7 +184,8 @@
"CONFIG_VIRTIO_MMIO=m\n"
"CONFIG_FUSE_FS=m\n"
"CONFIG_CIFS=m\n"
- "CONFIG_9P_FS=m\n")
+ "CONFIG_9P_FS=m\n"
+ "CONFIG_E1000E=m\n")
port)
(close-port port))
@@ -316,15 +320,15 @@ providing the system administrator with some help in common tasks.")
(package
(name "util-linux")
(version "2.21")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://kernel.org/linux/utils/"
- name "/v" version "/"
- name "-" version ".2" ".tar.xz"))
- (sha256
- (base32
- "1rpgghf7n0zx0cdy8hibr41wvkm2qp1yvd8ab1rxr193l1jmgcir"))))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kernel.org/linux/utils/"
+ name "/v" version "/"
+ name "-" version ".2" ".tar.xz"))
+ (sha256
+ (base32
+ "1rpgghf7n0zx0cdy8hibr41wvkm2qp1yvd8ab1rxr193l1jmgcir"))
+ (patches (list (search-patch "util-linux-perl.patch")))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--disable-use-tty-group"
@@ -961,7 +965,15 @@ processes currently causing I/O.")
"/bin/" maybe-u "mount")))
(substitute* '("util/mount.fuse.c")
(("/bin/sh")
- (which "sh"))))
+ (which "sh")))
+
+ ;; This hack leads libfuse to search for 'fusermount' in
+ ;; $PATH, where it may find a setuid-root binary, instead of
+ ;; trying solely $out/sbin/fusermount and failing because
+ ;; it's not setuid.
+ (substitute* "lib/Makefile"
+ (("-DFUSERMOUNT_DIR=[[:graph:]]+")
+ "-DFUSERMOUNT_DIR=\\\"/var/empty\\\"")))
%standard-phases)))
(home-page "http://fuse.sourceforge.net/")
(synopsis "Support file systems implemented in user space")
@@ -1033,6 +1045,32 @@ UnionFS-FUSE additionally supports copy-on-write.")
#:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-static")))
(inputs `(("fuse" ,fuse-static)))))
+(define-public sshfs-fuse
+ (package
+ (name "sshfs-fuse")
+ (version "2.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/fuse/sshfs-fuse-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0gp6qr33l2p0964j0kds0dfmvyyf5lpgsn11daf0n5fhwm9185z9"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("fuse" ,fuse)
+ ("glib" ,glib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://fuse.sourceforge.net/sshfs.html")
+ (synopsis "Mount remote file systems over SSH")
+ (description
+ "This is a file system client based on the SSH File Transfer Protocol.
+Since most SSH servers already support this protocol it is very easy to set
+up: on the server side there's nothing to do; on the client side mounting the
+file system is as easy as logging into the server with an SSH client.")
+ (license gpl2+)))
+
(define-public numactl
(package
(name "numactl")
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 8ef4f44f5a..d1860dfa97 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -253,7 +253,8 @@ plotting engine by third-party applications like Octave.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-"
+ (uri (string-append "http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-"
+ version "/src/hdf5-"
version ".tar.bz2"))
(sha256
(base32 "0f9n0v3p3lwc7564791a39c6cn1d3dbrn7d1j3ikqsi27a8hy23d"))))
diff --git a/gnu/packages/openssl.scm b/gnu/packages/openssl.scm
index eb03bb99c3..51caa00e68 100644
--- a/gnu/packages/openssl.scm
+++ b/gnu/packages/openssl.scm
@@ -28,17 +28,14 @@
(define-public openssl
(package
(name "openssl")
- (version "1.0.1g")
+ (version "1.0.1h")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.openssl.org/source/openssl-" version
".tar.gz"))
(sha256
(base32
- "0a70qdqccg16nw4bbawa6pjvzn05vfp5wkwg6jl0grch7f683jsk"))
- (patches
- (list (search-patch "openssl-CVE-2010-5298.patch")
- (search-patch "openssl-extension-checking-fixes.patch")))))
+ "14yhsgag5as7nhxnw7f0vklwjwa3pmn1i15nmp3f4qxa6sc8l74x"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(arguments
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index e74491a827..672ae9ad6b 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -43,6 +43,7 @@
(arguments
`(#:configure-flags (list
"--localstatedir=/var"
+ "--sysconfdir=/etc"
(string-append "--with-libgcrypt-prefix="
(assoc-ref %build-inputs
"libgcrypt")))
diff --git a/gnu/packages/patches/cssc-gets-undeclared.patch b/gnu/packages/patches/cssc-gets-undeclared.patch
new file mode 100644
index 0000000000..68c607cf58
--- /dev/null
+++ b/gnu/packages/patches/cssc-gets-undeclared.patch
@@ -0,0 +1,17 @@
+CSSC uses a gets in a couple of places. For security reasons, modern gnulib
+does not allow this. This patch allows it again.
+--- CSSC-1.3.0/gl/lib/stdio.in.h 2010-05-15 00:15:35.000000000 +0200
++++ CSSC-1.3.0/gl/lib/stdio.in.h 2014-02-03 21:27:10.000000000 +0100
+@@ -135,12 +135,6 @@
+ "use gnulib module fflush for portable POSIX compliance");
+ #endif
+
+-/* It is very rare that the developer ever has full control of stdin,
+- so any use of gets warrants an unconditional warning. Assume it is
+- always declared, since it is required by C89. */
+-#undef gets
+-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+-
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
+ # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
diff --git a/gnu/packages/patches/cssc-missing-include.patch b/gnu/packages/patches/cssc-missing-include.patch
new file mode 100644
index 0000000000..3cef9c15f1
--- /dev/null
+++ b/gnu/packages/patches/cssc-missing-include.patch
@@ -0,0 +1,12 @@
+Added a missing include file (necessary for gid_t and others).
+So far as I am aware, this has not been added upstream yet.
+--- CSSC-1.3.0/src/file.h 2010-05-16 19:31:33.000000000 +0200
++++ CSSC-1.3.0/src/file.h 2014-02-03 21:48:30.000000000 +0100
+@@ -30,6 +30,7 @@
+ #ifndef CSSC__FILE_H__
+ #define CSSC__FILE_H__
+
++#include <sys/types.h>
+ #include "filelock.h"
+
+ enum create_mode {
diff --git a/gnu/packages/patches/gtkglext-remove-pangox-dependency.patch b/gnu/packages/patches/gtkglext-remove-pangox-dependency.patch
deleted file mode 100644
index 4f03785322..0000000000
--- a/gnu/packages/patches/gtkglext-remove-pangox-dependency.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-This patch removes the dependency on pangox which has been deprecated. It
-achieves the same result as the upstream patch at
-https://git.gnome.org/browse/gtkglext/commit/?id=df7a7b35b80b395d7ba411c7f727970a46fb0588
-Like the upstream patch, it removes the functions gdk_gl_font_use_pango_font,
-and gdk_gl_font_use_pango_font_for_display from the API.
-
-diff -r -U 3 a/configure b/configure
---- a/configure 2006-02-05 04:17:47.000000000 +0100
-+++ b/configure 2013-12-26 12:55:21.000000000 +0100
-@@ -19880,14 +19880,12 @@
- gtk+-2.0 >= 2.0.0 \\
- gdk-2.0 >= 2.0.0 \\
- pango >= 1.0.0 \\
--pangox >= 1.0.0 \\
- gmodule-2.0 >= 2.0.0 \\
- \"") >&5
- ($PKG_CONFIG --exists --print-errors "\
- gtk+-2.0 >= 2.0.0 \
- gdk-2.0 >= 2.0.0 \
- pango >= 1.0.0 \
--pangox >= 1.0.0 \
- gmodule-2.0 >= 2.0.0 \
- ") 2>&5
- ac_status=$?
-@@ -19897,7 +19895,6 @@
- gtk+-2.0 >= 2.0.0 \
- gdk-2.0 >= 2.0.0 \
- pango >= 1.0.0 \
--pangox >= 1.0.0 \
- gmodule-2.0 >= 2.0.0 \
- " 2>/dev/null`
- else
-@@ -19916,14 +19913,12 @@
- gtk+-2.0 >= 2.0.0 \\
- gdk-2.0 >= 2.0.0 \\
- pango >= 1.0.0 \\
--pangox >= 1.0.0 \\
- gmodule-2.0 >= 2.0.0 \\
- \"") >&5
- ($PKG_CONFIG --exists --print-errors "\
- gtk+-2.0 >= 2.0.0 \
- gdk-2.0 >= 2.0.0 \
- pango >= 1.0.0 \
--pangox >= 1.0.0 \
- gmodule-2.0 >= 2.0.0 \
- ") 2>&5
- ac_status=$?
-@@ -19933,7 +19928,6 @@
- gtk+-2.0 >= 2.0.0 \
- gdk-2.0 >= 2.0.0 \
- pango >= 1.0.0 \
--pangox >= 1.0.0 \
- gmodule-2.0 >= 2.0.0 \
- " 2>/dev/null`
- else
-@@ -19958,7 +19952,6 @@
- gtk+-2.0 >= 2.0.0 \
- gdk-2.0 >= 2.0.0 \
- pango >= 1.0.0 \
--pangox >= 1.0.0 \
- gmodule-2.0 >= 2.0.0 \
- "`
- else
-@@ -19966,7 +19959,6 @@
- gtk+-2.0 >= 2.0.0 \
- gdk-2.0 >= 2.0.0 \
- pango >= 1.0.0 \
--pangox >= 1.0.0 \
- gmodule-2.0 >= 2.0.0 \
- "`
- fi
-@@ -19977,7 +19969,6 @@
- gtk+-2.0 >= 2.0.0 \
- gdk-2.0 >= 2.0.0 \
- pango >= 1.0.0 \
--pangox >= 1.0.0 \
- gmodule-2.0 >= 2.0.0 \
- ) were not met:
-
-@@ -19994,7 +19985,6 @@
- gtk+-2.0 >= 2.0.0 \
- gdk-2.0 >= 2.0.0 \
- pango >= 1.0.0 \
--pangox >= 1.0.0 \
- gmodule-2.0 >= 2.0.0 \
- ) were not met:
-
-@@ -25420,7 +25410,7 @@
- # CFLAGS and LIBS
- ##################################################
-
--GDKGLEXT_PACKAGES="gdk-2.0 pango pangox gmodule-2.0"
-+GDKGLEXT_PACKAGES="gdk-2.0 pango gmodule-2.0"
- GDKGLEXT_EXTRA_CFLAGS="$GL_CFLAGS $GDKGLEXT_WIN_CFLAGS"
- GDKGLEXT_EXTRA_LIBS="$GL_LIBS $GDKGLEXT_WIN_LIBS"
- GDKGLEXT_DEP_CFLAGS="$GDKGLEXT_EXTRA_CFLAGS `$PKG_CONFIG --cflags $GDKGLEXT_PACKAGES`"
-diff -r -U 3 a/gdk/x11/Makefile.in b/gdk/x11/Makefile.in
---- a/gdk/x11/Makefile.in 2006-02-05 04:17:42.000000000 +0100
-+++ b/gdk/x11/Makefile.in 2013-12-26 13:12:04.000000000 +0100
-@@ -257,7 +257,6 @@
- gdkgldrawable-x11.c \
- gdkglpixmap-x11.c \
- gdkglwindow-x11.c \
-- gdkglfont-x11.c \
- gdkglglxext.c
-
-
-@@ -288,7 +287,7 @@
- am__objects_1 =
- am__objects_2 = gdkglquery-x11.lo gdkglconfig-x11.lo gdkgloverlay-x11.lo \
- gdkglcontext-x11.lo gdkgldrawable-x11.lo gdkglpixmap-x11.lo \
-- gdkglwindow-x11.lo gdkglfont-x11.lo gdkglglxext.lo
-+ gdkglwindow-x11.lo gdkglglxext.lo
- am__objects_3 = $(am__objects_1) $(am__objects_2)
- am_libgdkglext_x11_la_OBJECTS = $(am__objects_3)
- libgdkglext_x11_la_OBJECTS = $(am_libgdkglext_x11_la_OBJECTS)
-@@ -299,7 +298,6 @@
- @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/gdkglconfig-x11.Plo \
- @AMDEP_TRUE@ ./$(DEPDIR)/gdkglcontext-x11.Plo \
- @AMDEP_TRUE@ ./$(DEPDIR)/gdkgldrawable-x11.Plo \
--@AMDEP_TRUE@ ./$(DEPDIR)/gdkglfont-x11.Plo \
- @AMDEP_TRUE@ ./$(DEPDIR)/gdkglglxext.Plo \
- @AMDEP_TRUE@ ./$(DEPDIR)/gdkgloverlay-x11.Plo \
- @AMDEP_TRUE@ ./$(DEPDIR)/gdkglpixmap-x11.Plo \
-@@ -349,7 +347,6 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdkglconfig-x11.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdkglcontext-x11.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdkgldrawable-x11.Plo@am__quote@
--@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdkglfont-x11.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdkglglxext.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdkgloverlay-x11.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdkglpixmap-x11.Plo@am__quote@
diff --git a/gnu/packages/patches/module-init-tools-moduledir.patch b/gnu/packages/patches/module-init-tools-moduledir.patch
new file mode 100644
index 0000000000..68d7988f53
--- /dev/null
+++ b/gnu/packages/patches/module-init-tools-moduledir.patch
@@ -0,0 +1,168 @@
+This patch changes 'modprobe' & co. so they honor the 'LINUX_MODULE_DIRECTORY'
+environment variable, rather than looking for modules exclusively in
+/lib/modules.
+
+Patch by David Guibert, from Nixpkgs; adjusted to use 'LINUX_MODULE_DIRECTORY'
+rather than 'MODULE_DIR' as the variable name.
+
+commit cf2c95edb7918bc658f6cae93793c1949fc9cb6e
+Author: David Guibert <david.guibert@gmail.com>
+Date: Fri Aug 5 14:20:12 2011 +0200
+
+ introduce module-dir
+
+diff --git a/depmod.c b/depmod.c
+index a1d2f8c..9362a35 100644
+--- a/depmod.c
++++ b/depmod.c
+@@ -48,9 +48,6 @@
+
+ #include "testing.h"
+
+-#ifndef MODULE_DIR
+-#define MODULE_DIR "/lib/modules/"
+-#endif
+
+ #ifndef MODULE_BUILTIN_KEY
+ #define MODULE_BUILTIN_KEY "built-in"
+@@ -1516,6 +1513,7 @@ static int parse_config_file(const char *filename,
+ char *line;
+ unsigned int linenum = 0;
+ FILE *cfile;
++ char *module_dir;
+
+ cfile = fopen(filename, "r");
+ if (!cfile) {
+@@ -1525,6 +1523,10 @@ static int parse_config_file(const char *filename,
+ return 0;
+ }
+
++ if((module_dir = getenv("LINUX_MODULE_DIRECTORY")) == NULL) {
++ module_dir = "/lib/modules/";
++ }
++
+ while ((line = getline_wrapped(cfile, &linenum)) != NULL) {
+ char *ptr = line;
+ char *cmd, *modname;
+@@ -1550,7 +1552,7 @@ static int parse_config_file(const char *filename,
+ continue;
+ }
+ nofail_asprintf(&dirname, "%s%s%s/%s", basedir,
+- MODULE_DIR, kernelversion, search_path);
++ module_dir, kernelversion, search_path);
+ len = strlen(dirname);
+ *search = add_search(dirname, len, *search);
+ free(dirname);
+@@ -1565,7 +1567,7 @@ static int parse_config_file(const char *filename,
+ continue;
+
+ nofail_asprintf(&pathname, "%s%s%s/%s/%s.ko", basedir,
+- MODULE_DIR, kernelversion, subdir, modname);
++ module_dir, kernelversion, subdir, modname);
+
+ *overrides = add_override(pathname, *overrides);
+ free(pathname);
+@@ -1737,6 +1739,7 @@ int main(int argc, char *argv[])
+ char *basedir = "", *dirname, *version;
+ char *system_map = NULL, *module_symvers = NULL;
+ int i;
++ char *module_dir;
+ const char *config = NULL;
+
+ if (native_endianness() == 0)
+@@ -1832,7 +1835,11 @@ int main(int argc, char *argv[])
+ if (optind == argc)
+ all = 1;
+
+- nofail_asprintf(&dirname, "%s%s%s", basedir, MODULE_DIR, version);
++ if((module_dir = getenv("LINUX_MODULE_DIRECTORY")) == NULL) {
++ module_dir = "/lib/modules/";
++ }
++
++ nofail_asprintf(&dirname, "%s%s%s", basedir, module_dir, version);
+
+ if (maybe_all) {
+ if (!doing_stdout && !depfile_out_of_date(dirname))
+@@ -1850,7 +1857,7 @@ int main(int argc, char *argv[])
+ size_t len;
+
+ nofail_asprintf(&dirname, "%s%s%s/updates", basedir,
+- MODULE_DIR, version);
++ module_dir, version);
+ len = strlen(dirname);
+ search = add_search(dirname, len, search);
+ }
+diff --git a/modinfo.c b/modinfo.c
+index 1dd8469..67b1041 100644
+--- a/modinfo.c
++++ b/modinfo.c
+@@ -19,9 +19,6 @@
+ #include "zlibsupport.h"
+ #include "testing.h"
+
+-#ifndef MODULE_DIR
+-#define MODULE_DIR "/lib/modules"
+-#endif
+
+ struct param
+ {
+@@ -193,6 +190,11 @@ static struct elf_file *grab_module(const char *name,
+ struct utsname buf;
+ char *depname, *p, *moddir;
+ struct elf_file *module;
++ char *module_dir;
++
++ if((module_dir = getenv("LINUX_MODULE_DIRECTORY")) == NULL) {
++ module_dir = "/lib/modules/";
++ }
+
+ if (strchr(name, '.') || strchr(name, '/')) {
+ module = grab_elf_file(name);
+@@ -207,9 +209,9 @@ static struct elf_file *grab_module(const char *name,
+ kernel = buf.release;
+ }
+ if (strlen(basedir))
+- nofail_asprintf(&moddir, "%s/%s/%s", basedir, MODULE_DIR, kernel);
++ nofail_asprintf(&moddir, "%s/%s/%s", basedir, module_dir, kernel);
+ else
+- nofail_asprintf(&moddir, "%s/%s", MODULE_DIR, kernel);
++ nofail_asprintf(&moddir, "%s/%s", module_dir, kernel);
+
+ /* Search for it in modules.dep. */
+ nofail_asprintf(&depname, "%s/%s", moddir, "modules.dep");
+diff --git a/modprobe.c b/modprobe.c
+index 5464f45..d9fbf9d 100644
+--- a/modprobe.c
++++ b/modprobe.c
+@@ -86,10 +86,6 @@ typedef enum
+
+ } modprobe_flags_t;
+
+-#ifndef MODULE_DIR
+-#define MODULE_DIR "/lib/modules"
+-#endif
+-
+ /**
+ * print_usage - output the prefered program usage
+ *
+@@ -2136,6 +2132,7 @@ int main(int argc, char *argv[])
+ struct modprobe_conf conf = {};
+
+ recursion_depth = 0;
++ char *module_dir = NULL;
+
+ /* Prepend options from environment. */
+ argv = merge_args(getenv("MODPROBE_OPTIONS"), argv, &argc);
+@@ -2233,7 +2230,11 @@ int main(int argc, char *argv[])
+ if (argc < optind + 1 && !dump_config && !list_only)
+ print_usage(argv[0]);
+
+- nofail_asprintf(&dirname, "%s%s/%s", basedir, MODULE_DIR, buf.release);
++ if((module_dir = getenv("LINUX_MODULE_DIRECTORY")) == NULL) {
++ module_dir = "/lib/modules";
++ }
++
++ nofail_asprintf(&dirname, "%s%s/%s", basedir, module_dir, buf.release);
+
+ /* Old-style -t xxx wildcard? Only with -l. */
+ if (list_only) {
diff --git a/gnu/packages/patches/openssl-CVE-2010-5298.patch b/gnu/packages/patches/openssl-CVE-2010-5298.patch
deleted file mode 100644
index 707a24dff0..0000000000
--- a/gnu/packages/patches/openssl-CVE-2010-5298.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From db978be7388852059cf54e42539a363d549c5bfd Mon Sep 17 00:00:00 2001
-From: Kurt Roeckx <kurt@roeckx.be>
-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
deleted file mode 100644
index 3fdd893563..0000000000
--- a/gnu/packages/patches/openssl-extension-checking-fixes.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 300b9f0b704048f60776881f1d378c74d9c32fbd Mon Sep 17 00:00:00 2001
-From: "Dr. Stephen Henson" <steve@openssl.org>
-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
-
diff --git a/gnu/packages/patches/util-linux-perl.patch b/gnu/packages/patches/util-linux-perl.patch
new file mode 100644
index 0000000000..c657a1b5ae
--- /dev/null
+++ b/gnu/packages/patches/util-linux-perl.patch
@@ -0,0 +1,15 @@
+Use this common trick that exploits similarities between sh and Perl syntax
+to avoid a hard dependency on Perl. Instead, this script will work only
+when 'perl' is available in $PATH.
+
+--- util-linux-2.21.2/misc-utils/chkdupexe.pl 2012-05-15 13:51:45.000000000 +0200
++++ util-linux-2.21.2/misc-utils/chkdupexe.pl 2014-06-01 22:46:06.000000000 +0200
+@@ -1,5 +1,6 @@
+-#!@PERL@ -w
+-#
++eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
++ & eval 'exec perl -wS "$0" $argv:q'
++ if 0;
+ # chkdupexe version 2.1.1
+ #
+ # Simple script to look for and list duplicate executables and dangling
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index ed7d6f61ad..3903b971ad 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -44,7 +44,8 @@
#:use-module (gnu packages emacs)
#:use-module (gnu packages compression)
#:use-module (gnu packages swig)
- #:use-module (gnu packages tcl))
+ #:use-module (gnu packages tcl)
+ #:use-module (gnu packages))
(define-public bazaar
(package
@@ -435,3 +436,46 @@ standards-compliant ChangeLog entries based on the changes that it detects.")
insertions, deletions, and modifications per-file. It is useful for reviewing
large, complex patch files.")
(license (x11-style "file://COPYING"))))
+
+
+(define-public cssc
+ (package
+ (name "cssc")
+ (version "1.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/" name "/CSSC-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0bkw6fjh20ppvn54smv05461lm1vcwvn02avx941c4acafmkl1cm"))
+ (patches (list (search-patch "cssc-gets-undeclared.patch")
+ (search-patch "cssc-missing-include.patch")))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases (alist-cons-before
+ 'check 'precheck
+ (lambda _
+ (begin
+ (substitute* "tests/common/test-common"
+ (("/bin/pwd") (which "pwd")))
+
+ (substitute* "tests/prt/all-512.sh"
+ (("/bin/sh") (which "sh")))
+
+ ;; XXX: This test has no hope of passing until there is a "nogroup"
+ ;; entry (or at least some group to which the guix builder does
+ ;; not belong) in the /etc/group file of the build environment.
+ ;; Currently we do not have such a group. Disable this test for now.
+ (substitute* "tests/Makefile"
+ (("test-delta ") ""))))
+ %standard-phases)))
+ ;; These are needed for the tests
+ (native-inputs `(("git" ,git)
+ ("cvs" ,cvs)))
+ (home-page "http://www.gnu.org/software/cssc/")
+ (synopsis "File-based version control like SCCS")
+ (description "GNU CSSC provides a replacement for the legacy Unix source
+code control system SCCS. This allows old code still under that system to be
+accessed and migrated on modern systems.")
+ (license gpl3+)))