summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-04-16 06:22:19 +0100
committerSam James <sam@gentoo.org>2023-04-16 06:26:02 +0100
commit0889e8dd3f238c7b3e004160f9c8177add7e43cf (patch)
treee0dbd9e7c4007cb32d72647d883aa3727558dc3b /media-libs/xine-lib
parentdev-util/bear: fix tests w/ clang 16 (diff)
downloadgentoo-0889e8dd3f238c7b3e004160f9c8177add7e43cf.tar.gz
gentoo-0889e8dd3f238c7b3e004160f9c8177add7e43cf.tar.bz2
gentoo-0889e8dd3f238c7b3e004160f9c8177add7e43cf.zip
media-libs/xine-lib: fix configure w/ clang 16
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs/xine-lib')
-rw-r--r--media-libs/xine-lib/files/xine-lib-1.2.13-configure-clang16.patch115
-rw-r--r--media-libs/xine-lib/xine-lib-1.2.13-r1.ebuild237
2 files changed, 352 insertions, 0 deletions
diff --git a/media-libs/xine-lib/files/xine-lib-1.2.13-configure-clang16.patch b/media-libs/xine-lib/files/xine-lib-1.2.13-configure-clang16.patch
new file mode 100644
index 000000000000..387539c19344
--- /dev/null
+++ b/media-libs/xine-lib/files/xine-lib-1.2.13-configure-clang16.patch
@@ -0,0 +1,115 @@
+https://src.fedoraproject.org/rpms/xine-lib/blob/778d0883383a1e8ee4060b1d8583296812e077d4/f/xine-lib-configure-c99.patch
+
+configure: Add fake prototypes for C99 compatibility
+
+The xxmc-related configure probes assume that the compiler
+supports implicit function declarations because it tries to
+call the functions without including the appropriate headers,
+for link testing.
+
+As the headers are not determined yet at this point, use
+a fake prototype (the same that autoconf uses) to avoid
+the implicit function declarations.
+
+This avoids altering the outcome of these checks with future
+compilers which do not support implicit function declarations.
+
+Submitted upstream:
+
+ <https://sourceforge.net/p/xine/xine-lib-1.2/merge-requests/2/>
+
+--- a/configure
++++ b/configure
+@@ -28563,7 +28563,7 @@ $as_echo "" >&6; }
+ LIBS="$XXMC_LIBS $X_LIBS $XV_LIBS $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-
++char XvMCPutSlice(void);
+ int
+ main ()
+ {
+@@ -28578,7 +28578,7 @@ else
+ LIBS="$XXMC_LIBS -lXvMC $X_LIBS $XV_LIBS $LIBS $DYNAMIC_LD_LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-
++char XvMCPutSlice(void);
+ int
+ main ()
+ {
+@@ -28616,7 +28616,7 @@ done
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-
++char XvMCCreateContext(void);
+ int
+ main ()
+ {
+@@ -28631,7 +28631,7 @@ else
+ LIBS="$XXMC_LIBS -lXvMC $X_LIBS $XV_LIBS $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-
++char XvMCCreateContext(void);
+ int
+ main ()
+ {
+@@ -28675,7 +28675,7 @@ $as_echo "" >&6; }
+ LIBS="$XVMC_LIBS $X_LIBS $XV_LIBS $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-
++char XvMCCreateContext(void);
+ int
+ main ()
+ {
+@@ -28690,7 +28690,7 @@ else
+ LIBS="$XVMC_LIBS -lXvMC $X_LIBS $XV_LIBS $LIBS $DYNAMIC_LD_LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-
++char XvMCCreateContext(void);
+ int
+ main ()
+ {
+--- a/m4/video_out.m4
++++ b/m4/video_out.m4
+@@ -496,9 +496,9 @@ AC_DEFUN([XINE_VIDEO_OUT_PLUGINS], [
+ AC_MSG_CHECKING([whether to enable the xxmc plugin with VLD extensions])
+ AC_MSG_RESULT([])
+ LIBS="$XXMC_LIBS $X_LIBS $XV_LIBS $LIBS"
+- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[XvMCPutSlice()]])], [have_xxmc=yes],
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[char XvMCPutSlice(void);]], [[XvMCPutSlice()]])], [have_xxmc=yes],
+ [LIBS="$XXMC_LIBS -lXvMC $X_LIBS $XV_LIBS $LIBS $DYNAMIC_LD_LIBS"
+- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[XvMCPutSlice()]])],
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[char XvMCPutSlice(void);]], [[XvMCPutSlice()]])],
+ [have_xxmc=yes XXMC_LIBS="$XXMC_LIBS -lXvMC"])])
+ if test x"$have_xxmc" = x"yes"; then
+ AC_CHECK_HEADERS([X11/extensions/vldXvMC.h],
+@@ -506,9 +506,9 @@ AC_DEFUN([XINE_VIDEO_OUT_PLUGINS], [
+ AC_DEFINE([HAVE_VLDXVMC], 1, [Define if you have vldXvMC.h])],
+ [have_vldexts=no])
+ else
+- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[XvMCCreateContext()]])], [have_xxmc=yes],
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[char XvMCCreateContext(void);]], [[XvMCCreateContext()]])], [have_xxmc=yes],
+ [LIBS="$XXMC_LIBS -lXvMC $X_LIBS $XV_LIBS $LIBS"
+- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[XvMCCreateContext()]])],
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[char XvMCCreateContext(void);]], [[XvMCCreateContext()]])],
+ [have_xxmc=yes XXMC_LIBS="$XXMC_LIBS -lXvMC"])])
+ fi
+ if test x"$have_xxmc" = x"yes"; then
+@@ -521,9 +521,9 @@ AC_DEFUN([XINE_VIDEO_OUT_PLUGINS], [
+ AC_MSG_CHECKING([whether to enable the xvmc plugin])
+ AC_MSG_RESULT([])
+ LIBS="$XVMC_LIBS $X_LIBS $XV_LIBS $LIBS"
+- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[XvMCCreateContext()]])], [have_xvmc=yes],
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[char XvMCCreateContext(void);]], [[XvMCCreateContext()]])], [have_xvmc=yes],
+ [LIBS="$XVMC_LIBS -lXvMC $X_LIBS $XV_LIBS $LIBS $DYNAMIC_LD_LIBS"
+- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[XvMCCreateContext()]])],
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[char XvMCCreateContext(void);]], [[XvMCCreateContext()]])],
+ [have_xvmc=yes XVMC_LIBS="$XVMC_LIBS -lXvMC"])])
+ if test x"$have_xvmc" = x"yes"; then
+ AC_CHECK_HEADERS([X11/extensions/XvMC.h], [], [have_xvmc=no])
+
diff --git a/media-libs/xine-lib/xine-lib-1.2.13-r1.ebuild b/media-libs/xine-lib/xine-lib-1.2.13-r1.ebuild
new file mode 100644
index 000000000000..ab82dbcb36f7
--- /dev/null
+++ b/media-libs/xine-lib/xine-lib-1.2.13-r1.ebuild
@@ -0,0 +1,237 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic libtool multilib
+
+if [[ ${PV} == *9999* ]]; then
+ EHG_REPO_URI="http://hg.code.sf.net/p/xine/xine-lib-1.2"
+ inherit autotools mercurial
+ unset NLS_IUSE
+ NLS_DEPEND="sys-devel/gettext"
+ NLS_RDEPEND="virtual/libintl"
+else
+ SRC_URI="mirror://sourceforge/xine/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
+ S="${WORKDIR}"/${PN}-$(ver_cut 1-2)
+
+ NLS_IUSE="nls"
+ NLS_DEPEND="nls? ( sys-devel/gettext )"
+ NLS_RDEPEND="nls? ( virtual/libintl )"
+fi
+
+DESCRIPTION="Core libraries for Xine movie player"
+HOMEPAGE="https://xine.sourceforge.net/"
+
+LICENSE="GPL-2"
+SLOT="1"
+IUSE="a52 aac aalib +alsa bluray cpu_flags_ppc_altivec +css dav1d dts dvb dxr3 fbcon flac gtk imagemagick jack jpeg libcaca mad +mmap mng modplug musepack nfs opengl oss pulseaudio samba sftp sdl speex theora truetype v4l vaapi vcd vdpau vdr vidix +vis vorbis vpx wavpack wayland +X xinerama +xv xvmc ${NLS_IUSE}"
+REQUIRED_USE="
+ vidix? ( || ( X fbcon ) )
+ wayland? ( opengl )
+ xv? ( X )
+ xinerama? ( X )
+"
+
+RDEPEND="
+ dev-libs/libxdg-basedir
+ media-libs/libdvdnav
+ media-video/ffmpeg:=
+ sys-libs/zlib:=
+ virtual/libiconv
+ a52? ( media-libs/a52dec )
+ aac? ( media-libs/faad2 )
+ aalib? ( media-libs/aalib )
+ alsa? ( media-libs/alsa-lib )
+ bluray? ( >=media-libs/libbluray-0.2.1:= )
+ css? ( >=media-libs/libdvdcss-1.2.10 )
+ dav1d? ( media-libs/dav1d:= )
+ dts? ( media-libs/libdca )
+ dxr3? ( media-libs/libfame )
+ flac? ( media-libs/flac:= )
+ gtk? ( x11-libs/gdk-pixbuf:2 )
+ imagemagick? ( virtual/imagemagick-tools )
+ jack? ( virtual/jack )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ libcaca? ( media-libs/libcaca )
+ mad? ( media-libs/libmad )
+ mng? ( media-libs/libmng:= )
+ modplug? ( >=media-libs/libmodplug-0.8.8.1 )
+ musepack? ( >=media-sound/musepack-tools-444 )
+ nfs? ( net-fs/libnfs:= )
+ opengl? (
+ virtual/glu
+ virtual/opengl
+ )
+ pulseaudio? ( media-libs/libpulse )
+ samba? ( net-fs/samba )
+ sftp? ( net-libs/libssh2 )
+ sdl? ( media-libs/libsdl )
+ speex? (
+ media-libs/libogg
+ media-libs/speex
+ )
+ theora? (
+ media-libs/libogg
+ media-libs/libtheora
+ )
+ truetype? (
+ media-libs/fontconfig
+ media-libs/freetype:2
+ )
+ v4l? ( media-libs/libv4l )
+ vaapi? ( media-libs/libva:=[opengl,X] )
+ vcd? (
+ >=media-video/vcdimager-0.7.23
+ dev-libs/libcdio:=[-minimal]
+ )
+ vdpau? ( x11-libs/libvdpau )
+ vorbis? (
+ media-libs/libogg
+ media-libs/libvorbis
+ )
+ vpx? ( media-libs/libvpx:= )
+ wavpack? ( media-sound/wavpack )
+ wayland? ( dev-libs/wayland )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libxcb:=
+ )
+ xinerama? ( x11-libs/libXinerama )
+ xv? ( x11-libs/libXv )
+ xvmc? ( x11-libs/libXvMC )
+"
+DEPEND="
+ ${RDEPEND}
+ oss? ( virtual/os-headers )
+ v4l? ( virtual/os-headers )
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libXt
+ )
+ xv? ( x11-base/xorg-proto )
+ xvmc? ( x11-base/xorg-proto )
+ xinerama? ( x11-base/xorg-proto )
+"
+BDEPEND="
+ app-arch/xz-utils
+ >=sys-devel/libtool-2.2.6b
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.13-configure-clang16.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i -e '/define VDR_ABS_FIFO_DIR/s|".*"|"/var/vdr/xine"|' src/vdr/input_vdr.c || die
+
+ if [[ "${PV}" = *9999* ]] ; then
+ eautoreconf
+ else
+ elibtoolize
+ fi
+
+ local x
+ for x in 0 1 2 3; do
+ sed -i -e "/^O${x}_CFLAGS=\"-O${x}\"/d" configure || die
+ done
+}
+
+src_configure() {
+ [[ ${CHOST} == i?86-* ]] && append-flags -fomit-frame-pointer #422519
+
+ local win32dir #197236
+ if has_multilib_profile; then
+ win32dir=/usr/$(ABI="x86" get_libdir)/win32
+ else
+ win32dir=/usr/$(get_libdir)/win32
+ fi
+
+ local myconf=(
+ --disable-directfb
+ --disable-gnomevfs
+ --disable-optimizations
+ --disable-real-codecs
+ --disable-v4l
+ --disable-w32dll
+ --enable-avformat
+ --enable-ipv6
+ --with-external-dvdnav
+ --with-real-codecs-path=/usr/$(get_libdir)/codecs
+ --with-w32-path=${win32dir}
+ --with-xv-path=/usr/$(get_libdir)
+ --without-esound
+ --without-fusionsound
+ # Added dav1d for now. Could support both? Does it need to be XOR?
+ --without-libaom
+ $(use_enable a52 a52dec)
+ $(use_enable aac faad)
+ $(use_enable aalib)
+ $(use_enable cpu_flags_ppc_altivec altivec)
+ $(use_enable bluray)
+ $(use_enable dts)
+ $(use_enable dvb)
+ $(use_enable dxr3)
+ $(use_enable fbcon fb)
+ $(use_enable gtk gdkpixbuf)
+ $(use_enable jpeg libjpeg)
+ $(use_enable mad)
+ $(use_enable mmap)
+ $(use_enable mng)
+ $(use_enable modplug)
+ $(use_enable musepack)
+ $(use_enable nfs)
+ $(use_enable opengl)
+ $(use_enable opengl glu)
+ $(use_enable oss)
+ $(use_enable samba)
+ $(use_enable sftp)
+ $(use_enable v4l libv4l)
+ $(use_enable v4l v4l2)
+ $(use_enable vaapi)
+ $(use_enable vdpau)
+ $(use_enable vis)
+ $(use_enable vidix)
+ $(use_enable xinerama)
+ $(use_enable xvmc)
+ $(use_enable vcd)
+ $(use_enable vdr)
+ $(use_enable vpx)
+ $(use_enable wayland)
+ $(use_with alsa)
+ $(use_with dav1d)
+ $(use_with flac libflac)
+ $(use_with imagemagick)
+ $(use_with jack)
+ $(use_with libcaca caca)
+ $(use_with pulseaudio)
+ $(use_with sdl)
+ $(use_with speex)
+ $(use_with theora)
+ $(use_with truetype fontconfig)
+ $(use_with truetype freetype)
+ $(use_with vorbis)
+ $(use_with wavpack)
+ $(use_with X x)
+ $(use_with X xcb)
+ )
+ [[ ${PV} == *9999* ]] || myconf+=( $(use_enable nls) )
+
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myconf[@]}"
+}
+
+src_compile() {
+ # enable verbose building, bug #448140
+ emake V=1
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+ rm "${ED}"/usr/share/doc/${PF}/COPYING || die
+}