commit:     69ef98704288b2637e52bbc5f552569930a2685f
Author:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
AuthorDate: Sun Sep  3 22:23:22 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Sep  3 22:24:36 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=69ef9870

media-libs/dr_flac: new package, add 0.12.41

Signed-off-by: Lucio Sauer <watermanpaint <AT> posteo.net>

 media-libs/dr_flac/Manifest                        |   3 +
 media-libs/dr_flac/dr_flac-0.12.41.ebuild          | 117 +++++++++++++++++++++
 .../dr_flac/files/dr_flac-0.12.41-docs.tar.xz      | Bin 0 -> 6044 bytes
 media-libs/dr_flac/metadata.xml                    |  11 ++
 4 files changed, 131 insertions(+)

diff --git a/media-libs/dr_flac/Manifest b/media-libs/dr_flac/Manifest
new file mode 100644
index 0000000000..f603b6ed0a
--- /dev/null
+++ b/media-libs/dr_flac/Manifest
@@ -0,0 +1,3 @@
+DIST dr_flac-0.12.41-testbench.gh.tar.gz 209727087 BLAKE2B 
72547637782c4af9eb914e417896d1c6c0b403ac9996dbcea4de7d3343e7d39072a8df2af397ef5ace81a85b0214015d4b73d40b06b072df9d60ea5dcb0bbe8a
 SHA512 
990aed238e5158b1a1e03d67316416fc1b33cd9e1653bef3295ae6abd016f09060f87627904424afd2855886d1f43fc475259f4ec4d71e9e7e4f0f4158a819ac
+DIST dr_flac-0.12.41.gh.tar.gz 518329 BLAKE2B 
c01d2dd3a7397251589e2e2d0be14b6005e21f77b7453990bb340dd3c87808a8b64e033073380b832a377c614775cf7f8666df56b74b4fb1b1fd115add43b296
 SHA512 
9f0d2a162358b949bf9b35d92dc2f5845830c31014f2bc66c197240db5d840fcf85e9feec86b4678d05948e41e94ca1b9e909edc648e82ab7ba9ade195cc3a40
+DIST dr_flac-0.12.41.h 525519 BLAKE2B 
4433e0406e8f4f7d301ebd7336d76b72c7b27767b570ab3807eeafab231274269709105bb0eb9995a6a205e94b0e38691208136ca71703a9273882b4a8313f36
 SHA512 
1cf8d2acc80ce2d4f417b7f34b5fc92b9c88678a4b44c6b4a0f8a22c7497ddc8bb9ba79aa860932d436ae60253455391cf6f843713fa0a8d9fb36d29602a4e3a

diff --git a/media-libs/dr_flac/dr_flac-0.12.41.ebuild 
b/media-libs/dr_flac/dr_flac-0.12.41.ebuild
new file mode 100644
index 0000000000..287d210e73
--- /dev/null
+++ b/media-libs/dr_flac/dr_flac-0.12.41.ebuild
@@ -0,0 +1,117 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Single-header FLAC audio decoder library"
+HOMEPAGE="https://github.com/mackron/dr_libs/";
+declare -A COMMITS=(
+       [dr_flac]="353bdc08bd90b24832a5eb149b2c4fd770a650f6"
+       [testbench]="4a19dc2ddb9ee3ac083abaa99faa3a0b7230f833"
+)
+SRC_URI="!test? ( 
https://raw.githubusercontent.com/mackron/dr_libs/${COMMITS[dr_flac]}/dr_flac.h 
-> ${P}.h )
+                 test? ( 
https://github.com/mackron/dr_libs/archive/${COMMITS[dr_flac]}.tar.gz -> 
${P}.gh.tar.gz
+                                 
https://github.com/ietf-wg-cellar/flac-test-files/archive/${COMMITS[testbench]}.tar.gz
+                                 -> ${P}-testbench.gh.tar.gz )"
+
+LICENSE="|| ( MIT-0 public-domain )"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( media-libs/flac )"
+
+TESTCASES=(
+       dr_flac_seeking.c
+       dr_flac_{decoding,test_0}.{c,cpp}
+)
+
+S="${WORKDIR}/dr_libs-${COMMITS[dr_flac]}"
+
+src_unpack() {
+       default
+       unpack "${FILESDIR}"/${P}-docs.tar.xz
+}
+
+src_prepare() {
+       if use test; then
+               # Remove some unused parts of the source tree that could 
contribute different
+               # (but acceptable) license terms if they were used—just to 
prove that we do not
+               # use them.
+               rm -rv old || die
+
+               # Sanitize testbench and move to expected location
+               find "${WORKDIR}"/flac-test-files-${COMMITS[testbench]}/subset 
-type f \
+                        \! -name "*.flac" -delete || die
+               mv -T "${WORKDIR}"/flac-test-files-${COMMITS[testbench]}/subset 
\
+                  tests/testvectors/flac/testbench || die
+
+               # Disable profiling tests as they are not relevant downstream.
+               for tcase in ${TESTCASES[@]}; do
+                       sed -i "s/doProfiling = DRFLAC_TRUE/doProfiling = 
DRFLAC_FALSE/" \
+                               tests/flac/$tcase || die "sed failed on 
tests/flac/$tcase"
+               done
+
+       fi
+       default
+}
+
+src_compile() {
+       if use test; then
+               local MY_{C,CC,CXX,BUILD,FLAGS}
+               MY_CC=$(tc-getCC)
+               MY_CXX=$(tc-getCXX)
+
+               pushd tests > /dev/null || die
+               for tcase in ${TESTCASES[@]}; do
+                       einfo "Compiling test case ${tcase}."
+                       case ${tcase} in
+                               *.cpp)
+                                       MY_C=${MY_CXX}
+                                       MY_FLAGS=${CXXFLAGS}
+                                       ;;
+                               *.c)
+                                       MY_C=${MY_CC}
+                                       MY_FLAGS=${CFLAGS}
+                                       ;;
+                               *)
+                                       die "Unknown test case ${tcase}"
+                                       ;;
+                       esac
+                       MY_BUILD="${MY_C} flac/${tcase} -o bin/${tcase} 
${MY_FLAGS} ${CPPFLAGS}"
+                       case ${tcase%.*} in
+                               dr_flac_seeking)
+                               ;&
+                               dr_flac_decoding)
+                                       MY_BUILD="${MY_BUILD} -lFLAC ${LDFLAGS}"
+                                       ;;
+                               *)
+                                       ;;
+                       esac
+                       ${MY_BUILD} || die "Build failed: ${MY_BUILD}"
+               done
+               popd || die
+       fi
+}
+
+src_test() {
+       pushd tests > /dev/null || die
+       for tcase in ${TESTCASES[@]}; do
+               einfo "Running test case ${tcase}."
+               ./bin/${tcase} || die "Test case ${tcase} failed."
+       done
+       popd || die
+}
+
+src_install() {
+       einstalldocs
+       if use test; then
+               doheader dr_flac.h
+       else
+               newheader "${DISTDIR}"/${P}.h dr_flac.h
+       fi
+}

diff --git a/media-libs/dr_flac/files/dr_flac-0.12.41-docs.tar.xz 
b/media-libs/dr_flac/files/dr_flac-0.12.41-docs.tar.xz
new file mode 100644
index 0000000000..d0164f263a
Binary files /dev/null and 
b/media-libs/dr_flac/files/dr_flac-0.12.41-docs.tar.xz differ

diff --git a/media-libs/dr_flac/metadata.xml b/media-libs/dr_flac/metadata.xml
new file mode 100644
index 0000000000..6b41d45a1f
--- /dev/null
+++ b/media-libs/dr_flac/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+  <maintainer type="person">
+    <email>watermanpa...@posteo.net</email>
+    <name>Lucio Sauer</name>
+  </maintainer>
+  <upstream>
+    <remote-id type="github">mackron/dr_libs</remote-id>
+  </upstream>
+</pkgmetadata>

Reply via email to