diff options
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/avahi.scm | 77 | ||||
-rw-r--r-- | gnu/packages/base.scm | 114 | ||||
-rw-r--r-- | gnu/packages/bootstrap.scm | 9 | ||||
-rw-r--r-- | gnu/packages/cflow.scm | 51 | ||||
-rw-r--r-- | gnu/packages/cmake.scm | 78 | ||||
-rw-r--r-- | gnu/packages/cppi.scm | 45 | ||||
-rw-r--r-- | gnu/packages/emacs.scm | 6 | ||||
-rw-r--r-- | gnu/packages/fdisk.scm | 54 | ||||
-rw-r--r-- | gnu/packages/gcc.scm | 241 | ||||
-rw-r--r-- | gnu/packages/glib.scm | 60 | ||||
-rw-r--r-- | gnu/packages/gnupg.scm | 19 | ||||
-rw-r--r-- | gnu/packages/gnutls.scm | 4 | ||||
-rw-r--r-- | gnu/packages/lsof.scm | 75 | ||||
-rw-r--r-- | gnu/packages/lua.scm | 63 | ||||
-rw-r--r-- | gnu/packages/make-bootstrap.scm | 1 | ||||
-rw-r--r-- | gnu/packages/patches/cmake-fix-tests.patch | 45 | ||||
-rw-r--r-- | gnu/packages/patches/emacs-configure-sh.patch | 11 | ||||
-rw-r--r-- | gnu/packages/patches/glib-tests-prlimit.patch | 14 | ||||
-rw-r--r-- | gnu/packages/patches/w3m-fix-compile.patch | 15 | ||||
-rw-r--r-- | gnu/packages/texinfo.scm | 4 | ||||
-rw-r--r-- | gnu/packages/vpn.scm | 50 | ||||
-rw-r--r-- | gnu/packages/w3m.scm | 81 |
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.")))) |