media-sound/openmpt123: New package
authorJames Le Cuirot <chewi@gentoo.org>
Sun, 8 Dec 2019 15:03:38 +0000 (15:03 +0000)
committerJames Le Cuirot <chewi@gentoo.org>
Sun, 8 Dec 2019 15:37:40 +0000 (15:37 +0000)
I have packaged libopenmpt separately. Both have many USE flags that
could be explained in the metadata but are more intuitive when
separated.

Closes: https://bugs.gentoo.org/598818
Package-Manager: Portage-2.3.81, Repoman-2.3.19
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
media-sound/openmpt123/Manifest [new file with mode: 0644]
media-sound/openmpt123/metadata.xml [new file with mode: 0644]
media-sound/openmpt123/openmpt123-0.4.10.ebuild [new file with mode: 0644]

diff --git a/media-sound/openmpt123/Manifest b/media-sound/openmpt123/Manifest
new file mode 100644 (file)
index 0000000..a169d54
--- /dev/null
@@ -0,0 +1 @@
+DIST libopenmpt-0.4.10+release.autotools.tar.gz 1471662 BLAKE2B c20ef4d26b583f5cbbed5e6d108ce6f55fef74726997267a56d16b8508fb46f26f62f934a98bcc20749da2ed2aef0bdd22931cc785806ec0b6c5daef593d196d SHA512 d7c46016eea59c21e3f948d8538a747d5fa6b29f160841b688878d8ce48859d014c3a036738074b3d260af6e662c36b03391aef511c1817a5ace81f60bf27dfc
diff --git a/media-sound/openmpt123/metadata.xml b/media-sound/openmpt123/metadata.xml
new file mode 100644 (file)
index 0000000..334fead
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer type="person">
+               <email>chewi@gentoo.org</email>
+               <name>James Le Cuirot</name>
+       </maintainer>
+       <upstream>
+               <remote-id type="github">OpenMPT/openmpt</remote-id>
+       </upstream>
+</pkgmetadata>
diff --git a/media-sound/openmpt123/openmpt123-0.4.10.ebuild b/media-sound/openmpt123/openmpt123-0.4.10.ebuild
new file mode 100644 (file)
index 0000000..e7c6d6f
--- /dev/null
@@ -0,0 +1,74 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib
+
+MY_P="libopenmpt-${PV}+release.autotools"
+DESCRIPTION="libopenmpt-based command line player for tracked music files (modules)"
+HOMEPAGE="https://lib.openmpt.org/libopenmpt/"
+SRC_URI="https://lib.openmpt.org/files/libopenmpt/src/${MY_P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="flac portaudio pulseaudio sdl sndfile"
+
+RDEPEND="
+       ~media-libs/libopenmpt-${PV}
+       flac? ( media-libs/flac )
+       pulseaudio? ( media-sound/pulseaudio )
+       sdl? ( media-libs/libsdl2 )
+       sndfile? ( media-libs/libsndfile )
+"
+
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+       default
+
+       # Normally libopenmpt is built alongside openmpt123. Avoid the
+       # internal dependency and link it externally.
+       rm -r libopenmpt/ || die
+       sed -i \
+               -e "s:libopenmpt/libopenmpt\.pc::g" \
+               configure || die
+       sed -i \
+               -e "/_${PN}_DEPENDENCIES/s:libopenmpt\.la::g" \
+               -e "/_${PN}_LDADD/s:libopenmpt\.la:-lopenmpt:g" \
+               Makefile.in || die
+}
+
+src_configure() {
+       # A lot of these optional dependencies relate to libopenmpt, which
+       # we package separately, so we disable them here.
+       econf \
+               --disable-static \
+               --enable-openmpt123 \
+               --disable-examples \
+               --disable-tests \
+               --disable-doxygen-doc \
+               --without-zlib \
+               --without-mpg123 \
+               --without-ogg \
+               --without-vorbis \
+               --without-vorbisfile \
+               $(use_with pulseaudio) \
+               $(use_with portaudio) \
+               --without-portaudiocpp \
+               $(use_with sdl sdl2) \
+               --without-sdl \
+               $(use_with sndfile) \
+               $(use_with flac)
+}
+
+src_compile() {
+       emake "bin/${PN}$(get_exeext)"
+}
+
+src_install() {
+       dobin "bin/${PN}$(get_exeext)"
+}