From 99a5d239204d87bca54cc7404d299377c68d0b3e Mon Sep 17 00:00:00 2001 From: Diogo Pereira Date: Wed, 19 Aug 2015 19:37:06 +0100 Subject: [PATCH] media-libs/libgroove: new ebuild Gentoo-Bug: 558190 --- media-libs/libgroove/Manifest | 1 + .../libgroove-4.3.0_GNUInstallDirs.patch | 105 ++++++++++++++++++ .../files/libgroove-4.3.0_cflags.patch | 43 +++++++ media-libs/libgroove/libgroove-4.3.0.ebuild | 43 +++++++ media-libs/libgroove/metadata.xml | 25 +++++ 5 files changed, 217 insertions(+) create mode 100644 media-libs/libgroove/Manifest create mode 100644 media-libs/libgroove/files/libgroove-4.3.0_GNUInstallDirs.patch create mode 100644 media-libs/libgroove/files/libgroove-4.3.0_cflags.patch create mode 100644 media-libs/libgroove/libgroove-4.3.0.ebuild create mode 100644 media-libs/libgroove/metadata.xml 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 +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 +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 @@ + + + +proxy-maintainers + + sir.suriv@gmail.com + Diogo Pereira + Proxy maintainer. Assign bugs to him. + + + 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. + + + Enable audio fingerprinting using media-libs/chromaprint. + Enable loudness detection according to the EBU R128 standard using media-libs/libebur128. + Enable audio playing. + + + + superjoe30@gmail.com + Andrew Kelley + + andrewrk/libgroove + + -- 2.26.2