commit:     fdb4251e5d4ee1da9ada3925629ff5af5881f732
Author:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
AuthorDate: Tue Dec 24 15:50:59 2024 +0000
Commit:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
CommitDate: Tue Dec 24 15:50:59 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=fdb4251e

media-libs/dr_wav: add 0.13.17

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

 media-libs/dr_wav/Manifest              |   1 +
 media-libs/dr_wav/dr_wav-0.13.17.ebuild | 107 ++++++++++++++++++++++++++++++++
 2 files changed, 108 insertions(+)

diff --git a/media-libs/dr_wav/Manifest b/media-libs/dr_wav/Manifest
index aea22197c..4aceddeac 100644
--- a/media-libs/dr_wav/Manifest
+++ b/media-libs/dr_wav/Manifest
@@ -1 +1,2 @@
 DIST dr_wav-0.13.16.gh.tar.gz 518708 BLAKE2B 
33c55d2e7dcba5e01421dc3003a5f1a520a13c0f32a9720625771f9c4625fd47d6f6567642dba8cfdf8c59561fab5074b02f6ad86e97c9ab6b970a6529332cb6
 SHA512 
604752b11f0c51eb25a1c51b8e74c7c11473f0267b2d48a2ec2637c3ea881b9a29867a5a0aa016b7a1dced67bd271abc62b20fe771e0c20862dc14afccd39b09
+DIST dr_wav-0.13.17.gh.tar.gz 519185 BLAKE2B 
6223639f9500713b9dbf830a2ac9b7f9b86f6010ca2531b70f673309ba44994ba84e2cadbce395e7bc0629bcf744698032ae6fe85387b80e81bcb46ba8fc5ff9
 SHA512 
2c521b95ca070aa87eb45b91a169822ac7324f535a24cc01053fc6da93f9fe955e940ec8ee3a1cc2b645c0ecbb278f44164c54cbbb88a880206a48157a4a8399

diff --git a/media-libs/dr_wav/dr_wav-0.13.17.ebuild 
b/media-libs/dr_wav/dr_wav-0.13.17.ebuild
new file mode 100644
index 000000000..c843ebb60
--- /dev/null
+++ b/media-libs/dr_wav/dr_wav-0.13.17.ebuild
@@ -0,0 +1,107 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo toolchain-funcs
+
+COMMIT="660795b2834aebb2217c9849d668b6e4bd4ef810"
+
+DESCRIPTION="Single-header WAV audio loader and writer library"
+HOMEPAGE="https://github.com/mackron/dr_libs/";
+SRC_URI="https://github.com/mackron/dr_libs/archive/${COMMIT}.tar.gz -> 
${P}.gh.tar.gz"
+
+S="${WORKDIR}/dr_libs-${COMMIT}"
+
+LICENSE="|| ( MIT-0 public-domain )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( media-libs/libsndfile )"
+
+TESTCASES=(
+       dr_wav_encoding.c
+       dr_wav_{decoding,test_0}.{c,cpp}
+)
+
+src_prepare() {
+       if use test; then
+               # Unbundle library with incorrect include path.
+               sed -i 
's,"../../../miniaudio/miniaudio.h",<miniaudio/miniaudio.h>,' \
+                       tests/wav/dr_wav_playback.c || die
+               # Disable profiling tests as they are not relevant downstream.
+               sed -i 's/doProfiling = DRWAV_TRUE/doProfiling = DRWAV_FALSE/' \
+                       tests/wav/dr_wav_decoding.c || die
+               # Test cases dr_wav_{en,de}coding.{c,cpp} write and read a file 
from a
+               # missing directory.
+               mkdir tests/testvectors/wav/tests || die
+       fi
+
+       awk '/Introduction/,/\*\//' dr_wav.h | sed '$d' > README
+       assert
+       awk '/REVISION HISTORY/,/\*\//' dr_wav.h | sed '$d' > CHANGELOG
+       assert
+       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
+                       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} wav/${tcase} -o bin/${tcase} 
${MY_FLAGS} ${CPPFLAGS}"
+                       case ${tcase%.*} in
+                               dr_wav_encoding)
+                                       MY_BUILD="${MY_BUILD} -lm ${LDFLAGS}"
+                                       ;;
+                               *)
+                                       ;;
+                       esac
+                       edo ${MY_BUILD}
+               done
+               popd || die
+       fi
+}
+
+src_test() {
+       local MY_RUN
+
+       pushd tests || die
+       for tcase in ${TESTCASES[@]}; do
+               MY_RUN="./bin/${tcase}"
+               case ${tcase%.*} in
+                       dr_wav_encoding)
+                               MY_RUN="${MY_RUN} 
testvectors/wav/tests/test_encode_gentoo"
+                               ;;
+                       *)
+                               ;;
+               esac
+               edo ${MY_RUN}
+       done
+       popd || die
+}
+
+src_install() {
+       einstalldocs
+       doheader dr_wav.h
+}

Reply via email to