- Add xine-lib-configure-c99.patch to avoid C99 violations during

configure phase [boo#1225957]

If the request is OK, please forward it to Factory soon-ish so that we
can switch the default compiler.

OBS-URL: https://build.opensuse.org/package/show/multimedia:xine/xine-lib?expand=0&rev=151
This commit is contained in:
Dave Plater 2024-07-15 15:53:06 +00:00 committed by Git OBS Bridge
commit fba03c173e
10 changed files with 1653 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

1
baselibs.conf Normal file
View File

@ -0,0 +1 @@
libxine2

3
xine-lib-1.2.13.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3def43d3c0597f0f23cbf73e9d4b1dcd328852f2100fcff89fe925ad7cdd0251
size 5004148

View File

@ -0,0 +1,116 @@
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/>
diff --git a/configure b/configure
index a4009e857777b5cf..3a83b40efda8fd5d 100755
--- 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 ()
{
diff --git a/m4/video_out.m4 b/m4/video_out.m4
index 150b477697297c03..8aa1f4a3b9267ff9 100644
--- 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])

View File

@ -0,0 +1,122 @@
# HG changeset patch
# User Tobias Rautenkranz <mail@tobias.rautenkranz.ch>
# Date 1202208482 -3600
# Node ID 100241ff36f0730a15018a58456fb86eb590bf18
# Parent 07c29261ed98fdb710a241c6711dac0215b6074a
Fix playback of DVDs with a broken UDF file system (aka DVD-Movie-Protect).
--- a/src/input/libdvdnav/dvd_udf.c
+++ b/src/input/libdvdnav/dvd_udf.c
@@ -38,10 +38,16 @@
#include <sys/stat.h>
#include <unistd.h>
#include <inttypes.h>
+#ifndef __WIN32__
+#include <fnmatch.h>
+#endif
#include "dvd_reader.h"
#include "dvd_udf.h"
+#include "ifo_types.h"
+#include "ifo_read.h"
+
/* Private but located in/shared with dvd_reader.c */
extern int UDFReadBlocksRaw( dvd_reader_t *device, uint32_t lb_number,
size_t block_count, unsigned char *data,
@@ -779,7 +785,9 @@ static int UDFFindPartition( dvd_reader_
return part->valid;
}
-uint32_t UDFFindFile( dvd_reader_t *device, char *filename,
+
+
+static uint32_t UDFFindFileReal( dvd_reader_t *device, char *filename,
uint32_t *filesize )
{
uint8_t LogBlock_base[ DVD_VIDEO_LB_LEN + 2048 ];
@@ -861,6 +869,84 @@ uint32_t UDFFindFile( dvd_reader_t *devi
return partition.Start + File.Location;
}
+/**
+ * Get the offset from the ifo files to allow playback of DVDs
+ * with a deliberately broken UDF file system (aka DVD-Movie-Protect).
+ * When the file is not an IFO or VOB, it calls the real UDF routine.
+ */
+uint32_t UDFFindFile( dvd_reader_t *device, char *filename,
+ uint32_t *filesize )
+{
+#ifndef __WIN32__
+ if (!fnmatch("/VIDEO_TS/VTS_[0-9][0-9]_[0-9].???", filename, FNM_PATHNAME)) {
+#else
+ if (strlen("/VIDEO_TS/VTS_01_1.VOB") == strlen(filename)
+ && !strncmp(filename, "/VIDEO_TS/VTS_", strlen("/VIDEO_TS/VTS_")) ) {
+#endif
+ size_t len = strlen(filename);
+ char *extension = &filename[len-3];
+ if (!strcmp(extension, "IFO") || !strcmp(extension, "VOB")) {
+ int title = atoi(&filename[len-8]);
+ int part = atoi(&filename[len-5]);
+
+ ifo_handle_t *ifo_handle = ifoOpen(device, 0);
+ if (0 == ifo_handle)
+ return 0;
+
+ uint32_t tmp_filesize;
+ uint32_t offset = UDFFindFileReal(device, "/VIDEO_TS/VIDEO_TS.IFO", &tmp_filesize);
+
+ int i;
+ for (i=0; i<ifo_handle->tt_srpt->nr_of_srpts; i++)
+ if (title == ifo_handle->tt_srpt->title[i].title_set_nr)
+ break;
+
+ if (i == ifo_handle->tt_srpt->nr_of_srpts) {
+ /* not found */
+ ifoClose(ifo_handle);
+ return 0;
+ }
+ offset += ifo_handle->tt_srpt->title[i].title_set_sector;
+ ifoClose(ifo_handle);
+
+ if (!strcmp(extension, "VOB")) {
+ ifo_handle = ifoOpen(device, title);
+ if (0 == ifo_handle)
+ return 0;
+
+ switch(part) {
+ case 0:
+ if (0 == ifo_handle->vtsi_mat->vtsm_vobs) {
+ ifoClose(ifo_handle);
+ return 0;
+ }
+ offset += ifo_handle->vtsi_mat->vtsm_vobs;
+ break;
+ case 1:
+ if (0 == ifo_handle->vtsi_mat->vtstt_vobs) {
+ ifoClose(ifo_handle);
+ return 0;
+ }
+ offset += ifo_handle->vtsi_mat->vtstt_vobs;
+ break;
+ default: /* can't get other parts (also no need to) */
+ offset = 0;
+ break;
+ }
+
+ ifoClose(ifo_handle);
+ }
+
+
+ *filesize = 1000000; /* File size unknown */
+ if (offset != 0)
+ return offset;
+ }
+ }
+
+ return UDFFindFileReal( device, filename, filesize);
+}
+
/**

13
xine-lib-theora.patch Normal file
View File

@ -0,0 +1,13 @@
Index: xine-lib-1.2.10/src/xine-engine/buffer_types.c
===================================================================
--- xine-lib-1.2.10.orig/src/xine-engine/buffer_types.c 2020-01-25 12:58:18.799239039 +0200
+++ xine-lib-1.2.10/src/xine-engine/buffer_types.c 2020-01-25 13:10:17.475944459 +0200
@@ -248,6 +248,8 @@ static const uint32_t sorted_video_4ccs[
BE_FOURCC('S', 'N', 'O', 'W'), BUF_VIDEO_SNOW,
BE_FOURCC('S', 'V', 'Q', '1'), BUF_VIDEO_SORENSON_V1,
BE_FOURCC('S', 'V', 'Q', '3'), BUF_VIDEO_SORENSON_V3,
+ BE_FOURCC('t', 'h', 'e', 'o'), BUF_VIDEO_THEORA,
+ BE_FOURCC('T', 'H', 'E', 'O'), BUF_VIDEO_THEORA,
BE_FOURCC('T', 'M', '2', '0'), BUF_VIDEO_DUCKTM2,
BE_FOURCC('U', '2', '6', '3'), BUF_VIDEO_H263,
BE_FOURCC('U', 'C', 'O', 'D'), BUF_VIDEO_UCOD,

26
xine-lib-v4l-2.6.38.patch Normal file
View File

@ -0,0 +1,26 @@
Index: xine-lib-1.2.10/m4/input.m4
===================================================================
--- xine-lib-1.2.10.orig/m4/input.m4 2019-12-13 22:47:50.000000000 +0200
+++ xine-lib-1.2.10/m4/input.m4 2020-01-25 12:34:03.983185893 +0200
@@ -105,7 +105,7 @@ AC_DEFUN([XINE_INPUT_PLUGINS], [
XINE_ARG_ENABLE([v4l], [Enable Video4Linux support])
if test x"$enable_v4l" != x"no"; then
have_v4l=yes
- AC_CHECK_HEADERS([linux/videodev.h], , [have_v4l=no])
+ AC_CHECK_HEADERS([libv4l1-videodev.h], , [have_v4l=no])
AC_CHECK_HEADERS([asm/types.h])
if test x"$hard_enable_v4l" = x"yes" && test x"$have_v4l" != x"yes"; then
AC_MSG_ERROR([Video4Linux support requested, but prerequisite headers not found.])
Index: xine-lib-1.2.10/src/input/input_v4l.c
===================================================================
--- xine-lib-1.2.10.orig/src/input/input_v4l.c 2019-12-13 22:47:50.000000000 +0200
+++ xine-lib-1.2.10/src/input/input_v4l.c 2020-01-25 12:34:03.983185893 +0200
@@ -47,7 +47,7 @@
*/
#define _LINUX_TIME_H
-#include <linux/videodev.h>
+#include <libv4l1-videodev.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <errno.h>

601
xine-lib.changes Normal file
View File

@ -0,0 +1,601 @@
-------------------------------------------------------------------
Mon Jul 15 13:17:26 UTC 2024 - Martin Jambor <mjambor@suse.com>
- Add xine-lib-configure-c99.patch to avoid C99 violations during
configure phase [boo#1225957]
-------------------------------------------------------------------
Tue Dec 12 12:12:12 UTC 2023 - olaf@aepfle.de
- Add version constraints for all ffmpeg subpackages
-------------------------------------------------------------------
Tue Mar 21 10:33:40 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Add explicit pkgconfig(egl) BuildRequires, configure checks for
it. Previously pulled in by chance via cairo.
-------------------------------------------------------------------
Sat Jan 28 15:41:11 UTC 2023 - Dave Plater <davejplater@gmail.com>
- Prevent Leap:15.4 building with ffmpeg-3
-------------------------------------------------------------------
Fri Jan 27 09:15:38 UTC 2023 - Wolfgang Bauer <wbauer@tmo.at>
- Update to version 1.2.13
- Remove xine-lib-ffmpeg5.patch, fixed upstream
- Upstream changes:
* Add dav1d 1.0.0 support.
* Add user video frame rate limiter.
* Add xine_query_stream_info ().
* Add user OpenGL2 scale modes.
* Add xine timespec tools.
* FFmpeg compatibility update.
* Update german translation.
* Improved DVB subtitle support.
* Improved HLS input.
* Improved AAC demux.
* Fix clang build.
* Fix build with libcaca.
* Fix fine time display.
* Fix .mp4 audio.
* Fix wav demuxer.
* Work around broken Mesa vdpau drivers.
* Fix OpenGL2 deep color display.
* Various small fixes.
* Optimize OpenGL2 video output.
* Optimize audio out.
* Optimize OSD.
* Small engine optimizations.
-------------------------------------------------------------------
Thu Sep 8 06:05:38 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
- Add xine-lib-ffmpeg5.patch: Fix build with ffmpeg-5.
-------------------------------------------------------------------
Tue May 17 07:08:56 UTC 2022 - Dominique Leuenberger <dimstar@opensuse.org>
- Replace SDL-devel BuildRequires with pkgconfig(sdl): allow to use
sdl12_compat as an alternative.
-------------------------------------------------------------------
Tue Mar 15 10:46:27 UTC 2022 - Wolfgang Bauer <wbauer@tmo.at>
- Fix non-distributable build:
* Add "BuildRequires: pkgconfig(glesv2)" to avoid compiler error
about missing include file
* Adjust plugins filelist
-------------------------------------------------------------------
Tue Mar 15 07:43:31 UTC 2022 - Wolfgang Bauer <wbauer@tmo.at>
- Update to version 1.2.12
- Rebase xine-lib-libdvdread_udf.diff
- Upstream changes:
* Add string tree library (generic info parser).
* Add OpenSL ES audio output plugin.
* Add mpeg-dash input plugin.
* Add crypto input plugin.
* Add VAAPI support to opengl2 video output (requires using EGL).
* Better hls support.
* Improved DVB/live stream timing.
* Improved BT.2020 support.
* Fix compatibility with ffmpeg 5.0.
* Fix RSS parser.
* Fix output parameter setting (audio amplification, video hue etc.).
* Fix AC3 demuxer.
* Diverse small fixes and optimizations.
* Update german translation.
* Code cleanup.
* Build fixes.
-------------------------------------------------------------------
Mon Mar 14 14:14:14 UTC 2022 - olaf@aepfle.de
- Use pkgconfig(smbclient) to refer to samba libaries
-------------------------------------------------------------------
Wed Jan 6 18:52:25 UTC 2021 - Wolfgang Bauer <wbauer@tmo.at>
- Update to version 1.2.11
- Remove xine-lib-dec_info_real.patch, fixed upstream
- Upstream changes:
* Add gopher input plugin.
* Add user settings for IPv6.
* Split a52 spdif output to separate decoder.
* Code cleanup.
* More engine optimization.
* Small optimizations (opengl2, dvb subtitles, png, mpeg-ts).
* Better A/V sync.
* Fix a few crashes.
* Fix bluray playback.
* Fix VAAPI picture jitter and green flashes.
* Fix Opus and EAC3 audio playback.
* Fix text subtitles.
* Fix mpeg-ts (hdmv mode, detection of cut TV recordings).
* Fix mpeg layer 1-4 audio timing.
* Fix some VDR issues.
* Fix HLS VOD mode.
* Many small fixes.
* Build fixes.
* BSD fixes.
* Update german translation.
* Update internal libdca to upstream 0.0.7.
-------------------------------------------------------------------
Fri Jun 5 20:20:20 UTC 2020 - olaf@aepfle.de
- Remove xineplug_decode_qt to fix i386 build
-------------------------------------------------------------------
Fri Jun 5 15:15:15 UTC 2020 - olaf@aepfle.de
- Fix build with xine-lib-dec_info_real.patch
-------------------------------------------------------------------
Sun Jan 26 14:11:29 UTC 2020 - Dave Plater <davejplater@gmail.com>
- Update to version 1.2.10 and remove incorporated patches:
xine-lib-contrib.patch, xine-lib-alsa.patch, xine-lib-a52dec.patch
and xine-lib-ImageMagick7.patch.
- Upstream changes:
*Add (xcb)xv yuy2 emulation.
*Add libavcodec v58 compatibility.
*Add avio seek support.
*Add libdav1d, libaom and lavc AV1 video decoders.
*Add libvpx multithreading.
*Add libpng decoder.
*Add a52 double and fixed point modes.
*Add Opus audio support to ogg demuxer.
*Add AV1 video support to matroska demuxer.
*Add ivf demuxer.
*Add mpeg-ts split payload support.
*Add TLS support using gnutls or OpenSSL.
*Add ftp input plugin (ftp://) with TLS support (ftpes://)
*Add tls:// input plugin (raw TLS over TCP).
*Add libnfs NFS input plugin.
*Add ftp/http seek support.
*Add scp forward seek support.
*Add mp4 http streaming support (plain and fragment modes).
*Add HLS streaming support.
*Add HTTP 1.1 support.
*Add OpenGL EGL and Wayland support.
*Add side stream feature.
*Optimize OSD.
*Optimize output layers.
*Optimize decoder threads.
*Optimize event handling.
*Optimize stream info.
*Optimize TCP/TLS/HTTP network input.
*Optimize network buffering control.
*Alsa/oss startup optimization.
*Optimize input_stdin_fifo.
*Optimize internal liba52.
*Optimize user seek.
*Better support for audio out drivers that cannot resume after pause.
*Better support for mpeg pts jumps.
*Better bluray seek.
*XML parser fixes.
*Fix midstream audio mode switch.
*Fix FLAC audio playback via ffmpeg.
*Fix ffmpeg mpeg1/2 video.
*Fix/optimize mpeg, mpeg-ts, qt, flv, matroska, real & asf demuxers.
*Fix network seek.
*Fix/optimize audio CD.
*Fix DVD (occasional crashes, damaged video after a DVD had been
played).
*Fix opengl2 freeze after X server failure.
*Fix tvtime deinterlacer crash.
*Fix/optimize overlay.
*Fix/optimize old VDR plugin.
*Fix xine-ui freeze when opening a playlist while paused.
*Security fixes.
*More error handling instead of aborting.
-------------------------------------------------------------------
Sat Apr 13 20:02:32 UTC 2019 - olaf@aepfle.de
- Package xineplug_post_tvtime also on arm64
- Added xine-lib-contrib.patch
- Remove disabled esd support
- Remove disabled directfb support
- Remove disabled aalib support
- Remove disabled gnome_vfs support
- Use gcc8 in SLE_12
- Use plain configure macro
- Fix opensuse.org XINE URL
- Use without instead of !with distributable/onlynondistributable/ffmpeg/sdl
- Remove disabled code for sle10
- Remove conditional for ffmpeg because it always exists
- Remove unused xine-lib-without-ffmpeg.patch
- Remove unused xine-lib-nukefaadetc.patch, use sed instead
- Adjust all patches for autosetup:
xine-lib-libdvdread_udf.diff
xine-lib-v4l-2.6.38.patch
xine-lib-alsa.patch
xine-lib-theora.patch
xine-lib-ImageMagick7.patch
xine-lib-a52dec.patch
-------------------------------------------------------------------
Tue Mar 26 07:03:44 UTC 2019 - olaf@aepfle.de
- Use alsa API properly with xine-lib-alsa.patch. Consumers are
expected to use <alsa/asoundlib.h> instead of <asoundlib.h>.
This is in preparation of an change to pkgconfig(alsa) to
not pollute CFLAGS with -I/usr/include/alsa anymore (bsc#1130333)
-------------------------------------------------------------------
Fri Feb 22 12:00:57 UTC 2019 - olaf@aepfle.de
- Package xineplug_post_tvtime also on arm32
-------------------------------------------------------------------
Sun Jan 6 10:51:20 UTC 2019 - schwab@suse.de
- fix-non-x86-build.diff: remove
-------------------------------------------------------------------
Sat Dec 29 12:53:21 UTC 2018 - davejplater@gmail.com
- Patched up crippled build with new perl, the perl scripts no
longer work.
- Added xine-lib-nukefaadetc.patch for the same reason.
- Build with libmpeg2.
-------------------------------------------------------------------
Sat Jun 2 23:32:45 UTC 2018 - bjorn.lie@gmail.com
- Set to bcond_without gnome_vfs to bcond_with, no longer build
gnome-vfs support by default, gnome-vfs is deprecated upstream
for a long time.
-------------------------------------------------------------------
Sat Jan 27 11:36:15 UTC 2018 - davejplater@gmail.com
- Rebase fix-non-x86-build.diff to fix arm build.
-------------------------------------------------------------------
Tue Jan 23 12:38:21 UTC 2018 - davejplater@gmail.com
- Update to release 1.2.9 and add xine-lib-a52dec.patch.
- Moved xineplug_decode_mad and xineplug_decode_a52 into the main
package as they are now unrestricted.
- Enabled sdl and jack subpackages.
- Upstream changes:
* Add LIBXINE_VERBOSITY environment var override.
* Add auto gapless switch. Play clips to their very end when that
is likely what the user wants.
* Add video single step feature.
* Add generic keyframe index feature.
* Add x32 (x86 32 on 64bit) support.
* Add some more debug logging.
* Join 4 network input plugins into a single file.
* Matroska fixes.
* Build fixes.
* Directx2 audio fixes.
* VAAPI fixes.
* XCB video fixes and optimizations.
* Return driver held video frames on shutdown properly.
* FAAD audio compatibility fixes.
* Fix VP9 playback.
* Fix post filtering crash.
* Make xml parser thread safe.
* More user configuration safety.
* Inline assembly fixes.
* Failed memory allocation safety fixes.
* Memory leak fixes.
* Debug and LOG build fixes.
* Again, lots of small fixes and optimizations.
* Better multiengine client safety.
* Hide yuv2rgb implementation details.
* Use a single libyuv2rgb copy in both engine and plugins.
* Minor ffmpeg optimization.
* Lift a few video engine handbrakes. Less CPU load, fewer frame
drops, faster seeking.
* Optimize audio engine.
* Optimize demux buffering system.
* Optimize metronom clock.
* Optimize port tickets.
* Optimize sse/mmx2 memcpy.
* Code simplification and cleanup.
* Update german translation.
-------------------------------------------------------------------
Mon Jan 22 15:36:18 UTC 2018 - crrodriguez@opensuse.org
- Cleanup buildrequires so neither Mesa-devel nor xorg-x11-devel
meta/mega packages are required anymore.
-------------------------------------------------------------------
Tue Aug 15 06:43:14 UTC 2017 - olaf@aepfle.de
- Build unconditionally with modplug and pulseaudio
-------------------------------------------------------------------
Thu Jul 6 10:15:58 UTC 2017 - olaf@aepfle.de
- Remove dependency to gcc5
- Use simple bcond for ffmpeg
-------------------------------------------------------------------
Sun Apr 9 14:25:06 UTC 2017 - davejplater@gmail.com
- Update to release 1.2.8
- Remove patches fixed upstream:
xine-lib-crippled-ffmpeg3.0.patch, xine-lib-ffmpeg3.0.patch and
xine-lib-link-xcb.patch.
- Removed precheckin_cripple_tarball.sh and integrated it into the
spec file.
- Upstream changes:
* Add HEVC to QT demuxer.
* Add libOpenHEVC decoder.
* Add h.265/HEVC decoding to VAAPI.
* Detach VAAPI video out from ffmpeg.
* VAAPI fixes.
* Improved Matroska compatibility (TrueHD and PCM sound,
HDMV/Text subtitles).
* Add faad LATM support.
* Add faad preamp gain control and channel mixer.
* Update/fix internal libfaad.
* Integrate 6 basic plugins into libxine.
* ffmpeg fixes and optimizations.
* Use external libdvdnav by default.
* Optimize video out.
* AVFormat demuxer fixes.
* (XCB)XV video out fixes.
* Lots of small fixes and optimizations.
* Build fixes (newer automake, xcb, libdvdcss, dxr3, make dist,
32+64bit dual install, gcc 4.x with GNU ld 2.26 ...).
* Better C++ compatibility.
* Add support for avi WAVE_FORMAT_EXTENSIBLE.
* Add "Time Domain Audio Analyzer" Visualization Post Plugin.
* Add support for compressed HDMV PGS subtitles in Matroska.
* Add HW accelerated OSD for Raspberry Pi.
* Add simple deep color (9/10bit) support via ffmpeg.
* Join 15 video demuxers into a single multiplugin lib.
* Join 5 vdpau decoders into a single multiplugin lib.
* Join 3 raw video decoders into a single multiplugin lib.
* Make ffmpeg/postproc optional.
* Log individual items when loading multiplugin libs.
* Improved qt/mp4 edit list handling.
* Detect mp3 files with large id3v2 tags.
* Auto recover from temporary DVB signal loss.
* Fix demuxing low framerate mp4.
* DVB AAC sound compatibility fix.
* ffmpeg audio downmix level fix and optimization.
* ffmpeg multithreading fixes.
* ffmpeg compatibility fixes.
* BluRay subtitle fixes.
* Various small fixes.
* OpenGL(2) video out fixes and optimizations.
* Fix some issues with heavy stream seeking.
* Build fixes, including missing vcd libs and much less warnings.
* Code simplifications.
-------------------------------------------------------------------
Tue Mar 28 07:52:49 UTC 2017 - pgajdos@suse.com
- fix build with ImageMagick 7
+ xine-lib-ImageMagick7.patch
-------------------------------------------------------------------
Mon Aug 1 12:58:27 UTC 2016 - davejplater@gmail.com
- Fixed build in Leap:42.2 by building with gcc5.
- Removed conditinals for old openSUSE versions from spec file.
- Modified pre checkin script to enable build with the ffmpeg libs
that are in the distribution.
- Added xine-lib-crippled-ffmpeg3.0.patch to enable leap and above
to build with ffmpeg3.
- Removed unused build flags.
-------------------------------------------------------------------
Sun Jul 24 15:48:08 UTC 2016 - olaf@aepfle.de
- Accept any ffmpeg version in BuildRequires
-------------------------------------------------------------------
Mon Jul 18 13:47:07 UTC 2016 - dimstar@opensuse.org
- Add xine-lib-link-xcb.patch: fix linking of libxcb. As our code
uses the functions, we must not rely on 3rd parties to hopefully
bring the right libraries to link.
https://bugs.xine-project.org/show_bug.cgi?id=573
-------------------------------------------------------------------
Fri Apr 15 12:18:02 UTC 2016 - dimstar@opensuse.org
- Drop libsmbclient BuildRequires: requiring a library to build is
in any case wrong. It's the responsibility of a -devel package to
pull in the real libraries.
-------------------------------------------------------------------
Fri Feb 26 15:12:34 UTC 2016 - joerg.lorenzen@ki.tng.de
- Added xine-lib-ffmpeg3.0.patch to build against ffmpeg-3.0
libraries on PMBS.
- Add pkgconfig(libva-glx) to BuildRequires because it's a separate
package for openSUSE > 13.2.
-------------------------------------------------------------------
Mon Sep 21 06:40:47 UTC 2015 - olaf@aepfle.de
- Replace implicit Requires from old ffmpeg with BuildRequires to
fix build in packman
-------------------------------------------------------------------
Mon Feb 2 19:22:38 UTC 2015 - wbauer@tmo.at
- update to 1.2.6
* Add libmmal video output plugin for Raspberry Pi.
* Add libmmal HW video decoder plugin for Raspberry Pi.
* Add overlay colormatrix support.
* Add "sqare monitor pixels" config option.
* Add VAAPI colormatrix and fullrange video support.
* Add "radeonhd" XV colormatrix support.
* Add Opus audio support.
* Update german translation.
* Optimize OpenGL2 video out.
* Optimize raw RGB video decoder.
* Fix multithread ffmpeg video decoding.
* Fix/optimize DVB subtitles.
* Fix external text subtitles.
* BSD build fixes.
* Clang build fixes.
* Build optimization fixes (aliasing).
* AVformat demux build fix.
* More safety on memory allocation failure.
* Fix detection of and compilation with libcaca 0.99 beta 19.
- use the xz compressed tarball provided by upstream and change
precheckin_cripple_tarball.sh accordingly
- should fix boo#913588
-------------------------------------------------------------------
Fri Apr 11 00:00:00 UTC 2014 - Manfred.Tremmel@iiv.de
- update to 1.2.5
* Update german translation.
* Add bass downmix support to AC3 decoder.
* Add experimental YCgCo colorspace support.
* Add avformat demux plugin.
- Support for new formats and protocols.
- Proper rtsp support (with avformat+rtsp://, rtsp+tcp:// and rtsp+http:// mrls).
- by default native xine demux plugins are probed first.
This can be overridden in config, by selecting demuxer in mrl (#demux:avformat),
or by using "avformat+" mrl prefix.
* Add avio (libavformat) input plugin:
- Support for new protocols (https://, ftp://, sftp://, ...).
- Support for seekable http streams (with "avio+http://" mrl).
- By default native xine input plugins are used. This can be overridden in config or by using "avio+" mrl prefix.
* Recognise & use HEVC/H.265. (ffmpeg)
* Add support for HEVC/H.265 to the mpeg-ts demuxer.
* Add support for HEVC/H.265 and VP9 to the matroska demuxer.
* Add VP8/VP9 decoder using libvpx.
* Modernise Quicktime demuxer:
- Multiple user selectable audio traks.
- Support AC3, EAC3, vorbis, Purevoice audio.
- Support ISO fragment media files.
- More safety on broken files.
- Slightly faster.
* Recognise & use ADPCM G.726 and ATRAC3. (ffmpeg/libva)
* Build fixes.
* Fix HDMV subtitle channel.
* FFmpeg compatibility fixes.
* Some colour format conversion fixes.
* Fix RealVideo re-ordered PTS: pass through, let the decoder re-order it.
* Fix some problems with COOK audio.
- from 1.2.4
* Some VAAPI plugin fixes (build, image size changes).
* ffmpeg multi-channel playback fixes:
- Handle channel configuration changes sooner.
- Generic layout if none provided; follow user changes.
- Defer opening output if nothing to play.
- Don't re-open with identical settings.
- Don't use the bits-per-sample value (may not match decoder output).
* ffmpeg video fixes:
- Default to square pixels, avoiding black bars & unnecessary scaling.
- Avoid CODEC_FLAG_EMU_EDGE (and some possible segfaults).
- Use MPEG2VIDEO.
* OpenGL2 output: don't render into invalid drawable.
* Fix a possible xine_play() hang related to display locking.
* FLV demuxer rewrite:
- Improved metadata parsing.
- PTS/DTS fixes.
- Large file support on 32-bit.
- Much improved seeking.
- Much optimisation.
- More codecs supported.
* audio_out speed control fixes.
* Optimised RGB→YUY2 conversion.
* Avoid a possible performance penalty where AVX-optimised memcpy is used.
* Add BD-J (BluRay Java) support with ARGB overlay capable video drivers (opengl2, vaapi, vdpau)
* Add support for theora 4:2:2 and 4:4:4 pixel formats
- Removed xine-lib-missing-include-1.2.3.patch, the missing file is now included in the upstream tarball
-------------------------------------------------------------------
Wed Sep 11 13:19:26 UTC 2013 - pgajdos@suse.com
- detect smbclient
-------------------------------------------------------------------
Wed May 29 22:36:00 UTC 2013 - Manfred.Tremmel@iiv.de
- update to 1.2.3
* Add VAAPI HW decoding support
* Add OpenGL 2.0 output plugin
* Add crop support to XShm output plugins
* Add color matrix and full range support to OpenGL/Xv/XShm output plugins
* Add test image generator input plugin
* Add fast libjpeg based JPEG decoder
* Add max. Xv image size detection to Xv video output plugin
* Fix crash when trying to display too large jpeg image with Xv output plugin
* Fix possible crash when stopping playback with deinterlacing enabled
* Support large PAT in MPEG TS
* Handle EAC3 audio (via ffmpeg)
-------------------------------------------------------------------
Fri Mar 1 06:14:15 UTC 2013 - coolo@suse.com
- update license to new format
-------------------------------------------------------------------
Wed Jul 18 10:54:59 UTC 2012 - davejplater@gmail.com
- Added xine-lib-theora.patch to add fourcc code to xine
-------------------------------------------------------------------
Thu Jun 21 07:58:03 UTC 2012 - adrian@suse.de
- fix build for non-x86 architectures (disable deinterlace plugin)
-------------------------------------------------------------------
Mon Jun 18 11:20:29 UTC 2012 - lnussel@suse.de
- don't include .la files in libxine-devel to avoid bogus libtool errors
-------------------------------------------------------------------
Thu Jun 14 20:20:01 UTC 2012 - coolo@suse.com
- provide and obsolete xine-devel and xine-lib for backward compat
-------------------------------------------------------------------
Sun Jun 10 14:45:00 UTC 2012 - Manfred.Tremmel@iiv.de
- update to 1.2.2
* Fix musepack decoder compilation if libmpcdec headers aren't available.
* Configure tests for xinerama & VideoCD support now soft-fail properly.
* The DVB plugin is working again.
* OpenGL OSD fix.
* YUV conversion MMX/SSE optimisations.
* YUV420 H.264 is playable now; YUVJ444P is correctly handled.
* Support FLAC in Matroska; support BMP.
* Various build fixes for Windows.
-------------------------------------------------------------------
Wed Jun 06 21:17:00 UTC 2012 - Manfred.Tremmel@iiv.de
- updated crippled version, removed mad and a52dec
-------------------------------------------------------------------
Tue May 29 19:59:14 UTC 2012 - reddwarf@opensuse.org
- Remove dependency from libxine-devel to libffmpeg-devel
-------------------------------------------------------------------
Sat Feb 04 19:40:00 UTC 2012 - Manfred.Tremmel@iiv.de
- update to 1.2.1
* The "I'm at Tyneside LUG" release.
* Enable PulseAudio, JACK and VDPAU on the Hurd.
* Rewrite of VDPAU OSD handling.
* sndio plugin is now buildable.
* Various bug fixes.
-------------------------------------------------------------------
Fri Jan 06 11:06:00 UTC 2012 - Manfred.Tremmel@iiv.de
- first build of xine-lib-12 for packman

747
xine-lib.spec Normal file
View File

@ -0,0 +1,747 @@
#
# spec file for package xine-lib
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: xine-lib
# %%bcond_with = default off
# %%bcond_without = default on
#
# --with distributable -> don't build libxine2-codecs
# --without distributable -> build libxine2-codecs
#
# default for buildservice is no patented codecs
%bcond_without distributable
%bcond_with onlynondistributable
%if 0%{?suse_version} > 1320
BuildRequires: gcc
BuildRequires: pkgconfig(libmpeg2)
%else
BuildRequires: gcc8
%endif
%bcond_without sdl
%bcond_without jack
#
BuildRequires: ImageMagick-devel
BuildRequires: alsa-devel
BuildRequires: flac-devel
BuildRequires: giflib-devel
BuildRequires: glib2-devel
BuildRequires: gnutls-devel
BuildRequires: gtk2-devel
BuildRequires: imlib2-devel
BuildRequires: krb5-devel
BuildRequires: libcdio-devel
BuildRequires: libdrm-devel
BuildRequires: libmng-devel
BuildRequires: libmpcdec-devel
BuildRequires: libtheora-devel
BuildRequires: libtool
BuildRequires: libv4l-devel >= 0.8.4
BuildRequires: libvorbis-devel
BuildRequires: lirc-devel
BuildRequires: perl
BuildRequires: readline-devel
BuildRequires: speex-devel
BuildRequires: update-desktop-files
BuildRequires: vcdimager-devel
BuildRequires: pkgconfig(dvdnav)
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(liba52)
#Prevent building against ffmpeg 3
BuildRequires: pkgconfig(libavcodec) >= 58
BuildRequires: pkgconfig(libavformat) >= 58
BuildRequires: pkgconfig(libavutil) >= 56
BuildRequires: pkgconfig(libbluray)
BuildRequires: pkgconfig(libpostproc) >= 55
BuildRequires: pkgconfig(mad)
BuildRequires: pkgconfig(smbclient)
BuildRequires: pkgconfig(vpx)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xcb-shape)
BuildRequires: pkgconfig(xcb-shm)
BuildRequires: pkgconfig(xcb-xv)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xv)
BuildRequires: pkgconfig(xvmc)
BuildRequires: pkgconfig(zlib)
%if %{without distributable}
BuildRequires: libfaad-devel
BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(libdts)
BuildRequires: pkgconfig(libva)
BuildRequires: pkgconfig(libva-glx)
BuildRequires: pkgconfig(vdpau)
%endif
BuildRequires: libpulse-devel
%if %{with sdl}
BuildRequires: pkgconfig(sdl)
%endif
%if %{with jack}
BuildRequires: libjack-devel
%endif
BuildRequires: libmodplug-devel
Version: 1.2.13
Release: 0
%define abiversion 2.11
Summary: Video Player with Plug-Ins
License: GPL-2.0-or-later AND SUSE-Public-Domain
Group: Productivity/Multimedia/Video/Players
URL: https://www.xine-project.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: http://sourceforge.net/projects/xine/files/%{name}/%{version}/%{name}-%{version}.tar.xz
Source1: baselibs.conf
Patch0: xine-lib-libdvdread_udf.diff
Patch1: xine-lib-v4l-2.6.38.patch
# Add theora FOURCC to libxine I found an avi container that xine wouldn't play.
Patch4: xine-lib-theora.patch
# PATCH-FIX-UPSTREAM xine-lib-configure-c99.patch - boo#1225957
Patch5: xine-lib-configure-c99.patch
%description
<p>Great video and multimediaplayer, supports DVD, MPEG, AVI, DivX, VCD, Quicktime ...</p><p>You need a frontend for xine-lib like <a href=http://packman.links2linux.de/package/xine-ui>xine-ui</a>, <a href=http://packman.links2linux.de/package/gxine>gxine</a>, <a href=http://packman.links2linux.de/package/kaffeine>kaffeine</a> or <a href=http://packman.links2linux.de/package/totem>totem</a>.</p><p>Since 1-rc6 the package number is reduced, all you may miss, is in the base package</p><p>If you want to play css encrypted Video-DVD's, you need to install <a href=http://packman.links2linux.de/package/libdvdcss2>libdvdcss</a>.</p>
%description -l de
<p>Gro&szlig;artiger Video- und Multimediaplayer mit Support f&uuml;r DVD, MPEG, AVI, DivX, VCD,Quicktime ...</p><p>Bitte beachten Sie, dass Sie neben der xine-lib auch eine Bedienoberfl&auml;che wie <a href=http://packman.links2linux.de/package/xine-ui>xine-ui</a>, <a href=http://packman.links2linux.de/package/gxine>gxine</a>, <a href=http://packman.links2linux.de/package/kaffeine>kaffeine</a> oder <a href=http://packman.links2linux.de/package/totem>totem</a> ben&ouml;tigen.</p><p>Seit 1-rc6 wurde die Zahl der Pakete reduziert, alles was sie eventuell vermissen, wurde in das Basispaket integriert.</p><p>Wenn Sie css verschl&uuml;sselte Video-DVDs abspielen wollen, m&uuml;ssen Sie zus&auml;tzlich die <a href=http://packman.links2linux.de/package/libdvdcss2>libdvdcss</a> installieren.</p>
%package -n libxine2
Summary: Video Player with Plug-Ins
License: GPL-2.0-or-later
Group: Productivity/Multimedia/Video/Players
Provides: libxine2-syncfb = %{version}-%{release}
Obsoletes: libxine2-syncfb < %{version}-%{release}
Provides: libxine2-xvmc = %{version}-%{release}
Obsoletes: libxine2-xvmc < %{version}-%{release}
Provides: libxine2-dvb = %{version}-%{release}
Obsoletes: libxine2-dvb < %{version}-%{release}
Provides: %{name} = %{version}-%{release}
Obsoletes: %{name} < %{version}-%{release}
Recommends: libxine2-codecs = %{version}
Recommends: opensuse-codecs-installer
%description -n libxine2
xine is a video player with a graphical front-end that supports a large
number of file formats (VCD and MPEG2, for example) using plug-ins.
Several plug-ins are included. Others can be installed after xine
installation. xine supports stereo sound using OSS and AC5.1 using
Alsa.
%if %{with distributable}
This version of xine may lack certain features because of legal
requirements (potential patent violation). See also
http://en.opensuse.org/XINE#Legal_Matters
%endif
More information about xine plug-ins can be found at
http://www.xine-project.org/home
Authors:
--------
Guenter Bartsch <guenter@sourceforge.net>
%description -n libxine2 -l de
xine ist ein Videoplayer mit grafischem Frontend und unterstützt
eine vielzahl an Dateiformaten (z.B. VCD und MPEG2) mit hilfe von
Plugins. Einige Plugins sind enthalten, andere können nach der
Installation von xine nachinstalliert werden. xine untersützt
Stereosound via OSS und AC5.1 per Alsa.
%if %{with distributable}
Diese xine-Version lässt eventuell einige Funktione aus rechtlichen
Gründen vermissen (mögliche Patentverletzungen). Siehe dazu
http://en.opensuse.org/XINE#Legal_Matters
%endif
Weitere Informationen über xine Plugins finden Sie unter
http://www.xine-project.org/home
Autoren:
--------
Guenter Bartsch <guenter@sourceforge.net>
%package -n libxine-devel
Summary: Development environment for xine-based media players
License: GPL-2.0-or-later AND SUSE-Public-Domain
Group: Development/Libraries/C and C++
Requires: freetype2-devel
Requires: glibc-devel
Requires: libv4l-devel
Requires: libxine2 = %{version}
Requires: zlib-devel
Obsoletes: libxine2-devel < %{version}-%{release}
Provides: libxine2-devel = %{version}-%{release}
Obsoletes: xine-lib2-devel < %{version}-%{release}
Provides: xine-lib2-devel = %{version}-%{release}
Obsoletes: xine-devel < %{version}-%{release}
Provides: xine-devel = %{version}-%{release}
%description -n libxine-devel
This package contains all necessary include files, libraries and
configuration files needed to compile applications that use the xine
media player.
xine is a video player which supports a large number of file formats
(i.e., VCD, MPEG2) using plug-ins. Several plug-ins are included.
Others can be post-installed. Supports stereo sound using OSS and AC5.1
using Alsa.
%if %{with distributable}
This version of xine may lack certain features because of legal
requirements (potential patent violation). See also
http://en.opensuse.org/XINE#Legal_Matters
%endif
More information about xine plug-ins can be found at
http://www.xine-project.org/home
Authors:
--------
Guenter Bartsch <guenter@users.sourceforge.net>
%description -n libxine-devel -l de
Dieses Paket enthält alle nötigen Include Dateien, Biblioteken und
Konfigurationsdateien, die benötigt werden, um Anwendungen zu
kompilieren, die den xine Media Player verwenden.
xine ist ein Videoplayer mit grafischem Frontend und unterstützt
eine vielzahl an Dateiformaten (z.B. VCD und MPEG2) mit hilfe von
Plugins. Einige Plugins sind enthalten, andere können nach der
Installation von xine nachinstalliert werden. xine untersützt
Stereosound via OSS und AC5.1 per Alsa.
%if %{with distributable}
Diese xine-Version lässt eventuell einige Funktione aus rechtlichen
Gründen vermissen (mögliche Patentverletzungen). Siehe dazu
http://en.opensuse.org/XINE#Legal_Matters
%endif
Weitere Informationen über xine Plugins finden Sie unter
http://www.xine-project.org/home
Autoren:
--------
Guenter Bartsch <guenter@sourceforge.net>
%package -n libxine2-pulse
Summary: Pulseaudio plugin for xine
License: GPL-2.0-or-later AND SUSE-Public-Domain
Group: Productivity/Multimedia/Video/Players
Requires: libxine2 = %{version}
Supplements: packageand(libpulse0:libxine2)
%description -n libxine2-pulse
libxine sound output plugin for the pulseaudio soundserver
Authors:
--------
Guenter Bartsch <guenter@users.sourceforge.net>
%description -n libxine2-pulse -l de
libxine Soundausgabeplugin für den Pulseaudio Soundserver
Autoren:
--------
Guenter Bartsch <guenter@sourceforge.net>
%if %{with sdl}
%package -n libxine2-sdl
Summary: SDL plugin for xine
License: GPL-2.0-or-later AND SUSE-Public-Domain
Group: Productivity/Multimedia/Video/Players
Requires: libxine2 = %{version}
%description -n libxine2-sdl
SDL xine video output plugin
Authors:
--------
Guenter Bartsch <guenter@users.sourceforge.net>
%description -n libxine2-sdl -l de
SDL xine Video-Ausgabeplugin
Autoren:
--------
Guenter Bartsch <guenter@sourceforge.net>
%endif
%if %{with jack}
%package -n libxine2-jack
Summary: Jack plugin for xine
License: GPL-2.0-or-later AND SUSE-Public-Domain
Group: Productivity/Multimedia/Video/Players
Requires: libxine2 = %{version}
%description -n libxine2-jack
xine sound output plugin for the jack soundserver
Authors:
--------
Guenter Bartsch <guenter@users.sourceforge.net>
%description -n libxine2-jack -l de
xine Soundausgabeplugin für den jack Soundserver
Autoren:
--------
Guenter Bartsch <guenter@sourceforge.net>
%endif
%if %{without distributable}
%package -n libxine2-codecs
# these libs are possibly illegal and may not work without libdvdcss anyway
Summary: Xine plugins for watching DVDs, DivX and more
License: GPL-2.0-or-later AND SUSE-Public-Domain
Group: Productivity/Multimedia/Video/Players
Requires: libxine2 = %{version}
Provides: libxine2-dvd = %{version}-%{release}
Obsoletes: libxine2-dvd < %{version}-%{release}
Provides: libxine2-dxr3 = %{version}-%{release}
Obsoletes: libxine2-dxr3 < %{version}-%{release}
%ifarch %{ix86}
Provides: libxine2-w32dll = %{version}-%{release}
Obsoletes: libxine2-w32dll < %{version}-%{release}
%endif
Recommends: libdvdcss2 >= 1.2.10
%description -n libxine2-codecs
With these xine plug-ins, you can watch DVDs and all other kind of
media using xine. More information about xine plug-ins can be found at
http://www.xine-project.org/home
Authors:
--------
Guenter Bartsch <guenter@sourceforge.net>
%description -n libxine2-codecs -l de
Mit diesem xine Plugins können Sie DVDs und alle von xine unterstützten
Medienverainten abspielen. Weitere Informationtne über xine Plugins
finden Sie unter
http://www.xine-project.org/home
Autoren:
--------
Guenter Bartsch <guenter@sourceforge.net>
%endif
%prep
%if %{with distributable} && %{with onlynondistributable}
%error need --without distributable for --with onlynondistributable
%endif
%autosetup -p1 -n %{name}.%{version}
%build
cat <<EOF
+++ rpm build options +++'
Distributable version: %{with distributable}
%if %{without distributable}
Codecs package only: %{with onlynondistributable}
%endif
External ffmpeg: 1
Pulseaudio: %{with pulseaudio}
SDL: %{with sdl}
aalib: 0
esd: 0
jack: %{with jack}
gnome_vfs: 0
directfb: 0
modplug: %{with modplug}
+++++++++++++++++++++++++'
EOF
%if %{with distributable}
# Taken from precheckin_cripple_tarball.sh
# $1: files $2: entries $3: prefix $4: postfix
# NOTE: the perl do_nukeentry has stopped working with the latest perl
# I've left it here hoping someone will fix it. Thanks
# Don't forget to remove xine-lib-nukefaadetc.patch when the perl scripts are functioning again.
do_nukeentry() {
for d in $1 ; do
perl -i -e 'undef $/; $_=<>; for $e (qw|'"$2"'|) { s|(?<=[^-a-zA-Z0-9_./])'"$3"'$e'"$4"'(?=[^-a-zA-Z0-9_./])||g }; print' ${d}
done
}
do_nukeentrynp() {
for i in ${2};do
cat ${1}|grep -v ${i} >${1}n;mv ${1}n ${1}
done
}
# $1: files $2: entries $3: prefix $4: postfix
do_nukeline() {
for d in $1 ; do
perl -i -e 'undef $/; $_=<>; for $e (qw|'"$2"'|) { s|^.*(?<=[^-a-zA-Z0-9_./])'"$3"'$e'"$4"'(?=[^-a-zA-Z0-9_./]).*$||mg }; print' $d
done
}
# $1: dir $2: files/dirs
do_remove() {
pushd "$1" >/dev/null || exit 1
rm -rf $2
popd >/dev/null
}
# Cripple source
#
# combined/ffmpeg
echo 1>&2 "Crippling..."
c_subdirs="faad planar dxr3 asf dmx_video libdts libfaad libffmpeg libspucc libspudec libspudvb libw32dll"
c_demuxers="group_video.c demux_elem.c xineplug_dmx_asf.la asfheader.h asfheader.c demux_asf.c xineplug_dmx_mpeg.la demux_mpeg.c xineplug_dmx_mpeg_block.la demux_mpeg_block.c xineplug_dmx_mpeg_ts.la demux_ts.c xineplug_dmx_mpeg_elem.la demux_elem.c xineplug_dmx_mpeg_pes.la demux_mpeg_pes.c xineplug_dmx_yuv4mpeg2.la demux_yuv4mpeg2.c"
c_input="xineplug_inp_mms.la input_mms.c mms.c mmsh.c ../demuxers/asfheader.c mms.h mmsh.h"
c_libxineadec="xineplug_decode_gsm610.la xineplug_decode_nsf.la gsm610.c nsf.c gsm610 nosefart"
c_post="planar pp_module PLANAR"
do_nukeentry src/Makefile.am "$c_subdirs"
do_nukeentry configure.ac "$c_subdirs" "src/" "/[a-zA-Z0-9_./]*Makefile"
do_remove src "$c_subdirs"
do_nukeentry src/demuxers/Makefile.am "$c_subdirs"
do_nukeentry contrib/Makefile.am "$c_subdirs"
do_nukeentry src/demuxers/Makefile.am "$c_demuxers"
do_remove src/demuxers "$c_demuxers"
do_nukeentry src/input/Makefile.am "$c_input"
do_remove src/input "$c_input"
#do_nukeentry src/audio_dec/Makefile.am "$c_audiodec"
#do_remove src/audio_dec "$c_audiodec"
#do_nukeentry src/combined/Makefile.am "ffmpeg"
#do_remove src/combined "ffmpeg"
do_nukeentrynp src/post/Makefile.am "$c_post"
#do_nukeline src/post/planar/planar.c "pp_init_plugin pp_special_info"
do_remove src/post "planar"
sed -i 's@libfaad@@g' contrib/Makefile.am
%endif
rm -f m4/libtool15.m4
sed -i -e 's|/tmp/vdr-xine|/var/lib/vdr-xine|g' src/vdr/input_vdr.c
export CFLAGS="%{optflags} -fno-strict-aliasing -fno-force-addr `pkg-config --cflags smbclient`"
export CCASFLAGS=-Wa,--noexecstack
test -x "$(type -p gcc-7)" && export CC="$_"
test -x "$(type -p gcc-8)" && export CC="$_"
echo 'AC_DEFUN([AC_REQUIRE_AUX_FILE])dnl' >> acinclude.m4
#rm -f configure
#if [ ! -f configure ]; then
./autogen.sh noconfig
#else
#AUTOPOINT=true autoreconf -fi
#fi
%configure \
--disable-rpath \
--docdir=%{_defaultdocdir}/xine \
--enable-antialiasing \
--with-libflac \
--with-freetype \
--enable-v4l \
--enable-modplug \
%if %{without sdl}
--without-sdl \
%endif
%if %{with distributable}
--disable-faad \
--disable-vdpau \
--disable-dxr3 \
--disable-asf \
%else
--enable-dxr3 \
%endif
%ifarch %{ix86}
--with-w32-path=/usr/lib/win32 \
%endif
--with-pic \
--with-external-dvdnav
# --disable-libxine-builtins
# --with-install-plugins-helper=${_prefix}/lib/opensuse-codecs-installer
echo $CFLAGS
make %{?jobs:-j%{jobs}} V=1
%install
make install DESTDIR=%{buildroot}
LIB="%{buildroot}%{_libdir}/xine/plugins/%{abiversion}"
# install documentation
#install -m 0644 %%{SOURCE1} COPYING AUTHORS %%{buildroot}%%{_defaultdocdir}/xine/
# remove usless READMEs
rm %{buildroot}%{_defaultdocdir}/xine/README.{irix,solaris,WIN32}
# remove .la files, they are evil
rm %{buildroot}%{_libdir}/*.la
rm -f files
%ifarch %{ix86}
mkdir -p %{buildroot}/usr/lib/win32
%endif
%if %{with distributable}
rm -rf %{buildroot}%{_libdir}/xine/plugins/%{abiversion}/post
rm -f %{buildroot}%{_libdir}/xine/plugins/%{abiversion}/xineplug_dmx_video.so
%endif
#
# big plugin sorting
#
cat > plugins << EOF
# these plugins do not have legal problems
xineplug_tls_gnutls
xineplug_ao_out_alsa
xineplug_ao_out_oss
xineplug_vo_out_fb
xineplug_vo_gl_egl_x11
xineplug_vo_gl_glx
xineplug_vo_out_opengl
xineplug_vo_out_opengl2
xineplug_vo_out_xshm
xineplug_vo_out_xv
xineplug_vo_out_xcbshm
xineplug_vo_out_xcbxv
xineplug_vo_out_raw
xineplug_decode_mad
xineplug_decode_a52
xineplug_decode_to_spdif
%if %{without distributable}
xineplug_vo_out_vdpau
xineplug_vo_gl_egl_wl
%endif
xineplug_inp_dvb
xineplug_inp_dvd
xineplug_inp_v4l
xineplug_inp_v4l2
xineplug_inp_network
xineplug_inp_cdda
xineplug_inp_smb
xineplug_inp_pvr
xineplug_inp_rtp
#New in 1.2.7
xineplug_decode_rawvideo
xineplug_decode_libpng
%if %{without distributable}
xineplug_decode_vdpau
post/xineplug_post_audio_filters
post/xineplug_post_goom
post/xineplug_post_mosaico
post/xineplug_post_switch
post/xineplug_post_tvtime
post/xineplug_post_visualizations
xineplug_dmx_video
%endif
#end new
xineplug_decode_lpcm
xineplug_decode_real
xineplug_decode_mpc
xineplug_decode_gdk_pixbuf
xineplug_decode_spucmml
xineplug_decode_spuhdmv
xineplug_decode_libjpeg
xineplug_decode_image
xineplug_decode_libvpx
xineplug_dmx_audio
xineplug_dmx_image
xineplug_dmx_fli
xineplug_dmx_nsv
xineplug_dmx_mng
xineplug_dmx_pva
xineplug_dmx_games
xineplug_dmx_slave
xineplug_dmx_modplug
xineplug_dmx_playlist
xineplug_flac
xineplug_sputext
xineplug_xiph
xineplug_vdr
xineplug_vo_out_xxmc
xineplug_vo_out_xvmc
%ifarch %{ix86}
xineplug_vo_out_vidix
vidix/cyberblade_vid
vidix/mach64_vid
vidix/mga_crtc2_vid
vidix/mga_vid
vidix/nvidia_vid
vidix/pm2_vid
vidix/pm3_vid
vidix/radeon_vid
vidix/rage128_vid
vidix/savage_vid
vidix/sis_vid
vidix/unichrome_vid
%endif
#
.pulse
xineplug_ao_out_pulseaudio
#
.jack
xineplug_ao_out_jack
#
.sdl
xineplug_vo_out_sdl
#
#
.codecs
# libmad and MPEG related plugins
xineplug_decode_spudvb
xineplug_inp_vcd
xineplug_inp_vcdo
xineplug_decode_mpeg2
# these plugins do have legal problems
xineplug_decode_dts
xineplug_decode_faad
xineplug_decode_ff
xineplug_decode_dvaudio
xineplug_dmx_asf
xineplug_inp_mms
xineplug_inp_bluray
# I am not sure about these plugins, they need to be checked
# Closed Captioning Decoder (EIA-608). Patented ???
xineplug_decode_spucc
xineplug_decode_spu
# NES Music File Format. free ??
xineplug_nsf
# Philips claimed intellectual property on GSM 06.10
xineplug_decode_gsm610
%ifarch %{ix86}
xineplug_decode_w32dll
%endif
xineplug_dxr3
xineplug_vo_out_vaapi
xineplug_hw_frame_vaapi
xineplug_va_display_drm
xineplug_va_display_glx
xineplug_va_display_wl
xineplug_va_display_x11
# unfortunately using external ffmpeg links the planar post
# processing plugin against ffmpeg libs
post/xineplug_post_planar
#
EOF
#
OUT_FILE=""
grep -v ^# plugins | while read i; do
[ "${i:0:1}" = "." ] && OUT_FILE=${i} && continue
echo %{_libdir}/xine/plugins/%{abiversion}/${i}.so >> files${OUT_FILE}
done
%find_lang libxine2
cat libxine2.lang >>files
%if %{with distributable}
xargs -i+ rm -f %{buildroot}/+ <files.codecs
%else
%if 0%{?__debug_package}
# strip patent encumbered plugins to prevent their source from
# ending up in the debuginfo package
xargs -i+ strip --strip-debug %{buildroot}/+ <files.codecs
%endif
%endif
%if %{with onlynondistributable}
for i in files files.*; do
test "$i" = 'files.codecs' || xargs -i+ rm -f %{buildroot}/+ < $i
done
rm -rf %{buildroot}/usr/share %{buildroot}/usr/bin
rm -rf %{buildroot}%{_defaultdocdir}/xine %{buildroot}/usr/include
rm -rf %{buildroot}/usr/lib/win32 %{buildroot}/%{_libdir}/pkgconfig
rm -rf %{buildroot}%{_libdir}/xine/plugins/%{abiversion}/{vidix,mime.types}
rm -f %{buildroot}%{_libdir}/libxine*
%endif
rm -rf %{buildroot}%{_mandir}/man5
%if %{without onlynondistributable}
%post -n libxine2 -p /sbin/ldconfig
%postun -n libxine2 -p /sbin/ldconfig
%files -n libxine2 -f files
%defattr(-,root,root)
%{_bindir}/xine-list-*
%ifarch %{ix86}
%dir /usr/lib/win32
%endif
%dir /%{_libdir}/xine
%dir /%{_libdir}/xine/plugins
%dir /%{_libdir}/xine/plugins/%{abiversion}
%dir /usr/share/xine-lib
%{_libdir}/libxine.so.*
%doc %{_mandir}/man1/xine-list-*.gz
#%%doc %%{_mandir}/man5/xine.*
%{_defaultdocdir}/xine
%if %{without distributable}
%dir %{_libdir}/xine/plugins/%{abiversion}/post
%endif
%{_libdir}/xine/plugins/%{abiversion}/mime.types
#
# xine fonts
# cetus is a freeware font from http://www.fontfreak.com/authors/gregfonts.htm
#
/usr/share/xine-lib/fonts
%ifarch %{ix86}
%dir %{_libdir}/xine/plugins/%{abiversion}/vidix
%endif
%files -n libxine2-pulse -f files.pulse
%defattr(-,root,root,0755)
%if %{with sdl}
%files -n libxine2-sdl -f files.sdl
%defattr(-,root,root,0755)
%endif
%if %{with jack}
%files -n libxine2-jack -f files.jack
%defattr(-,root,root,0755)
%endif
%files -n libxine-devel
%defattr(-,root,root)
%doc %{_mandir}/man1/xine-config.1.gz
/usr/bin/xine-config
%{_libdir}/pkgconfig/libxine.pc
%{_libdir}/libxine.so
/usr/share/aclocal/xine.m4
/usr/include/xine
/usr/include/xine.h
%endif
# onlynondistributable
%if %{without distributable}
%files -n libxine2-codecs -f files.codecs
%defattr(-,root,root)
%dir %{_libdir}/xine
%dir %{_libdir}/xine/plugins
%dir %{_libdir}/xine/plugins/%{abiversion}
%dir %{_libdir}/xine/plugins/%{abiversion}/post
%endif
%changelog