summaryrefslogtreecommitdiff
path: root/libre/xbmc-libre
diff options
context:
space:
mode:
Diffstat (limited to 'libre/xbmc-libre')
-rw-r--r--libre/xbmc-libre/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch75
-rw-r--r--libre/xbmc-libre/ChangeLog69
-rw-r--r--libre/xbmc-libre/PKGBUILD152
-rw-r--r--libre/xbmc-libre/enable-external-ffmpeg.patch100
4 files changed, 261 insertions, 135 deletions
diff --git a/libre/xbmc-libre/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch b/libre/xbmc-libre/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch
new file mode 100644
index 000000000..20d8e0250
--- /dev/null
+++ b/libre/xbmc-libre/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch
@@ -0,0 +1,75 @@
+From a58bcbb0a35ac8e26a880be477705d833330ecc5 Mon Sep 17 00:00:00 2001
+From: Jonathan Marshall <jmarshall@xbmc.org>
+Date: Tue, 6 May 2014 19:40:17 +1200
+Subject: [PATCH 1/7] [rtmp] check m_rtmp for non-NULL - fixes crashes with
+ missing librtmp
+
+---
+ .../dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
+index b02792a..93fc6f0 100644
+--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
++++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
+@@ -104,7 +104,8 @@ CDVDInputStreamRTMP::~CDVDInputStreamRTMP()
+ m_sStreamPlaying = NULL;
+
+ Close();
+- m_libRTMP.Free(m_rtmp);
++ if (m_rtmp)
++ m_libRTMP.Free(m_rtmp);
+ m_rtmp = NULL;
+ m_bPaused = false;
+ }
+@@ -139,7 +140,7 @@ bool CDVDInputStreamRTMP::Open(const char* strFile, const std::string& content)
+ m_sStreamPlaying = NULL;
+ }
+
+- if (!CDVDInputStream::Open(strFile, "video/x-flv"))
++ if (!m_rtmp || !CDVDInputStream::Open(strFile, "video/x-flv"))
+ return false;
+
+ CSingleLock lock(m_RTMPSection);
+@@ -181,7 +182,8 @@ void CDVDInputStreamRTMP::Close()
+ CSingleLock lock(m_RTMPSection);
+ CDVDInputStream::Close();
+
+- m_libRTMP.Close(m_rtmp);
++ if (m_rtmp)
++ m_libRTMP.Close(m_rtmp);
+
+ m_optionvalues.clear();
+ m_eof = true;
+@@ -190,6 +192,9 @@ void CDVDInputStreamRTMP::Close()
+
+ int CDVDInputStreamRTMP::Read(uint8_t* buf, int buf_size)
+ {
++ if (!m_rtmp)
++ return -1;
++
+ int i = m_libRTMP.Read(m_rtmp, (char *)buf, buf_size);
+ if (i < 0)
+ m_eof = true;
+@@ -210,7 +215,7 @@ bool CDVDInputStreamRTMP::SeekTime(int iTimeInMsec)
+ CLog::Log(LOGNOTICE, "RTMP Seek to %i requested", iTimeInMsec);
+ CSingleLock lock(m_RTMPSection);
+
+- if (m_libRTMP.SendSeek(m_rtmp, iTimeInMsec))
++ if (m_rtmp && m_libRTMP.SendSeek(m_rtmp, iTimeInMsec))
+ return true;
+
+ return false;
+@@ -229,7 +234,8 @@ bool CDVDInputStreamRTMP::Pause(double dTime)
+
+ CLog::Log(LOGNOTICE, "RTMP Pause %s requested", m_bPaused ? "TRUE" : "FALSE");
+
+- m_libRTMP.Pause(m_rtmp, m_bPaused);
++ if (m_rtmp)
++ m_libRTMP.Pause(m_rtmp, m_bPaused);
+
+ return true;
+ }
+--
+1.9.1
+
diff --git a/libre/xbmc-libre/ChangeLog b/libre/xbmc-libre/ChangeLog
deleted file mode 100644
index 66ae97e3b..000000000
--- a/libre/xbmc-libre/ChangeLog
+++ /dev/null
@@ -1,69 +0,0 @@
-2010-04-10 BlackEagle <ike DOT devolder AT gmail DOT com>
- * 9.11-15 :
- Made it back compliant with FHS ( thx pierre for pointing that out )
- namcap checked and modified to fit its needs as far as it was possible
-
-2009-03-07 [vEX] <niechift.dot.vex.at.gmail.dot.com>
-
- * 8.10-10 :
- Try and fix some autoconf issues (thanks Gentoo ebuild).
-
-2009-02-08 [vEX] <niechift.dot.vex.at.gmail.dot.com>
-
- * 8.10-9 :
- Replace some libtool 'ltmain.sh' scripts with the one from libtool
- installed with Arch.
- Make sure XBMCTex isn't linked to OpenGL libraries or it will segfault
- on systems using the nvidia driver.
-
-2009-01-30 [vEX] <niechift.dot.vex.at.gmail.dot.com>
-
- * 8.10-8 :
- Fix some include's so that gcc 4.3.x is happy, shouldn't complain about
- undefined '::realloc' anymore.
- Remove Mac OS X specific files.
-
-2009-01-25 [vEX] <niechift.dot.vex.at.gmail.dot.com>
-
- * 8.10-7 :
- Moved libcdio, pmount, smbclient and unrar to optdepends.
- Removed unneeded dependency on sdl_gfx.
- Removed dependency on libpng as sdl_image depends on it.
-
-2008-12-14 [vEX] <niechift.dot.vex.at.gmail.dot.com>
-
- * 8.10-6 :
- Added libpng to dependency list.
- Added gawk to dependency list.
- Removed '--disable-mms' and '--enable-halmount' configure flags as they
- are not mentioned as supported in the configure script.
-
-2008-12-06 [vEX] <niechift.dot.vex.at.gmail.dot.com>
-
- * 8.10-5 :
- Added libmad to the dependency list.
- Streamripper 1.64.0+ does not include tre anymore, removed streamripper
- and added tre instead.
- Removed subversion from makedepends.
-
-2008-12-06 [vEX] <niechift.dot.vex.at.gmail.dot.com>
-
- * 8.10-4 :
- Fix permissions for some more scripts, ffmpeg/texi2doc.pl should not
- fail any longer.
-
-2008-12-05 [vEX] <niechift.dot.vex.at.gmail.dot.com>
-
- * 8.10-3 :
- Added lirc to the optdepends array.
-
-2008-11-26 [vEX] <niechift.dot.vex.at.gmail.dot.com>
-
- * 8.10-2 :
- Added install file which informs users that a display depth of at
- least 24-bit is required.
-
-2008-11-17 [vEX] <niechift.dot.vex.at.gmail.dot.com>
-
- * 8.10-1 :
- Initial package, based on previous work by Zeqadious.
diff --git a/libre/xbmc-libre/PKGBUILD b/libre/xbmc-libre/PKGBUILD
index e347707d2..1aff83340 100644
--- a/libre/xbmc-libre/PKGBUILD
+++ b/libre/xbmc-libre/PKGBUILD
@@ -1,79 +1,94 @@
-# $Id: PKGBUILD 108909 2014-04-07 10:57:58Z spupykin $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Contributor: Brad Fanella <bradfanella@archlinux.us>
-# Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com>
-# Contributor: Zeqadious <zeqadious.at.gmail.dot.com>
-# Contributor: BlackIkeEagle < ike DOT devolder AT gmail DOT com >
-# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+# $Id: PKGBUILD 110974 2014-05-11 14:59:58Z idevolder $
+# Maintainer (Arch): Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor (Arch): Brad Fanella <bradfanella@archlinux.us>
+# Contributor (Arch): [vEX] <niechift.dot.vex.at.gmail.dot.com>
+# Contributor (Arch): Zeqadious <zeqadious.at.gmail.dot.com>
+# Contributor (Arch): BlackIkeEagle < ike DOT devolder AT gmail DOT com >
+# Maintainer: André Silva <emulatorman@parabola.nu>
_prefix=/usr
_pkgname=xbmc
pkgname=xbmc-libre
-pkgver=12.3
-_codename=Frodo
-pkgrel=14
-pkgdesc="A software media player and entertainment hub for digital media, without nonfree addons and unrar support"
+pkgver=13.0
+_codename=Gotham_r2
+pkgrel=3
+pkgdesc="A software media player and entertainment hub for digital media (Gotham version), without nonfree addons and unrar support"
arch=('i686' 'x86_64')
url="http://xbmc.org"
license=('GPL' 'custom')
-replaces=$_pkgname
-conflicts=$_pkgname
-provides=$_pkgname=$pkgver
-depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva'
- 'libpng' 'libcdio' 'yajl' 'libmariadbclient' 'libjpeg-turbo' 'libsamplerate'
- 'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' 'python2'
- 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' 'unzip' 'mesa-demos'
- 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' 'libshairport' 'avahi' 'bluez-libs' 'glu'
- 'tinyxml' 'taglib' 'ffmpeg-compat')
-makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec'
- 'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment')
-optdepends=('libcec: support for Pulse-Eight USB-CEC adapter'
- 'lirc: remote controller support'
- 'udisks: automount external drives'
- 'upower: used to trigger power management functionality'
- 'xorg-xinit: autostart xbmc')
+replaces=($_pkgname)
+conflicts=($_pkgname)
+provides=($_pkgname=$pkgver)
+depends=(
+'avahi' 'ffmpeg' 'hicolor-icon-theme' 'libcdio' 'libmad' 'libmicrohttpd'
+'libmpeg2' 'libmysqlclient' 'libsamplerate' 'libssh' 'libxrandr' 'libxslt'
+'lzo2' 'mesa' 'mesa-demos' 'python2' 'sdl_image' 'sdl_mixer' 'smbclient'
+'taglib' 'tinyxml' 'unzip' 'xorg-xdpyinfo' 'yajl'
+)
+makedepends=(
+'afpfs-ng' 'libnfs' 'libplist' 'shairplay' 'libcec' 'boost' 'cmake' 'doxygen'
+'gperf' 'jasper' 'java-runtime-headless' 'nasm' 'swig' 'taglib' 'udisks'
+'upower' 'zip'
+)
+optdepends=(
+'afpfs-ng: Apple File Protocol suport'
+'libnfs: NFS Share support'
+'libplist: AirPlay support'
+'shairplay: AirPlay support'
+'libcec: Pulse-Eight USB-CEC adapter support'
+'pulseaudio: for pulseaudio support'
+'lirc: remote controller support'
+'xorg-xinit: autostart xbmc'
+'udisks: automount external drives'
+'upower: used to trigger power management functionality'
+)
install="${_pkgname}.install"
-mksource=("http://mirrors.xbmc.org/releases/source/xbmc-$pkgver.tar.gz")
-source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz"
- "xbmc.service"
- "polkit.rules"
- "libass.patch::https://bugs.archlinux.org/index.php?getfile=11285")
-mkmd5sums=('7ae385ebf8e5cfcb917393235e6efbdb')
-md5sums=('7c71af50af55b097e4365a58b70754e8'
- 'de331663cc8adc94f2fe44a262cfff58'
- '02f7951824ee13103344f36009c0ef2a'
- '7fd6399d2ffbdf06b724f0cc2efa0784')
+mksource=(
+ "xbmc-$pkgver.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz"
+)
+source=(
+ "https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz"
+ "xbmc.service"
+ "polkit.rules"
+ "enable-external-ffmpeg.patch"
+ '0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch'
+)
+mksha256sums=(
+ '663b99f3e196ead51d90f06ccfa864b4e5ade385dfc5972acb0f854d525f2903'
+)
+sha256sums=(
+ 'a23b416f7cdc5f2b3d5544fc9a2ac22c4cdddd117ba82fe8aab25805552ff974'
+ 'f83097388e6c9b301cac78de95cf1797d4aaa11e4021734c28d643320e76d919'
+ '4ea78374a08e13a64dcf6a424b111b8bfc11de03ed5829744fc6d9b5fc1ec96e'
+ '0239e33e87292c7340ed2092f2b5f1e82f5e283b1f763fb125b3aee78f50c355'
+ '4d643f1bc5a0f9a6bba36c8c2c2d220351acb58172c57d86417b67c02d39fa2b'
+)
mksource() {
- cd "${srcdir}/xbmc-$pkgver-$_codename"
+ cd "$srcdir/xbmc-$pkgver-$_codename"
- # remove unrar files from the source
+ msg2 "remove nonfree unRAR utility files from the source"
rm -rv lib/UnrarXLib
}
prepare() {
- cd "${srcdir}/xbmc-$pkgver-$_codename"
+ cd "$srcdir/xbmc-$pkgver-$_codename"
+ patch -p1 -i "$srcdir/enable-external-ffmpeg.patch"
+ patch -p1 -i "$srcdir/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch"
- patch -p0 <$srcdir/libass.patch
-
- # fix lsb_release dependency
- sed -i -e 's:/usr/bin/lsb_release -d:cat /etc/arch-release:' xbmc/utils/SystemInfo.cpp
- sed -i -e 's:#include <libsmbclient.h>:#include <samba-4.0/libsmbclient.h>:' xbmc/filesystem/{SmbFile,SMBDirectory}.cpp
-
- # use addons.xml from Parabola server (without nonfree addons support)
- sed -i -e 's|mirrors[.]xbmc[.]org/addons/frodo/addons.xml|repo.parabolagnulinux.org/other/xbmc-libre/addons/frodo/addons.xml|' addons/repository.xbmc.org/addon.xml
+ msg2 "Use addons.xml from Parabola server (without nonfree addons support)"
+ sed -i -e 's|mirrors[.]xbmc[.]org/addons/gotham/addons.xml|repo.parabolagnulinux.org/other/xbmc-libre/addons/gotham/addons.xml|' addons/repository.xbmc.org/addon.xml
}
build() {
- cd "${srcdir}/xbmc-$pkgver-$_codename"
+ cd "$srcdir/xbmc-$pkgver-$_codename"
# Bootstrapping XBMC
./bootstrap
# Configuring XBMC
export PYTHON_VERSION=2 # external python v2
- export PKG_CONFIG_PATH=/usr/lib/ffmpeg-compat/pkgconfig:$PKG_CONFIG_PATH
./configure --prefix=$_prefix --exec-prefix=$_prefix \
--disable-debug \
--enable-optimizations \
@@ -105,36 +120,41 @@ build() {
--enable-libusb \
--enable-libcec \
--enable-external-libraries \
- --enable-external-ffmpeg \
--disable-non-free
+
# Now (finally) build
make
}
package() {
- cd "${srcdir}/xbmc-$pkgver-$_codename"
+ cd "$srcdir/xbmc-$pkgver-$_codename"
# Running make install
- make DESTDIR="${pkgdir}" install
+ make DESTDIR="$pkgdir" install
- # run feh with python2
- sed -i -e 's/python/python2/g' ${pkgdir}${_prefix}/bin/xbmc
-
- # lsb_release fix
- sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/arch-release ]/g' "${pkgdir}${_prefix}/bin/xbmc"
- sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/ \/'/cat \/etc\/arch-release/g" "${pkgdir}${_prefix}/bin/xbmc"
+ # Python2
+ sed 's/python/python2/g' -i \
+ "$pkgdir"/usr/{bin/xbmc,share/xbmc/addons/service.xbmc.versioncheck/service.py}
# Tools
- install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr"
- install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/"
+ msg2 "Tools"
+ install -D -m 0755 "$srcdir/xbmc-$pkgver-$_codename/xbmc-xrandr" \
+ "${pkgdir}$_prefix/lib/xbmc/xbmc-xrandr"
+ install -D -m 0755 "$srcdir/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" \
+ "${pkgdir}$_prefix/lib/xbmc/"
# Licenses
- install -d -m 0755 "${pkgdir}${_prefix}/share/licenses/${_pkgname}"
+ msg2 "Copy licenses"
+ install -dm755 "${pkgdir}$_prefix/share/licenses/$_pkgname"
for licensef in LICENSE.GPL copying.txt; do
- mv "${pkgdir}${_prefix}/share/doc/xbmc/${licensef}" "${pkgdir}${_prefix}/share/licenses/${_pkgname}"
+ mv "${pkgdir}$_prefix/share/doc/xbmc/$licensef" \
+ "${pkgdir}$_prefix/share/licenses/$_pkgname"
done
- install -Dm0644 $srcdir/xbmc.service $pkgdir/usr/lib/systemd/system/xbmc.service
-# install -Dm0644 $srcdir/polkit.rules $pkgdir/usr/share/polkit-1/rules.d/10-xbmc.rules
-# chmod 0700 $pkgdir/usr/share/polkit-1/rules.d/
+ # install systemd service
+ install -Dm0644 "$srcdir/xbmc.service" "$pkgdir/usr/lib/systemd/system/xbmc.service"
+
+ # install polkit rules
+ install -dm700 "$pkgdir/user/share/polkit-1/rules.d"
+ install -Dm0644 "$srcdir/polkit.rules" "$pkgdir/user/share/polkit-1/rules.d/10-xbmc.rules"
}
# vim:set ts=2 sw=2 et:
diff --git a/libre/xbmc-libre/enable-external-ffmpeg.patch b/libre/xbmc-libre/enable-external-ffmpeg.patch
new file mode 100644
index 000000000..2bc1aaf03
--- /dev/null
+++ b/libre/xbmc-libre/enable-external-ffmpeg.patch
@@ -0,0 +1,100 @@
+diff -rupN a/configure.in b/configure.in
+--- a/configure.in 2014-05-03 21:03:25.000000000 +0000
++++ b/configure.in 2014-05-07 09:56:30.039177391 +0000
+@@ -600,7 +600,7 @@ PKG_PROG_PKG_CONFIG
+ MAKE="${MAKE:-make}"
+ OBJDUMP="${OBJDUMP:-objdump}"
+
+-use_external_ffmpeg=no
++use_external_ffmpeg=yes
+ use_static_ffmpeg=no
+
+ # ffmpeg needs the output of uname -s (e.x. linux, darwin) for the target_os
+@@ -632,7 +632,7 @@ case $host in
+ use_arch="x86"
+ use_cpu="i686"
+ fi
+- use_static_ffmpeg=yes
++ use_static_ffmpeg=no
+ ;;
+ x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*)
+ ARCH="x86_64-linux"
+@@ -640,7 +640,7 @@ case $host in
+ use_arch="x86_64"
+ use_cpu="x86_64"
+ fi
+- use_static_ffmpeg=yes
++ use_static_ffmpeg=no
+ ;;
+ i386-*-freebsd*)
+ ARCH="x86-freebsd"
+@@ -696,7 +696,7 @@ case $host in
+ use_sdl=no
+ use_x11=no
+ use_wayland=no
+- use_static_ffmpeg=yes
++ use_static_ffmpeg=no
+ ;;
+ arm*-*linux-android*)
+ target_platform=target_android
+diff -rupN a/lib/DllAvCodec.h b/lib/DllAvCodec.h
+--- a/lib/DllAvCodec.h 2014-05-03 21:03:25.000000000 +0000
++++ b/lib/DllAvCodec.h 2014-05-07 10:10:06.298165915 +0000
+@@ -43,6 +43,7 @@ extern "C" {
+
+ #if (defined USE_EXTERNAL_FFMPEG)
+ #include <libavcodec/avcodec.h>
++ #include <libavutil/frame.h>
+ #else
+ #include "libavcodec/avcodec.h"
+ #endif
+diff -rupN a/lib/DllAvUtil.h b/lib/DllAvUtil.h
+--- a/lib/DllAvUtil.h 2014-05-03 21:03:25.000000000 +0000
++++ b/lib/DllAvUtil.h 2014-05-07 10:17:31.415798448 +0000
+@@ -31,33 +31,19 @@
+ #endif
+
+ extern "C" {
+-#if (defined USE_EXTERNAL_FFMPEG)
+- #include <libavutil/avutil.h>
+- // for av_get_default_channel_layout
+- #include <libavutil/audioconvert.h>
+- #include <libavutil/crc.h>
+- #include <libavutil/fifo.h>
+- // for LIBAVCODEC_VERSION_INT:
+- #include <libavcodec/avcodec.h>
+- // for enum AVSampleFormat
+- #include <libavutil/samplefmt.h>
+- #include <libavutil/opt.h>
+- #include <libavutil/mem.h>
+- #include <libavutil/mathematics.h>
+- #if (defined USE_LIBAV_HACKS)
+- #include "xbmc-libav-hacks/libav_hacks.h"
+- #endif
+-#else
+- #include "libavutil/avutil.h"
+- //for av_get_default_channel_layout
+- #include "libavutil/audioconvert.h"
+- #include "libavutil/crc.h"
+- #include "libavutil/opt.h"
+- #include "libavutil/mem.h"
+- #include "libavutil/fifo.h"
+- // for enum AVSampleFormat
+- #include "libavutil/samplefmt.h"
+-#endif
++#include <libavutil/avutil.h>
++#include <libavutil/frame.h>
++// for av_get_default_channel_layout
++#include <libavutil/audioconvert.h>
++#include <libavutil/crc.h>
++#include <libavutil/fifo.h>
++// for LIBAVCODEC_VERSION_INT:
++#include <libavcodec/avcodec.h>
++// for enum AVSampleFormat
++#include <libavutil/samplefmt.h>
++#include <libavutil/opt.h>
++#include <libavutil/mem.h>
++#include <libavutil/mathematics.h>
+ }
+
+ #if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(52,29,100)