summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiogo Pereira <sir.suriv@gmail.com>2015-08-19 19:37:06 +0100
committerDiogo Pereira <sir.suriv@gmail.com>2015-08-20 21:58:46 +0100
commit99a5d239204d87bca54cc7404d299377c68d0b3e (patch)
treead6c9be62347bea9f0dd79d2a0a73df31cdbb397 /media-libs/libgroove
parentVersion bump - fixes bug 557944. (diff)
downloadgentoo-99a5d239204d87bca54cc7404d299377c68d0b3e.tar.gz
gentoo-99a5d239204d87bca54cc7404d299377c68d0b3e.tar.bz2
gentoo-99a5d239204d87bca54cc7404d299377c68d0b3e.zip
media-libs/libgroove: new ebuild
Gentoo-Bug: 558190
Diffstat (limited to 'media-libs/libgroove')
-rw-r--r--media-libs/libgroove/Manifest1
-rw-r--r--media-libs/libgroove/files/libgroove-4.3.0_GNUInstallDirs.patch105
-rw-r--r--media-libs/libgroove/files/libgroove-4.3.0_cflags.patch43
-rw-r--r--media-libs/libgroove/libgroove-4.3.0.ebuild43
-rw-r--r--media-libs/libgroove/metadata.xml25
5 files changed, 217 insertions, 0 deletions
diff --git a/media-libs/libgroove/Manifest b/media-libs/libgroove/Manifest
new file mode 100644
index 000000000000..b465c45dcc72
--- /dev/null
+++ b/media-libs/libgroove/Manifest
@@ -0,0 +1 @@
+DIST libgroove-4.3.0.tar.gz 48857 SHA256 76f68896f078a9613d420339ef887ca8293884ad2cd0fbc031d89a6af2993636 SHA512 30d75a3b1b3efa9b33687bb146648b66f8f4c718551c0db2c24c0259f09cf355a7c7bbac40d60d7a97bbbd7f83401d09464c6ac2b18cdfcd6198220cefc8a705 WHIRLPOOL 4040769723e7891b285318d538cf628203289aca7f7a655855716fe450f58712cd64b2fdc2abbd316bef6f80bf6b65ae6620b9ac339b3ebd5c7e091a36129040
diff --git a/media-libs/libgroove/files/libgroove-4.3.0_GNUInstallDirs.patch b/media-libs/libgroove/files/libgroove-4.3.0_GNUInstallDirs.patch
new file mode 100644
index 000000000000..a4e77b87ce74
--- /dev/null
+++ b/media-libs/libgroove/files/libgroove-4.3.0_GNUInstallDirs.patch
@@ -0,0 +1,105 @@
+From 8b741249fc17d7cf7d72a702fcdf7f07870b0b27 Mon Sep 17 00:00:00 2001
+From: hasufell <hasufell@hasufell.de>
+Date: Thu, 20 Aug 2015 14:30:16 +0200
+Subject: [PATCH] CMake: make installation directories more configurable
+
+We use GNUInstallDirs now to be able to control the following variables:
+ CMAKE_INSTALL_LIBDIR
+ CMAKE_INSTALL_INCLUDEDIR
+
+This fixes support for distribution that have a multi-arch setup.
+Also see https://github.com/gentoo/gentoo/pull/22
+---
+ CMakeLists.txt | 26 ++++++++++++++------------
+ 1 file changed, 14 insertions(+), 12 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f2029eb..49e150e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,6 @@
+-cmake_minimum_required(VERSION 2.8)
++cmake_minimum_required(VERSION 2.8.5)
++
++include(GNUInstallDirs)
+
+ if(NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE "Debug" CACHE STRING
+@@ -157,7 +159,7 @@ add_library(groove_static STATIC ${LIBGROOVE_SOURCES} ${LIBGROOVE_HEADERS})
+ set_target_properties(groove_static PROPERTIES
+ OUTPUT_NAME groove
+ COMPILE_FLAGS "${LIB_CFLAGS} -fPIC")
+-install(TARGETS groove_static DESTINATION lib)
++install(TARGETS groove_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+
+ install(FILES
+@@ -165,7 +167,7 @@ install(FILES
+ "groove/queue.h"
+ "groove/encoder.h"
+ DESTINATION "include/groove")
+-install(TARGETS groove DESTINATION lib)
++install(TARGETS groove DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ add_executable(metadata example/metadata.c)
+ set_target_properties(metadata PROPERTIES
+@@ -207,8 +209,8 @@ else()
+ target_link_libraries(grooveplayer LINK_PRIVATE ${SDL2_LIBRARY})
+ include_directories(${SDL2_INCLUDE_DIR})
+
+- install(FILES "grooveplayer/player.h" DESTINATION "include/grooveplayer")
+- install(TARGETS grooveplayer DESTINATION lib)
++ install(FILES "grooveplayer/player.h" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/grooveplayer")
++ install(TARGETS grooveplayer DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ add_library(grooveplayer_static STATIC
+ ${LIBGROOVE_PLAYER_SOURCES}
+@@ -216,7 +218,7 @@ else()
+ set_target_properties(grooveplayer_static PROPERTIES
+ OUTPUT_NAME grooveplayer
+ COMPILE_FLAGS "${LIB_CFLAGS} -fPIC")
+- install(TARGETS grooveplayer_static DESTINATION lib)
++ install(TARGETS grooveplayer_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+
+ add_executable(playlist example/playlist.c ${PROJECT_SOURCE_DIR}/grooveplayer/player.h)
+@@ -242,8 +244,8 @@ else()
+ target_link_libraries(grooveloudness LINK_PRIVATE ${EBUR128_LIBRARY})
+ include_directories(${EBUR128_INCLUDE_DIR})
+
+- install(FILES "grooveloudness/loudness.h" DESTINATION "include/grooveloudness")
+- install(TARGETS grooveloudness DESTINATION lib)
++ install(FILES "grooveloudness/loudness.h" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/grooveloudness")
++ install(TARGETS grooveloudness DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+
+ add_library(grooveloudness_static STATIC
+@@ -252,7 +254,7 @@ else()
+ set_target_properties(grooveloudness_static PROPERTIES
+ OUTPUT_NAME grooveloudness
+ COMPILE_FLAGS "${LIB_CFLAGS} -fPIC")
+- install(TARGETS grooveloudness_static DESTINATION lib)
++ install(TARGETS grooveloudness_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+
+ add_executable(replaygain example/replaygain.c)
+@@ -278,8 +280,8 @@ else()
+ target_link_libraries(groovefingerprinter LINK_PRIVATE ${CHROMAPRINT_LIBRARY})
+ include_directories(${CHROMAPRINT_INCLUDE_DIR})
+
+- install(FILES "groovefingerprinter/fingerprinter.h" DESTINATION "include/groovefingerprinter")
+- install(TARGETS groovefingerprinter DESTINATION lib)
++ install(FILES "groovefingerprinter/fingerprinter.h" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/groovefingerprinter")
++ install(TARGETS groovefingerprinter DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+
+ add_library(groovefingerprinter_static STATIC
+@@ -288,7 +290,7 @@ else()
+ set_target_properties(groovefingerprinter_static PROPERTIES
+ OUTPUT_NAME groovefingerprinter
+ COMPILE_FLAGS "${LIB_CFLAGS} -fPIC")
+- install(TARGETS groovefingerprinter_static DESTINATION lib)
++ install(TARGETS groovefingerprinter_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+
+ add_executable(fingerprint example/fingerprint.c)
diff --git a/media-libs/libgroove/files/libgroove-4.3.0_cflags.patch b/media-libs/libgroove/files/libgroove-4.3.0_cflags.patch
new file mode 100644
index 000000000000..c7d21cbe2de4
--- /dev/null
+++ b/media-libs/libgroove/files/libgroove-4.3.0_cflags.patch
@@ -0,0 +1,43 @@
+From e5af72acd284db1ee2b79aeeb06714770d1ad5c3 Mon Sep 17 00:00:00 2001
+From: Diogo Pereira <sir.suriv@gmail.com>
+Date: Thu, 20 Aug 2015 15:05:25 +0100
+Subject: [PATCH] Remove -Werror, -pedantic and -g from CFLAGS
+
+Based on upstream commits:
+0b619fa build: -Werror and -pedantic in debug mode only
+856c260 build: remove redundant -Werror and -pedantic
+
+https://github.com/andrewrk/libgroove/compare/44aa5db96cfe45e56fa1f7d762fb032ca178a35c...856c26013e4356d4fc078da980083bc4d002771d
+---
+ CMakeLists.txt | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a1e8541..14aca44 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -135,8 +135,11 @@ configure_file (
+ "${PROJECT_BINARY_DIR}/config.h"
+ )
+
+-set(LIB_CFLAGS "${C99_C_FLAGS} -pedantic -Werror -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_REENTRANT -D_POSIX_C_SOURCE=200809L")
+-set(EXAMPLE_CFLAGS "${C99_C_FLAGS} -pedantic -Werror -Wall -g")
++set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Wno-unused-variable")
++set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror -pedantic")
++
++set(LIB_CFLAGS "-std=c99 -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_REENTRANT -D_POSIX_C_SOURCE=200809L")
++set(EXAMPLE_CFLAGS "-std=c99 -Wall")
+ set(EXAMPLE_INCLUDES "${PROJECT_SOURCE_DIR}")
+
+ add_library(groove SHARED ${LIBGROOVE_SOURCES} ${LIBGROOVE_HEADERS})
+@@ -306,6 +309,7 @@ message("\n"
+ "Installation Summary\n"
+ "--------------------\n"
+ "* Install Directory : ${CMAKE_INSTALL_PREFIX}\n"
++"* Build Type : ${CMAKE_BUILD_TYPE}\n"
+ "* Build libgroove : ${LIBGROOVE_STATUS}\n"
+ "* Build libgrooveplayer : ${LIBGROOVE_PLAYER_STATUS}\n"
+ "* Build libgrooveloudness : ${LIBGROOVE_LOUDNESS_STATUS}\n"
+--
+2.5.0
+
diff --git a/media-libs/libgroove/libgroove-4.3.0.ebuild b/media-libs/libgroove/libgroove-4.3.0.ebuild
new file mode 100644
index 000000000000..ed9f0fe4ec29
--- /dev/null
+++ b/media-libs/libgroove/libgroove-4.3.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib cmake-utils
+
+DESCRIPTION="Streaming audio processing library."
+HOMEPAGE="https://github.com/andrewrk/libgroove"
+SRC_URI="https://github.com/andrewrk/libgroove/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/4"
+KEYWORDS="~amd64"
+IUSE="+chromaprint libav +loudness +sound static-libs"
+
+DEPEND="libav? ( media-video/libav )
+ !libav? ( media-video/ffmpeg )
+ chromaprint? ( media-libs/chromaprint )
+ loudness? ( media-libs/libebur128[speex] )
+ sound? ( media-libs/libsdl2[sound] )"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}_cflags.patch"
+ "${FILESDIR}/${P}_GNUInstallDirs.patch" )
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_disable chromaprint FINGERPRINTER)
+ $(cmake-utils_use_disable loudness LOUDNESS)
+ $(cmake-utils_use_disable sound PLAYER)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if ! use static-libs ; then
+ rm "${ED%/}"/usr/$(get_libdir)/*.a || die "failed to remove static libs"
+ fi
+}
diff --git a/media-libs/libgroove/metadata.xml b/media-libs/libgroove/metadata.xml
new file mode 100644
index 000000000000..f0312ccb166a
--- /dev/null
+++ b/media-libs/libgroove/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proxy-maintainers</herd>
+<maintainer>
+ <email>sir.suriv@gmail.com</email>
+ <name>Diogo Pereira</name>
+ <description>Proxy maintainer. Assign bugs to him.</description>
+</maintainer>
+<longdescription lang="en">
+ This library provides decoding and encoding of audio on a playlist. It is intended to be used as a backend for music player applications. That said, it is also generic enough to be used as a backend for any streaming audio processing utility.
+</longdescription>
+<use>
+ <flag name='chromaprint'>Enable audio fingerprinting using <pkg>media-libs/chromaprint</pkg>.</flag>
+ <flag name='loudness'>Enable loudness detection according to the EBU R128 standard using <pkg>media-libs/libebur128</pkg>.</flag>
+ <flag name='sound'>Enable audio playing.</flag>
+</use>
+<upstream>
+ <maintainer status="active">
+ <email>superjoe30@gmail.com</email>
+ <name>Andrew Kelley</name>
+ </maintainer>
+ <remote-id type="github">andrewrk/libgroove</remote-id>
+</upstream>
+</pkgmetadata>