summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNHOrus <jy6x2b32pie9@yahoo.com>2024-04-02 12:13:05 +0400
committerSam James <sam@gentoo.org>2024-05-09 01:34:07 +0100
commitb8bb7f1065bf5701e62f118b5ef7cf727543d0de (patch)
tree2b40a1d01d7452591c47023f6216647fce42846c /media-libs
parentapp-emulation/qemu: drop 8.2.1, 8.2.2 (diff)
downloadgentoo-b8bb7f1065bf5701e62f118b5ef7cf727543d0de.tar.gz
gentoo-b8bb7f1065bf5701e62f118b5ef7cf727543d0de.tar.bz2
gentoo-b8bb7f1065bf5701e62f118b5ef7cf727543d0de.zip
media-libs/audiofile: replace deprecated template unary_function
Adds the patch from the bug to the tree. [sam: Add bug ref to patch.] Closes: https://bugs.gentoo.org/914349 Signed-off-by: NHOrus <jy6x2b32pie9@yahoo.com> Closes: https://github.com/gentoo/gentoo/pull/36054 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/audiofile/audiofile-0.3.6-r6.ebuild59
-rw-r--r--media-libs/audiofile/files/audiofile-0.3.6-clang-deprecation.patch68
2 files changed, 127 insertions, 0 deletions
diff --git a/media-libs/audiofile/audiofile-0.3.6-r6.ebuild b/media-libs/audiofile/audiofile-0.3.6-r6.ebuild
new file mode 100644
index 000000000000..63b3eb3bfc60
--- /dev/null
+++ b/media-libs/audiofile/audiofile-0.3.6-r6.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools gnome.org multilib-minimal
+
+DESCRIPTION="An elegant API for accessing audio files"
+HOMEPAGE="https://audiofile.68k.org/"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/1" # subslot = soname major version
+KEYWORDS="~amd64"
+IUSE="flac"
+
+RDEPEND="flac? ( >=media-libs/flac-1.2.1:=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.3.6-gcc6-build-fixes.patch
+ "${FILESDIR}"/${PN}-0.3.6-CVE-2015-7747.patch
+ "${FILESDIR}"/${PN}-0.3.6-mingw32.patch
+ "${FILESDIR}"/${PN}-0.3.6-CVE-2017-68xx.patch
+ "${FILESDIR}"/${PN}-0.3.6-CVE-2018-13440-CVE-2018-17095.patch
+ "${FILESDIR}"/${PN}-0.3.6-strict-prototypes.patch
+ "${FILESDIR}"/${PN}-0.3.6-clang-deprecation.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+multilib_src_configure() {
+ # Tests depend on statically compiled binaries to work, so we'll have to
+ # delete them later rather than not compile them at all
+ local myconf=(
+ --enable-largefile
+ # static needed for tests, bug #869677
+ --enable-static
+ --disable-werror
+ --disable-examples
+ $(use_enable flac)
+ )
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_test() {
+ emake check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ # package provides .pc file
+ find "${ED}" -name '*.la' -delete || die
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/media-libs/audiofile/files/audiofile-0.3.6-clang-deprecation.patch b/media-libs/audiofile/files/audiofile-0.3.6-clang-deprecation.patch
new file mode 100644
index 000000000000..bccb9c1948e9
--- /dev/null
+++ b/media-libs/audiofile/files/audiofile-0.3.6-clang-deprecation.patch
@@ -0,0 +1,68 @@
+https://bugs.gentoo.org/914349
+--- a/libaudiofile/modules/SimpleModule.h
++++ b/libaudiofile/modules/SimpleModule.h
+@@ -125,13 +125,17 @@ struct signConverter
+ static const int kScaleBits = (Format + 1) * CHAR_BIT - 1;
+ static const int kMinSignedValue = -1 << kScaleBits;
+
+- struct signedToUnsigned : public std::unary_function<SignedType, UnsignedType>
++ struct signedToUnsigned
+ {
++ typedef SignedType argument_type;
++ typedef UnsignedType result_type;
+ UnsignedType operator()(SignedType x) { return x - kMinSignedValue; }
+ };
+
+- struct unsignedToSigned : public std::unary_function<SignedType, UnsignedType>
++ struct unsignedToSigned
+ {
++ typedef SignedType argument_type;
++ typedef UnsignedType result_type;
+ SignedType operator()(UnsignedType x) { return x + kMinSignedValue; }
+ };
+ };
+@@ -323,8 +327,10 @@ private:
+ };
+
+ template <typename Arg, typename Result>
+-struct intToFloat : public std::unary_function<Arg, Result>
++struct intToFloat
+ {
++ typedef Arg argument_type;
++ typedef Result result_type;
+ Result operator()(Arg x) const { return x; }
+ };
+
+@@ -389,14 +395,18 @@ private:
+ };
+
+ template <typename Arg, typename Result, unsigned shift>
+-struct lshift : public std::unary_function<Arg, Result>
++struct lshift
+ {
++ typedef Arg argument_type;
++ typedef Result result_type;
+ Result operator()(const Arg &x) const { return x << shift; }
+ };
+
+ template <typename Arg, typename Result, unsigned shift>
+-struct rshift : public std::unary_function<Arg, Result>
++struct rshift
+ {
++ typedef Arg argument_type;
++ typedef Result result_type;
+ Result operator()(const Arg &x) const { return x >> shift; }
+ };
+
+@@ -491,8 +501,10 @@ private:
+ };
+
+ template <typename Arg, typename Result>
+-struct floatToFloat : public std::unary_function<Arg, Result>
++struct floatToFloat
+ {
++ typedef Arg argument_type;
++ typedef Result result_type;
+ Result operator()(Arg x) const { return x; }
+ };
+