diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2022-11-15 17:09:41 +0100 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2022-11-15 17:09:41 +0100 |
commit | 0d43adafed4ce0fa22988f2ff8948f8f64d811a3 (patch) | |
tree | a15c8b9af137b41833b5a51a4da88ea6478d09fa /arch/tde-deps/xine-lib | |
parent | 9ad10a881e3df75b587767eb5cc78b2ea840316a (diff) | |
download | tde-packaging-0d43adafed4ce0fa22988f2ff8948f8f64d811a3.tar.gz tde-packaging-0d43adafed4ce0fa22988f2ff8948f8f64d811a3.zip |
ArchLinux: Add powerpc64le to architectures.
Cleanup some unnecessary dependencies.
Add pkgbuilds for dependencies that
are not available on archlinuxpower.org.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
Diffstat (limited to 'arch/tde-deps/xine-lib')
-rw-r--r-- | arch/tde-deps/xine-lib/010-xine-lib-dav1d-1.0.0-support.patch | 28 | ||||
-rw-r--r-- | arch/tde-deps/xine-lib/020-xine-lib-ffmpeg-5.1-fix.patch | 330 | ||||
-rw-r--r-- | arch/tde-deps/xine-lib/PKGBUILD | 63 |
3 files changed, 421 insertions, 0 deletions
diff --git a/arch/tde-deps/xine-lib/010-xine-lib-dav1d-1.0.0-support.patch b/arch/tde-deps/xine-lib/010-xine-lib-dav1d-1.0.0-support.patch new file mode 100644 index 000000000..aa0be9eef --- /dev/null +++ b/arch/tde-deps/xine-lib/010-xine-lib-dav1d-1.0.0-support.patch @@ -0,0 +1,28 @@ +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,5 @@ ++ * Add dav1d 1.0.0 support. ++ + xine-lib (1.2.12) 2022-03-09 + * Add string tree library (generic info parser). + * Add OpenSL ES audio output plugin. +--- a/src/video_dec/dav1d.c ++++ b/src/video_dec/dav1d.c +@@ -544,11 +544,17 @@ + + /* multithreading */ + ncpu = xine_cpu_count(); ++#if DAV1D_API_VERSION_MAJOR > 5 ++ settings.n_threads = ncpu + 1; ++ xprintf(stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": " ++ "Using %d threads\n", settings.n_threads); ++#else + settings.n_frame_threads = (ncpu > 8) ? 4 : (ncpu < 2) ? 1 : ncpu/2; + settings.n_tile_threads = MAX(1, ncpu - settings.n_frame_threads + 1); + xprintf(stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": " + "Using %d frame threads, %d tile threads\n", + settings.n_frame_threads, settings.n_tile_threads); ++#endif + + /* dri frame allocator */ + settings.allocator.cookie = this; diff --git a/arch/tde-deps/xine-lib/020-xine-lib-ffmpeg-5.1-fix.patch b/arch/tde-deps/xine-lib/020-xine-lib-ffmpeg-5.1-fix.patch new file mode 100644 index 000000000..baa21b2f0 --- /dev/null +++ b/arch/tde-deps/xine-lib/020-xine-lib-ffmpeg-5.1-fix.patch @@ -0,0 +1,330 @@ +--- a/m4/decoders.m4 ++++ b/m4/decoders.m4 +@@ -134,13 +134,36 @@ a52_init (); + AC_DEFINE([HAVE_FFMPEG], 1, [Define this if you have the ffmpeg library]) + dnl Check presence of ffmpeg/avutil.h to see if it's old or new + dnl style for headers. The new style would be preferred actually... ++ dnl Sigh. at least some 09/2022 ffmpeg version does violate the basic ++ dnl "get directly what you use directly" rule. especially, ++ dnl libavformat/avformat.h includes libavcodec/packet.h which uses ++ dnl (but not includes) libavutil/avutil.h. this means that a mere ++ dnl AC_CHECK_HEADERS([libavformat/avformat.h]) will fail strangely :-/ + ac_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $FFMPEG_CFLAGS" + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CFLAGS $FFMPEG_CFLAGS $AVUTIL_CFLAGS" +- AC_CHECK_HEADERS([ffmpeg/avutil.h]) +- AC_CHECK_HEADERS([libavutil/avutil.h]) +- AC_CHECK_HEADERS([libavutil/sha1.h]) +- AC_CHECK_HEADERS([libavutil/sha.h]) ++ AC_CHECK_HEADERS([ffmpeg/avutil.h libavutil/avutil.h libavutil/sha1.h libavutil/mem.h libavutil/sha.h]) ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ++#include <libavutil/avutil.h> ++#include <libavcodec/avcodec.h> ++ ]],[[]])], [have_avutil_avcodec_h=yes], [have_avutil_avcodec_h=no]) ++ test x"$have_avutil_avcodec_h" == x"yes" && AC_DEFINE([HAVE_AVUTIL_AVCODEC_H],[1], ++ [Define this if you have libavutil/avutil.h and libavcodec/avcodec.h.]) ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ++#include <libavutil/avutil.h> ++#include <libavcodec/avcodec.h> ++#include <libavformat/avformat.h> ++ ]],[[]])], [have_avformat_avformat_h=yes], [have_avformat_avformat_h=no]) ++ test x"$have_avformat_avformat_h" == x"yes" && AC_DEFINE([HAVE_AVFORMAT_AVFORMAT_H],[1], ++ [Define this if you have libavformat/avformat.h.]) ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ++#include <libavutil/avutil.h> ++#include <libavcodec/avcodec.h> ++#include <libavformat/avformat.h> ++#include <libavformat/avio.h> ++ ]],[[]])], [have_avformat_avio_h=yes], [have_avformat_avio_h=no]) ++ test x"$have_avformat_avio_h" == x"yes" && AC_DEFINE([HAVE_AVFORMAT_AVIO_H],[1], ++ [Define this if you have libavformat/avformat.h.]) + if test "$ac_cv_header_ffmpeg_avutil_h" = "yes" && test "$ac_cv_header_libavutil_avutil_h" = "yes"; then + AC_MSG_ERROR([old & new ffmpeg headers found - you need to clean up!]) + fi +--- a/m4/input.m4 ++++ b/m4/input.m4 +@@ -229,6 +229,7 @@ AC_DEFUN([XINE_INPUT_PLUGINS], [ + fi + if test x"$have_avformat" = x"yes"; then + AC_DEFINE([HAVE_AVFORMAT], 1, [Define this if you have libavformat installed]) ++ AC_CHECK_HEADERS([libavformat/avformat.h]) + fi + fi + AM_CONDITIONAL([ENABLE_AVFORMAT], [test x"$have_avformat" = x"yes"]) +--- a/src/combined/ffmpeg/demux_avformat.c ++++ b/src/combined/ffmpeg/demux_avformat.c +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2013-2021 the xine project ++ * Copyright (C) 2013-2022 the xine project + * Copyright (C) 2013-2020 Petri Hintukainen <phintuka@users.sourceforge.net> + * + * This file is part of xine, a free video player. +@@ -29,6 +29,8 @@ + #include <pthread.h> + #include <errno.h> + ++#include <libavutil/avutil.h> ++#include <libavcodec/avcodec.h> + #include <libavformat/avformat.h> + #include <libavformat/avio.h> + +@@ -922,3 +924,4 @@ void *init_avformat_demux_plugin (xine_t + (void)data; + return (demux_class_t *)&this; + } ++ +--- a/src/combined/ffmpeg/ff_audio_decoder.c ++++ b/src/combined/ffmpeg/ff_audio_decoder.c +@@ -31,13 +31,20 @@ + #include <pthread.h> + #include <math.h> + +-#ifdef HAVE_FFMPEG_AVUTIL_H +-# include <avcodec.h> +-#else +-# include <libavcodec/avcodec.h> ++#if defined(HAVE_LIBAVUTIL_AVUTIL_H) ++# include <libavutil/avutil.h> ++#endif ++ ++#if defined(HAVE_LIBAVUTIL_MEM_H) + # include <libavutil/mem.h> + #endif + ++#if defined(HAVE_AVUTIL_AVCODEC_H) ++# include <libavcodec/avcodec.h> ++#else ++# include <avcodec.h> ++#endif ++ + #define LOG_MODULE "ffmpeg_audio_dec" + #define LOG_VERBOSE + /* +--- a/src/combined/ffmpeg/ffmpeg_compat.h ++++ b/src/combined/ffmpeg/ffmpeg_compat.h +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2000-2021 the xine project ++ * Copyright (C) 2000-2022 the xine project + * + * This file is part of xine, a unix video player. + * +@@ -25,22 +25,24 @@ + + #define XFF_INT_VERSION(major,minor,micro) ((major<<16)|(minor<<8)|micro) + +-#ifndef LIBAVCODEC_VERSION_INT +-# if defined(LIBAVCODEC_VERSION_MAJOR) && defined(LIBAVCODEC_VERSION_MINOR) +-# define LIBAVCODEC_VERSION_INT XFF_INT_VERSION(LIBAVCODEC_VERSION_MAJOR,LIBAVCODEC_VERSION_MINOR,0) +-# else +-# error ffmpeg headers must be included first ! +-# endif ++/** NOTE: since 2022-09-01, ffmpeg headers are more detached from each other. ++ * this goes that far: ++ * libavformat/avformat.h includes libavcodec/packet.h which uses ++ * (but not includes) libavutil/avutil.h :-/ */ ++ ++#if !defined(LIBAVUTIL_VERSION_INT) && defined(LIBAVUTIL_VERSION_MAJOR) && defined(LIBAVUTIL_VERSION_MINOR) ++# define LIBAVUTIL_VERSION_INT XFF_INT_VERSION(LIBAVUTIL_VERSION_MAJOR,LIBAVUTIL_VERSION_MINOR,0) ++#endif ++#if !defined(LIBAVUTIL_VERSION_INT) ++# error avutil.h must be included first ! + #endif + +-#ifndef LIBAVUTIL_VERSION_INT +-# if defined(LIBAVUTIL_VERSION_MAJOR) && defined(LIBAVUTIL_VERSION_MINOR) +-# define LIBAVUTIL_VERSION_INT XFF_INT_VERSION(LIBAVUTIL_VERSION_MAJOR,LIBAVUTIL_VERSION_MINOR,0) +-# else +-# error ffmpeg headers must be included first ! +-# endif ++#if !defined(LIBAVCODEC_VERSION_INT) && defined(LIBAVCODEC_VERSION_MAJOR) && defined(LIBAVCODEC_VERSION_MINOR) ++# define LIBAVCODEC_VERSION_INT XFF_INT_VERSION(LIBAVCODEC_VERSION_MAJOR,LIBAVCODEC_VERSION_MINOR,0) + #endif + ++#if defined(LIBAVCODEC_VERSION_INT) ++ + #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(52,0,0) + # define bits_per_sample bits_per_coded_sample + #endif +@@ -136,38 +138,6 @@ + # define XFF_VAAPI 2 /** << libavutil/hwcontext.h, libavutil/hwcontext_vaapi.h */ + #endif + +-#if LIBAVUTIL_VERSION_INT >= XFF_INT_VERSION(52,0,0) +-# define PIX_FMT_NONE AV_PIX_FMT_NONE +-# define PIX_FMT_YUV420P AV_PIX_FMT_YUV420P +-# define PIX_FMT_YUVJ420P AV_PIX_FMT_YUVJ420P +-# define PIX_FMT_YUV444P AV_PIX_FMT_YUV444P +-# define PIX_FMT_YUVJ444P AV_PIX_FMT_YUVJ444P +-# define PIX_FMT_YUV410P AV_PIX_FMT_YUV410P +-# define PIX_FMT_YUV411P AV_PIX_FMT_YUV411P +-# define PIX_FMT_ARGB AV_PIX_FMT_ARGB +-# define PIX_FMT_BGRA AV_PIX_FMT_BGRA +-# define PIX_FMT_RGB24 AV_PIX_FMT_RGB24 +-# define PIX_FMT_BGR24 AV_PIX_FMT_BGR24 +-# define PIX_FMT_RGB555BE AV_PIX_FMT_RGB555BE +-# define PIX_FMT_RGB555LE AV_PIX_FMT_RGB555LE +-# define PIX_FMT_RGB565BE AV_PIX_FMT_RGB565BE +-# define PIX_FMT_RGB565LE AV_PIX_FMT_RGB565LE +-# define PIX_FMT_PAL8 AV_PIX_FMT_PAL8 +-# define PixelFormat AVPixelFormat +-/* video_out/video_out_vaapi */ +-# if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(59,0,100) /** << revise this */ +-# define PIX_FMT_VAAPI_VLD AV_PIX_FMT_VAAPI_VLD +-# define PIX_FMT_VAAPI_IDCT AV_PIX_FMT_VAAPI_IDCT +-# define PIX_FMT_VAAPI_MOCO AV_PIX_FMT_VAAPI_MOCO +-# else +-# define PIX_FMT_VAAPI_VLD AV_PIX_FMT_VAAPI +-# define PIX_FMT_VAAPI_IDCT AV_PIX_FMT_VAAPI +-# define PIX_FMT_VAAPI_MOCO AV_PIX_FMT_VAAPI +-# endif +- +-# define CODEC_FLAG_BITEXACT AV_CODEC_FLAG_BITEXACT +-#endif +- + #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(54,25,0) + /* dxr3/ffmpeg_encoder */ + # define CODEC_ID_MPEG1VIDEO AV_CODEC_ID_MPEG1VIDEO +@@ -194,10 +164,6 @@ + /* ff_*_decoder mapping is already handled by mkcodeclists.pl */ + #endif + +-#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE +-# define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 +-#endif +- + #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(55,0,100) + # define XFF_AV_BUFFER 1 + #endif +@@ -290,5 +256,51 @@ + # define XFF_AVCODEC_REGISTER_ALL() do {} while(0) + #endif + ++#if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(59,24,100) ++# define XFF_AUDIO_CHANNEL_LAYOUT 1 /* AVCodecContext.channels, .channel_leyout */ ++#else ++# define XFF_AUDIO_CHANNEL_LAYOUT 2 /* AVCodecContext.ch_layout.nb_channels, .ch_layout.u.mask */ ++#endif ++ ++#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE ++# define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 ++#endif ++ ++#if LIBAVUTIL_VERSION_INT >= XFF_INT_VERSION(52,0,0) ++# define PIX_FMT_NONE AV_PIX_FMT_NONE ++# define PIX_FMT_YUV420P AV_PIX_FMT_YUV420P ++# define PIX_FMT_YUVJ420P AV_PIX_FMT_YUVJ420P ++# define PIX_FMT_YUV444P AV_PIX_FMT_YUV444P ++# define PIX_FMT_YUVJ444P AV_PIX_FMT_YUVJ444P ++# define PIX_FMT_YUV410P AV_PIX_FMT_YUV410P ++# define PIX_FMT_YUV411P AV_PIX_FMT_YUV411P ++# define PIX_FMT_ARGB AV_PIX_FMT_ARGB ++# define PIX_FMT_BGRA AV_PIX_FMT_BGRA ++# define PIX_FMT_RGB24 AV_PIX_FMT_RGB24 ++# define PIX_FMT_BGR24 AV_PIX_FMT_BGR24 ++# define PIX_FMT_RGB555BE AV_PIX_FMT_RGB555BE ++# define PIX_FMT_RGB555LE AV_PIX_FMT_RGB555LE ++# define PIX_FMT_RGB565BE AV_PIX_FMT_RGB565BE ++# define PIX_FMT_RGB565LE AV_PIX_FMT_RGB565LE ++# define PIX_FMT_PAL8 AV_PIX_FMT_PAL8 ++# define PixelFormat AVPixelFormat ++/* video_out/video_out_vaapi */ ++# if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(59,0,100) /** << revise this */ ++# define PIX_FMT_VAAPI_VLD AV_PIX_FMT_VAAPI_VLD ++# define PIX_FMT_VAAPI_IDCT AV_PIX_FMT_VAAPI_IDCT ++# define PIX_FMT_VAAPI_MOCO AV_PIX_FMT_VAAPI_MOCO ++# else ++# define PIX_FMT_VAAPI_VLD AV_PIX_FMT_VAAPI ++# define PIX_FMT_VAAPI_IDCT AV_PIX_FMT_VAAPI ++# define PIX_FMT_VAAPI_MOCO AV_PIX_FMT_VAAPI ++# endif ++ ++# define CODEC_FLAG_BITEXACT AV_CODEC_FLAG_BITEXACT ++#endif ++ ++#else /* defined(LIBAVCODEC_VERSION_INT) */ ++# error avcodec.h must be included first ! ++#endif /* defined(LIBAVCODEC_VERSION_INT) */ ++ + #endif /* XINE_AVCODEC_COMPAT_H */ + +--- a/src/combined/ffmpeg/ffmpeg_decoder.c ++++ b/src/combined/ffmpeg/ffmpeg_decoder.c 2022-09-13 23:43:40.255615724 -0300 +@@ -26,12 +26,20 @@ + + #include <pthread.h> + +-#ifdef HAVE_FFMPEG_AVUTIL_H +-# include <avcodec.h> +-#else +-# include <libavcodec/avcodec.h> ++#if defined(HAVE_LIBAVUTIL_AVUTIL_H) ++# include <libavutil/avutil.h> ++#endif ++ ++#if defined(HAVE_LIBAVUTIL_MEM_H) + # include <libavutil/mem.h> + #endif ++ ++#if defined(HAVE_AVUTIL_AVCODEC_H) ++# include <libavcodec/avcodec.h> ++#else ++# include <avcodec.h> ++#endif ++ + #ifdef HAVE_AVFORMAT + # include <libavformat/avformat.h> // av_register_all() + #endif +--- a/src/combined/ffmpeg/ff_video_decoder.c ++++ b/src/combined/ffmpeg/ff_video_decoder.c +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2001-2021 the xine project ++ * Copyright (C) 2001-2022 the xine project + * + * This file is part of xine, a free video player. + * +@@ -32,13 +32,20 @@ + #include <math.h> + #include <assert.h> + +-#ifdef HAVE_FFMPEG_AVUTIL_H +-# include <avcodec.h> +-#else +-# include <libavcodec/avcodec.h> ++#if defined(HAVE_LIBAVUTIL_AVUTIL_H) ++# include <libavutil/avutil.h> ++#endif ++ ++#if defined(HAVE_LIBAVUTIL_MEM_H) + # include <libavutil/mem.h> + #endif + ++#if defined(HAVE_AVUTIL_AVCODEC_H) ++# include <libavcodec/avcodec.h> ++#else ++# include <avcodec.h> ++#endif ++ + #define LOG_MODULE "ffmpeg_video_dec" + #define LOG_VERBOSE + /* +--- a/src/combined/ffmpeg/input_avio.c ++++ b/src/combined/ffmpeg/input_avio.c 2022-09-13 23:43:40.255615724 -0300 +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2013-2020 the xine project ++ * Copyright (C) 2013-2022 the xine project + * Copyright (C) 2013-2020 Petri Hintukainen <phintuka@users.sourceforge.net> + * + * This file is part of xine, a free video player. +@@ -28,6 +28,8 @@ + #include <string.h> + #include <pthread.h> + ++#include <libavutil/avutil.h> ++#include <libavcodec/avcodec.h> + #include <libavformat/avio.h> + + #define LOG_MODULE "libavio" diff --git a/arch/tde-deps/xine-lib/PKGBUILD b/arch/tde-deps/xine-lib/PKGBUILD new file mode 100644 index 000000000..211202c63 --- /dev/null +++ b/arch/tde-deps/xine-lib/PKGBUILD @@ -0,0 +1,63 @@ +# Maintainer : Daniel Bermond <dbermond@archlinux.org> +# Contributor: Eric Bélanger <eric@archlinux.org> + +pkgname=xine-lib +pkgver=1.2.12 +pkgrel=4 +pkgdesc='Multimedia playback engine' +arch=('powerpc64le') +url='https://www.xine-project.org' +license=('GPL' 'LGPL') +depends=('ffmpeg' 'libjpeg-turbo' 'libnsl' 'libpng' 'libx11' 'libxcb' + 'libxext' 'libxinerama' 'libxv' 'libxvmc' 'zlib') +optdepends=('libdvdnav: for dvd plugin' + 'libdvdread: for spu and dxr3 plugins' + 'vcdimager: for vcd plugin' + 'glu: for opengl and vaapi plugins' + 'sdl: for sdl plugin' + 'wayland: for egl_wl plugin' + 'aalib: for aalib plugin' + 'a52dec: for a52 plugin' + 'faad2: for faad plugin' + 'flac: for flac plugin' + 'libdca: for dts (dca) plugin' + 'libmad: for mad (mp3) plugin' + 'libmpcdec: for mpc (musepack) plugin' + 'wavpack: for wavpack plugin' + 'gdk-pixbuf2: for gdk_pixbuf plugin' + 'imagemagick: for imagemagick plugin' + 'libcaca: for caca plugin' + 'libmng: for mng plugin' + 'libnfs: for nfs plugin' + 'libssh2: for ssh plugin' + 'smbclient: for samba plugin') +makedepends=('mesa' 'libdvdnav' 'libdvdread' 'vcdimager' 'glu' 'sdl' + 'wayland' 'aalib' 'a52dec' 'faad2' 'flac' 'libdca' 'libmad' + 'libmpcdec' 'wavpack' 'gdk-pixbuf2' 'imagemagick' 'libcaca' + 'libmng' 'libnfs' 'smbclient') +source=("https://downloads.sourceforge.net/project/xine/xine-lib/${pkgver}/xine-lib-${pkgver}.tar.xz" + '010-xine-lib-dav1d-1.0.0-support.patch' + '020-xine-lib-ffmpeg-5.1-fix.patch') +sha256sums=('d606270468e1540c2a89c0d7f5fdf11e17ecc0c2698cc0bcb1065ff26abee098' + '9e41a7e49bc81d04d8f5014d5a4fcb4961eeb735eb6329a76ac24425fdafae06' + '36930d0973c71027175530e6911a9e9ad824107eedd519b01f375800f3f98822') + +prepare() { + patch -d "${pkgname}-${pkgver}" -Np1 -i "${srcdir}/010-xine-lib-dav1d-1.0.0-support.patch" + patch -d "${pkgname}-${pkgver}" -Np1 -i "${srcdir}/020-xine-lib-ffmpeg-5.1-fix.patch" +} + +build() { + cd "${pkgname}-${pkgver}" + ./autogen.sh \ + --prefix='/usr' \ + --enable-antialiasing \ + --with-external-dvdnav \ + --with-wavpack + sed -i 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + make -C "${pkgname}-${pkgver}" DESTDIR="$pkgdir" install +} |