# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit toolchain-funcs xdg DESCRIPTION="Implementation of the MPEG-4 Systems standard developed from scratch in ANSI C" HOMEPAGE="https://gpac.wp.imt.fr/" SRC_URI="https://github.com/gpac/gpac/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="LGPL-2.1+" SLOT="0/12" KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86" IUSE=" X a52 aac alsa dvb ffmpeg http2 jack jpeg jpeg2k libcaca lzma mad opengl png pulseaudio sdl ssl theora truetype vorbis xvid " RDEPEND=" sys-libs/zlib:= X? ( x11-libs/libX11 x11-libs/libXv x11-libs/libXext ) a52? ( media-libs/a52dec ) aac? ( media-libs/faad2 ) alsa? ( media-libs/alsa-lib ) ffmpeg? ( media-video/ffmpeg:= ) http2? ( net-libs/nghttp2:= ) jack? ( virtual/jack ) jpeg2k? ( media-libs/openjpeg:2= ) jpeg? ( media-libs/libjpeg-turbo:= ) libcaca? ( media-libs/libcaca ) lzma? ( app-arch/xz-utils ) mad? ( media-libs/libmad ) opengl? ( media-libs/libglvnd[X] x11-libs/libX11 virtual/glu ) png? ( media-libs/libpng:= ) pulseaudio? ( media-libs/libpulse ) sdl? ( media-libs/libsdl2 ) ssl? ( dev-libs/openssl:= ) theora? ( media-libs/libogg media-libs/libtheora ) truetype? ( media-libs/freetype ) vorbis? ( media-libs/libvorbis ) xvid? ( media-libs/xvid ) " DEPEND=" ${RDEPEND} X? ( x11-base/xorg-proto ) dvb? ( sys-kernel/linux-headers ) " BDEPEND=" virtual/pkgconfig " PATCHES=( "${FILESDIR}"/${P}-configure-stddef.patch "${FILESDIR}"/${P}-ffmpeg7.patch ) src_prepare() { default # respect *FLAGS sed -e '/^sseflags=/d' -e 's/-O[0-3] //' -i configure || die # some configure options are ignored? (check if still needed on bump) use alsa || sed -i 's/^check_has_lib alsa/:/' configure || die use jack || sed -i 's/^check_has_lib jack/:/' configure || die use lzma || sed -i 's/^check_has_lib lzma/:/' configure || die use pulseaudio || sed -i 's/^check_has_lib pulseaudio/:/' configure || die use sdl || sed -i 's/has_sdl=.*/has_sdl=no/' configure || die } src_configure() { tc-export AR CC CXX RANLIB gpac_use() { usex ${1} --use-${2:-${1}}={system,no} } local conf=( ./configure # not autotools-based --prefix="${EPREFIX}"/usr --libdir="$(get_libdir)" --extra-cflags="${CFLAGS}" --enable-pic --verbose $(use_enable X x11) $(use_enable dvb dvbx) $(use_enable opengl 3d) $(gpac_use a52) $(gpac_use alsa) $(gpac_use dvb dvb4linux) $(gpac_use aac faad) $(gpac_use ffmpeg) $(gpac_use truetype freetype) --use-hid=no # only for a deprecated module $(gpac_use jack) $(gpac_use jpeg) $(gpac_use libcaca) $(gpac_use lzma) $(gpac_use mad) $(gpac_use http2 nghttp2) $(gpac_use jpeg2k openjpeg) $(gpac_use png) $(gpac_use pulseaudio) $(gpac_use sdl) $(gpac_use ssl) $(gpac_use vorbis) $(gpac_use theora) $(gpac_use xvid) # not packaged --use-caption=no --use-directfb=no --use-freenect=no --use-mpeghdec=no --use-openhevc=no --use-opensvc=no ) einfo "${conf[*]}" "${conf[@]}" || die } src_install() { emake STRIP=: DESTDIR="${D}" install dodoc Changelog README.md share/doc/{*.{bt,doc,txt},SceneGenerators} find "${ED}" -type f -name '*.a' -delete || die }