mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-19 00:21:40 +00:00
community/xbmc to 13.0-3
This commit is contained in:
parent
3d0970de07
commit
f44dbd294d
2 changed files with 129 additions and 38 deletions
|
@ -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
|
||||||
|
|
|
@ -17,46 +17,56 @@ _prefix=/usr
|
||||||
|
|
||||||
pkgname=xbmc
|
pkgname=xbmc
|
||||||
pkgver=13.0
|
pkgver=13.0
|
||||||
_codename=Gotham
|
_codename=Gotham_r2
|
||||||
pkgrel=2
|
pkgrel=3
|
||||||
pkgdesc="A software media player and entertainment hub for digital media"
|
pkgdesc="A software media player and entertainment hub for digital media"
|
||||||
arch=('i686' 'x86_64')
|
arch=('i686' 'x86_64')
|
||||||
url="http://xbmc.org"
|
url="http://xbmc.org"
|
||||||
license=('GPL' 'custom')
|
license=('GPL' 'custom')
|
||||||
depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva'
|
depends=(
|
||||||
'libpng' 'libcdio' 'yajl' 'libmysqlclient' 'libjpeg-turbo' 'libsamplerate'
|
'avahi' 'ffmpeg' 'hicolor-icon-theme' 'libcdio' 'libmad' 'libmicrohttpd'
|
||||||
'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image'
|
'libmpeg2' 'libmysqlclient' 'libsamplerate' 'libssh' 'libxrandr' 'libxslt'
|
||||||
'python2' 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump'
|
'lzo2' 'mesa' 'mesa-demos' 'python2' 'sdl_image' 'sdl_mixer' 'smbclient'
|
||||||
'unzip' 'mesa-demos' 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng'
|
'taglib' 'tinyxml' 'unzip' 'xorg-xdpyinfo' 'yajl'
|
||||||
'avahi' 'bluez-libs' 'tinyxml' 'libcap' 'swig' 'taglib' 'libpulse'
|
)
|
||||||
'java-runtime-headless' 'glu' 'mesa' 'shairplay' 'libxslt' 'ffmpeg')
|
makedepends=(
|
||||||
makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libcec'
|
'afpfs-ng' 'libnfs' 'libplist' 'shairplay' 'libcec' 'boost' 'cmake' 'doxygen'
|
||||||
'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment')
|
'gperf' 'jasper' 'java-runtime-headless' 'nasm' 'swig' 'taglib' 'udisks'
|
||||||
optdepends=('libcec: support for Pulse-Eight USB-CEC adapter'
|
'upower' 'zip'
|
||||||
'lirc: remote controller support'
|
)
|
||||||
'udisks: automount external drives'
|
optdepends=(
|
||||||
'upower: used to trigger power management functionality'
|
'afpfs-ng: Apple File Protocol suport'
|
||||||
'unrar: access compressed files without unpacking them'
|
'libnfs: NFS Share support'
|
||||||
'xorg-xinit: autostart xbmc'
|
'libplist: AirPlay support'
|
||||||
'pulseaudio: for pulseaudio support')
|
'shairplay: AirPlay support'
|
||||||
|
'libcec: Pulse-Eight USB-CEC adapter support'
|
||||||
|
'pulseaudio: for pulseaudio support'
|
||||||
|
'lirc: remote controller support'
|
||||||
|
'unrar: access compressed files without unpacking them'
|
||||||
|
'xorg-xinit: autostart xbmc'
|
||||||
|
'udisks: automount external drives'
|
||||||
|
'upower: used to trigger power management functionality'
|
||||||
|
)
|
||||||
install="${pkgname}.install"
|
install="${pkgname}.install"
|
||||||
source=("xbmc-$pkgver.tar.gz::https://github.com/xbmc/xbmc/archive/13.0-Gotham.tar.gz"
|
source=("xbmc-$pkgver.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz"
|
||||||
"xbmc.service"
|
'xbmc.service'
|
||||||
"polkit.rules"
|
'polkit.rules'
|
||||||
"enable-external-ffmpeg.patch")
|
'enable-external-ffmpeg.patch'
|
||||||
md5sums=('54fafd985b5209859ba6faeb50b8f142'
|
'0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch')
|
||||||
'de331663cc8adc94f2fe44a262cfff58'
|
sha256sums=('663b99f3e196ead51d90f06ccfa864b4e5ade385dfc5972acb0f854d525f2903'
|
||||||
'02f7951824ee13103344f36009c0ef2a'
|
'f83097388e6c9b301cac78de95cf1797d4aaa11e4021734c28d643320e76d919'
|
||||||
'9f9b41cfc1e21b1e7d0bb10d6e85b3c6')
|
'4ea78374a08e13a64dcf6a424b111b8bfc11de03ed5829744fc6d9b5fc1ec96e'
|
||||||
|
'0239e33e87292c7340ed2092f2b5f1e82f5e283b1f763fb125b3aee78f50c355'
|
||||||
|
'4d643f1bc5a0f9a6bba36c8c2c2d220351acb58172c57d86417b67c02d39fa2b')
|
||||||
|
|
||||||
prepare() {
|
prepare() {
|
||||||
cd "${srcdir}/xbmc-$pkgver-$_codename"
|
cd "$srcdir/xbmc-$pkgver-$_codename"
|
||||||
|
patch -p1 -i "$srcdir/enable-external-ffmpeg.patch"
|
||||||
patch -p1 -i ../enable-external-ffmpeg.patch
|
patch -p1 -i "$srcdir/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch"
|
||||||
}
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd "${srcdir}/xbmc-$pkgver-$_codename"
|
cd "$srcdir/xbmc-$pkgver-$_codename"
|
||||||
|
|
||||||
# Bootstrapping XBMC
|
# Bootstrapping XBMC
|
||||||
./bootstrap
|
./bootstrap
|
||||||
|
@ -100,12 +110,13 @@ build() {
|
||||||
}
|
}
|
||||||
|
|
||||||
package() {
|
package() {
|
||||||
cd "${srcdir}/xbmc-$pkgver-$_codename"
|
cd "$srcdir/xbmc-$pkgver-$_codename"
|
||||||
# Running make install
|
# Running make install
|
||||||
make DESTDIR="${pkgdir}" install
|
make DESTDIR="$pkgdir" install
|
||||||
|
|
||||||
# run feh with python2
|
# Python2
|
||||||
sed -i -e 's/python/python2/g' ${pkgdir}${_prefix}/bin/xbmc
|
sed 's/python/python2/g' -i \
|
||||||
|
"$pkgdir"/usr/{bin/xbmc,share/xbmc/addons/service.xbmc.versioncheck/service.py}
|
||||||
|
|
||||||
# Tools
|
# 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/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr"
|
||||||
|
@ -113,11 +124,16 @@ package() {
|
||||||
#install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/"
|
#install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/"
|
||||||
|
|
||||||
# Licenses
|
# Licenses
|
||||||
install -d -m 0755 "${pkgdir}${_prefix}/share/licenses/${pkgname}"
|
install -dm755 "${pkgdir}$_prefix/share/licenses/$pkgname"
|
||||||
for licensef in LICENSE.GPL copying.txt; do
|
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
|
done
|
||||||
|
|
||||||
install -Dm0644 $srcdir/xbmc.service $pkgdir/usr/lib/systemd/system/xbmc.service
|
# install systemd service
|
||||||
install -Dm0644 $srcdir/polkit.rules $pkgdir/etc/polkit-1/rules.d/10-xbmc.rules
|
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"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue