From 9fd0ab99df6a385e337cf29e06f9727ba3d335af Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Tue, 16 Jun 2020 12:21:56 -0400 Subject: [PATCH 40/58] gnu: Add libofa. * gnu/packages/audio.scm (libofa): New variable. --- gnu/packages/audio.scm | 31 ++++++++++++++++++++ gnu/packages/patches/libofa-1.diff | 39 ++++++++++++++++++++++++++ gnu/packages/patches/libofa-2.diff | 20 +++++++++++++ gnu/packages/patches/libofa-3.diff | 16 +++++++++++ gnu/packages/patches/libofa-4.diff | 14 ++++++++++ gnu/packages/patches/libofa-5.diff | 45 ++++++++++++++++++++++++++++++ gnu/packages/patches/libofa-6.diff | 20 +++++++++++++ gnu/packages/patches/libofa-7.diff | 15 ++++++++++ gnu/packages/patches/libofa-8.diff | 27 ++++++++++++++++++ gnu/packages/patches/libofa-9.diff | 18 ++++++++++++ 10 files changed, 245 insertions(+) create mode 100644 gnu/packages/patches/libofa-1.diff create mode 100644 gnu/packages/patches/libofa-2.diff create mode 100644 gnu/packages/patches/libofa-3.diff create mode 100644 gnu/packages/patches/libofa-4.diff create mode 100644 gnu/packages/patches/libofa-5.diff create mode 100644 gnu/packages/patches/libofa-6.diff create mode 100644 gnu/packages/patches/libofa-7.diff create mode 100644 gnu/packages/patches/libofa-8.diff create mode 100644 gnu/packages/patches/libofa-9.diff diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 50f6c44290..df1f071925 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -126,6 +126,37 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-26)) +(define-public libofa + (package + (name "libofa") + (version "0.9.3") + (source + (origin + (method url-fetch) + (uri + (string-append "https://storage.googleapis.com/" + "google-code-archive-downloads/v2/code.google.com/" + "musicip-libofa/" name "-" version ".tar.gz")) + (sha256 + (base32 "184ham039l7lwhfgg0xr2vch2xnw1lwh7sid432mh879adhlc5h2")) + (patches + (search-patches "libofa-1.diff" "libofa-2.diff" "libofa-3.diff" + "libofa-4.diff" "libofa-5.diff" "libofa-6.diff" + "libofa-7.diff" "libofa-8.diff" "libofa-9.diff")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("curl" ,curl) + ("expat" ,expat))) + (propagated-inputs + `(("fftw" ,fftw))) + (synopsis "Open Fingerprint Architecture") + (description "LibOFA is an audio fingerprint library, created and provided +by MusicIP.") + (home-page "https://code.google.com/archive/p/musicip-libofa/") + (license license:gpl2+))) + (define-public faac (package (name "faac") diff --git a/gnu/packages/patches/libofa-1.diff b/gnu/packages/patches/libofa-1.diff new file mode 100644 index 0000000000..85646fbcee --- /dev/null +++ b/gnu/packages/patches/libofa-1.diff @@ -0,0 +1,39 @@ +Description: fix building over GCC 4.1. +Author: Lukáš Lalinský +Last-Update: 2006-07-23 +Index: libofa-0.9.3/lib/JAMA/tnt_math_utils.h +=================================================================== +--- libofa-0.9.3.orig/lib/JAMA/tnt_math_utils.h ++++ libofa-0.9.3/lib/JAMA/tnt_math_utils.h +@@ -20,6 +20,15 @@ inline const _Tp& max(const _Tp& __a, co + namespace TNT + { + /** ++ @returns the absolute value of a real (no-complex) scalar. ++*/ ++template ++Real abs(const Real &a) ++{ ++ return (a > 0 ? a : -a); ++} ++ ++/** + @returns hypotenuse of real (non-complex) scalars a and b by + avoiding underflow/overflow + using (a * sqrt( 1 + (b/a) * (b/a))), rather than +@@ -56,15 +65,6 @@ Scalar max(const Scalar &a, const Scalar + } + */ + +-/** +- @returns the absolute value of a real (no-complex) scalar. +-*/ +-template +-Real abs(const Real &a) +-{ +- return (a > 0 ? a : -a); +-} +- + } + #endif + /* MATH_UTILS_H */ diff --git a/gnu/packages/patches/libofa-2.diff b/gnu/packages/patches/libofa-2.diff new file mode 100644 index 0000000000..43e23c7015 --- /dev/null +++ b/gnu/packages/patches/libofa-2.diff @@ -0,0 +1,20 @@ +Description: fix an issue. +Author: Lukáš Lalinský +Last-Update: 2006-08-22 +Index: libofa-0.9.3/examples/wavefile.cpp +=================================================================== +--- libofa-0.9.3.orig/examples/wavefile.cpp ++++ libofa-0.9.3/examples/wavefile.cpp +@@ -42,7 +42,11 @@ AudioData* loadWaveFile(char *file) { + int srate = 0; + int channels = 0; + +- int fd = open(file, O_RDONLY | 0x8000); ++#ifdef WIN32 ++ int fd = open(file, O_RDONLY | O_BINARY); ++#else ++ int fd = open(file, O_RDONLY); ++#endif + if (fd == -1) + return 0; + diff --git a/gnu/packages/patches/libofa-3.diff b/gnu/packages/patches/libofa-3.diff new file mode 100644 index 0000000000..9a0efde52f --- /dev/null +++ b/gnu/packages/patches/libofa-3.diff @@ -0,0 +1,16 @@ +Description: fix an issue. +Author: Lukáš Lalinský +Last-Update: 2006-08-27 +Index: libofa-0.9.3/examples/protocol.cpp +=================================================================== +--- libofa-0.9.3.orig/examples/protocol.cpp ++++ libofa-0.9.3/examples/protocol.cpp +@@ -258,7 +258,7 @@ bool retrieve_metadata(string client_key + } + // printf("response: %s\n\n", response.c_str()); + +- unsigned int q = response.find(" +Last-Update: 2007-05-19 +Index: libofa-0.9.3/libofa.pc.in +=================================================================== +--- libofa-0.9.3.orig/libofa.pc.in ++++ libofa-0.9.3/libofa.pc.in +@@ -8,5 +8,5 @@ Description: The Open Fingerprint Archit + URL: http://www.musicdns.org/ + Version: @VERSION@ + Requires: fftw3 +-Libs: -L${libdir} -lofa -lexpat -lm ++Libs: -L${libdir} -lofa -lm + Cflags: -I${includedir} diff --git a/gnu/packages/patches/libofa-5.diff b/gnu/packages/patches/libofa-5.diff new file mode 100644 index 0000000000..4aa712320c --- /dev/null +++ b/gnu/packages/patches/libofa-5.diff @@ -0,0 +1,45 @@ +Description: fix FTBFS with GCC 4.3. (Closes: #417355) +Author: Martin Michlmayr +Last-Update: 2007-04-02 + +Description: add a missing include. (Closes: #441557) +Author: Brian M. Carlson +Last-Update: 2007-12-29 + +Index: libofa-0.9.3/lib/signal_op.cpp +=================================================================== +--- libofa-0.9.3.orig/lib/signal_op.cpp ++++ libofa-0.9.3/lib/signal_op.cpp +@@ -12,6 +12,7 @@ + // DATE CREATED: 1/12/06 + + ++#include + #include + #include "signal_op.h" + #include "AFLIB/aflibConverter.h" +Index: libofa-0.9.3/examples/example.cpp +=================================================================== +--- libofa-0.9.3.orig/examples/example.cpp ++++ libofa-0.9.3/examples/example.cpp +@@ -8,6 +8,8 @@ + -------------------------------------------------------------------*/ + + #include "protocol.h" ++#include ++#include + + AudioData* loadWaveFile(char *file); + AudioData* loadDataUsingLAME(char *file); +Index: libofa-0.9.3/examples/protocol.cpp +=================================================================== +--- libofa-0.9.3.orig/examples/protocol.cpp ++++ libofa-0.9.3/examples/protocol.cpp +@@ -8,6 +8,7 @@ + -------------------------------------------------------------------*/ + #include + #include ++#include + #include + #include + #include diff --git a/gnu/packages/patches/libofa-6.diff b/gnu/packages/patches/libofa-6.diff new file mode 100644 index 0000000000..473750bc3c --- /dev/null +++ b/gnu/packages/patches/libofa-6.diff @@ -0,0 +1,20 @@ +From: Martin Michlmayr +Subject: FTBFS with GCC 4.4: missing #include +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504902 +Forwarded: no +--- + examples/example.cpp | 1 + + 1 file changed, 1 insertion(+) + +Index: libofa-0.9.3/examples/example.cpp +=================================================================== +--- libofa-0.9.3.orig/examples/example.cpp ++++ libofa-0.9.3/examples/example.cpp +@@ -8,6 +8,7 @@ + -------------------------------------------------------------------*/ + + #include "protocol.h" ++#include + #include + #include + diff --git a/gnu/packages/patches/libofa-7.diff b/gnu/packages/patches/libofa-7.diff new file mode 100644 index 0000000000..6b1e824fad --- /dev/null +++ b/gnu/packages/patches/libofa-7.diff @@ -0,0 +1,15 @@ +Description: Fix FTBFS due to unexisting and useless include. (Closes: #637896) +Author: Regis Boudin +Last-Update: 2011-10-03 +Index: libofa-0.9.3/examples/protocol.cpp +=================================================================== +--- libofa-0.9.3.orig/examples/protocol.cpp ++++ libofa-0.9.3/examples/protocol.cpp +@@ -13,7 +13,6 @@ + #include + #include + #include +-#include + #include + + using namespace std; diff --git a/gnu/packages/patches/libofa-8.diff b/gnu/packages/patches/libofa-8.diff new file mode 100644 index 0000000000..ad61573578 --- /dev/null +++ b/gnu/packages/patches/libofa-8.diff @@ -0,0 +1,27 @@ +Description: ftbfs with GCC-4.7. (Closes: #667250) +Author: Matthias Klose +Last-Update: 2012-04-17 +Index: libofa-0.9.3/examples/uselame.cpp +=================================================================== +--- libofa-0.9.3.orig/examples/uselame.cpp ++++ libofa-0.9.3/examples/uselame.cpp +@@ -11,6 +11,7 @@ + #include "windows.h" + #else + #include ++#include + #endif + + AudioData *loadWaveFile(char *file); +Index: libofa-0.9.3/examples/wavefile.cpp +=================================================================== +--- libofa-0.9.3.orig/examples/wavefile.cpp ++++ libofa-0.9.3/examples/wavefile.cpp +@@ -11,6 +11,7 @@ + #include "io.h" + #endif + #include ++#include + + static bool readBytes(int fd, unsigned char *buf, int size) { + int ct = 0; diff --git a/gnu/packages/patches/libofa-9.diff b/gnu/packages/patches/libofa-9.diff new file mode 100644 index 0000000000..738597b519 --- /dev/null +++ b/gnu/packages/patches/libofa-9.diff @@ -0,0 +1,18 @@ +Description: use new macro for initializing libltdl + Use LTDL_INIT([convenience]) instead of AC_LIBLTDL_CONVENIENCE to fix FTBFS + while autoreconfing. +Author: Logan Rosen +Last-Update: <2014-01-04> +Index: libofa-0.9.3/configure.in +=================================================================== +--- libofa-0.9.3.orig/configure.in ++++ libofa-0.9.3/configure.in +@@ -28,7 +28,7 @@ dnl Checks for programs. + AC_PREREQ(2.52) + AC_PROG_AWK + AC_PROG_CC +-AC_LIBLTDL_CONVENIENCE ++LTDL_INIT([convenience]) + AM_PROG_LIBTOOL + AC_SUBST(LIBTOOL_DEPS) + AC_PROG_CXX -- 2.26.2