Added SDL2 FFmpeg player that actually works, source: years of trial and error

This commit is contained in:
grepwood 2020-05-01 15:53:11 +02:00
parent 39c4517af8
commit 5c0e9b4b66
3 changed files with 80 additions and 0 deletions

View File

@ -0,0 +1 @@
DIST sdl-kitchensink-1.0.7.tar.gz 69854 BLAKE2B 33cd38bf9e5dbb3eaf3750af1680dd6d5daf4f8b951cfdfaf3ca2719651cc3498db08ee729a80cf8562b1062923f005979ab1970c11534174b468a453e93d552 SHA512 0f8970ff88ed78bcaf0bdc08ce7f7871d538d7d442e3047cf834866c7deb77c3fadbb97c9e67d3b032d8314f62676f4ad913fb4cee45901381914f50a11d6b51

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<use>
<flag name="sanitize">
Use sanitizer functions (ASAN/TSAN/etc...)
</flag>
<flag name="static">
Build static libraries
</flag>
<flag name="examples">
Build examples. If static is also set, examples will be linked against static library
</flag>
</use>
</pkgmetadata>

View File

@ -0,0 +1,64 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake-utils
DESCRIPTION="A Simple SDL2 / FFmpeg library for audio/video playback written in C99"
HOMEPAGE="https://github.com/katajakasa/SDL_kitchensink"
SRC_URI="https://github.com/katajakasa/SDL_kitchensink/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
IUSE="static sanitize examples"
BDEPEND+="
!static? ( sys-apps/findutils )
examples? ( sys-apps/coreutils )
"
RDEPEND+="
sanitize? ( sys-devel/gcc[sanitize] )
media-libs/libsdl2
media-video/ffmpeg[libass]
"
#S="${S}/${PN}"
S="${WORKDIR}/SDL_kitchensink-${PV}"
src_prepare() {
cmake-utils_src_prepare
}
src_configure() {
SANITIZE="OFF"
EXAMPLES="OFF"
if use sanitize; then SANITIZE="ON"; fi
if use examples; then EXAMPLES="ON"; fi
local mycmakeargs=(
-DUSE_ASAN="${SANITIZE}"
-DBUILD_EXAMPLES="${EXAMPLES}"
)
cmake-utils_src_configure
}
src_install() {
cmake-utils_src_install
if ! use static; then
elog "Removing static library libSDL_kitchensink_static.a"
find "${D}" -name libSDL_kitchensink_static.a -delete
fi
if use examples; then
for i in audio complex custom rwops simple; do
elog "Installing example: ${i}"
mv "${BUILD_DIR}"/${i} "${BUILD_DIR}"/SDL_kitchensink-${i}
dobin "${BUILD_DIR}"/SDL_kitchensink-${i}
done
if use static; then
elog "Examples are linked against static SDL_kitchensink library."
fi
fi
}