# Copyright 2000-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 LUA_COMPAT=( lua5-{1..2} ) MY_PV="${PV/_/-}" MY_PV="${MY_PV/-beta/-test}" MY_P="${PN}-${MY_PV}" if [[ ${PV} = *9999 ]] ; then if [[ ${PV%.9999} != ${PV} ]] ; then EGIT_BRANCH="3.0.x" fi EGIT_REPO_URI="https://code.videolan.org/videolan/vlc.git" inherit git-r3 else if [[ ${MY_P} = ${P} ]] ; then SRC_URI="https://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz" else SRC_URI="https://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz" fi KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv -sparc ~x86" fi inherit autotools flag-o-matic lua-single toolchain-funcs virtualx xdg DESCRIPTION="Media player and framework with support for most multimedia files and streaming" HOMEPAGE="https://www.videolan.org/vlc/" LICENSE="LGPL-2.1 GPL-2" SLOT="0/5-9" # vlc - vlccore IUSE="a52 alsa aom archive aribsub bidi bluray cddb chromaprint chromecast dav1d dbus dc1394 debug directx dts +dvbpsi dvd +encode faad fdk +ffmpeg flac fluidsynth fontconfig +gcrypt gme keyring gstreamer +gui ieee1394 jack jpeg kate libass libcaca libnotify +libsamplerate libtar libtiger linsys lirc live lua macosx-notifications mad matroska modplug mp3 mpeg mtp musepack ncurses nfs ogg omxil optimisememory opus png projectm pulseaudio rdp run-as-root samba sdl-image sftp shout sid skins soxr speex srt ssl svg taglib theora tremor truetype twolame udev upnp vaapi v4l vdpau vnc vpx wayland +X x264 x265 xml zeroconf zvbi cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_x86_mmx cpu_flags_x86_sse " REQUIRED_USE=" chromecast? ( encode ) directx? ( ffmpeg ) fontconfig? ( truetype ) libcaca? ( X ) libtar? ( skins ) libtiger? ( kate ) lua? ( ${LUA_REQUIRED_USE} ) skins? ( archive gui truetype X xml ) ssl? ( gcrypt ) vaapi? ( ffmpeg X ) vdpau? ( ffmpeg X ) " BDEPEND=" >=sys-devel/gettext-0.19.8 virtual/pkgconfig lua? ( ${LUA_DEPS} ) amd64? ( dev-lang/yasm ) wayland? ( dev-util/wayland-scanner ) x86? ( dev-lang/yasm ) " # =gcc 4.8.0. bug #499996 append-cflags $(test-flags-CC -fno-stack-check) # Bug 569774 replace-flags -Os -O2 fi # FIXME: Needs libresid-builder from libsidplay:2 which is in another directory... append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/sidplay/builders/" if use riscv; then # bug #803473 append-libs -latomic fi if use truetype || use bidi; then myeconfargs+=( --enable-freetype ) else myeconfargs+=( --disable-freetype ) fi if use truetype || use projectm; then local dejavu="${EPREFIX}/usr/share/fonts/dejavu/" myeconfargs+=( --with-default-font=${dejavu}/DejaVuSans.ttf --with-default-font-family=Sans --with-default-monospace-font=${dejavu}/DejaVuSansMono.ttf --with-default-monospace-font-family=Monospace ) fi econf "${myeconfargs[@]}" # _FORTIFY_SOURCE is set to 2 in config.h, which is also the default value on Gentoo. # Other values may break the build (bug 523144), so definition should not be removed. # To prevent redefinition warnings, we undefine _FORTIFY_SOURCE at the start of config.h sed -i '1i#undef _FORTIFY_SOURCE' config.h || die } src_test() { virtx emake check-TESTS } src_install() { default find "${ED}" -name '*.la' -delete || die } pkg_postinst() { if [[ -z "${ROOT}" ]] && [[ -x "${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen" ]] ; then einfo "Running ${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen on ${EROOT}/usr/$(get_libdir)/vlc/plugins/" "${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen" "${EROOT}/usr/$(get_libdir)/vlc/plugins/" else ewarn "We cannot run vlc-cache-gen (most likely ROOT != /)" ewarn "Please run ${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen manually" ewarn "If you do not do it, vlc will take a long time to load." fi xdg_pkg_postinst } pkg_postrm() { if [[ -e "${EROOT}"/usr/$(get_libdir)/vlc/plugins/plugins.dat ]]; then rm "${EROOT}"/usr/$(get_libdir)/vlc/plugins/plugins.dat || die "Failed to rm plugins.dat" fi xdg_pkg_postrm }