commit:     63720d87d47cb9c54dee9e64d7bd754c23b1c080
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  1 10:37:11 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Jan  1 11:12:14 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63720d87

media-sound/hydrogen: Add Qt5-based live version

Thanks-to: Samuel Bauer <BM-2cTVBXjxdVtEQCycBQjMxszLsgTNVujvM5 <AT> 
bitmessage.ch>
Bug: https://bugs.gentoo.org/570814
Package-Manager: Portage-2.3.19, Repoman-2.3.6

 .../hydrogen/files/hydrogen-gnuinstalldirs.patch   | 112 +++++++++++++++++++++
 media-sound/hydrogen/hydrogen-9999.ebuild          |  81 +++++++++++++++
 media-sound/hydrogen/metadata.xml                  |  21 ++--
 3 files changed, 204 insertions(+), 10 deletions(-)

diff --git a/media-sound/hydrogen/files/hydrogen-gnuinstalldirs.patch 
b/media-sound/hydrogen/files/hydrogen-gnuinstalldirs.patch
new file mode 100644
index 00000000000..d42b3971d45
--- /dev/null
+++ b/media-sound/hydrogen/files/hydrogen-gnuinstalldirs.patch
@@ -0,0 +1,112 @@
+From 11c72da8b2bf96f650ca6e1e38af0819c4f49c45 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <andreas.sturmlech...@gmail.com>
+Date: Mon, 1 Jan 2018 11:52:18 +0100
+Subject: [PATCH] Use GNUInstallDirs
+
+Fixes multiarch and deprecated man dir location.
+---
+ CMakeLists.txt            | 14 ++++++++------
+ src/cli/CMakeLists.txt    |  2 +-
+ src/core/CMakeLists.txt   |  6 +++---
+ src/gui/CMakeLists.txt    |  2 +-
+ src/player/CMakeLists.txt |  2 +-
+ 5 files changed, 14 insertions(+), 12 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 96dbf47a..2caab298 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -30,6 +30,8 @@ ELSE()
+       SET(DISPLAY_VERSION "${VERSION}-${GIT_REVISION}")
+ ENDIF(VERSION_SUFFIX)
+ 
++include(GNUInstallDirs)
++
+ SET(LIBSNDFILE_VERSION_PREV "1.0.17")
+ 
+ #
+@@ -146,13 +148,13 @@ ELSE(MINGW)
+               #Without setting this, installation would go into /usr/local, 
which does not exist per default
+               SET(CMAKE_INSTALL_PREFIX "/usr" )
+     ELSE(APPLE)
+-        SET(OSS_LIB_PATHS "/usr/lib${LIB_SUFFIX}/oss/lib" 
"/usr/local/lib${LIB_SUFFIX}/oss/lib" )
++        SET(OSS_LIB_PATHS "${CMAKE_INSTALL_LIBDIR}/oss/lib" 
"/usr/local/lib${LIB_SUFFIX}/oss/lib" )
+     ENDIF(APPLE)
+ ENDIF(MINGW)
+ 
+ #Installation paths
+ # TODO remove data from path
+-SET(SYS_DATA_PATH "${CMAKE_INSTALL_PREFIX}/share/hydrogen/data")
++SET(SYS_DATA_PATH "${CMAKE_INSTALL_DATAROOTDIR}/hydrogen/data")
+ # TODO remove data from path, could be .config/hydrogen
+ SET(USR_DATA_PATH ".hydrogen/data")
+ 
+@@ -358,10 +360,10 @@ ELSE()
+       INSTALL(DIRECTORY data DESTINATION ${SYS_DATA_PATH}/.. PATTERN ".git" 
EXCLUDE)
+ ENDIF()
+ IF(NOT MINGW AND NOT APPLE)
+-      INSTALL(FILES ${CMAKE_SOURCE_DIR}/linux/hydrogen.appdata.xml 
DESTINATION "${CMAKE_INSTALL_PREFIX}/share/appdata")
+-      INSTALL(FILES ${CMAKE_SOURCE_DIR}/linux/hydrogen.desktop DESTINATION 
"${CMAKE_INSTALL_PREFIX}/share/applications")
+-      INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/img/gray/h2-icon.svg DESTINATION 
"/usr/share/pixmaps")
+-      INSTALL(FILES ${CMAKE_SOURCE_DIR}/linux/hydrogen.1 DESTINATION 
"${CMAKE_INSTALL_PREFIX}/man/man1")
++      INSTALL(FILES ${CMAKE_SOURCE_DIR}/linux/hydrogen.appdata.xml 
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/appdata")
++      INSTALL(FILES ${CMAKE_SOURCE_DIR}/linux/hydrogen.desktop DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/applications")
++      INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/img/gray/h2-icon.svg DESTINATION 
"${CMAKE_INSTALL_DATAROOTDIR}/pixmaps")
++      INSTALL(FILES ${CMAKE_SOURCE_DIR}/linux/hydrogen.1 DESTINATION 
"${CMAKE_INSTALL_MANDIR}/man1")
+ ENDIF()
+ 
+ #
+diff --git a/src/cli/CMakeLists.txt b/src/cli/CMakeLists.txt
+index f6cd04eb..7725dc83 100644
+--- a/src/cli/CMakeLists.txt
++++ b/src/cli/CMakeLists.txt
+@@ -20,4 +20,4 @@ TARGET_LINK_LIBRARIES(h2cli
+ 
+ ADD_DEPENDENCIES(h2cli hydrogen-core-${VERSION})
+ 
+-INSTALL(TARGETS h2cli RUNTIME DESTINATION bin BUNDLE DESTINATION bin )
++INSTALL(TARGETS h2cli RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} BUNDLE 
DESTINATION ${CMAKE_INSTALL_BINDIR})
+diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
+index db1333da..0ab61d96 100644
+--- a/src/core/CMakeLists.txt
++++ b/src/core/CMakeLists.txt
+@@ -57,13 +57,13 @@ TARGET_LINK_LIBRARIES(hydrogen-core-${VERSION}
+ #SET_TARGET_PROPERTIES(hydrogen-core-${VERSION} PROPERTIES PUBLIC_HEADER   
"${hydrogen_INCLUDES}" )
+ 
+ INSTALL(TARGETS hydrogen-core-${VERSION}
+-    LIBRARY DESTINATION "lib${LIB_SUFFIX}"
+-    ARCHIVE DESTINATION "lib${LIB_SUFFIX}"
++    LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
++    ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+     # do not copy directory hierarchy
+     #PUBLIC_HEADER DESTINATION include/hydrogen
+ )
+ 
+ IF(NOT APPLE AND NOT WIN32)
+     INSTALL(DIRECTORY include DESTINATION "${CMAKE_INSTALL_PREFIX}" 
FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE)
+-    INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/include/hydrogen/config.h" 
DESTINATION "${CMAKE_INSTALL_PREFIX}/include/hydrogen" )
++    INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/include/hydrogen/config.h" 
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/hydrogen" )
+ ENDIF()
+diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
+index fb375e48..9cd18e6a 100644
+--- a/src/gui/CMakeLists.txt
++++ b/src/gui/CMakeLists.txt
+@@ -57,4 +57,4 @@ TARGET_LINK_LIBRARIES(hydrogen
+ qt5_use_modules(hydrogen Widgets)
+ ADD_DEPENDENCIES(hydrogen hydrogen-core-${VERSION})
+ 
+-INSTALL(TARGETS hydrogen RUNTIME DESTINATION bin BUNDLE DESTINATION bin )
++INSTALL(TARGETS hydrogen RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} BUNDLE 
DESTINATION ${CMAKE_INSTALL_BINDIR})
+diff --git a/src/player/CMakeLists.txt b/src/player/CMakeLists.txt
+index 72c270f3..836fc5b4 100644
+--- a/src/player/CMakeLists.txt
++++ b/src/player/CMakeLists.txt
+@@ -16,4 +16,4 @@ TARGET_LINK_LIBRARIES(h2player
+ 
+ ADD_DEPENDENCIES(h2player hydrogen-core-${VERSION})
+ 
+-INSTALL(TARGETS h2player RUNTIME DESTINATION bin BUNDLE DESTINATION bin )
++INSTALL(TARGETS h2player RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} BUNDLE 
DESTINATION ${CMAKE_INSTALL_BINDIR})
+-- 
+2.15.1
+

diff --git a/media-sound/hydrogen/hydrogen-9999.ebuild 
b/media-sound/hydrogen/hydrogen-9999.ebuild
new file mode 100644
index 00000000000..3d14fb4a653
--- /dev/null
+++ b/media-sound/hydrogen/hydrogen-9999.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils git-r3 xdg-utils
+
+DESCRIPTION="Advanced drum machine"
+HOMEPAGE="http://www.hydrogen-music.org/";
+EGIT_REPO_URI="https://github.com/${PN}-music/${PN}";
+
+LICENSE="GPL-2 ZLIB"
+SLOT="0"
+KEYWORDS=""
+IUSE="alsa +archive jack ladspa lash osc oss portaudio portmidi pulseaudio"
+
+REQUIRED_USE="lash? ( alsa )"
+
+RDEPEND="
+       dev-qt/qtcore:5
+       dev-qt/qtgui:5
+       dev-qt/qtnetwork:5
+       dev-qt/qtwidgets:5
+       dev-qt/qtxml:5
+       dev-qt/qtxmlpatterns:5
+       >=media-libs/libsndfile-1.0.18
+       alsa? ( media-libs/alsa-lib )
+       archive? ( app-arch/libarchive )
+       !archive? ( >=dev-libs/libtar-1.2.11-r3 )
+       jack? ( virtual/jack )
+       ladspa? ( media-libs/liblrdf )
+       lash? ( media-sound/lash )
+       osc? ( media-libs/liblo )
+       portaudio? ( media-libs/portaudio )
+       portmidi? ( media-libs/portmidi )
+       pulseaudio? ( media-sound/pulseaudio )
+"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig
+"
+
+DOCS=( AUTHORS ChangeLog DEVELOPERS README.txt )
+
+PATCHES=( "${FILESDIR}/${PN}-gnuinstalldirs.patch" )
+
+src_configure() {
+       local mycmakeargs=(
+               -DWANT_ALSA=$(usex alsa)
+               -DWANT_CPPUNIT=OFF
+               -DWANT_DEBUG=OFF
+               -DWANT_JACK=$(usex jack)
+               -DWANT_JACKSESSION=$(usex jack)
+               -DWANT_LADSPA=$(usex ladspa)
+               -DWANT_LASH=$(usex lash)
+               -DWANT_LIBARCHIVE=$(usex archive)
+               -DWANT_LRDF=$(usex ladspa)
+               -DWANT_OSC=$(usex osc)
+               -DWANT_OSS=$(usex oss)
+               -DWANT_PORTAUDIO=$(usex portaudio)
+               -DWANT_PORTMIDI=$(usex portmidi)
+               -DWANT_PULSEAUDIO=$(usex pulseaudio)
+               -DWANT_RUBBERBAND=OFF
+       )
+
+       cmake-utils_src_configure
+}
+
+src_install() {
+       cmake-utils_src_install
+       dosym ../../${PN}/data/doc /usr/share/doc/${PF}/html
+}
+
+pkg_postinst() {
+       xdg_mimeinfo_database_update
+       xdg_desktop_database_update
+}
+
+pkg_postrm() {
+       xdg_mimeinfo_database_update
+       xdg_desktop_database_update
+}

diff --git a/media-sound/hydrogen/metadata.xml 
b/media-sound/hydrogen/metadata.xml
index 3881dc28c75..972362fefd4 100644
--- a/media-sound/hydrogen/metadata.xml
+++ b/media-sound/hydrogen/metadata.xml
@@ -1,14 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
 <pkgmetadata>
-  <maintainer type="project">
-    <email>proau...@gentoo.org</email>
-    <name>Gentoo ProAudio Project</name>
-  </maintainer>
-  <use>
-    <flag name="archive">Use libarchive instead of libtar</flag>
-  </use>
-  <upstream>
-    <remote-id type="sourceforge">hydrogen</remote-id>
-  </upstream>
+       <maintainer type="project">
+               <email>proau...@gentoo.org</email>
+               <name>Gentoo ProAudio Project</name>
+       </maintainer>
+       <use>
+               <flag name="archive">Use libarchive instead of libtar</flag>
+               <flag name="portmidi">Add portmidi support</flag>
+       </use>
+       <upstream>
+               <remote-id type="github">hydrogen-music/hydrogen</remote-id>
+       </upstream>
 </pkgmetadata>

Reply via email to