summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@gentoo.org>2020-05-31 16:53:45 +0100
committerJames Le Cuirot <chewi@gentoo.org>2020-05-31 17:19:35 +0100
commitbf1b4d6ef4ae333487f8813c6c3fbbf2fd5cb116 (patch)
treecb2b1891855d2ccb88cc45ff9bd5c77fb1635e01 /media-libs/alure
parentmedia-libs/dumb: Bump to 2.0.3, EAPI 7, new upstream (diff)
downloadgentoo-bf1b4d6ef4ae333487f8813c6c3fbbf2fd5cb116.tar.gz
gentoo-bf1b4d6ef4ae333487f8813c6c3fbbf2fd5cb116.tar.bz2
gentoo-bf1b4d6ef4ae333487f8813c6c3fbbf2fd5cb116.zip
media-libs/alure: Fix building with newer media-libs/dumb versions
Package-Manager: Portage-2.3.100, Repoman-2.3.22 Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Diffstat (limited to 'media-libs/alure')
-rw-r--r--media-libs/alure/alure-1.2-r1.ebuild4
-rw-r--r--media-libs/alure/alure-1.2-r2.ebuild53
-rw-r--r--media-libs/alure/files/alure-1.2-new-dumb.patch30
3 files changed, 85 insertions, 2 deletions
diff --git a/media-libs/alure/alure-1.2-r1.ebuild b/media-libs/alure/alure-1.2-r1.ebuild
index 69166861c89a..3053fbc78e10 100644
--- a/media-libs/alure/alure-1.2-r1.ebuild
+++ b/media-libs/alure/alure-1.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,7 +16,7 @@ IUSE="dumb examples flac fluidsynth mp3 sndfile static-libs vorbis"
RDEPEND="
>=media-libs/openal-1.1
- dumb? ( media-libs/dumb )
+ dumb? ( =media-libs/dumb-0.9*:= )
flac? ( media-libs/flac )
fluidsynth? ( >=media-sound/fluidsynth-1.1.1:= )
mp3? ( media-sound/mpg123 )
diff --git a/media-libs/alure/alure-1.2-r2.ebuild b/media-libs/alure/alure-1.2-r2.ebuild
new file mode 100644
index 000000000000..49baf11fcec3
--- /dev/null
+++ b/media-libs/alure/alure-1.2-r2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="The OpenAL Utility Toolkit"
+HOMEPAGE="https://kcat.strangesoft.net/alure.html"
+SRC_URI="https://kcat.strangesoft.net/alure-releases/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="dumb examples flac fluidsynth mp3 sndfile static-libs vorbis"
+
+RDEPEND="
+ >=media-libs/openal-1.1
+ dumb? ( media-libs/dumb:= )
+ flac? ( media-libs/flac )
+ fluidsynth? ( >=media-sound/fluidsynth-1.1.1:= )
+ mp3? ( media-sound/mpg123 )
+ sndfile? ( media-libs/libsndfile )
+ vorbis? ( media-libs/libvorbis )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-include-unistd.patch
+ "${FILESDIR}"/${P}-new-dumb.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -i -e "/DESTINATION/s:doc/alure:doc/${PF}:" CMakeLists.txt || die
+}
+
+src_configure() {
+ # FIXME: libmodplug/sndfile.h from libmodplug conflict with sndfile.h from libsndfile
+ local mycmakeargs=(
+ -DMODPLUG=OFF
+ -DDUMB=$(usex dumb)
+ -DBUILD_EXAMPLES=$(usex examples)
+ -DFLAC=$(usex flac)
+ -DFLUIDSYNTH=$(usex fluidsynth)
+ -DMPG123=$(usex mp3)
+ -DSNDFILE=$(usex sndfile)
+ -DBUILD_STATIC=$(usex static-libs)
+ -DVORBIS=$(usex vorbis)
+ )
+
+ cmake_src_configure
+}
diff --git a/media-libs/alure/files/alure-1.2-new-dumb.patch b/media-libs/alure/files/alure-1.2-new-dumb.patch
new file mode 100644
index 000000000000..97b8f71b7024
--- /dev/null
+++ b/media-libs/alure/files/alure-1.2-new-dumb.patch
@@ -0,0 +1,30 @@
+# Already fixed upstream:
+# https://repo.or.cz/alure.git/commitdiff/9939cdfbf9c6c7a2690db7fb8dd2892389adcd5f
+
+diff -Naur a/src/codec_dumb.cpp b/src/codec_dumb.cpp
+--- a/src/codec_dumb.cpp 2011-07-29 09:37:48.000000000 +0100
++++ b/src/codec_dumb.cpp 2020-05-10 15:59:48.502632496 +0100
+@@ -272,7 +272,11 @@
+
+ private:
+ // DUMBFILE iostream callbacks
++#if DUMB_VERSION >= 2*10000
++ static int skip(void *user_data, dumb_off_t offset)
++#else
+ static int skip(void *user_data, long offset)
++#endif
+ {
+ std::istream *stream = static_cast<dumbStream*>(user_data)->fstream;
+ stream->clear();
+@@ -282,7 +286,11 @@
+ return -1;
+ }
+
++#if DUMB_VERSION >= 2*10000
++ static dumb_ssize_t read(char *ptr, size_t size, void *user_data)
++#else
+ static long read(char *ptr, long size, void *user_data)
++#endif
+ {
+ std::istream *stream = static_cast<dumbStream*>(user_data)->fstream;
+ stream->clear();