diff options
Diffstat (limited to 'media-video/vlc')
-rw-r--r-- | media-video/vlc/Manifest | 2 | ||||
-rw-r--r-- | media-video/vlc/files/vlc-3.0.17.3-dav1d-1.0.0.patch | 78 | ||||
-rw-r--r-- | media-video/vlc/vlc-3.0.17.3-r2.ebuild | 515 |
3 files changed, 595 insertions, 0 deletions
diff --git a/media-video/vlc/Manifest b/media-video/vlc/Manifest index 101115e022e0..87c4672056fa 100644 --- a/media-video/vlc/Manifest +++ b/media-video/vlc/Manifest @@ -5,6 +5,7 @@ AUX vlc-3.0.11.1-configure_lua_version.patch 1598 BLAKE2B 589c90d0c805ff516b7957 AUX vlc-3.0.11.1-srt-1.4.2.patch 976 BLAKE2B 1d5c6a2df44e2cc26c0b835b71f028b04457e1cfc37954d30d9f2b29d711ea80ae2ec5431ed87be626caa16effa1565a34520dd7a54e89ee470e6aace6d3c594 SHA512 333480c279ad743b30ae61ab2e4e1c7bdca8e406009075f669c84fbaffe7fd68a9e9c58615d44cdba1056b973726c486cacd8d2dbcfea6f282173a929f5f8d68 AUX vlc-3.0.13-srt-1.3.0.patch 446 BLAKE2B e02bad6bcc81508fd8d28a2b10f1760339c6a9432e951bf04596053493f2cec197468032ec29773fdf1b980cee5e2c71b556a4cdef4076fb08f0b1edc6965dba SHA512 1b4165bdb95d128ae9afdb1f650f629c219801eaf6f6e1f12659eb45026e732099ad3a714406e8ad0cdeb1f4e6988c187b7e60b69a8d00bdc759649f1d08b5e5 AUX vlc-3.0.14-fix-live-address-api.patch 2233 BLAKE2B 50b40430978996e5302b08bcb8a68e5f106fe43f4fd66ad69dd1e6c1e8097abc32c671cdfc8dc87b7526cabadf847bf359f81927919ff3ab8ea7a80274bc7075 SHA512 d79e03677e404ef853499ac7b72977f1d6368d003720ce663581a5527b5b6327b36d5b240bec0aa2d4c3bff4c1b04ce1c4dc904fc648c98498ba2f88f1acd82a +AUX vlc-3.0.17.3-dav1d-1.0.0.patch 3256 BLAKE2B 49403c38c7b05b80d7bc075debb584fd71d58c9368d32e8da7129d2e50c2a4152cd4a7f2e62426f520665e0c973a66061ed2622f275f9111b1c1b4bf3da17716 SHA512 5b5414e3c4bfaf62aaf479957c1e13f2747362cc26e2569036f8cb6be52e7148289a160366f3ba3a70198e1ac6cbad248d0d13b045db81e5e894490fa315ce63 AUX vlc-3.0.6-fdk-aac-2.0.0.patch 3436 BLAKE2B 022201ed10fef189feeb36f44ab4194ab7994e4fdd8bad922070b54688d34d051fac28177a0e648d55670e0b9f0c6b45f9a05650476b0ae12ebfe759dd561e28 SHA512 68964adda04cd88e80b586984f1af0cfdccff5dbf8529070d5ab985b23402dfb7380b5d39eacfea433c1ba03434139e4f394c1c25d6b426489883d3a42cb7b5b AUX vlc-9999-libupnp-slot-1.8.patch 763 BLAKE2B 6bc8cf46f029db27d6d30d96e871d3bcfddee004e4e8469e1526a6a38fb5cc11a24a19888443e5f9062d7145665d594e142c12f3a9693967f195bab3b33ada38 SHA512 dd3375997a1935d3a227231785f35e300e3f992034da6a9c3019e28c68c1f005cbdd67190672264b342abc719e69005f965599f7af975e2bbd4cfccd89e3770d AUX vlc-configure_lua_version.patch 2057 BLAKE2B 995291bab038c912b5d76982da803da34afd4ddce4e21f2aeff8ebe2be760857d169f904a0ce96658b6810e1030031f0a33d0c57f7bc514b1bbdc17e0d67157c SHA512 119f2fff52b334cb073c73979a6bec8710695c67e5ab3ff80d846ede52e922138ac77f8f3f9cccb6f750c74a00baf1529e27c683f0b93a6698436bdcdd930e99 @@ -12,6 +13,7 @@ DIST vlc-3.0.16.tar.xz 26439328 BLAKE2B 1971b88f3faf6d3b019c3fcb83108242bb218f14 DIST vlc-3.0.17.3.tar.xz 26393440 BLAKE2B 5079caa779335647394eb4af631ae89098b22545531ecf95ed81f9551f7004b8469a6e44de08f512e381164dc64e011d42be14d675d20c09ab043a00348f6b83 SHA512 99095b39ed600c3a89ebc0d377a2fc2522b3623a56b0f6de2df50a3c6e0148c67c28c0f2d8dec28bbdf5c62cf29b3579429a79ed00440570643778a9871022b6 EBUILD vlc-3.0.16-r8.ebuild 13949 BLAKE2B 04f67e1a403aa00ecf8d79830428d749e5d7185a8ff351e8caccf0a4571b20176c1d557850769df0393046666ef56d4005126eb88a3f86ba6addd2ffd142b72e SHA512 a6f9942d8dfd05559e367af4d3e99c2c5255302d4528963960358b1d851bfc942c4046f7125dd2eff758bcf2d61fbe2e8a9819afc304772d249b211651dcad15 EBUILD vlc-3.0.17.3-r1.ebuild 13605 BLAKE2B a8fb27aab81b7facd4f4c4d873b99c8f1cd8a05be7e0882eeeb1095d91a7cfb0608b6a65118b29e73cbfb9f7c6810de606fea6fc1b3fe57703db64c7c7636f9d SHA512 9a11f3360f61ae7fc93689d525f4d0576d8c441c6b7ef279416bbcb05fb62b3a347e416cff3db6b7e3d5920fb7ec2376e32cda713df200e9471a11dbdff7bbc4 +EBUILD vlc-3.0.17.3-r2.ebuild 13666 BLAKE2B 6c0738fe3545c9ec01ef6b0e3d9311f34d0efb90ad4016657ad98b8a636467b2b1ff187d58acab5b054dbbbf8a12c61d025d116a380ab1249865ec9da08e603e SHA512 a40320eaee890c1d8eb2dc409dbf91ff2669adff64e6e4da326c6cbca93e8dd86f8d64309013aa4bb7e8dd65700de393f2407a6594e230b35f2c4988ef40d759 EBUILD vlc-3.0.9999.ebuild 13530 BLAKE2B 2559442319979fe086775639fa6be9e54457ddeda0ba863c8ea4fcaedef273fad3232f2c1bbec2b2419bd69de0460392a902b0b5d4848e1ecc6acf80944bbc67 SHA512 e97a1e90249a3901056428c3d1c38d994b7da10e39d10127fe09cf4671bb541f693d363c43d0a45f52194b9edddd311e40d087bd4e06310dc651977847a2c55f EBUILD vlc-9999.ebuild 13585 BLAKE2B f5674a971f396451cca51456cd889941c41e4f88f83dc3ddf47114de2c7bd7aed4211542647e1a48ad90fd047d364e6bfb50510c07d006740febee8e941f0555 SHA512 6d98c79d19a82f7659a72505f5ca4e0043df497ac783982756e6334778eaf59eec19a21bee2b9d1e4986666136a860fa94e9736619107d643d4d7bd8d2079ca0 MISC metadata.xml 4912 BLAKE2B 97661f54c1c16cb3084e12ce7899c080e7e69b203c1539b90048cf3d7c1f673b29051fd68216b6bed54f8842990f0c47e2c67038d85e911dcd1c905b54093719 SHA512 c24db55603932f9b52808e0b9d5687a333078d1735c05e1b561d91c08b99246b321b5b60f8111b286041c524d5913ec6f4f321a79c0773cbb9aaaa3fea9a50d6 diff --git a/media-video/vlc/files/vlc-3.0.17.3-dav1d-1.0.0.patch b/media-video/vlc/files/vlc-3.0.17.3-dav1d-1.0.0.patch new file mode 100644 index 000000000000..deb748cdba92 --- /dev/null +++ b/media-video/vlc/files/vlc-3.0.17.3-dav1d-1.0.0.patch @@ -0,0 +1,78 @@ +https://code.videolan.org/videolan/vlc/-/merge_requests/1618.patch +https://bugs.gentoo.org/835787 + +From 0efdfe8799b0100f41c5b8d6e1b43451001386cb Mon Sep 17 00:00:00 2001 +From: Steve Lhomme <robux4@ycbcr.xyz> +Date: Fri, 18 Mar 2022 11:42:49 +0100 +Subject: [PATCH 1/2] dav1d: fix compilation with (upcoming) dav1d 1.0 + +(cherry picked from commit dbf45cea2a8abdfbef897b8a71f3eb782bb1b712) (edited) +edited: +- 3.0 has the 128 pixels padding elsewhere +- 3.0 has an extra parameter for add_integer_with_range() +- 3.0 was setting i_extra_picture_buffers further down in the code +- 3.0 uses 16 threads max + +Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz> +--- a/modules/codec/dav1d.c ++++ b/modules/codec/dav1d.c +@@ -63,10 +63,16 @@ vlc_module_begin () + set_category(CAT_INPUT) + set_subcategory(SUBCAT_INPUT_VCODEC) + ++#if DAV1D_API_VERSION_MAJOR >= 6 ++ add_integer_with_range("dav1d-thread-frames", 0, 0, DAV1D_MAX_THREADS, ++ THREAD_FRAMES_TEXT, THREAD_FRAMES_LONGTEXT, false) ++ add_obsolete_string("dav1d-thread-tiles") // unused with dav1d 1.0 ++#else + add_integer_with_range("dav1d-thread-frames", 0, 0, DAV1D_MAX_FRAME_THREADS, + THREAD_FRAMES_TEXT, THREAD_FRAMES_LONGTEXT, false) + add_integer_with_range("dav1d-thread-tiles", 0, 0, DAV1D_MAX_TILE_THREADS, + THREAD_TILES_TEXT, THREAD_TILES_LONGTEXT, false) ++#endif + vlc_module_end () + + /***************************************************************************** +@@ -294,6 +300,11 @@ static int OpenDecoder(vlc_object_t *p_this) + return VLC_ENOMEM; + + dav1d_default_settings(&p_sys->s); ++#if DAV1D_API_VERSION_MAJOR >= 6 ++ p_sys->s.n_threads = var_InheritInteger(p_this, "dav1d-thread-frames"); ++ if (p_sys->s.n_threads == 0) ++ p_sys->s.n_threads = (i_core_count < 16) ? i_core_count : 16; ++#else + p_sys->s.n_tile_threads = var_InheritInteger(p_this, "dav1d-thread-tiles"); + if (p_sys->s.n_tile_threads == 0) + p_sys->s.n_tile_threads = +@@ -303,6 +314,7 @@ static int OpenDecoder(vlc_object_t *p_this) + p_sys->s.n_frame_threads = var_InheritInteger(p_this, "dav1d-thread-frames"); + if (p_sys->s.n_frame_threads == 0) + p_sys->s.n_frame_threads = (i_core_count < 16) ? i_core_count : 16; ++#endif + p_sys->s.allocator.cookie = dec; + p_sys->s.allocator.alloc_picture_callback = NewPicture; + p_sys->s.allocator.release_picture_callback = FreePicture; +@@ -313,12 +325,20 @@ static int OpenDecoder(vlc_object_t *p_this) + return VLC_EGENERIC; + } + ++#if DAV1D_API_VERSION_MAJOR >= 6 ++ msg_Dbg(p_this, "Using dav1d version %s with %d threads", ++ dav1d_version(), p_sys->s.n_threads); ++ ++ dec->i_extra_picture_buffers = (p_sys->s.n_threads - 1); ++#else + msg_Dbg(p_this, "Using dav1d version %s with %d/%d frame/tile threads", + dav1d_version(), p_sys->s.n_frame_threads, p_sys->s.n_tile_threads); + ++ dec->i_extra_picture_buffers = (p_sys->s.n_frame_threads - 1); ++#endif ++ + dec->pf_decode = Decode; + dec->pf_flush = FlushDecoder; +- dec->i_extra_picture_buffers = (p_sys->s.n_frame_threads - 1); + + dec->fmt_out.video.i_width = dec->fmt_in.video.i_width; + dec->fmt_out.video.i_height = dec->fmt_in.video.i_height; +GitLab diff --git a/media-video/vlc/vlc-3.0.17.3-r2.ebuild b/media-video/vlc/vlc-3.0.17.3-r2.ebuild new file mode 100644 index 000000000000..33d9f2b17a26 --- /dev/null +++ b/media-video/vlc/vlc-3.0.17.3-r2.ebuild @@ -0,0 +1,515 @@ +# Copyright 2000-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +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 ~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 gnome-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? ( 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 ) + x86? ( dev-lang/yasm ) +" +RDEPEND=" + media-libs/libvorbis + net-dns/libidn:= + sys-libs/zlib[minizip] + virtual/libintl + virtual/opengl + a52? ( media-libs/a52dec ) + alsa? ( media-libs/alsa-lib ) + aom? ( media-libs/libaom:= ) + archive? ( app-arch/libarchive:= ) + aribsub? ( media-libs/aribb24 ) + bidi? ( + dev-libs/fribidi + media-libs/freetype:2[harfbuzz] + media-libs/harfbuzz:= + virtual/ttf-fonts + ) + bluray? ( >=media-libs/libbluray-1.3.0:= ) + cddb? ( media-libs/libcddb ) + chromaprint? ( media-libs/chromaprint:= ) + chromecast? ( + >=dev-libs/protobuf-2.5.0:= + >=net-libs/libmicrodns-0.1.2:= + ) + dav1d? ( media-libs/dav1d:= ) + dbus? ( sys-apps/dbus ) + dc1394? ( + media-libs/libdc1394:2 + sys-libs/libraw1394 + ) + dts? ( media-libs/libdca ) + dvbpsi? ( >=media-libs/libdvbpsi-1.2.0:= ) + dvd? ( + >=media-libs/libdvdnav-6.1.1:0= + >=media-libs/libdvdread-6.1.2:0= + ) + faad? ( media-libs/faad2 ) + fdk? ( media-libs/fdk-aac:= ) + ffmpeg? ( >=media-video/ffmpeg-3.1.3:0=[postproc,vaapi?,vdpau?] ) + flac? ( + media-libs/flac + media-libs/libogg + ) + fluidsynth? ( media-sound/fluidsynth:= ) + fontconfig? ( media-libs/fontconfig:1.0 ) + gcrypt? ( + dev-libs/libgcrypt:0= + dev-libs/libgpg-error + ) + gme? ( media-libs/game-music-emu ) + gnome-keyring? ( app-crypt/libsecret ) + gstreamer? ( >=media-libs/gst-plugins-base-1.4.5:1.0 ) + gui? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtsvg:5 + dev-qt/qtwidgets:5 + X? ( + dev-qt/qtx11extras:5 + x11-libs/libX11 + ) + ) + ieee1394? ( + sys-libs/libavc1394 + sys-libs/libraw1394 + ) + jack? ( virtual/jack ) + jpeg? ( virtual/jpeg:0 ) + kate? ( media-libs/libkate ) + libass? ( + media-libs/fontconfig:1.0 + media-libs/libass:= + ) + libcaca? ( media-libs/libcaca ) + libnotify? ( + dev-libs/glib:2 + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3 + x11-libs/libnotify + ) + libsamplerate? ( media-libs/libsamplerate ) + libtar? ( dev-libs/libtar ) + libtiger? ( media-libs/libtiger ) + linsys? ( media-libs/zvbi ) + lirc? ( app-misc/lirc ) + live? ( media-plugins/live:= ) + lua? ( ${LUA_DEPS} ) + mad? ( media-libs/libmad ) + matroska? ( + >=dev-libs/libebml-1.4.2:= + media-libs/libmatroska:= + ) + modplug? ( >=media-libs/libmodplug-0.8.9.0 ) + mp3? ( media-sound/mpg123 ) + mpeg? ( media-libs/libmpeg2 ) + mtp? ( media-libs/libmtp:= ) + musepack? ( media-sound/musepack-tools ) + ncurses? ( sys-libs/ncurses:=[unicode(+)] ) + nfs? ( >=net-fs/libnfs-0.10.0:= ) + ogg? ( media-libs/libogg ) + opus? ( >=media-libs/opus-1.0.3 ) + png? ( media-libs/libpng:0= ) + projectm? ( + media-fonts/dejavu + >=media-libs/libprojectm-3.1.12:0= + ) + pulseaudio? ( media-sound/pulseaudio ) + rdp? ( >=net-misc/freerdp-2.0.0_rc0:=[client(+)] ) + samba? ( >=net-fs/samba-4.0.0:0[client,-debug(-)] ) + sdl-image? ( media-libs/sdl-image ) + sftp? ( net-libs/libssh2 ) + shout? ( media-libs/libshout ) + sid? ( media-libs/libsidplay:2 ) + skins? ( + x11-libs/libXext + x11-libs/libXinerama + x11-libs/libXpm + ) + soxr? ( >=media-libs/soxr-0.1.2 ) + speex? ( + >=media-libs/speex-1.2.0 + media-libs/speexdsp + ) + srt? ( >=net-libs/srt-1.4.2:= ) + ssl? ( net-libs/gnutls:= ) + svg? ( + gnome-base/librsvg:2 + x11-libs/cairo + ) + taglib? ( >=media-libs/taglib-1.9 ) + theora? ( media-libs/libtheora ) + tremor? ( media-libs/tremor ) + truetype? ( + media-libs/freetype:2 + virtual/ttf-fonts + !fontconfig? ( media-fonts/dejavu ) + ) + twolame? ( media-sound/twolame ) + udev? ( virtual/udev ) + upnp? ( net-libs/libupnp:=[ipv6] ) + v4l? ( media-libs/libv4l:= ) + vaapi? ( x11-libs/libva:=[drm(+),wayland?,X?] ) + vdpau? ( x11-libs/libvdpau ) + vnc? ( net-libs/libvncserver ) + vpx? ( media-libs/libvpx:= ) + wayland? ( + >=dev-libs/wayland-1.15 + dev-libs/wayland-protocols + ) + X? ( + x11-libs/libX11 + x11-libs/libxcb + x11-libs/xcb-util + x11-libs/xcb-util-keysyms + ) + x264? ( >=media-libs/x264-0.0.20190214:= ) + x265? ( media-libs/x265:= ) + xml? ( dev-libs/libxml2:2 ) + zeroconf? ( net-dns/avahi[dbus] ) + zvbi? ( media-libs/zvbi ) +" +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-2.1.0-fix-libtremor-libs.patch # build system + "${FILESDIR}"/${PN}-2.2.8-freerdp-2.patch # bug 590164 + "${FILESDIR}"/${PN}-3.0.6-fdk-aac-2.0.0.patch # bug 672290 + "${FILESDIR}"/${PN}-3.0.11.1-configure_lua_version.patch + "${FILESDIR}"/${PN}-3.0.14-fix-live-address-api.patch # bug 835072 + "${FILESDIR}"/${PN}-3.0.17.3-dav1d-1.0.0.patch # bug 835787 +) + +DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt ) + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + if use lua; then + lua-single_pkg_setup + fi +} + +src_prepare() { + xdg_src_prepare # bug 608256 + + has_version 'net-libs/libupnp:1.8' && \ + eapply "${FILESDIR}"/${PN}-2.2.8-libupnp-slot-1.8.patch + + # Bootstrap when we are on a git checkout. + if [[ ${PV} = *9999 ]] ; then + ./bootstrap + fi + + # Make it build with libtool 1.5 + rm m4/lt* m4/libtool.m4 || die + + # We are not in a real git checkout due to the absence of a .git directory. + touch src/revision.txt || die + + # Don't use --started-from-file when not using dbus. + if ! use dbus ; then + sed -i 's/ --started-from-file//' share/vlc.desktop.in || die + fi + + # Disable running of vlc-cache-gen, we do that in pkg_postinst + sed -e "/test.*build.*host/s/\$(host)/nothanks/" \ + -i Makefile.am -i bin/Makefile.am || die "Failed to disable vlc-cache-gen" + + # Fix gettext version mismatch errors. + sed -i -e s/GETTEXT_VERSION/GETTEXT_REQUIRE_VERSION/ configure.ac || die + + eautoreconf + + # Disable automatic running of tests. + find . -name 'Makefile.in' -exec sed -i 's/\(..*\)check-TESTS/\1/' {} \; || die +} + +src_configure() { + local -x BUILDCC="$(tc-getBUILD_CC)" + + local myeconfargs=( + --disable-aa + --disable-optimizations + --disable-rpath + --disable-update-check + --enable-fast-install + --enable-screen + --enable-vcd + --enable-vlc + --enable-vorbis + $(use_enable a52) + $(use_enable alsa) + $(use_enable aom) + $(use_enable archive) + $(use_enable aribsub) + $(use_enable bidi fribidi) + $(use_enable bidi harfbuzz) + $(use_enable bluray) + $(use_enable cddb libcddb) + $(use_enable chromaprint) + $(use_enable chromecast) + $(use_enable chromecast microdns) + $(use_enable cpu_flags_arm_neon neon) + $(use_enable cpu_flags_ppc_altivec altivec) + $(use_enable cpu_flags_x86_mmx mmx) + $(use_enable cpu_flags_x86_sse sse) + $(use_enable dav1d) + $(use_enable dbus) + $(use_enable dbus kwallet) + $(use_enable dc1394) + $(use_enable debug) + $(use_enable directx) + $(use_enable directx d3d11va) + $(use_enable directx dxva2) + $(use_enable dts dca) + $(use_enable dvbpsi) + $(use_enable dvd dvdnav) + $(use_enable dvd dvdread) + $(use_enable encode sout) + $(use_enable encode vlm) + $(use_enable faad) + $(use_enable fdk fdkaac) + $(use_enable ffmpeg avcodec) + $(use_enable ffmpeg avformat) + $(use_enable ffmpeg postproc) + $(use_enable ffmpeg swscale) + $(use_enable flac) + $(use_enable fluidsynth) + $(use_enable fontconfig) + $(use_enable gcrypt libgcrypt) + $(use_enable gme) + $(use_enable gnome-keyring secret) + $(use_enable gstreamer gst-decode) + $(use_enable gui qt) + $(use_enable ieee1394 dv1394) + $(use_enable jack) + $(use_enable jpeg) + $(use_enable kate) + $(use_enable libass) + $(use_enable libcaca caca) + $(use_enable libnotify notify) + $(use_enable libsamplerate samplerate) + $(use_enable libtar) + $(use_enable libtiger tiger) + $(use_enable linsys) + $(use_enable lirc) + $(use_enable live live555) + $(use_enable lua) + $(use_enable macosx-notifications osx-notifications) + $(use_enable mad) + $(use_enable matroska) + $(use_enable modplug mod) + $(use_enable mp3 mpg123) + $(use_enable mpeg libmpeg2) + $(use_enable mtp) + $(use_enable musepack mpc) + $(use_enable ncurses) + $(use_enable nfs) + $(use_enable ogg) + $(use_enable omxil) + $(use_enable omxil omxil-vout) + $(use_enable optimisememory optimize-memory) + $(use_enable opus) + $(use_enable png) + $(use_enable projectm) + $(use_enable pulseaudio pulse) + $(use_enable rdp freerdp) + $(use_enable run-as-root) + $(use_enable samba smbclient) + $(use_enable sdl-image) + $(use_enable sftp) + $(use_enable shout) + $(use_enable sid) + $(use_enable skins skins2) + $(use_enable soxr) + $(use_enable speex) + $(use_enable srt) + $(use_enable ssl gnutls) + $(use_enable svg) + $(use_enable svg svgdec) + $(use_enable taglib) + $(use_enable theora) + $(use_enable tremor) + $(use_enable twolame) + $(use_enable udev) + $(use_enable upnp) + $(use_enable v4l v4l2) + $(use_enable vaapi libva) + $(use_enable vdpau) + $(use_enable vnc) + $(use_enable vpx) + $(use_enable wayland) + $(use_with X x) + $(use_enable X xcb) + $(use_enable X xvideo) + $(use_enable x264) + $(use_enable x264 x26410b) + $(use_enable x265) + $(use_enable xml libxml2) + $(use_enable zeroconf avahi) + $(use_enable zvbi) + $(use_enable !zvbi telx) + --with-kde-solid="${EPREFIX}"/usr/share/solid/actions + --disable-asdcp + --disable-coverage + --disable-cprof + --disable-crystalhd + --disable-decklink + --disable-gles2 + --disable-goom + --disable-kai + --disable-kva + --disable-libplacebo + --disable-maintainer-mode + --disable-merge-ffmpeg + --disable-mfx + --disable-mmal + --disable-opencv + --disable-opensles + --disable-oss + --disable-rpi-omxil + --disable-schroedinger + --disable-shine + --disable-sndio + --disable-spatialaudio + --disable-vsxu + --disable-wasapi + --disable-wma-fixed + ) + # ^ We don't have these disabled libraries in the Portage tree yet. + + # Compatibility fix for Samba 4. + use samba && append-cppflags "-I/usr/include/samba-4.0" + + if use x86; then + # We need to disable -fstack-check if use >=gcc 4.8.0. bug #499996 + append-cflags $(test-flags-CC -fno-stack-check) + # Bug 569774 + replace-flags -Os -O2 + fi + + # VLC now requires C++11 after commit 4b1c9dcdda0bbff801e47505ff9dfd3f274eb0d8 + append-cxxflags -std=c++11 + + if use omxil; then + # bug #723006 + # https://trac.videolan.org/vlc/ticket/24617 + append-cflags -fcommon + 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 +} |