diff options
author | Sam James <sam@gentoo.org> | 2023-04-16 06:22:19 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-04-16 06:26:02 +0100 |
commit | 0889e8dd3f238c7b3e004160f9c8177add7e43cf (patch) | |
tree | e0dbd9e7c4007cb32d72647d883aa3727558dc3b /media-libs | |
parent | dev-util/bear: fix tests w/ clang 16 (diff) | |
download | gentoo-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')
-rw-r--r-- | media-libs/xine-lib/files/xine-lib-1.2.13-configure-clang16.patch | 115 | ||||
-rw-r--r-- | media-libs/xine-lib/xine-lib-1.2.13-r1.ebuild | 237 |
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 +} |