commit:     751bdfbb6c48a0a67e750344f85d0d6063909d40
Author:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
AuthorDate: Tue Dec 24 16:03:24 2024 +0000
Commit:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
CommitDate: Tue Dec 24 16:06:06 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=751bdfbb

media-libs/dr_flac: add 0.12.43

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

 media-libs/dr_flac/Manifest               |   2 +
 media-libs/dr_flac/dr_flac-0.12.43.ebuild | 106 ++++++++++++++++++++++++++++++
 2 files changed, 108 insertions(+)

diff --git a/media-libs/dr_flac/Manifest b/media-libs/dr_flac/Manifest
index 7a799aa45..1091d3f5e 100644
--- a/media-libs/dr_flac/Manifest
+++ b/media-libs/dr_flac/Manifest
@@ -1,2 +1,4 @@
 DIST dr_flac-0.12.42-testbench.gh.tar.gz 209728991 BLAKE2B 
7e25dd97bfb0099fa6f76c6b3de65ce6ce951c9b88e0f963319d8a7981237c2b1b6510706c8c4c6cd38e0672b6c0e7213baf8d9448d96b74e495625f0c61a0ea
 SHA512 
4aa8b0061d5b5691dfac49490309020918253965ec05353ef8d12b660bc9d484e500859c0f733ce51630867bf5469893417367d04ce098a60c18a47831384dee
 DIST dr_flac-0.12.42.gh.tar.gz 518465 BLAKE2B 
2f25cf2806e443eac7cc1de9f8cc59c7cee2a8be9910195c39e0665a938368a92d66e9630281b666068bbb587f0c35d7f1bf4ce2ee6540c6dccddf5984466fe1
 SHA512 
aaae58f27d1b215a7d3be3fcd26ab9b3c3f59e44c027bd6406c4ad47acadfca276326d6a179ca08c87ba9ba21b0de26bf600a5fd75dc54af90cac72b8db92139
+DIST dr_flac-0.12.43.gh.tar.gz 519168 BLAKE2B 
c7104aa98900adb52ce8a0138f46493bcf284196e191373c77e07bf3af0b951d1d13b65fef33bbc8836849f36781c118672a5b7503d2ecb56602e9e0a80420c7
 SHA512 
840c917712eaca69f1b402e87ce14c325d0e174ffccecc2dd5eb699620d3b23b308b29a657195a7b1d1643fca76357c2f778e2e863e650382ddf2fa2dabc99c8
+DIST flac-test-files-aa7b0c6cf32994c106ae517a08134c28a96ff5b2.gh.tar.gz 
209728991 BLAKE2B 
7e25dd97bfb0099fa6f76c6b3de65ce6ce951c9b88e0f963319d8a7981237c2b1b6510706c8c4c6cd38e0672b6c0e7213baf8d9448d96b74e495625f0c61a0ea
 SHA512 
4aa8b0061d5b5691dfac49490309020918253965ec05353ef8d12b660bc9d484e500859c0f733ce51630867bf5469893417367d04ce098a60c18a47831384dee

diff --git a/media-libs/dr_flac/dr_flac-0.12.43.ebuild 
b/media-libs/dr_flac/dr_flac-0.12.43.ebuild
new file mode 100644
index 000000000..84820e761
--- /dev/null
+++ b/media-libs/dr_flac/dr_flac-0.12.43.ebuild
@@ -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
+
+declare -A COMMITS=(
+       [dr_flac]="a1dd66cb680522a753bac7dff306b4a1cfd75e26"
+       [testbench]="aa7b0c6cf32994c106ae517a08134c28a96ff5b2"
+)
+
+DESCRIPTION="Single-header FLAC audio decoder library"
+HOMEPAGE="https://github.com/mackron/dr_libs/";
+SRC_URI="https://github.com/mackron/dr_libs/archive/${COMMITS[dr_flac]}.tar.gz 
-> ${P}.gh.tar.gz
+test? ( 
https://github.com/ietf-wg-cellar/flac-test-files/archive/${COMMITS[testbench]}.tar.gz
+               -> flac-test-files-${COMMITS[testbench]}.gh.tar.gz )"
+
+S="${WORKDIR}/dr_libs-${COMMITS[dr_flac]}"
+
+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}
+)
+
+src_prepare() {
+       if use test; then
+               # 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
+
+       awk '/Introduction/,/\*\//' dr_flac.h | sed '$d' > README
+       assert
+       awk '/REVISION HISTORY/,/\*\//' dr_flac.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} flac/${tcase} -o bin/${tcase} 
${MY_FLAGS} ${CPPFLAGS}"
+                       case ${tcase%.*} in
+                               dr_flac_seeking)
+                               ;&
+                               dr_flac_decoding)
+                                       MY_BUILD="${MY_BUILD} -lFLAC ${LDFLAGS}"
+                                       ;;
+                               *)
+                                       ;;
+                       esac
+                       edo ${MY_BUILD}
+               done
+               popd || die
+       fi
+}
+
+src_test() {
+       pushd tests > /dev/null || die
+       for tcase in ${TESTCASES[@]}; do
+               edo bin/${tcase}
+       done
+       popd || die
+}
+
+src_install() {
+       einstalldocs
+       doheader dr_flac.h
+}

Reply via email to