commit:     f6da4e1cd14721a2d60f53374b7636806831c402
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 24 23:12:01 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Nov 24 23:15:16 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f6da4e1c

media-video/xine-ui: add 0.99.14

Old codebase so -std=gnu17.

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

 media-video/xine-ui/Manifest                       |  1 +
 .../files/xine-ui-0.99.14-configure-c99.patch      | 75 ++++++++++++++++++
 media-video/xine-ui/xine-ui-0.99.14.ebuild         | 92 ++++++++++++++++++++++
 3 files changed, 168 insertions(+)

diff --git a/media-video/xine-ui/Manifest b/media-video/xine-ui/Manifest
index da5c7493057a..9bbd192704bf 100644
--- a/media-video/xine-ui/Manifest
+++ b/media-video/xine-ui/Manifest
@@ -1 +1,2 @@
 DIST xine-ui-0.99.13.tar.xz 2156892 BLAKE2B 
edb4cb082faeba5f9f64ea06f6561d471fddfc7672dd92ec1a0a99b5c8eb10f46c15df2044fa2a4eaafdeab1fa56d990afa443f912602fdc676d1e34e3cf6c84
 SHA512 
a0802d767a805c462f7ae05fa5c4860af5c281ffa74c70a6c2c8a3ecbf8060e6f3f40fed215e27a823985c7d5c3484715cbbe5e4bf43655353f59fa2230b41e7
+DIST xine-ui-0.99.14.tar.xz 2214740 BLAKE2B 
8785215bd3569dd2f056cb87c16233103bf89d50a188f4e47d2bac07366b58e5c73016097a6d87e8e097d56e1216b639704a0c5a55877c9304151f9caabf3d15
 SHA512 
e925e2f1d02c4eac4615f59c99dd95f1627617f2abb644c521cf015f795c66bf56386e7d414b528c1cf91bbdab53f46999104e992aecebbdcb62c230e6d989e7

diff --git a/media-video/xine-ui/files/xine-ui-0.99.14-configure-c99.patch 
b/media-video/xine-ui/files/xine-ui-0.99.14-configure-c99.patch
new file mode 100644
index 000000000000..79ee61544047
--- /dev/null
+++ b/media-video/xine-ui/files/xine-ui-0.99.14-configure-c99.patch
@@ -0,0 +1,75 @@
+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 ();
+          ])],
+--- a/configure.ac
++++ b/configure.ac
+@@ -641,7 +641,8 @@ dnl
+ dnl Check for clock_gettime() in librt
+ dnl
+ AC_MSG_CHECKING(whether librt is needed)
+-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>
++                                     #include <unistd.h>
+                                      #include <sys/time.h>]],
+                                    [[#if _POSIX_TIMERS > 0
+                                      struct timespec ts;

diff --git a/media-video/xine-ui/xine-ui-0.99.14.ebuild 
b/media-video/xine-ui/xine-ui-0.99.14.ebuild
new file mode 100644
index 000000000000..c7dccde4efc3
--- /dev/null
+++ b/media-video/xine-ui/xine-ui-0.99.14.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic xdg
+
+DESCRIPTION="Xine movie player"
+HOMEPAGE="https://xine-project.org/home";
+SRC_URI="https://downloads.sourceforge.net/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}"/${PN}-0.99.14-configure-c99.patch
+)
+
+src_prepare() {
+       default
+       eautoreconf
+       rm misc/xine-bugreport || die
+}
+
+src_configure() {
+       # bug #944213
+       append-cflags -std=gnu17
+
+       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
+}

Reply via email to