summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2013-01-31 22:18:47 +0100
committerAndreas Enge <andreas@enge.fr>2013-01-31 22:19:56 +0100
commit9ae7865e977411e70e59a328b1b3ee47f7e0fd71 (patch)
treee03d9ad470cd68db48d59300e7f5823e54cf9e85
parentf992ead2845ab1d9ba9d172a86dfa0862d83de47 (diff)
downloadguix-9ae7865e977411e70e59a328b1b3ee47f7e0fd71.tar.gz
gnu: Add flac.
* gnu/packages/oggvorbis.scm (flac): New variable.
* gnu/packages/oggvorbis.scm (vorbis-tools): Add flac input.
* gnu/packages/patches/flac-fix-memcmp-not-declared.patch: New file.
-rw-r--r--Makefile.am3
-rw-r--r--gnu/packages/oggvorbis.scm28
-rw-r--r--gnu/packages/patches/flac-fix-memcmp-not-declared.patch13
3 files changed, 43 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am
index cbccd28b67..439b5ff5b4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -153,6 +153,8 @@ dist_patch_DATA =						\
   gnu/packages/patches/cpio-gets-undeclared.patch		\
   gnu/packages/patches/diffutils-gets-undeclared.patch		\
   gnu/packages/patches/emacs-configure-sh.patch			\
+  gnu/packages/patches/findutils-absolute-paths.patch		\
+  gnu/packages/patches/flac-fix-memcmp-not-declared.patch	\
   gnu/packages/patches/flex-bison-tests.patch			\
   gnu/packages/patches/gawk-shell.patch				\
   gnu/packages/patches/gettext-gets-undeclared.patch		\
@@ -174,7 +176,6 @@ dist_patch_DATA =						\
   gnu/packages/patches/m4-readlink-EINVAL.patch			\
   gnu/packages/patches/m4-s_isdir.patch				\
   gnu/packages/patches/make-impure-dirs.patch			\
-  gnu/packages/patches/findutils-absolute-paths.patch		\
   gnu/packages/patches/perl-no-sys-dirs.patch			\
   gnu/packages/patches/procps-make-3.82.patch			\
   gnu/packages/patches/readline-link-ncurses.patch		\
diff --git a/gnu/packages/oggvorbis.scm b/gnu/packages/oggvorbis.scm
index 60a1d52acc..db5936a833 100644
--- a/gnu/packages/oggvorbis.scm
+++ b/gnu/packages/oggvorbis.scm
@@ -140,6 +140,34 @@ OpenBSD's sndio.")
     (license gpl2+)
     (home-page "http://www.xiph.org/ao/")))
 
+(define-public flac
+  (package
+   (name "flac")
+   (version "1.2.1")
+   (source (origin
+            (method url-fetch)
+            (uri (string-append "http://downloads.xiph.org/releases/flac/flac-"
+                                version ".tar.gz"))
+            (sha256
+             (base32
+              "1pry5lgzfg57pga1zbazzdd55fkgk3v5qy4axvrbny5lrr5s8dcn"))))
+   (build-system gnu-build-system)
+   (arguments
+    `(#:parallel-tests? #f
+      #:patches (list (assoc-ref %build-inputs
+                                 "patch/memcmp"))))
+   ;; FIXME: configure also looks for xmms, input could be added once it exists
+   (inputs `(("libogg" ,libogg)
+             ("patch/memcmp"
+                 ,(search-patch "flac-fix-memcmp-not-declared.patch"))))
+   (synopsis "flac free lossless audio codec")
+   (description
+"FLAC stands for Free Lossless Audio Codec, an audio format that is lossless,
+meaning that audio is compressed in FLAC without any loss in quality.")
+   (license (bsd-style "file://COPYING"
+                       "See COPYING in the distribution.")) ; and LGPL and GPL
+   (home-page "http://xiph.org/flac/")))
+
 (define-public vorbis-tools
   (package
    (name "vorbis-tools")
diff --git a/gnu/packages/patches/flac-fix-memcmp-not-declared.patch b/gnu/packages/patches/flac-fix-memcmp-not-declared.patch
new file mode 100644
index 0000000000..9dd5c81ba5
--- /dev/null
+++ b/gnu/packages/patches/flac-fix-memcmp-not-declared.patch
@@ -0,0 +1,13 @@
+See http://sourceforge.net/p/flac/bugs/364/
+
+diff -Naur flac-1.2.1-orig/examples/cpp/encode/file/main.cpp flac-1.2.1-ae/examples/cpp/encode/file/main.cpp
+--- flac-1.2.1-orig/examples/cpp/encode/file/main.cpp	2012-12-27 20:15:11.000000000 +0100
++++ flac-1.2.1-ae/examples/cpp/encode/file/main.cpp	2012-12-27 20:25:01.000000000 +0100
+@@ -30,6 +30,7 @@
+ 
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include "FLAC++/metadata.h"
+ #include "FLAC++/encoder.h"
+