public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/vlc/, media-video/vlc/files/
Date: Sat, 13 May 2023 22:52:10 +0000 (UTC)	[thread overview]
Message-ID: <1684018153.a15de2a067817db7ed034d0c12b7c7c3ba83e7b9.sam@gentoo> (raw)

commit:     a15de2a067817db7ed034d0c12b7c7c3ba83e7b9
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat May 13 22:42:45 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat May 13 22:49:13 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a15de2a0

media-video/vlc: backport FLAC CRC fix

Closes: https://bugs.gentoo.org/903665
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/vlc/files/vlc-3.0.18-flac-crc.patch |  90 ++++
 media-video/vlc/vlc-3.0.18-r1.ebuild            | 518 ++++++++++++++++++++++++
 2 files changed, 608 insertions(+)

diff --git a/media-video/vlc/files/vlc-3.0.18-flac-crc.patch b/media-video/vlc/files/vlc-3.0.18-flac-crc.patch
new file mode 100644
index 000000000000..5e4d896bc7e7
--- /dev/null
+++ b/media-video/vlc/files/vlc-3.0.18-flac-crc.patch
@@ -0,0 +1,90 @@
+https://bugs.gentoo.org/903665
+https://code.videolan.org/videolan/vlc/-/commit/c2dd4bfefe079e49db1789eb76be3885e4fc31b4
+
+(changed VLC_TICKS_INVALID -> VLC_TS_INVALID to avoid needing https://code.videolan.org/videolan/vlc/-/commit/0b4dff80ac381dd7de75125c70145a206a01eed8 too.)
+
+From c2dd4bfefe079e49db1789eb76be3885e4fc31b4 Mon Sep 17 00:00:00 2001
+From: Francois Cartegnie <fcvlcdev@free.fr>
+Date: Mon, 7 Nov 2022 15:02:57 +0100
+Subject: [PATCH] packetizer: flac: fix CRC from emulated sync
+
+also skips some memcpy
+
+refs #27454 #27477
+
+(cherry picked from commit c14b5aa6a7bd3aa25fa951e2b4136aff70f5702a)
+--- a/modules/packetizer/flac.c
++++ b/modules/packetizer/flac.c
+@@ -78,6 +78,7 @@ struct decoder_sys_t
+ 
+     size_t i_last_frame_size;
+     uint16_t crc;
++    size_t i_buf_offset; /* in final buffer before crc check / validation / retry */
+     size_t i_buf;
+     uint8_t *p_buf;
+ 
+@@ -386,6 +387,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
+         p_sys->headerinfo = headerinfo;
+         p_sys->i_state = STATE_NEXT_SYNC;
+         p_sys->i_offset = FLAC_FRAME_SIZE_MIN;
++        p_sys->i_buf_offset = 0;
+         p_sys->crc = 0;
+ 
+         /* We have to read until next frame sync code to compute current frame size
+@@ -461,6 +463,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
+             block_SkipBytes( &p_sys->bytestream, FLAC_HEADER_SIZE_MAX + 2 );
+             block_BytestreamFlush( &p_sys->bytestream );
+             p_sys->crc = 0;
++            p_sys->i_buf_offset = 0;
+             p_sys->i_offset = 0;
+             p_sys->i_state = STATE_NOSYNC;
+             p_sys->i_next_block_flags |= BLOCK_FLAG_DISCONTINUITY;
+@@ -484,10 +487,12 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
+             }
+ 
+             /* Copy from previous sync point up to to current (offset) */
+-            block_PeekOffsetBytes( &p_sys->bytestream, 0, p_sys->p_buf, p_sys->i_offset );
++            block_PeekOffsetBytes( &p_sys->bytestream, p_sys->i_buf_offset,
++                                   &p_sys->p_buf[p_sys->i_buf_offset],
++                                    p_sys->i_offset - p_sys->i_buf_offset );
+ 
+             /* update crc to include this data chunk */
+-            for( size_t i = 0; i < p_sys->i_offset - 2; i++ )
++            for( size_t i = p_sys->i_buf_offset; i < p_sys->i_offset - 2; i++ )
+                 p_sys->crc = flac_crc16( p_sys->crc, p_sys->p_buf[i] );
+ 
+             uint16_t stream_crc = GetWBE(&p_sys->p_buf[p_sys->i_offset - 2]);
+@@ -497,6 +502,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
+                 /* Add the 2 last bytes which were not the CRC sum, and go for next sync point */
+                 p_sys->crc = flac_crc16( p_sys->crc, p_sys->p_buf[p_sys->i_offset - 2] );
+                 p_sys->crc = flac_crc16( p_sys->crc, p_sys->p_buf[p_sys->i_offset - 1] );
++                p_sys->i_buf_offset = p_sys->i_offset;
+                 p_sys->i_offset += 1;
+                 p_sys->i_state = !pp_block ? STATE_NOSYNC : STATE_NEXT_SYNC;
+                 break; /* continue */
+@@ -513,6 +519,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
+             block_BytestreamFlush( &p_sys->bytestream );
+             p_sys->i_offset = 0;
+             p_sys->crc = 0;
++            p_sys->i_buf_offset = 0;
+ 
+             if( block_BytestreamRemaining(&p_sys->bytestream) > 0 || pp_block == NULL /* drain */)
+                 p_sys->i_state = STATE_SEND_DATA;
+@@ -553,6 +560,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
+         else
+             free( p_sys->p_buf );
+ 
++        p_sys->i_buf_offset = 0;
+         p_sys->i_buf = 0;
+         p_sys->p_buf = NULL;
+         p_sys->i_offset = 0;
+@@ -587,6 +595,7 @@ static int Open(vlc_object_t *p_this)
+     p_sys->b_stream_info = false;
+     p_sys->i_last_frame_size = FLAC_FRAME_SIZE_MIN;
+     p_sys->headerinfo.i_pts  = VLC_TS_INVALID;
++    p_sys->i_buf_offset  = 0;
+     p_sys->i_buf         = 0;
+     p_sys->p_buf         = NULL;
+     p_sys->i_next_block_flags = 0;
+-- 
+GitLab

diff --git a/media-video/vlc/vlc-3.0.18-r1.ebuild b/media-video/vlc/vlc-3.0.18-r1.ebuild
new file mode 100644
index 000000000000..789436d0b1c3
--- /dev/null
+++ b/media-video/vlc/vlc-3.0.18-r1.ebuild
@@ -0,0 +1,518 @@
+# Copyright 2000-2023 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 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 )
+"
+# <ffmpeg-5 dep for USE="ffmpeg vaapi" for bug #864721
+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:=
+		>=media-libs/libdvdread-6.1.2:=
+	)
+	faad? ( media-libs/faad2 )
+	fdk? ( media-libs/fdk-aac:= )
+	ffmpeg? ( >=media-video/ffmpeg-3.1.3:=[postproc,vaapi?,vdpau?] )
+	flac? (
+		media-libs/flac:=
+		media-libs/libogg
+	)
+	fluidsynth? ( media-sound/fluidsynth:= )
+	fontconfig? ( media-libs/fontconfig:1.0 )
+	gcrypt? (
+		dev-libs/libgcrypt:=
+		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? ( media-libs/libjpeg-turbo: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? (
+		<media-video/ffmpeg-5
+		media-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}"/${P}-flac-crc.patch
+)
+
+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() {
+	default
+
+	# bug 608256
+	xdg_environment_reset
+
+	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
+
+	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
+}


             reply	other threads:[~2023-05-13 22:52 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-13 22:52 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-02-12 22:43 [gentoo-commits] repo/gentoo:master commit in: media-video/vlc/, media-video/vlc/files/ Andreas Sturmlechner
2025-01-15 20:31 Andreas Sturmlechner
2025-01-08  8:22 Sam James
2024-10-04 17:37 Andreas Sturmlechner
2024-07-03 14:26 Ben Kohler
2024-03-17  4:02 Sam James
2023-05-27  2:17 Sam James
2021-11-07 15:41 Andreas Sturmlechner
2021-08-31 19:06 Pacho Ramos
2021-06-22 18:43 Sam James
2021-04-23  8:09 Sergei Trofimovich
2019-08-01 15:34 Andreas Sturmlechner
2019-03-10  9:34 Andreas Sturmlechner
2019-02-27 22:20 Thomas Raschbacher
2019-02-24 18:01 Andreas Sturmlechner
2018-11-08 12:29 Andreas Sturmlechner
2018-03-18 20:21 Andreas Sturmlechner
2017-12-09 13:52 Andreas Sturmlechner
2017-08-29 19:40 Andreas Sturmlechner
2016-11-26 18:00 Michael Palimaka
2016-11-26 18:00 Michael Palimaka
2016-02-09  7:41 Lars Wendler
2015-10-28  1:43 Ian Delaney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1684018153.a15de2a067817db7ed034d0c12b7c7c3ba83e7b9.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox