diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/cmake.scm | 4 | ||||
-rw-r--r-- | gnu/packages/gcc.scm | 30 | ||||
-rw-r--r-- | gnu/packages/maths.scm | 47 | ||||
-rw-r--r-- | gnu/packages/recutils.scm | 24 | ||||
-rw-r--r-- | gnu/packages/video.scm | 172 |
5 files changed, 265 insertions, 12 deletions
diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index a5c3d45193..84873f4a3b 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -27,7 +27,7 @@ (define-public cmake (package (name "cmake") - (version "2.8.10.2") + (version "2.8.12") (source (origin (method url-fetch) (uri (string-append @@ -36,7 +36,7 @@ (string-index version #\. (+ 1 (string-index version #\.)))) "/cmake-" version ".tar.gz")) (sha256 - (base32 "1c8fj6i2x9sb39wc9av2ighj415mw33cxfrlfpafcvm0knrlylnf")) + (base32 "11q21vyrr6c6smyjy81k2k07zmn96ggjia9im9cxwvj0n88bm1fq")) (patches (list (search-patch "cmake-fix-tests.patch"))))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index dde0f0d934..bbc0a134d2 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -27,6 +27,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix utils) #:use-module (ice-9 regex)) (define %gcc-infrastructure @@ -211,6 +212,35 @@ Go. It also includes standard libraries for these languages.") (base32 "1j6dwgby4g3p3lz7zkss32ghr45zpdidrg8xvazvn91lqxv25p09")))))) +(define (custom-gcc gcc name languages) + "Return a custom version of GCC that supports LANGUAGES." + (package (inherit gcc) + (name name) + (arguments + (substitute-keyword-arguments `(#:modules ((guix build gnu-build-system) + (guix build utils) + (ice-9 regex) + (srfi srfi-1) + (srfi srfi-26)) + ,@(package-arguments gcc)) + ((#:configure-flags flags) + `(cons (string-append "--enable-languages=" + ,(string-join languages ",")) + (remove (cut string-match "--enable-languages.*" <>) + ,flags))))))) + +(define-public gfortran-4.8 + (custom-gcc gcc-4.8 "gfortran" '("fortran"))) + +(define-public gccgo-4.8 + (custom-gcc gcc-4.8 "gccgo" '("go"))) + +(define-public gcc-objc-4.8 + (custom-gcc gcc-4.8 "gcc-objc" '("objc"))) + +(define-public gcc-objc++-4.8 + (custom-gcc gcc-4.8 "gcc-objc++" '("obj-c++"))) + (define-public isl (package (name "isl") diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index ccbb57b90f..9b2b052a52 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,13 +23,16 @@ #:renamer (symbol-prefix-proc 'license:)) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (gnu packages compression) #:use-module ((gnu packages gettext) #:renamer (symbol-prefix-proc 'gnu:)) + #:use-module (gnu packages gcc) #:use-module (gnu packages multiprecision) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages xml)) @@ -153,3 +157,46 @@ interoperate with Gnumeric, LibreOffice and OpenOffice. Data can be imported from spreadsheets, text files and database sources and it can be output in text, Postscript, PDF or HTML.") (license license:gpl3+))) + +(define-public lapack + (package + (name "lapack") + (version "3.4.2") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.netlib.org/lapack/lapack-" + version ".tgz")) + (sha256 + (base32 + "1w7sf8888m7fi2kyx1fzgbm22193l8c2d53m8q1ibhvfy6m5v9k0")) + (snippet + ;; Remove non-free files. + ;; See <http://icl.cs.utk.edu/lapack-forum/archives/lapack/msg01383.html>. + '(for-each (lambda (file) + (format #t "removing '~a'~%" file) + (delete-file file)) + '("lapacke/example/example_DGESV_rowmajor.c" + "lapacke/example/example_ZGESV_rowmajor.c" + "DOCS/psfig.tex"))))) + (build-system cmake-build-system) + (home-page "http://www.netlib.org/lapack/") + (inputs `(("fortran" ,gfortran-4.8) + ("python" ,python-2))) + (arguments + `(#:modules ((guix build cmake-build-system) + (guix build utils) + (srfi srfi-1)) + #:phases (alist-cons-before + 'check 'patch-python + (lambda* (#:key inputs #:allow-other-keys) + (let ((python (assoc-ref inputs "python"))) + (substitute* "lapack_testing.py" + (("/usr/bin/env python") python)))) + %standard-phases))) + (synopsis "Library for numerical linear algebra") + (description + "LAPACK is a Fortran 90 library for solving the most commonly occurring +problems in numerical linear algebra.") + (license (license:bsd-style "file://LICENSE" + "See LICENSE in the distribution.")))) diff --git a/gnu/packages/recutils.scm b/gnu/packages/recutils.scm index f9c15d332c..2a3f09b2fd 100644 --- a/gnu/packages/recutils.scm +++ b/gnu/packages/recutils.scm @@ -24,27 +24,31 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages emacs) #:use-module (gnu packages check) - #:use-module (gnu packages algebra)) + #:use-module (gnu packages algebra) + #:use-module (gnu packages curl) + #:use-module (gnu packages gnupg)) (define-public recutils (package (name "recutils") - (version "1.5") + (version "1.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/recutils/recutils-" version ".tar.gz")) (sha256 (base32 - "1v2xzwwwhc5j5kmvg4sv6baxjpsfqh8ln7ilv4mgb1408rs7xmky")) - (patches - (list (search-patch "diffutils-gets-undeclared.patch"))))) + "0dxmz73n4qaasqymx97nlw6in98r6lnsfp0586hwkn95d3ll306s")))) (build-system gnu-build-system) - (inputs `(;; TODO: Enable optional deps when they're packaged. - ;; ("curl" ,(nixpkgs-derivation "curl")) - ("emacs" ,emacs) - ("check" ,check) - ("bc" ,bc))) + (native-inputs `(("emacs" ,emacs) + ("bc" ,bc))) + + ;; TODO: Add more optional inputs. + ;; FIXME: Our Bash doesn't have development headers (need for the 'readrec' + ;; built-in command), but it's not clear how to get them installed. + (inputs `(("curl" ,curl) + ("libgcrypt" ,libgcrypt) + ("check" ,check))) (synopsis "Manipulate plain text files as databases") (description "Recutils is a set of tools and libraries for creating and diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm new file mode 100644 index 0000000000..aba68dd71c --- /dev/null +++ b/gnu/packages/video.scm @@ -0,0 +1,172 @@ +;;; 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 video) + #:use-module ((guix licenses) #:select (gpl2+)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages algebra) + #:use-module (gnu packages compression) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages oggvorbis) + #:use-module (gnu packages openssl) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages yasm)) + +(define-public ffmpeg + (package + (name "ffmpeg") + (version "2.1") + (source (origin + (method url-fetch) + (uri (string-append "http://www.ffmpeg.org/releases/ffmpeg-" + version ".tar.bz2")) + (sha256 + (base32 + "1pv83nmjgipxwzy5s53834fq0mrqv786zz2w383ki6sfjzyh6rlj")))) + (build-system gnu-build-system) + (inputs + `(("bc" ,bc) + ("bzip2" ,bzip2) + ("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("libtheora" ,libtheora) + ("libvorbis" ,libvorbis) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python-2) ; scripts use interpreter python2 + ("speex" ,speex) + ("yasm" ,yasm) + ("zlib", zlib))) + (arguments + `(#:phases + (alist-replace + 'configure + ;; configure does not work followed by "SHELL=..." and + ;; "CONFIG_SHELL=..."; set environment variables instead + (lambda* (#:key outputs configure-flags #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "configure" + (("#! /bin/sh") (string-append "#!" (which "bash")))) + (setenv "SHELL" (which "bash")) + (setenv "CONFIG_SHELL" (which "bash")) +;; possible additional inputs: +;; --enable-avisynth enable reading of AviSynth script files [no] +;; --enable-frei0r enable frei0r video filtering +;; --enable-ladspa enable LADSPA audio filtering +;; --enable-libaacplus enable AAC+ encoding via libaacplus [no] +;; --enable-libass enable libass subtitles rendering [no] +;; --enable-libbluray enable BluRay reading using libbluray [no] +;; --enable-libcaca enable textual display using libcaca +;; --enable-libcelt enable CELT decoding via libcelt [no] +;; --enable-libcdio enable audio CD grabbing with libcdio +;; --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394 +;; and libraw1394 [no] +;; --enable-libfaac enable AAC encoding via libfaac [no] +;; --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no] +;; --enable-libflite enable flite (voice synthesis) support via libflite [no] +;; --enable-libgme enable Game Music Emu via libgme [no] +;; --enable-libgsm enable GSM de/encoding via libgsm [no] +;; --enable-libiec61883 enable iec61883 via libiec61883 [no] +;; --enable-libilbc enable iLBC de/encoding via libilbc [no] +;; --enable-libmodplug enable ModPlug via libmodplug [no] +;; --enable-libmp3lame enable MP3 encoding via libmp3lame [no] +;; --enable-libnut enable NUT (de)muxing via libnut, +;; native (de)muxer exists [no] +;; --enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no] +;; --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no] +;; --enable-libopencv enable video filtering via libopencv [no] +;; --enable-libopenjpeg enable JPEG 2000 de/encoding via OpenJPEG [no] +;; --enable-libopus enable Opus decoding via libopus [no] +;; --enable-libpulse enable Pulseaudio input via libpulse [no] +;; --enable-libquvi enable quvi input via libquvi [no] +;; --enable-librtmp enable RTMP[E] support via librtmp [no] +;; --enable-libschroedinger enable Dirac de/encoding via libschroedinger [no] +;; --enable-libshine enable fixed-point MP3 encoding via libshine [no] +;; --enable-libsoxr enable Include libsoxr resampling [no] +;; --enable-libssh enable SFTP protocol via libssh [no] +;; (libssh2 does not work) +;; --enable-libstagefright-h264 enable H.264 decoding via libstagefright [no] +;; --enable-libtwolame enable MP2 encoding via libtwolame [no] +;; --enable-libutvideo enable Ut Video encoding and decoding via libutvideo [no] +;; --enable-libv4l2 enable libv4l2/v4l-utils [no] +;; --enable-libvidstab enable video stabilization using vid.stab [no] +;; --enable-libvo-aacenc enable AAC encoding via libvo-aacenc [no] +;; --enable-libvo-amrwbenc enable AMR-WB encoding via libvo-amrwbenc [no] +;; --enable-libvpx enable VP8 and VP9 de/encoding via libvpx [no] +;; --enable-libwavpack enable wavpack encoding via libwavpack [no] +;; --enable-libx264 enable H.264 encoding via x264 [no] +;; --enable-libxavs enable AVS encoding via xavs [no] +;; --enable-libxvid enable Xvid encoding via xvidcore, +;; native MPEG-4/Xvid encoder exists [no] +;; --enable-libzmq enable message passing via libzmq [no] +;; --enable-libzvbi enable teletext support via libzvbi [no] +;; --enable-openal enable OpenAL 1.1 capture support [no] +;; --enable-opencl enable OpenCL code +;; --enable-x11grab enable X11 grabbing [no] + (zero? (system* + "./configure" + (string-append "--prefix=" out) + "--enable-gpl" ; enable optional gpl licensed parts + "--enable-shared" + "--enable-fontconfig" + ;; "--enable-gnutls" ; causes test failures + "--enable-libfreetype" + "--enable-libspeex" + "--enable-libtheora" + "--enable-libvorbis" + ;; drop special machine instructions not supported + ;; on all instances of the target + ,@(if (string-prefix? "x86_64" + (or (%current-target-system) + (%current-system))) + '() + '("--disable-amd3dnow" + "--disable-amd3dnowext" + "--disable-mmx" + "--disable-mmxext" + "--disable-sse" + "--disable-sse2")) + "--disable-altivec" + "--disable-sse3" + "--disable-ssse3" + "--disable-sse4" + "--disable-sse42" + "--disable-avx" + "--disable-fma4" + "--disable-avx2" + "--disable-armv5te" + "--disable-armv6" + "--disable-armv6t2" + "--disable-vfp" + "--disable-neon" + "--disable-vis" + "--disable-mips32r2" + "--disable-mipsdspr1" + "--disable-mipsdspr2" + "--disable-mipsfpu")))) + %standard-phases))) + (home-page "http://www.ffmpeg.org/") + (synopsis "Audio and video framework") + (description "FFmpeg is a complete, cross-platform solution to record, +convert and stream audio and video. It includes the libavcodec +audio/video codec library.") + (license gpl2+))) |