commit: 124f74d5cacaa50108ae1eddc8783bb0d49ebe1b Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Tue Dec 19 10:12:10 2023 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Tue Dec 19 11:03:39 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=124f74d5
media-video/xine-ui: fix modern C issues in configure Closes: https://bugs.gentoo.org/899872 Signed-off-by: Sam James <sam <AT> gentoo.org> .../files/xine-ui-0.99.13-configure-c99.patch | 77 ++++++++++++++++++ media-video/xine-ui/xine-ui-0.99.13-r1.ebuild | 90 ++++++++++++++++++++++ 2 files changed, 167 insertions(+) diff --git a/media-video/xine-ui/files/xine-ui-0.99.13-configure-c99.patch b/media-video/xine-ui/files/xine-ui-0.99.13-configure-c99.patch new file mode 100644 index 000000000000..dfb82175b587 --- /dev/null +++ b/media-video/xine-ui/files/xine-ui-0.99.13-configure-c99.patch @@ -0,0 +1,77 @@ +https://sourceforge.net/p/xine/tickets/22/ +https://bugs.gentoo.org/899872 + +Fix C compatibility issues in the configure script + +This is necessary to avoid incorrectly failing probes due to expected +compiler errors. + +Include <stdlib.h> for the exit function, and <string.h> for the +strdup function. + +Use fake prototypes to avoid implicit function declarations in the +xine_* function probes. + +--- a/configure.ac ++++ b/configure.ac +@@ -198,6 +198,7 @@ + if test "$ac_cv_header_sys_shm_h" = "yes"; then + AC_MSG_CHECKING(whether shmctl IPC_RMID allowes subsequent attaches) + AC_TRY_RUN([ ++ #include <stdlib.h> + #include <sys/types.h> + #include <sys/ipc.h> + #include <sys/shm.h> +--- a/m4/aa.m4 ++++ b/m4/aa.m4 +@@ -52,6 +52,7 @@ + #include <stdio.h> + #include <stdlib.h> + #include <aalib.h> ++#include <string.h> + + int main () { + int major, minor; +--- a/m4/_xine.m4 ++++ b/m4/_xine.m4 +@@ -218,7 +218,7 @@ + CFLAGS="$CFLAGS $XINE_CFLAGS" + LIBS="$LIBS $XINE_LIBS" + AC_LINK_IFELSE( +- [AC_LANG_PROGRAM([],[xine_open_cloexec();])], ++ [AC_LANG_PROGRAM([char xine_open_cloexec(void);],[xine_open_cloexec();])], + [AC_DEFINE([HAVE_XINE_OPEN_CLOEXEC], [1], [Define if xine-lib supports xine_open_cloexec]) + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no])]) +@@ -234,7 +234,7 @@ + CFLAGS="$CFLAGS $XINE_CFLAGS" + LIBS="$LIBS $XINE_LIBS" + AC_LINK_IFELSE( +- [AC_LANG_PROGRAM([],[xine_socket_cloexec();])], ++ [AC_LANG_PROGRAM([char xine_socket_cloexec(void);],[xine_socket_cloexec();])], + [AC_DEFINE([HAVE_XINE_SOCKET_CLOEXEC], [1], [Define if xine-lib supports xine_socket_cloexec]) + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no])]) +@@ -250,7 +250,7 @@ + CFLAGS="$CFLAGS $XINE_CFLAGS" + LIBS="$LIBS $XINE_LIBS" + AC_LINK_IFELSE( +- [AC_LANG_PROGRAM([ ++ [AC_LANG_PROGRAM([char xine_list_next_value(void); + ],[ + xine_list_next_value (); + ])], +diff --git a/configure.ac b/configure.ac +index 5b4fb04..8bcbfea 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -634,7 +634,8 @@ dnl + AC_MSG_CHECKING(whether librt is needed) + AC_TRY_COMPILE( + [#include <unistd.h> +- #include <sys/time.h>], ++ #include <sys/time.h> ++ #include <time.h>], + [#if _POSIX_TIMERS > 0 + struct timespec ts; + clock_gettime(CLOCK_REALTIME, &ts); diff --git a/media-video/xine-ui/xine-ui-0.99.13-r1.ebuild b/media-video/xine-ui/xine-ui-0.99.13-r1.ebuild new file mode 100644 index 000000000000..4bebb115b9cc --- /dev/null +++ b/media-video/xine-ui/xine-ui-0.99.13-r1.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools xdg + +DESCRIPTION="Xine movie player" +HOMEPAGE="https://xine-project.org/home" +SRC_URI="mirror://sourceforge/xine/${P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86" +IUSE="aalib curl debug libcaca lirc nls readline vdr X xinerama" + +RDEPEND=" + || ( app-arch/tar app-arch/libarchive ) + media-libs/libpng:0= + >=media-libs/xine-lib-1.2:=[aalib?,libcaca?] + media-libs/libjpeg-turbo:= + aalib? ( media-libs/aalib:= ) + curl? ( >=net-misc/curl-7.10.2:= ) + libcaca? ( media-libs/libcaca:= ) + lirc? ( app-misc/lirc:= ) + nls? ( virtual/libintl ) + readline? ( >=sys-libs/readline-6.2:= ) + X? ( + x11-libs/libICE:= + x11-libs/libSM:= + x11-libs/libX11:= + x11-libs/libXext:= + x11-libs/libXft:= + x11-libs/libXrender:= + x11-libs/libXScrnSaver:= + x11-libs/libXtst:= + x11-libs/libXv:= + x11-libs/libXxf86vm:= + xinerama? ( x11-libs/libXinerama:= ) + ) +" +DEPEND="${RDEPEND} + virtual/pkgconfig + nls? ( >=sys-devel/gettext-0.18.3 ) + X? ( + x11-base/xorg-proto + x11-libs/libXt + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.99.10-desktop.patch + "${FILESDIR}"/${P}-build.patch + "${FILESDIR}"/${PN}-0.99.13-configure-c99.patch +) + +src_prepare() { + default + eautoreconf + rm misc/xine-bugreport || die +} + +src_configure() { + econf \ + $(use_enable nls) \ + $(use_enable xinerama) \ + $(use_enable lirc) \ + $(use_enable vdr vdr-keys) \ + --disable-nvtvsimple \ + $(use_enable debug) \ + $(use_with X x) \ + $(use_with readline) \ + $(use_with curl) \ + $(use_with aalib) \ + $(use_with libcaca caca) \ + --without-fb +} + +src_install() { + # xine-list apparently may cause sandbox violation, bug 654394 + addpredict /dev/dri + + emake \ + DESTDIR="${D}" \ + docdir="/usr/share/doc/${PF}" \ + docsdir="/usr/share/doc/${PF}" \ + install + + einstalldocs +}