From 39efcc9b3a5deda210c0f7a0031e331ee24a4c0a Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 31 Oct 2013 23:15:46 +0100 Subject: gnu: Add ffmpeg. * gnu/packages/video.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add module. --- gnu/packages/video.scm | 172 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 gnu/packages/video.scm (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm new file mode 100644 index 0000000000..20c73d14fe --- /dev/null +++ b/gnu/packages/video.scm @@ -0,0 +1,172 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Andreas Enge +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages 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-amd3now" + "--disable-amd3nowext" + "--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+))) -- cgit v1.2.3 From 798e4f42b37d90efb24ff3004189ef94d78b3a64 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 1 Nov 2013 21:08:26 +0100 Subject: gnu: ffmpeg: Fix typo in configure flags. * gnu/packages/video.scm (ffmpeg): Add "d" in "3d" in configure flags. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 20c73d14fe..aba68dd71c 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -139,8 +139,8 @@ (or (%current-target-system) (%current-system))) '() - '("--disable-amd3now" - "--disable-amd3nowext" + '("--disable-amd3dnow" + "--disable-amd3dnowext" "--disable-mmx" "--disable-mmxext" "--disable-sse" -- cgit v1.2.3 From fdd6c72683655acf6b6e9f195c533ee7feddfbc8 Mon Sep 17 00:00:00 2001 From: Nikita Karetnikov Date: Fri, 1 Nov 2013 20:34:24 +0000 Subject: gnu: Add GCC front ends for Fortran, Go, Objective C, and Objective C++. * gnu/packages/gcc.scm (custom-gcc, gfortran-4.8, gccgo-4.8) (gcc-objc-4.8, gcc-objc++-4.8): New variables. --- gnu/packages/gcc.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') 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") -- cgit v1.2.3 From a18e58336c4421ecb9da92e386250bfece06192d Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sat, 2 Nov 2013 22:17:08 +0100 Subject: gnu: cmake: Bump to 2.8.12 * gnu/packages/cmake.scm: bump to 2.8.12 --- gnu/packages/cmake.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') 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 -- cgit v1.2.3 From b8c35278285cd987732236c22cf8cdba7deae105 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 3 Nov 2013 23:24:16 +0100 Subject: gnu: recutils: Upgrade to 1.6. * gnu/packages/recutils.scm (recutils): Upgrade to 1.6. Add cURL and libgcrypt as inputs. --- gnu/packages/recutils.scm | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'gnu') 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 -- cgit v1.2.3 From da95c8170aaa24a91cf0db35ff4db7ac7c2136f6 Mon Sep 17 00:00:00 2001 From: Nikita Karetnikov Date: Mon, 4 Nov 2013 18:58:54 +0000 Subject: gnu: Add LAPACK. * gnu/packages/maths.scm (lapack): New variable. --- gnu/packages/maths.scm | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index ccbb57b90f..27d83f0f6f 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 +;;; Copyright © 2013 Nikita Karetnikov ;;; ;;; 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,48 @@ 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")))) + (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 + ;; See . + 'configure 'remove-non-free-files + (lambda _ + (for-each (lambda (file) + (begin + (format #t "removing '~a'~%" file) + (delete-file file))) + '("lapacke/example/example_DGESV_rowmajor.c" + "lapacke/example/example_ZGESV_rowmajor.c" + "DOCS/psfig.tex"))) + (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.")))) -- cgit v1.2.3 From 6a9957545ce51e7a50381059d4509d0dfcba0aba Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 7 Nov 2013 23:07:45 +0100 Subject: gnu: lapack: Use origin snippet to remove the non-free files. * gnu/packages/maths.scm (lapack): Add 'snippet' field with contents of former 'remove-non-free-files' phase; remove that phase. --- gnu/packages/maths.scm | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 27d83f0f6f..9b2b052a52 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -169,7 +169,16 @@ text, Postscript, PDF or HTML.") version ".tgz")) (sha256 (base32 - "1w7sf8888m7fi2kyx1fzgbm22193l8c2d53m8q1ibhvfy6m5v9k0")))) + "1w7sf8888m7fi2kyx1fzgbm22193l8c2d53m8q1ibhvfy6m5v9k0")) + (snippet + ;; Remove non-free files. + ;; See . + '(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) @@ -179,23 +188,12 @@ text, Postscript, PDF or HTML.") (guix build utils) (srfi srfi-1)) #:phases (alist-cons-before - ;; See . - 'configure 'remove-non-free-files - (lambda _ - (for-each (lambda (file) - (begin - (format #t "removing '~a'~%" file) - (delete-file file))) - '("lapacke/example/example_DGESV_rowmajor.c" - "lapacke/example/example_ZGESV_rowmajor.c" - "DOCS/psfig.tex"))) - (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)))) + '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 -- cgit v1.2.3