media-libs/dr_wav: add 0.13.16

Signed-off-by: Lucio Sauer <watermanpaint@posteo.net>
This commit is contained in:
Lucio Sauer
2024-03-02 00:08:05 +01:00
parent 1e5259bab3
commit 2ac693cb42
2 changed files with 107 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST dr_wav-0.13.15.gh.tar.gz 518698 BLAKE2B 9598008c392fcb24448f15771bb47e6479c99b529164e28af00600d3eb7066ffb49f328bcaca88cb89ac0348551ff60cbf9c965d1f39e460319a0867b4141821 SHA512 8d6b8324db7a0864b1c264a1aea7f29eb282f726aa2d6ba8be8fb27892dd7c3c047b3b669bcc9744e52b4fb57899437bb42ba17b5cefd3520c98cb17570e68dd
DIST dr_wav-0.13.16.gh.tar.gz 518698 BLAKE2B 9598008c392fcb24448f15771bb47e6479c99b529164e28af00600d3eb7066ffb49f328bcaca88cb89ac0348551ff60cbf9c965d1f39e460319a0867b4141821 SHA512 8d6b8324db7a0864b1c264a1aea7f29eb282f726aa2d6ba8be8fb27892dd7c3c047b3b669bcc9744e52b4fb57899437bb42ba17b5cefd3520c98cb17570e68dd

View File

@@ -0,0 +1,106 @@
# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit edo toolchain-funcs
DESCRIPTION="Single-header WAV audio loader and writer library"
HOMEPAGE="https://github.com/mackron/dr_libs/"
COMMIT="e4a7765e598e9e54dc0f520b7e4416359bee80cc"
SRC_URI="https://github.com/mackron/dr_libs/archive/${COMMIT}.tar.gz -> ${P}.gh.tar.gz"
LICENSE="|| ( MIT-0 public-domain )"
SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
BDEPEND="test? ( media-libs/libsndfile )"
TESTCASES=(
dr_wav_encoding.c
dr_wav_{decoding,test_0}.{c,cpp}
)
S="${WORKDIR}/dr_libs-${COMMIT}"
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.md
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
}