aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/avahi.scm77
-rw-r--r--gnu/packages/base.scm114
-rw-r--r--gnu/packages/bootstrap.scm9
-rw-r--r--gnu/packages/cflow.scm51
-rw-r--r--gnu/packages/cmake.scm78
-rw-r--r--gnu/packages/cppi.scm45
-rw-r--r--gnu/packages/emacs.scm6
-rw-r--r--gnu/packages/fdisk.scm54
-rw-r--r--gnu/packages/gcc.scm241
-rw-r--r--gnu/packages/glib.scm60
-rw-r--r--gnu/packages/gnupg.scm19
-rw-r--r--gnu/packages/gnutls.scm4
-rw-r--r--gnu/packages/lsof.scm75
-rw-r--r--gnu/packages/lua.scm63
-rw-r--r--gnu/packages/make-bootstrap.scm1
-rw-r--r--gnu/packages/patches/cmake-fix-tests.patch45
-rw-r--r--gnu/packages/patches/emacs-configure-sh.patch11
-rw-r--r--gnu/packages/patches/glib-tests-prlimit.patch14
-rw-r--r--gnu/packages/patches/w3m-fix-compile.patch15
-rw-r--r--gnu/packages/texinfo.scm4
-rw-r--r--gnu/packages/vpn.scm50
-rw-r--r--gnu/packages/w3m.scm81
22 files changed, 973 insertions, 144 deletions
diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm
new file mode 100644
index 0000000000..f7ce908351
--- /dev/null
+++ b/gnu/packages/avahi.scm
@@ -0,0 +1,77 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages avahi)
+ #:use-module ((guix licenses) #:select (lgpl2.1+))
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages gdbm)
+ #:use-module (gnu packages libdaemon)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages xml))
+
+(define-public avahi
+ (package
+ (name "avahi")
+ (version "0.6.31")
+ (home-page "http://avahi.org")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append home-page "/download/avahi-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0j5b5ld6bjyh3qhd2nw0jb84znq0wqai7fsrdzg7bpg24jdp2wl3"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--with-distro=none"
+ "--disable-python"
+ "--disable-mono"
+ "--disable-doxygen-doc"
+ "--disable-xmltoman"
+ "--enable-tests"
+ "--disable-qt3" "--disable-qt4"
+ "--disable-gtk" "--disable-gtk3")
+ #:phases (alist-cons-before
+ 'configure 'set-perl-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; FIXME: Remove this phase when proper support for search
+ ;; paths is available.
+ (let ((xml-parser (assoc-ref inputs
+ "intltool/perl-xml-parser")))
+ (setenv "PERL5LIB"
+ (string-append xml-parser
+ "/lib/perl5/site_perl"))
+ #t))
+ %standard-phases)))
+ (inputs
+ `(("expat" ,expat)
+ ("glib" ,glib)
+ ("dbus" ,dbus)
+ ("libdaemon" ,libdaemon)
+ ("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)
+ ("gdbm" ,gdbm)))
+ (synopsis "Avahi, an mDNS/DNS-SD implementation")
+ (description
+ "Avahi is a system which facilitates service discovery on a local
+network. It is an implementation of the mDNS (for \"Multicast DNS\") and
+DNS-SD (for \"DNS-Based Service Discovery\") protocols.")
+ (license lgpl2.1+)))
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index cba1f40c76..606e59b851 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -24,6 +24,7 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages gawk)
#:use-module (gnu packages guile)
#:use-module (gnu packages multiprecision)
@@ -382,119 +383,6 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.")
(license gpl3+)
(home-page "http://www.gnu.org/software/binutils/")))
-(define-public gcc-4.7
- (let ((stripped? #t)) ; TODO: make this a parameter
- (package
- (name "gcc")
- (version "4.7.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/gcc/gcc-"
- version "/gcc-" version ".tar.bz2"))
- (sha256
- (base32
- "115h03hil99ljig8lkrq4qk426awmzh0g99wrrggxf8g07bq74la"))))
- (build-system gnu-build-system)
- (inputs `(("gmp" ,gmp)
- ("mpfr" ,mpfr)
- ("mpc" ,mpc))) ; TODO: libelf, ppl, cloog, zlib, etc.
- (arguments
- `(#:out-of-source? #t
- #:strip-binaries? ,stripped?
- #:configure-flags
- `("--enable-plugin"
- "--enable-languages=c,c++"
- "--disable-multilib"
-
- "--with-local-prefix=/no-gcc-local-prefix"
-
- ,(let ((libc (assoc-ref %build-inputs "libc")))
- (if libc
- (string-append "--with-native-system-header-dir=" libc
- "/include")
- "--without-headers")))
- #:make-flags
- (let ((libc (assoc-ref %build-inputs "libc")))
- `(,@(if libc
- (list (string-append "LDFLAGS_FOR_TARGET="
- "-B" libc "/lib "
- "-Wl,-dynamic-linker "
- "-Wl," libc
- ,(glibc-dynamic-linker)))
- '())
- ,(string-append "BOOT_CFLAGS=-O2 "
- ,(if stripped? "-g0" "-g"))))
-
- #:tests? #f
- #:phases
- (alist-cons-before
- 'configure 'pre-configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (libc (assoc-ref inputs "libc")))
- (when libc
- ;; The following is not performed for `--without-headers'
- ;; cross-compiler builds.
-
- ;; Fix the dynamic linker's file name.
- (substitute* (find-files "gcc/config"
- "^linux(64|-elf)?\\.h$")
- (("#define GLIBC_DYNAMIC_LINKER([^ ]*).*$" _ suffix)
- (format #f "#define GLIBC_DYNAMIC_LINKER~a \"~a\"~%"
- suffix
- (string-append libc ,(glibc-dynamic-linker)))))
-
- ;; Tell where to find libstdc++, libc, and `?crt*.o', except
- ;; `crt{begin,end}.o', which come with GCC.
- (substitute* (find-files "gcc/config"
- "^(gnu-user(64)?|linux-elf)\\.h$")
- (("#define LIB_SPEC (.*)$" _ suffix)
- ;; Note that with this "lib" spec, we may still add a
- ;; RUNPATH to GCC even when `libgcc_s' is not NEEDED.
- ;; There's not much that can be done to avoid it, though.
- (format #f "#define LIB_SPEC \"-L~a/lib %{!static:-rpath=~a/lib \
-%{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib}} \" ~a"
- libc libc out out suffix))
- (("#define STARTFILE_SPEC.*$" line)
- (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"
-#define STANDARD_STARTFILE_PREFIX_2 \"\"
-~a~%"
- libc line))))
-
- ;; Don't retain a dependency on the build-time sed.
- (substitute* "fixincludes/fixincl.x"
- (("static char const sed_cmd_z\\[\\] =.*;")
- "static char const sed_cmd_z[] = \"sed\";"))))
-
- (alist-cons-after
- 'configure 'post-configure
- (lambda _
- ;; Don't store configure flags, to avoid retaining references to
- ;; build-time dependencies---e.g., `--with-ppl=/nix/store/xxx'.
- (substitute* "Makefile"
- (("^TOPLEVEL_CONFIGURE_ARGUMENTS=(.*)$" _ rest)
- "TOPLEVEL_CONFIGURE_ARGUMENTS=\n")))
- (alist-replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (zero?
- (system* "make"
- ,(if stripped?
- "install-strip"
- "install"))))
- %standard-phases)))))
-
- (properties `((gcc-libc . ,(assoc-ref inputs "libc"))))
- (synopsis "The GNU Compiler Collection")
- (description
- "The GNU Compiler Collection includes compiler front ends for C, C++,
-Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
-libraries for these languages (libstdc++, libgcj, libgomp,...).
-
-GCC development is a part of the GNU Project, aiming to improve the compiler
-used in the GNU system including the GNU/Linux variant.")
- (license gpl3+)
- (home-page "http://gcc.gnu.org/"))))
-
(define-public glibc
(package
(name "glibc")
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 809eb84295..82a8db614f 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -104,7 +104,8 @@ check whether everything is alright."
("tarball" ,(bootstrap-origin (source* (%current-system))))))
(synopsis description*)
(description #f)
- (home-page #f)))
+ (home-page #f)
+ (license #f)))
(define package-with-bootstrap-guile
(memoize
@@ -285,7 +286,8 @@ $out/bin/guile --version~%"
"08hv8i0axwnihrcgbz19x0a7s6zyv3yx38x8r29liwl8h82x9g88")))))))))
(synopsis "Bootstrap binaries and headers of the GNU C Library")
(description #f)
- (home-page #f)))
+ (home-page #f)
+ (license lgpl2.1+)))
(define %bootstrap-gcc
;; The initial GCC. Uses binaries from a tarball typically built by
@@ -352,7 +354,8 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
"06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra0c5vsg2")))))))))
(synopsis "Bootstrap binaries of the GNU Compiler Collection")
(description #f)
- (home-page #f)))
+ (home-page #f)
+ (license gpl3+)))
(define %bootstrap-inputs
;; The initial, pre-built inputs. From now on, we can start building our
diff --git a/gnu/packages/cflow.scm b/gnu/packages/cflow.scm
new file mode 100644
index 0000000000..bb000ddc59
--- /dev/null
+++ b/gnu/packages/cflow.scm
@@ -0,0 +1,51 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages cflow)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix licenses)
+ #:use-module (gnu packages emacs))
+
+(define-public cflow
+ (package
+ (name "cflow")
+ (version "1.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/cflow/cflow-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1jkbq97ajcf834z68hbn3xfhiz921zhn39gklml1racf0kb3jzh3"))))
+ (build-system gnu-build-system)
+ (home-page "http://www.gnu.org/software/cflow/")
+ (synopsis "A tool to analyze the control flow of C programs")
+ (description
+ "GNU cflow analyzes a collection of C source files and prints a
+graph, charting control flow within the program.
+
+GNU cflow is able to produce both direct and inverted flowgraphs
+for C sources. Optionally a cross-reference listing can be
+generated. Two output formats are implemented: POSIX and GNU
+(extended).
+
+The package also provides Emacs major mode for examining the
+produced flowcharts in Emacs.")
+ (license gpl3+)))
diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
new file mode 100644
index 0000000000..734f55f330
--- /dev/null
+++ b/gnu/packages/cmake.scm
@@ -0,0 +1,78 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
+;;;
+;;; 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 cmake)
+ #:use-module (guix licenses)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages file))
+
+(define-public cmake
+ (package
+ (name "cmake")
+ (version "2.8.10.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.cmake.org/files/v"
+ (substring version 0
+ (string-index version #\. (+ 1 (string-index version #\.))))
+ "/cmake-" version ".tar.gz"))
+ (sha256
+ (base32 "1c8fj6i2x9sb39wc9av2ighj415mw33cxfrlfpafcvm0knrlylnf"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:test-target "test"
+ #:patches (list (assoc-ref %build-inputs "fix-tests"))
+ #:patch-flags '("-p0")
+ #:phases (alist-replace
+ 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; Replace "/bin/sh" by the right path in... a lot of
+ ;; files.
+ (substitute*
+ '("Modules/CompilerId/Xcode-3.pbxproj.in"
+ "Modules/CompilerId/Xcode-1.pbxproj.in"
+ "Modules/CompilerId/Xcode-2.pbxproj.in"
+ "Modules/CPack.RuntimeScript.in"
+ "Source/cmakexbuild.cxx"
+ "Source/cmGlobalXCodeGenerator.cxx"
+ "Source/CTest/cmCTestBatchTestHandler.cxx"
+ "Source/cmLocalUnixMakefileGenerator3.cxx"
+ "Utilities/cmbzip2/Makefile-libbz2_so"
+ "Utilities/Release/release_cmake.cmake"
+ "Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c"
+ "Tests/CMakeLists.txt")
+ (("/bin/sh") (which "sh")))
+ (zero? (system* "./configure"
+ (string-append "--prefix=" out)))))
+ %standard-phases)))
+ (inputs
+ `(("file" ,file)
+ ("fix-tests" ,(search-patch "cmake-fix-tests.patch"))))
+ (home-page "http://www.cmake.org/")
+ (synopsis "A cross-platform, open-source build system")
+ (description
+ "CMake is a family of tools designed to build, test and package software.
+CMake is used to control the software compilation process using simple platform
+and compiler independent configuration files. CMake generates native makefiles
+and workspaces that can be used in the compiler environment of your choice.")
+ (license bsd-3)))
diff --git a/gnu/packages/cppi.scm b/gnu/packages/cppi.scm
new file mode 100644
index 0000000000..53f24698fc
--- /dev/null
+++ b/gnu/packages/cppi.scm
@@ -0,0 +1,45 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages cppi)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix licenses))
+
+(define-public cppi
+ (package
+ (name "cppi")
+ (version "1.18")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/cppi/cppi-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1jk42cjaggk71rimjnx3qpmb6hivps0917vl3z7wbxk3i2whb98j"))))
+ (build-system gnu-build-system)
+ (home-page "http://www.gnu.org/software/cppi/")
+ (synopsis "A cpp directive indenter")
+ (description
+ "GNU cppi indents C preprocessor directives to reflect their nesting and
+ensure that there is exactly one space character between each #if, #elif,
+#define directive and the following token. The number of spaces between the
+`#' and the following directive must correspond to the level of nesting of
+that directive.")
+ (license gpl3+)))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 6b2cda6e73..9a107967a3 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -31,14 +31,14 @@
(define-public emacs
(package
(name "emacs")
- (version "24.2")
+ (version "24.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/emacs/emacs-"
- version ".tar.bz2"))
+ version ".tar.xz"))
(sha256
(base32
- "13wbjfjmz13qpjwssy44nw2230lllmkkgjsy0rqfm6am2cf87n3k"))))
+ "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
diff --git a/gnu/packages/fdisk.scm b/gnu/packages/fdisk.scm
new file mode 100644
index 0000000000..5cf02a9014
--- /dev/null
+++ b/gnu/packages/fdisk.scm
@@ -0,0 +1,54 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Nikita Karetnikov <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)
+ #:renamer (symbol-prefix-proc 'guix:))
+ #:use-module (gnu packages guile)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages parted)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu))
+
+(define-public fdisk
+ (package
+ (name "fdisk")
+ (version "2.0.0a")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/fdisk/gnufdisk-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "04nd7civ561x2lwcmxhsqbprml3178jfc58fy1v7hzqg5k4nbhy3"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("gettext" ,guix:gettext)
+ ("guile" ,guile-1.8)
+ ("util-linux" ,util-linux)
+ ("parted" ,parted)))
+ (home-page "https://www.gnu.org/software/fdisk/")
+ (synopsis
+ "GNU Fdisk, a command-line disk partitioning tool")
+ (description
+ "GNU Fdisk provides alternatives to util-linux fdisk and util-linux
+cfdisk. It uses GNU Parted.")
+ (license gpl3+))) \ No newline at end of file
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
new file mode 100644
index 0000000000..a26dc24a4f
--- /dev/null
+++ b/gnu/packages/gcc.scm
@@ -0,0 +1,241 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages gcc)
+ #:use-module (guix licenses)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages bootstrap)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages multiprecision)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu))
+
+(define %gcc-infrastructure
+ ;; Base URL for GCC's infrastructure.
+ "ftp://gcc.gnu.org/pub/gcc/infrastructure/")
+
+(define-public gcc-4.7
+ (let ((stripped? #t)) ; TODO: make this a parameter
+ (package
+ (name "gcc")
+ (version "4.7.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gcc/gcc-"
+ version "/gcc-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "115h03hil99ljig8lkrq4qk426awmzh0g99wrrggxf8g07bq74la"))))
+ (build-system gnu-build-system)
+ (inputs `(("gmp" ,gmp)
+ ("mpfr" ,mpfr)
+ ("mpc" ,mpc))) ; TODO: libelf, ppl, cloog, zlib, etc.
+ (arguments
+ `(#:out-of-source? #t
+ #:strip-binaries? ,stripped?
+ #:configure-flags
+ `("--enable-plugin"
+ "--enable-languages=c,c++"
+ "--disable-multilib"
+
+ "--with-local-prefix=/no-gcc-local-prefix"
+
+ ,(let ((libc (assoc-ref %build-inputs "libc")))
+ (if libc
+ (string-append "--with-native-system-header-dir=" libc
+ "/include")
+ "--without-headers")))
+ #:make-flags
+ (let ((libc (assoc-ref %build-inputs "libc")))
+ `(,@(if libc
+ (list (string-append "LDFLAGS_FOR_TARGET="
+ "-B" libc "/lib "
+ "-Wl,-dynamic-linker "
+ "-Wl," libc
+ ,(glibc-dynamic-linker)))
+ '())
+ ,(string-append "BOOT_CFLAGS=-O2 "
+ ,(if stripped? "-g0" "-g"))))
+
+ #:tests? #f
+ #:phases
+ (alist-cons-before
+ 'configure 'pre-configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (libc (assoc-ref inputs "libc")))
+ (when libc
+ ;; The following is not performed for `--without-headers'
+ ;; cross-compiler builds.
+
+ ;; Fix the dynamic linker's file name.
+ (substitute* (find-files "gcc/config"
+ "^linux(64|-elf)?\\.h$")
+ (("#define GLIBC_DYNAMIC_LINKER([^ ]*).*$" _ suffix)
+ (format #f "#define GLIBC_DYNAMIC_LINKER~a \"~a\"~%"
+ suffix
+ (string-append libc ,(glibc-dynamic-linker)))))
+
+ ;; Tell where to find libstdc++, libc, and `?crt*.o', except
+ ;; `crt{begin,end}.o', which come with GCC.
+ (substitute* (find-files "gcc/config"
+ "^(gnu-user(64)?|linux-elf)\\.h$")
+ (("#define LIB_SPEC (.*)$" _ suffix)
+ ;; Note that with this "lib" spec, we may still add a
+ ;; RUNPATH to GCC even when `libgcc_s' is not NEEDED.
+ ;; There's not much that can be done to avoid it, though.
+ (format #f "#define LIB_SPEC \"-L~a/lib %{!static:-rpath=~a/lib \
+%{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib}} \" ~a"
+ libc libc out out suffix))
+ (("#define STARTFILE_SPEC.*$" line)
+ (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"
+#define STANDARD_STARTFILE_PREFIX_2 \"\"
+~a~%"
+ libc line))))
+
+ ;; Don't retain a dependency on the build-time sed.
+ (substitute* "fixincludes/fixincl.x"
+ (("static char const sed_cmd_z\\[\\] =.*;")
+ "static char const sed_cmd_z[] = \"sed\";"))))
+
+ (alist-cons-after
+ 'configure 'post-configure
+ (lambda _
+ ;; Don't store configure flags, to avoid retaining references to
+ ;; build-time dependencies---e.g., `--with-ppl=/nix/store/xxx'.
+ (substitute* "Makefile"
+ (("^TOPLEVEL_CONFIGURE_ARGUMENTS=(.*)$" _ rest)
+ "TOPLEVEL_CONFIGURE_ARGUMENTS=\n")))
+ (alist-replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (zero?
+ (system* "make"
+ ,(if stripped?
+ "install-strip"
+ "install"))))
+ %standard-phases)))))
+
+ (properties `((gcc-libc . ,(assoc-ref inputs "libc"))))
+ (synopsis "The GNU Compiler Collection")
+ (description
+ "The GNU Compiler Collection includes compiler front ends for C, C++,
+Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
+libraries for these languages (libstdc++, libgcj, libgomp,...).
+
+GCC development is a part of the GNU Project, aiming to improve the compiler
+used in the GNU system including the GNU/Linux variant.")
+ (license gpl3+)
+ (home-page "http://gcc.gnu.org/"))))
+
+(define-public isl
+ (package
+ (name "isl")
+ (version "0.11.1")
+ (source (origin
+ (method url-fetch)
+ (uri (list (string-append
+ "ftp://ftp.linux.student.kuleuven.be/pub/people/skimo/isl/isl-"
+ version
+ ".tar.bz2")
+ (string-append %gcc-infrastructure
+ name "-" version ".tar.gz")))
+ (sha256
+ (base32
+ "13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9"))))
+ (build-system gnu-build-system)
+ (inputs `(("gmp" ,gmp)))
+ (home-page "http://www.kotnet.org/~skimo/isl/")
+ (synopsis
+ "A library for manipulating sets and relations of integer points bounded
+by linear constraints")
+ (description
+ "isl is a library for manipulating sets and relations of integer points
+bounded by linear constraints. Supported operations on sets include
+intersection, union, set difference, emptiness check, convex hull, (integer)
+affine hull, integer projection, computing the lexicographic minimum using
+parametric integer programming, coalescing and parametric vertex
+enumeration. It also includes an ILP solver based on generalized basis
+reduction, transitive closures on maps (which may encode infinite graphs),
+dependence analysis and bounds on piecewise step-polynomials.")
+ (license lgpl2.1+)))
+
+(define-public cloog
+ (package
+ (name "cloog")
+ (version "0.18.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (list (string-append
+ "http://www.bastoul.net/cloog/pages/download/count.php3?url=cloog-"
+ version
+ ".tar.gz")
+ (string-append %gcc-infrastructure
+ name "-" version ".tar.gz")))
+ (sha256
+ (base32
+ "0a12rwfwp22zd0nlld0xyql11cj390rrq1prw35yjsw8wzfshjhw"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system gnu-build-system)
+ (inputs `(("gmp" ,gmp)
+ ("isl" ,isl)))
+ (arguments '(#:configure-flags '("--with-isl=system")))
+ (home-page "http://www.cloog.org/")
+ (synopsis "A library to generate code for scanning Z-polyhedra")
+ (description
+ "CLooG is a free software library to generate code for scanning
+Z-polyhedra. That is, it finds a code (e.g., in C, FORTRAN...) that
+reaches each integral point of one or more parameterized polyhedra.
+CLooG has been originally written to solve the code generation problem
+for optimizing compilers based on the polytope model. Nevertheless it
+is used now in various area e.g., to build control automata for
+high-level synthesis or to find the best polynomial approximation of a
+function. CLooG may help in any situation where scanning polyhedra
+matters. While the user has full control on generated code quality,
+CLooG is designed to avoid control overhead and to produce a very
+effective code.")
+ (license gpl2+)))
+
+(define-public libelf
+ (package
+ (name "libelf")
+ (version "0.8.13")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.mr511.de/software/libelf-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0vf7s9dwk2xkmhb79aigqm0x0yfbw1j0b9ksm51207qwr179n6jr"))))
+ (build-system gnu-build-system)
+ (arguments '(#:phases (alist-replace
+ 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; This old `configure' script doesn't support
+ ;; variables passed as arguments.
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "CONFIG_SHELL" (which "bash"))
+ (zero?
+ (system* "./configure"
+ (string-append "--prefix=" out)))))
+ %standard-phases)))
+ (home-page "http://www.mr511.de/software/english.html")
+ (synopsis "An ELF object file access library")
+ (description "libelf is a C library to access ELF object files.")
+ (license lgpl2.0+)))
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 1286700911..fdcc9bdc31 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -18,7 +18,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages glib)
- #:use-module ((guix licenses) #:select (lgpl2.0+ gpl2+))
+ #:use-module ((guix licenses) #:select (lgpl2.0+ gpl2+ gpl2))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
@@ -76,7 +76,7 @@ shared NFS home directories.")
(version "2.34.3")
(source (origin
(method url-fetch)
- (uri (string-append "http://ftp.gnome.org/pub/gnome/sources/"
+ (uri (string-append "mirror://gnome/sources/"
name "/2.34/"
name "-" version ".tar.xz"))
(sha256
@@ -99,11 +99,14 @@ shared NFS home directories.")
("patch/tests-homedir"
,(search-patch "glib-tests-homedir.patch"))
("patch/tests-desktop"
- ,(search-patch "glib-tests-desktop.patch"))))
+ ,(search-patch "glib-tests-desktop.patch"))
+ ("patch/tests-prlimit"
+ ,(search-patch "glib-tests-prlimit.patch"))))
(arguments
'(#:patches (list (assoc-ref %build-inputs "patch/tests-tzdata")
(assoc-ref %build-inputs "patch/tests-homedir")
- (assoc-ref %build-inputs "patch/tests-desktop"))
+ (assoc-ref %build-inputs "patch/tests-desktop")
+ (assoc-ref %build-inputs "patch/tests-prlimit"))
#:phases (alist-cons-before
'build 'pre-build
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -124,3 +127,52 @@ and interfaces for such runtime functionality as an event loop, threads,
dynamic loading, and an object system.")
(home-page "http://developer.gnome.org/glib/")
(license lgpl2.0+))) ; some files are under lgpl2.1+
+
+(define-public intltool
+ (package
+ (name "intltool")
+ (version "0.40.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://gnome/sources/intltool/0.40/intltool-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "0r1vkvy5xzqk01yl6a0xlrry39bra24alkrx6279b77hc62my7jd"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases (alist-cons-before
+ 'configure 'set-perl-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; FIXME: Remove this phase when proper support for search
+ ;; paths is available.
+ (let ((xml-parser (assoc-ref inputs "perl-xml-parser")))
+ (setenv "PERL5LIB"
+ (string-append xml-parser
+ "/lib/perl5/site_perl"))
+ #t))
+ %standard-phases)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("gettext" ,guix:gettext)
+ ("perl-xml-parser" ,xml:perl-xml-parser)
+ ("perl" ,perl)))
+ (home-page "http://freedesktop.org/wiki/Software/intltool")
+ (synopsis "Tools to centralize translation of many different file formats")
+ (description
+ "intltool is a set of tools to centralize translation of many different
+file formats using GNU gettext-compatible PO files.
+
+The intltool collection can be used to do these things:
+
+ Extract translatable strings from various source files (.xml.in,
+ glade, .desktop.in, .server.in, .oaf.in).
+
+ Collect the extracted strings together with messages from traditional
+ source files (.c, .h) in po/$(PACKAGE).pot.
+
+ Merge back the translations from .po files into .xml, .desktop and
+ oaf files. This merge step will happen at build resp. installation time.")
+ (license gpl2)))
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index f26582fb22..1810b65fe8 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
@@ -57,15 +57,14 @@ Daemon and possibly more in the future.")
(define-public libgcrypt
(package
(name "libgcrypt")
- (version "1.5.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
- version ".tar.bz2"))
- (sha256
- (base32
- "1ykkh7dm0gyndz7bbpvn3agijj8xb2h02m02f42hm504c18zqqjb"))))
+ (version "1.5.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "09z5zbxhvg6c7n8qcm8h9ygr28qli2n83hfq1f69jsg711cb37md"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error" ,libgpg-error)))
diff --git a/gnu/packages/gnutls.scm b/gnu/packages/gnutls.scm
index 0a681e3a88..dc571adc60 100644
--- a/gnu/packages/gnutls.scm
+++ b/gnu/packages/gnutls.scm
@@ -52,7 +52,7 @@ portable, and only require an ANSI C89 platform.")
(define-public gnutls
(package
(name "gnutls")
- (version "3.1.6")
+ (version "3.1.9.1")
(source (origin
(method url-fetch)
(uri
@@ -62,7 +62,7 @@ portable, and only require an ANSI C89 platform.")
version ".tar.xz"))
(sha256
(base32
- "0zsybr9plllk1phh83bx9bg7c5ccik427j4n3k1s9fiy4j69n0w3"))))
+ "0gkwhz7sypfy39jfj2yzrngbxq5j9l9smqc89mqlqsh25spc8009"))))
(build-system gnu-build-system)
(inputs
`(("guile" ,guile-2.0)
diff --git a/gnu/packages/lsof.scm b/gnu/packages/lsof.scm
new file mode 100644
index 0000000000..d0cdefd533
--- /dev/null
+++ b/gnu/packages/lsof.scm
@@ -0,0 +1,75 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages lsof)
+ #:use-module ((guix licenses)
+ #:renamer (symbol-prefix-proc 'license:))
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages perl))
+
+(define-public lsof
+ (package
+ (name "lsof")
+ (version "4.87")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_"
+ version ".tar.bz2"))
+ (sha256 (base32
+ "0b6si72sml7gr9784ak491cxxbm9mx5bh174yg6rrirbv04kgpfz"))))
+ (build-system gnu-build-system)
+ (inputs `(("perl" ,perl)))
+ (arguments
+ `(#:tests? #f ; no test target
+ #:phases
+ (alist-replace
+ 'unpack
+ (lambda* (#:key source name version #:allow-other-keys)
+ (let ((unpack (assoc-ref %standard-phases 'unpack)))
+ (apply unpack (list #:source source))
+ (apply unpack (list #:source (car (find-files "." "\\.tar$"))))))
+ (alist-replace
+ 'configure
+ (lambda* (#:key #:allow-other-keys)
+ (setenv "LSOF_CC" "gcc")
+ (setenv "LSOF_MAKE" "make")
+ (system* "./Configure" "linux"))
+ (alist-replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (mkdir out)
+ (mkdir (string-append out "/bin"))
+ (copy-file "lsof" (string-append out "/bin/lsof"))
+ (mkdir (string-append out "/share"))
+ (mkdir (string-append out "/share/man"))
+ (mkdir (string-append out "/share/man/man8"))
+ (copy-file "lsof.8" (string-append out "/share/man/man8/lsof.8"))
+ ))
+ %standard-phases)))))
+ (synopsis "lsof displays information about open files")
+ (description
+ "Lsof stands for LiSt Open Files, and it does just that.
+It lists information about files that are open by the processes running
+on the system.")
+ (license (license:fsf-free
+ "file://00FAQ"
+ "License inspired by zlib, see point 1.9 of 00FAQ in the distribution."))
+ (home-page "http://people.freebsd.org/~abe/")))
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
new file mode 100644
index 0000000000..14fc28ced0
--- /dev/null
+++ b/gnu/packages/lua.scm
@@ -0,0 +1,63 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
+;;;
+;;; 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 lua)
+ #:use-module (guix licenses)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages readline))
+
+(define-public lua
+ (package
+ (name "lua")
+ (version "5.2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.lua.org/ftp/lua-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "1rbv2ysq5fdksz7xg07dnrkl8i0gnx855hg4z6b324vng6l4sc34"))))
+ (build-system gnu-build-system)
+ (inputs `(("readline", readline)))
+ (arguments
+ '(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-1))
+ #:test-target "test"
+ #:phases (alist-replace
+ 'build
+ (lambda _ (zero? (system* "make" "linux"))) ; XXX: Other OS.
+ (alist-replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (zero? (system
+ (string-append "make install INSTALL_TOP=" out)))))
+ (alist-delete 'configure %standard-phases)))))
+ (home-page "http://www.lua.org/")
+ (synopsis "An embeddable scripting language.")
+ (description
+ "Lua is a powerful, fast, lightweight, embeddable scripting language. Lua
+combines simple procedural syntax with powerful data description constructs
+based on associative arrays and extensible semantics. Lua is dynamically typed,
+runs by interpreting bytecode for a register-based virtual machine, and has
+automatic memory management with incremental garbage collection, making it ideal
+for configuration, scripting, and rapid prototyping.")
+ (license x11)))
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 3bb926bd36..40e3e21210 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -27,6 +27,7 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (gnu packages gawk)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages guile)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages linux)
diff --git a/gnu/packages/patches/cmake-fix-tests.patch b/gnu/packages/patches/cmake-fix-tests.patch
new file mode 100644
index 0000000000..ae28ca336b
--- /dev/null
+++ b/gnu/packages/patches/cmake-fix-tests.patch
@@ -0,0 +1,45 @@
+--- Tests/CMakeLists.txt 2013-03-20 22:57:13.000000000 +0100
++++ Tests/CMakeLists.txt 2013-03-20 22:58:02.000000000 +0100
+@@ -1706,16 +1706,17 @@
+ PASS_REGULAR_EXPRESSION "Could not find executable"
+ FAIL_REGULAR_EXPRESSION "SegFault")
+
+- configure_file(
+- "${CMake_SOURCE_DIR}/Tests/CTestTestUpload/test.cmake.in"
+- "${CMake_BINARY_DIR}/Tests/CTestTestUpload/test.cmake"
+- @ONLY ESCAPE_QUOTES)
+- add_test(CTestTestUpload ${CMAKE_CTEST_COMMAND}
+- -S "${CMake_BINARY_DIR}/Tests/CTestTestUpload/test.cmake" -V
+- --output-log "${CMake_BINARY_DIR}/Tests/CTestTestUpload/testOut.log"
+- )
+- set_tests_properties(CTestTestUpload PROPERTIES
+- PASS_REGULAR_EXPRESSION "Upload\\.xml")
++# This test requires network connectivity: skip it.
++# configure_file(
++# "${CMake_SOURCE_DIR}/Tests/CTestTestUpload/test.cmake.in"
++# "${CMake_BINARY_DIR}/Tests/CTestTestUpload/test.cmake"
++# @ONLY ESCAPE_QUOTES)
++# add_test(CTestTestUpload ${CMAKE_CTEST_COMMAND}
++# -S "${CMake_BINARY_DIR}/Tests/CTestTestUpload/test.cmake" -V
++# --output-log "${CMake_BINARY_DIR}/Tests/CTestTestUpload/testOut.log"
++# )
++# set_tests_properties(CTestTestUpload PROPERTIES
++# PASS_REGULAR_EXPRESSION "Upload\\.xml")
+
+ configure_file(
+ "${CMake_SOURCE_DIR}/Tests/CTestTestConfigFileInBuildDir/test1.cmake.in"
+--- Utilities/cmcurl/CMakeLists.txt 2013-03-20 22:57:13.000000000 +0100
++++ Utilities/cmcurl/CMakeLists.txt 2013-03-20 23:08:41.000000000 +0100
+@@ -729,8 +729,9 @@
+ ADD_EXECUTABLE(LIBCURL Testing/curltest.c)
+ TARGET_LINK_LIBRARIES(LIBCURL cmcurl ${CMAKE_DL_LIBS})
+
+-IF(CMAKE_CURL_TEST_URL)
+- ADD_TEST(curl LIBCURL ${CMAKE_CURL_TEST_URL})
+-ENDIF(CMAKE_CURL_TEST_URL)
++# This test requires network connectivity: skip it.
++#IF(CMAKE_CURL_TEST_URL)
++# ADD_TEST(curl LIBCURL ${CMAKE_CURL_TEST_URL})
++#ENDIF(CMAKE_CURL_TEST_URL)
+
+ INSTALL(FILES COPYING DESTINATION ${CMake_DOC_DEST}/cmcurl)
diff --git a/gnu/packages/patches/emacs-configure-sh.patch b/gnu/packages/patches/emacs-configure-sh.patch
index fd34d06ced..6f5f3fe93a 100644
--- a/gnu/packages/patches/emacs-configure-sh.patch
+++ b/gnu/packages/patches/emacs-configure-sh.patch
@@ -1,14 +1,13 @@
Make sure the right shell is used when creating src/epaths.h.
---- emacs-24.2/configure 2013-01-13 17:01:53.000000000 +0100
-+++ emacs-24.2/configure 2013-01-13 17:01:57.000000000 +0100
-@@ -24135,7 +24135,7 @@ done
+--- emacs-24.3/configure 2013-03-14 17:42:26.000000000 +0100
++++ emacs-24.3/configure 2013-03-14 17:42:58.000000000 +0100
+@@ -26463,7 +26463,7 @@ done
;;
"epaths":C)
echo creating src/epaths.h
--${MAKE-make} epaths-force
-+${MAKE-make} epaths-force SHELL="$CONFIG_SHELL"
+-${MAKE-make} MAKEFILE_NAME=do-not-make-Makefile epaths-force
++${MAKE-make} MAKEFILE_NAME=do-not-make-Makefile epaths-force SHELL="$CONFIG_SHELL"
;;
"gdbinit":C)
if test ! -f src/.gdbinit && test -f $srcdir/src/.gdbinit; then
-
diff --git a/gnu/packages/patches/glib-tests-prlimit.patch b/gnu/packages/patches/glib-tests-prlimit.patch
new file mode 100644
index 0000000000..f2b2a61bee
--- /dev/null
+++ b/gnu/packages/patches/glib-tests-prlimit.patch
@@ -0,0 +1,14 @@
+prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64 as found on
+hydra.gnu.org, and strace(1) doesn't recognize it.
+
+--- glib-2.34.3/glib/tests/thread.c 2012-11-20 15:27:12.000000000 +0100
++++ glib-2.34.3/glib/tests/thread.c 2013-03-27 14:48:31.000000000 +0100
+@@ -130,7 +130,7 @@ test_thread3 (void)
+ static void
+ test_thread4 (void)
+ {
+-#ifdef HAVE_PRLIMIT
++#if 0
+ struct rlimit ol, nl;
+ GThread *thread;
+ GError *error;
diff --git a/gnu/packages/patches/w3m-fix-compile.patch b/gnu/packages/patches/w3m-fix-compile.patch
new file mode 100644
index 0000000000..5604052f67
--- /dev/null
+++ b/gnu/packages/patches/w3m-fix-compile.patch
@@ -0,0 +1,15 @@
+https://bugs.archlinux.org/task/33397
+
+diff -aur old/main.c new/main.c
+--- main.c 2013-01-14 18:16:14.216210053 -0600
++++ main.c 2013-01-14 18:17:28.816220559 -0600
+@@ -833,7 +833,8 @@
+ mySignal(SIGPIPE, SigPipe);
+ #endif
+
+- orig_GC_warn_proc = GC_set_warn_proc(wrap_GC_warn_proc);
++ orig_GC_warn_proc = GC_get_warn_proc();
++ GC_set_warn_proc(wrap_GC_warn_proc);
+ err_msg = Strnew();
+ if (load_argc == 0) {
+ /* no URL specified */
diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm
index 96016c053d..4194f48ffe 100644
--- a/gnu/packages/texinfo.scm
+++ b/gnu/packages/texinfo.scm
@@ -28,14 +28,14 @@
(define-public texinfo
(package
(name "texinfo")
- (version "5.0")
+ (version "5.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/texinfo/texinfo-"
version ".tar.xz"))
(sha256
(base32
- "1p34f68h9ggfj6ckgj0p62qlj7pmz3ha3vc91kh4hr44pnwm1pla"))))
+ "0864v5i488x3mb3v5p6nhy2kw0mqkzpa3b0453iibj81zlpq078q"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)
("xz" ,xz)))
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 9393e1e7b4..4cd90cd7f2 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -23,8 +23,14 @@
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
+ #:use-module (gnu packages compression)
+ #:use-module ((gnu packages gettext)
+ #:renamer (symbol-prefix-proc 'gnu:))
#:use-module (gnu packages gnupg)
- #:use-module (gnu packages perl))
+ #:use-module (gnu packages openssl)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages xml))
(define-public vpnc
(package
@@ -64,3 +70,45 @@ shared-secret IPSec authentication with Xauth, AES (256, 192, 128), 3DES,
Only \"Universal TUN/TAP device driver support\" is needed in the kernel.")
(license license:gpl2+) ; some file are bsd-2, see COPYING
(home-page "http://www.unix-ag.uni-kl.de/~massar/vpnc/")))
+
+
+(define-public openconnect
+ (package
+ (name "openconnect")
+ (version "4.99")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "ftp://ftp.infradead.org/pub/openconnect/openconnect-"
+ version ".tar.gz"))
+ (sha256 (base32
+ "1rd8pap455wzkx19i0sy3cqap524b6fwcjvqynxp6lhm01di4bd6"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("gettext" ,gnu:gettext)
+ ("libxml2" ,libxml2)
+ ("openssl" ,openssl)
+ ("pkg-config" ,pkg-config)
+ ("vpnc" ,vpnc)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:phases
+ (alist-replace
+ 'configure
+ (lambda* (#:key inputs #:allow-other-keys #:rest args)
+ (let ((vpnc (assoc-ref inputs "vpnc"))
+ (configure (assoc-ref %standard-phases 'configure)))
+ (apply configure
+ (append args
+ (list '#:configure-flags
+ (list (string-append "--with-vpnc-script="
+ vpnc
+ "/etc/vpnc/vpnc-script")))))))
+ %standard-phases)))
+ (synopsis "client for cisco vpn")
+ (description
+ "OpenConnect is a client for Cisco's AnyConnect SSL VPN, which is
+supported by the ASA5500 Series, by IOS 12.4(9)T or later on Cisco SR500,
+870, 880, 1800, 2800, 3800, 7200 Series and Cisco 7301 Routers,
+and probably others.")
+ (license license:lgpl2.1)
+ (home-page "http://www.infradead.org/openconnect/")))
diff --git a/gnu/packages/w3m.scm b/gnu/packages/w3m.scm
new file mode 100644
index 0000000000..9199cbd488
--- /dev/null
+++ b/gnu/packages/w3m.scm
@@ -0,0 +1,81 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Nikita Karetnikov <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 w3m)
+ #:use-module ((guix licenses) #:select (x11-style))
+ #:use-module ((gnu packages gettext)
+ #:renamer (symbol-prefix-proc 'guix:))
+ #:use-module (gnu packages bdw-gc)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages ncurses)
+ #:use-module (gnu packages openssl)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu))
+
+(define-public w3m
+ (package
+ (name "w3m")
+ (version "0.5.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/w3m/w3m-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1qx9f0kprf92r1wxl3sacykla0g04qsi0idypzz24b7xy9ix5579"))))
+ (build-system gnu-build-system)
+ (arguments `(#:tests? #f ; no check target
+ #:phases (alist-cons-before
+ 'configure 'fix-perl
+ (lambda _
+ ;; https://launchpad.net/bugs/935540
+ ;; 'struct file_handle' is used by 'glibc'
+ (substitute* '("istream.c" "istream.h")
+ (("struct[[:blank:]]+file_handle")
+ "struct w3m_file_handle"))
+ (substitute* '("scripts/w3mmail.cgi.in"
+ "scripts/dirlist.cgi.in")
+ (("@PERL@") (which "perl"))))
+ %standard-phases)
+ ;; cf. https://bugs.archlinux.org/task/33397
+ #:patches (list (assoc-ref %build-inputs
+ "patch/fix-compile"))
+ #:patch-flags '("-p0")))
+ (inputs
+ `(("gettext" ,guix:gettext)
+ ("libgc" ,libgc)
+ ("ncurses" ,ncurses)
+ ("openssl" ,openssl)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("zlib" ,zlib)
+ ("patch/fix-compile" ,(search-patch "w3m-fix-compile.patch"))))
+ (home-page "http://w3m.sourceforge.net/")
+ (synopsis "w3m, a text-mode web browser")
+ (description
+ "w3m is a text-based web browser as well as a pager like 'more' or
+'less'. With w3m you can browse web pages through a terminal emulator
+window. Moreover, w3m can be used as a text formatting tool which
+typesets HTML into plain text.")
+ (license (x11-style "file://doc/README"
+ "See 'doc/README' in the distribution."))))