diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2019-02-24 18:22:27 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2019-02-24 19:01:24 +0100 |
commit | 315cd1cf34c962f988d7a7806a0e9843da0ff77e (patch) | |
tree | 712e44efd354fdfe141af9302ef3d8dfc9c95aa5 /media-video | |
parent | kde-misc/latte-dock: Drop 0.8.5, 0.8.6 (r0) (diff) | |
download | gentoo-315cd1cf34c962f988d7a7806a0e9843da0ff77e.tar.gz gentoo-315cd1cf34c962f988d7a7806a0e9843da0ff77e.tar.bz2 gentoo-315cd1cf34c962f988d7a7806a0e9843da0ff77e.zip |
media-video/vlc: Fix build with libvpx-1.8.0, fdk-aac-2.0.0
Thanks-to: jospezial <jospezial@gmx.de>
Bug: https://bugs.gentoo.org/677606
Bug: https://bugs.gentoo.org/672290
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'media-video')
-rw-r--r-- | media-video/vlc/files/vlc-3.0.6-fdk-aac-2.0.0.patch | 84 | ||||
-rw-r--r-- | media-video/vlc/files/vlc-3.0.6-libvpx-1.8.0.patch | 35 | ||||
-rw-r--r-- | media-video/vlc/vlc-3.0.6-r1.ebuild | 501 |
3 files changed, 620 insertions, 0 deletions
diff --git a/media-video/vlc/files/vlc-3.0.6-fdk-aac-2.0.0.patch b/media-video/vlc/files/vlc-3.0.6-fdk-aac-2.0.0.patch new file mode 100644 index 000000000000..a5104d1df6d1 --- /dev/null +++ b/media-video/vlc/files/vlc-3.0.6-fdk-aac-2.0.0.patch @@ -0,0 +1,84 @@ +From 6ea9b13fe82fae2b25b7371c6c36d6296db28ccb Mon Sep 17 00:00:00 2001 +From: Antonio Larrosa <antonio.larrosa@gmail.com> +Date: Thu, 14 Feb 2019 10:09:30 +0100 +Subject: [PATCH] Fix building vlc with libfdk-aac v2 + +When flushing the encoder, we now need to provide non-null buffer +parameters for everything, even if they are unused. + +The encoderDelay parameter has been replaced by two, nDelay and +nDelayCore. + +This is based on: +https://git.libav.org/?p=libav.git;a=commitdiff_plain;h=141c960e21d2860e354f9b90df136184dd00a9a8;hp=c8bca9fe466f810fd484e2c6db7ef7bc83b5a943 + +Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org> +--- + modules/codec/fdkaac.c | 27 +++++++++++++++++++++------ + 1 file changed, 21 insertions(+), 6 deletions(-) + +diff --git a/modules/codec/fdkaac.c b/modules/codec/fdkaac.c +index e0b3088c4a..3ac7b756a3 100644 +--- a/modules/codec/fdkaac.c ++++ b/modules/codec/fdkaac.c +@@ -92,6 +92,11 @@ static void CloseEncoder(vlc_object_t *); + #define SIGNALING_COMPATIBLE 1 + #define SIGNALING_HIERARCHICAL 2 + ++#define FDKENC_VER_AT_LEAST(vl0, vl1) \ ++ (defined(AACENCODER_LIB_VL0) && \ ++ ((AACENCODER_LIB_VL0 > vl0) || \ ++ (AACENCODER_LIB_VL0 == vl0 && AACENCODER_LIB_VL1 >= vl1))) ++ + static const int pi_aot_values[] = { PROFILE_AAC_LC, PROFILE_AAC_HE, PROFILE_AAC_HE_v2, PROFILE_AAC_LD, PROFILE_AAC_ELD }; + static const char *const ppsz_aot_descriptions[] = + { N_("AAC-LC"), N_("HE-AAC"), N_("HE-AAC-v2"), N_("AAC-LD"), N_("AAC-ELD") }; +@@ -288,7 +293,11 @@ static int OpenEncoder(vlc_object_t *p_this) + p_sys->i_maxoutputsize = 768*p_enc->fmt_in.audio.i_channels; + p_enc->fmt_in.audio.i_bitspersample = 16; + p_sys->i_frame_size = info.frameLength; ++#if FDKENC_VER_AT_LEAST(4, 0) ++ p_sys->i_encoderdelay = info.nDelay; ++#else + p_sys->i_encoderdelay = info.encoderDelay; ++#endif + + p_enc->fmt_out.i_extra = info.confSize; + if (p_enc->fmt_out.i_extra) { +@@ -351,21 +360,27 @@ static block_t *EncodeAudio(encoder_t *p_enc, block_t *p_aout_buf) + int out_identifier = OUT_BITSTREAM_DATA; + int out_size, out_elem_size; + void *in_ptr, *out_ptr; ++ uint8_t dummy_buf[1]; + + if (unlikely(i_samples == 0)) { + // this forces the encoder to purge whatever is left in the internal buffer ++ /* Must be a non-null pointer, even if it's a dummy. We could use ++ * the address of anything else on the stack as well. */ ++ in_ptr = dummy_buf; ++ in_size = 0; ++ + in_args.numInSamples = -1; + } else { + in_ptr = p_buffer + (i_samples - i_samples_left)*p_enc->fmt_in.audio.i_channels; + in_size = 2*p_enc->fmt_in.audio.i_channels*i_samples_left; +- in_elem_size = 2; + in_args.numInSamples = p_enc->fmt_in.audio.i_channels*i_samples_left; +- in_buf.numBufs = 1; +- in_buf.bufs = &in_ptr; +- in_buf.bufferIdentifiers = &in_identifier; +- in_buf.bufSizes = &in_size; +- in_buf.bufElSizes = &in_elem_size; + } ++ in_elem_size = 2; ++ in_buf.numBufs = 1; ++ in_buf.bufs = &in_ptr; ++ in_buf.bufferIdentifiers = &in_identifier; ++ in_buf.bufSizes = &in_size; ++ in_buf.bufElSizes = &in_elem_size; + block_t *p_block; + p_block = block_Alloc(p_sys->i_maxoutputsize); + p_block->i_buffer = p_sys->i_maxoutputsize; +-- +2.11.0 + diff --git a/media-video/vlc/files/vlc-3.0.6-libvpx-1.8.0.patch b/media-video/vlc/files/vlc-3.0.6-libvpx-1.8.0.patch new file mode 100644 index 000000000000..1b58a03cc8cd --- /dev/null +++ b/media-video/vlc/files/vlc-3.0.6-libvpx-1.8.0.patch @@ -0,0 +1,35 @@ +From 5575fe3eb3fd46bada8662268b74d03493476a84 Mon Sep 17 00:00:00 2001 +From: Danny Milosavljevic <dannym@scratchpost.org> +Date: Mon, 11 Feb 2019 16:07:12 +0100 +Subject: [PATCH] codec: vpx: Detect libvpx 1.8.0 and, if detected, use fewer + frame formats in the chroma_table + +Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz> +--- + modules/codec/vpx.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/modules/codec/vpx.c b/modules/codec/vpx.c +index f03c7fae62..59b3acdef7 100644 +--- a/modules/codec/vpx.c ++++ b/modules/codec/vpx.c +@@ -117,6 +117,7 @@ static const struct + { VLC_CODEC_I440, VPX_IMG_FMT_I440, 8, 0 }, + + { VLC_CODEC_YV12, VPX_IMG_FMT_YV12, 8, 0 }, ++#if VPX_IMAGE_ABI_VERSION < 5 + { VLC_CODEC_YUVA, VPX_IMG_FMT_444A, 8, 0 }, + { VLC_CODEC_YUYV, VPX_IMG_FMT_YUY2, 8, 0 }, + { VLC_CODEC_UYVY, VPX_IMG_FMT_UYVY, 8, 0 }, +@@ -129,7 +130,7 @@ static const struct + + { VLC_CODEC_ARGB, VPX_IMG_FMT_ARGB, 8, 0 }, + { VLC_CODEC_BGRA, VPX_IMG_FMT_ARGB_LE, 8, 0 }, +- ++#endif + { VLC_CODEC_GBR_PLANAR, VPX_IMG_FMT_I444, 8, 1 }, + { VLC_CODEC_GBR_PLANAR_10L, VPX_IMG_FMT_I44416, 10, 1 }, + +-- +2.11.0 + diff --git a/media-video/vlc/vlc-3.0.6-r1.ebuild b/media-video/vlc/vlc-3.0.6-r1.ebuild new file mode 100644 index 000000000000..b803e74a18ef --- /dev/null +++ b/media-video/vlc/vlc-3.0.6-r1.ebuild @@ -0,0 +1,501 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MY_PV="${PV/_/-}" +MY_PV="${MY_PV/-beta/-test}" +MY_P="${PN}-${MY_PV}" +if [[ ${PV} = *9999 ]] ; then + if [[ ${PV%.9999} != ${PV} ]] ; then + EGIT_REPO_URI="https://git.videolan.org/git/vlc/vlc-${PV%.9999}.git" + else + EGIT_REPO_URI="https://git.videolan.org/git/vlc.git" + fi + 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 -sparc ~x86 ~x86-fbsd" +fi +inherit autotools flag-o-matic 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 altivec 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 ieee1394 jack jpeg kate + libass libav libcaca libnotify +libsamplerate libtar libtiger linsys lirc live lua + macosx-notifications macosx-qtkit mad matroska modplug mp3 mpeg mtp musepack ncurses + neon nfs ogg omxil opencv optimisememory opus png postproc projectm pulseaudio +qt5 + 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 vorbis vpx + wayland wma-fixed +X x264 x265 xml zeroconf zvbi cpu_flags_x86_mmx cpu_flags_x86_sse +" +REQUIRED_USE=" + chromecast? ( encode ) + directx? ( ffmpeg ) + fontconfig? ( truetype ) + libcaca? ( X ) + libtar? ( skins ) + libtiger? ( kate ) + postproc? ( ffmpeg ) + skins? ( qt5 truetype X xml ) + ssl? ( gcrypt ) + vaapi? ( ffmpeg X ) + vdpau? ( ffmpeg X ) +" +BDEPEND=" + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + amd64? ( dev-lang/yasm ) + x86? ( dev-lang/yasm ) +" +RDEPEND=" + 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:= ) + cddb? ( media-libs/libcddb ) + chromaprint? ( media-libs/chromaprint:= ) + chromecast? ( + >=dev-libs/protobuf-2.5.0:= + >=net-libs/libmicrodns-0.0.9:= + ) + 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-4.9 + >=media-libs/libdvdread-4.9 + ) + faad? ( media-libs/faad2 ) + fdk? ( media-libs/fdk-aac:= ) + ffmpeg? ( + !libav? ( >=media-video/ffmpeg-3.1.3:0=[vaapi?,vdpau?] ) + libav? ( >=media-video/libav-12.2:0=[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 ) + 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? ( >=dev-lang/lua-5.1:0= ) + mad? ( media-libs/libmad ) + matroska? ( + dev-libs/libebml:= + media-libs/libmatroska:= + ) + modplug? ( media-libs/libmodplug ) + mp3? ( media-sound/mpg123 ) + mpeg? ( media-libs/libmpeg2 ) + mtp? ( media-libs/libmtp:= ) + musepack? ( media-sound/musepack-tools ) + ncurses? ( sys-libs/ncurses:0=[unicode] ) + nfs? ( >=net-fs/libnfs-0.10.0:= ) + ogg? ( media-libs/libogg ) + opencv? ( media-libs/opencv:= ) + opus? ( >=media-libs/opus-1.0.3 ) + png? ( media-libs/libpng:0= ) + postproc? ( libav? ( media-libs/libpostproc ) ) + projectm? ( + media-fonts/dejavu + media-libs/libprojectm + ) + pulseaudio? ( media-sound/pulseaudio ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtsvg:5 + dev-qt/qtwidgets:5 + X? ( + dev-qt/qtx11extras:5 + x11-libs/libX11 + ) + ) + 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 ) + speex? ( + >=media-libs/speex-1.2.0 + media-libs/speexdsp + ) + srt? ( net-libs/srt ) + 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:= ) + v4l? ( media-libs/libv4l:= ) + vaapi? ( x11-libs/libva:=[drm,wayland?,X?] ) + vdpau? ( x11-libs/libvdpau ) + vnc? ( net-libs/libvncserver ) + vorbis? ( media-libs/libvorbis ) + 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.20160712:0= ) + 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.4-libav-11.7.patch # bug #593460 + "${FILESDIR}"/${PN}-2.2.8-freerdp-2.patch # bug 590164 + "${FILESDIR}"/${P}-libvpx-1.8.0.patch # bug 677606 + "${FILESDIR}"/${P}-fdk-aac-2.0.0.patch # bug 672290 +) + +DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt ) + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + xdg_src_prepare # bug 608256 + + has_version '>=net-libs/libupnp-1.8.0' && \ + 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" + + eautoreconf + + # Disable automatic running of tests. + find . -name 'Makefile.in' -exec sed -i 's/\(..*\)check-TESTS/\1/' {} \; || die +} + +src_configure() { + local myeconfargs=( + --disable-aa + --disable-dependency-tracking + --disable-optimizations + --disable-rpath + --disable-update-check + --enable-fast-install + --enable-screen + --enable-vcd + --enable-vlc + $(use_enable a52) + $(use_enable alsa) + $(use_enable altivec) + $(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_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 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 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 macosx-qtkit) + $(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 neon) + $(use_enable ogg) + $(use_enable omxil) + $(use_enable omxil omxil-vout) + $(use_enable opencv) + $(use_enable optimisememory optimize-memory) + $(use_enable opus) + $(use_enable png) + $(use_enable postproc) + $(use_enable projectm) + $(use_enable pulseaudio pulse) + $(use_enable qt5 qt) + $(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 vorbis) + $(use_enable vpx) + $(use_enable wayland) + $(use_enable wma-fixed) + $(use_with X x) + $(use_enable X xcb) + $(use_enable X xvideo) + $(use_enable x264) + $(use_enable x265) + $(use_enable xml libxml2) + $(use_enable zeroconf avahi) + $(use_enable zvbi) + $(use_enable !zvbi telx) + --with-kde-solid=/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-opensles + --disable-oss + --disable-rpi-omxil + --disable-schroedinger + --disable-shine + --disable-sndio + --disable-spatialaudio + --disable-vsxu + --disable-wasapi + ) + # ^ We don't have these disabled libraries in the Portage tree yet. + + if use x264 && has_version ">=media-libs/x264-0.0.20190214"; then + myeconfargs+=( --enable-x26410b ) + else + myeconfargs+=( --disable-x26410b ) + fi + + # 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 + + # FIXME: Needs libresid-builder from libsidplay:2 which is in another directory... + append-ldflags "-L/usr/$(get_libdir)/sidplay/builders/" + + if use truetype || use bidi; then + myeconfargs+=( --enable-freetype ) + else + myeconfargs+=( --disable-freetype ) + fi + + if use truetype || use projectm; then + local dejavu="/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 "${D}" -name '*.la' -delete || die +} + +pkg_postinst() { + if [[ -z ${ROOT} ]] && [[ -x "/usr/$(get_libdir)/vlc/vlc-cache-gen" ]] ; then + einfo "Running /usr/$(get_libdir)/vlc/vlc-cache-gen on /usr/$(get_libdir)/vlc/plugins/" + "/usr/$(get_libdir)/vlc/vlc-cache-gen" "/usr/$(get_libdir)/vlc/plugins/" + else + ewarn "We cannot run vlc-cache-gen (most likely ROOT!=/)" + ewarn "Please run /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 /usr/$(get_libdir)/vlc/plugins/plugins.dat ]]; then + rm /usr/$(get_libdir)/vlc/plugins/plugins.dat || die "Failed to rm plugins.dat" + fi + + xdg_pkg_postrm +} |