[media-tv/boxee] Add boxee ebuild for testing. Taken from gentoo bug 258082

This commit is contained in:
Joost Ruis
2011-04-13 09:57:40 +00:00
parent de80bb1a80
commit b58eea40ac
13 changed files with 829 additions and 0 deletions
+13
View File
@@ -0,0 +1,13 @@
AUX 12563_fix.patch 1182 RMD160 14a71e3c771ba62a0b19f958f7b6151be186c536 SHA1 8f318ff074c0fff24a3005b89402b1a2a5bdb3a8 SHA256 0b0c469112a8664552cd76353b4f12aa384b1a568d444c729ad8e3ac515d647b
AUX anish.patch 786 RMD160 3c14f7b749e093deea8e4f61572c456e30dc063c SHA1 98b12aba9e1a73e8f02837a0ca5be70e18b88e9e SHA256 3522e2be90b5f6ab94a4eb2951b00a327f0ea2d5187671050205d46d3c957950
AUX boxee-0.9.21.11497-fix_Para_py.patch 2943 RMD160 355fbff89120a8c1dd074ea9c7efddaa1cc19e63 SHA1 a5b94cd9db15dd903c5f6ebe91d2ae2a553bc461 SHA256 0df9d7bb7b06ed00ac9ba85719a35f98d253722d58e8c65f96c0c0b430ed643a
AUX boxee-0.9.21.12563-fix_python_a-include_ThreadPolicy.patch 629 RMD160 9866d840b0987fe92c041ef4e61bf91073ec93d9 SHA1 f1ca0d507eb33bfffe53351088bde69d67bf56ef SHA256 9a53b3254bf8a730dd9dd0b0ba6435354e96cd794737549b7a44e25465fc8b23
AUX boxee.desktop 228 RMD160 fa9b54d5b1dd565144f77ab3934e31c23c33b2ef SHA1 edd1fbaf4d9ea3e8d2fa8deaf7902159c46a3ebd SHA256 573f370a0e2e73ce71ccb5b90cc9fa53c60b1c9b934af8242b1eee9a834cf434
AUX boxee64.patch 2046 RMD160 9b541ced179839f15bacc28362db7176a53e9806 SHA1 24c46671f1ef3e9d1b2343bef6982d91d0d73ca0 SHA256 03c8557dcf687452660148488c3ef8b9e931261770b63b7c4c2fe8f6ab8d1bdf
AUX ffmpeg64.patch 6766 RMD160 95ad61da45dc8f88262f46092beb3dc954c7d9fa SHA1 4c2ec03145a9859c0a71a9494bf6110a1117efbd SHA256 c318f914f4b5452e0bd088d17688d3cd6255e7580d866ddd78174954bbf242e1
AUX flashlib-Makefile.patch 420 RMD160 a67436973bf769ad0a169493bcb6ce835f08497f SHA1 97ce1deb24c34498d81441a2f784cb747f6357f2 SHA256 ef36d254a78160fa7153ff588c32e1fef256f23f1aab16a174c4fdb0c61334ea
AUX fribidi.patch 319 RMD160 dc0e2e5df43072415b66e0ec54f6cbff2e2b581a SHA1 e8943019b7bb5ace5aeae6b86fcd24e8d8c63c69 SHA256 41c54e149779d757ef0151b2ec48022e1221b91ffdca372ea39999bc29995ee8
AUX libmms.patch 399 RMD160 520af1fc937c9330b6f7efd17b6396fbbf55a2b7 SHA1 0f9430bc6d7cc4b5acee1f11acbfbf1052e20cb4 SHA256 445e98764888d146a34bc9d2ae77b416290f51fbe30ce8306b6fd2d19ee09bd9
AUX libpng.patch 3733 RMD160 fd7f6a1bbedbd8008e2e05965476858a8402ea65 SHA1 4ffb7e0a0b0c6559164220a211b2520b67972fb3 SHA256 f0d366deee7d31d7ad9102c86f9a926fca567845e3bb1cac8020b1ad74f07171
DIST boxee-sources-0.9.23.15885.tar.bz2 164663013 RMD160 bfd4aafdda3ec27f70971ee0bac417fadbb74466 SHA1 057856eb1e902111f7c7c97736542ed798edc6f0 SHA256 16e31c52db193fcfad1f6c65ca68fb53574892acd8b5fdb6db9f8189ce99b194
EBUILD boxee-0.9.23_beta15885.ebuild 11452 RMD160 6648e855d0af8fd5fa5a405f5afd9628b2a1c1c1 SHA1 e080f1612a2b62f5074b76f2b2d2c46dee2202e4 SHA256 028832990b3bef3db62f339a64fac2fc5697fa1b2f091a21fc88e9e954d1a453
@@ -0,0 +1,353 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="2"
inherit autotools eutils
PKGVER="0.9.23.15885"
SRC_URI="http://dl.boxee.tv/${PN}-sources-${PKGVER}.tar.bz2"
DESCRIPTION="Boxee is a fork of XBMC with a focus on social media"
HOMEPAGE="http://www.boxee.tv/"
LICENSE="GPL-2 BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="debug mid xrandr opengl"
RESTRICT="mirror bindist strict"
RDEPEND="opengl? ( virtual/opengl )
app-arch/bzip2
app-arch/unrar
app-arch/unzip
app-i18n/enca
>=dev-lang/python-2.6
dev-libs/boost
dev-libs/fribidi
dev-libs/libpcre
dev-libs/lzo
dev-libs/tre
>=dev-python/pysqlite-2
media-libs/alsa-lib
media-libs/faac
media-libs/fontconfig
media-libs/freetype
media-libs/glew
media-libs/jasper
media-libs/libmad
media-libs/libmms
media-libs/libsamplerate
media-libs/libogg
media-libs/libvorbis
media-libs/libsdl[alsa,X]
media-libs/sdl-gfx
media-libs/sdl-image[gif,jpeg,png]
media-libs/sdl-mixer
media-libs/sdl-sound
net-libs/xulrunner
www-plugins/adobe-flash
net-misc/curl
sys-apps/dbus
sys-apps/hal
sys-apps/pmount
virtual/mysql
x11-libs/libvdpau
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender"
DEPEND="${RDEPEND}
x11-proto/xineramaproto
dev-util/cmake
app-misc/screen
x86? ( dev-lang/nasm
virtual/krb5 )"
RESTRICT="strip"
S=${WORKDIR}/${PN}-sources-${PKGVER}
src_unpack() {
local pic
if [ $(uname -m) = "x86_64" ]; then
my_arch=x86_64
else
my_arch=i486
fi || die "Set arch failed"
my_prefix=/opt/${PN}
pic="-fPIC"
unpack ${A}
cd "${S}"
# this section contains changes required for x86_64 and thus is only loaded if your arch is x86_64
if [ $(uname -m) = "x86_64" ]; then
# boxee64.patch allows boxee to compile on 64bit systems
epatch "${FILESDIR}/boxee64.patch" || die "Patch failed"
# ffmpeg needs to be patched for 64bit systems
epatch "${FILESDIR}/ffmpeg64.patch" || die "Patch failed"
# two symlinks added by paulingham that work with boxee64.patch to allow boxee to compile on x86_64
dosym /usr/lib/libtalloc.so.2 ${S}/xbmc/lib/libsmb/libtalloc-x86_64-linux.a
dosym /usr/lib/libwbclient.so.0 ${S}/xbmc/lib/libsmb/libwbclient-x86_64-linux.a
_xulrunner=xulrunner-x86_64-linux
else
_xulrunner=xulrunner-i486-linux
fi || return 1
# anish.patch adds some minor tweaks anish figured out to get the latest sources running
epatch "${FILESDIR}/anish.patch" || die "Patch failed"
# fribidi.patch fixes the compile issue related to fribidi
epatch "${FILESDIR}/fribidi.patch" || die "Patch failed"
# patch to compile against libpng14, thanks to wonder for providing the original patch
epatch "${FILESDIR}/libpng.patch" || die "Patch failed"
# patch to compilet release 0.9.21.12563, remove extraneous function calls that cause linkage failure
epatch "${FILESDIR}/12563_fix.patch" || die "Patch failed"
# patch to fix libmms
epatch "${FILESDIR}/libmms.patch" || die "Patch failed"
# fix the old Para.py syntax errors
epatch "${FILESDIR}/boxee-0.9.21.11497-fix_Para_py.patch" || die "Patch failed"
# fix python include thread policy
cp /usr/include/python2.6/pyconfig.h ${S}/xbmc/lib/libPython/Python/Include
cp ${S}/xbmc/{ThreadPolicy.cpp,ThreadPolicy.h} ${S}/xbmc/lib/libPython
epatch "${FILESDIR}/boxee-0.9.21.12563-fix_python_a-include_ThreadPolicy.patch" || die "Patch failed"
cd "${S}"/xbmc/lib/libass
./autogen.sh || die "libass failed"
autoreconf --install || die "libass failed"
cd "${S}"/xbmc/lib/libBoxee/tinyxpath
autoreconf -vif || die "tinyxpath failed"
./configure || die "tinyxpath failed"
cd "${S}"/xbmc/visualizations/Goom/goom2k4-0
aclocal || die "goom2k4-0 failed"
libtoolize --copy --force || die "goom2k4-0 failed"
./autogen.sh --enable-static --with-pic || die "goom2k4-0 failed"
}
src_configure() {
aclocal || die "aclocal failed!"
autoheader || die "autoheader failed!"
autoconf || die "autoconf failed!"
econf \
--disable-ccache \
--prefix=${my_prefix} \
$(use_enable debug) \
$(use_enable mid) \
$(use_enable xrandr) \
|| die "Configure failed!"
cd "${S}"
#this is another hack to fix an issue with gcc44
if [ $(uname -m) = "x86_64" ]; then
sed -r 's/\(MAKE\)\ -C\ xbmc\/screensavers$/\(MAKE\)\ CFLAGS=\"-march=k8\ -02\ -pipe\"\ -C\ xbmc\/screensavers/g' Makefile > Makefile.sed || die "sed failed"
else
sed -r 's/\(MAKE\)\ -C\ xbmc\/screensavers$/\(MAKE\)\ CFLAGS=\"-march=i486\ -02\ -pipe\"\ -C\ xbmc\/screensavers/g' Makefile > Makefile.sed || die "sed failed"
fi
cat Makefile.sed > Makefile || die "cat failed"
}
src_compile() {
cd "${S}"
emake -j1 || die "Make boxee failed!"
}
src_install() {
cd "${S}"
# language
install -d ${my_prefix}/language || return 1
pushd ${S}/language/ || return 1
find . | sed -e 's/\.\///g' | while read file; do
if [ -d "$file" ]; then
install -d ${my_prefix}/language/"$file" || return 1
else
install -D "$file" ${my_prefix}/language/"$file" || return 1
fi || return 1
done || return 1
popd || return 1
# media
install -d ${my_prefix}/media || return 1
pushd ${S}/media/ || return 1
find . | sed -e 's/\.\///g' | while read file; do
if [ $(echo "$file" | grep "icon.png" -i -c) = 0 -a $(echo "$file" | grep "icon32x32.png" -i -c) = 0 -a $(echo "$file" | grep "xbmc.icns" -i -c) = 0 -a $(echo "$file" | grep "Boxee.ico" -i -c) = 0 -a $(echo "$file" | grep "Splash.png" -i -c) = 0 -a $(echo "$file" | grep "Splash_old.png" -i -c) = 0 -a $(echo "$file" | grep "Fonts/arial.ttf" -i -c) = 0 ]; then
if [ -d "$file" ]; then
install -d ${my_prefix}/media/"$file" || return 1
else
install -D "$file" ${my_prefix}/media/"$file" || return 1
fi || return 1
fi || return 1
done || return 1
popd || return 1
# scripts
install -d ${my_prefix}/scripts || return 1
pushd ${S}/scripts || return 1
find . | sed -e 's/\.\///g' | while read file; do
if [ $(echo "$file" | grep "scripts.zip" -i -c) = 0 -a $(echo "$file" | grep "user_submitted.zip" -i -c) = 0 -a $(echo "$file" | grep "autoexec.py" -i -c) = 0 ]; then
if [ -d "$file" ]; then
install -d ${my_prefix}/scripts/"$file" || return 1
else
install -D "$file" ${my_prefix}/scripts/"$file" || return 1
fi || return 1
fi || return 1
done || return 1
popd || return 1
# skin
install -d ${my_prefix}/skin/boxee || return 1
pushd ${S}/skin/boxee || return 1
find . | sed -e 's/\.\///g' | while read file; do
if [ -d "$file" ]; then
install -d ${my_prefix}/skin/boxee/"$file" || return 1
else
install -D "$file" ${my_prefix}/skin/boxee/"$file" || return 1
fi || return 1
done || return 1
install -d ${my_prefix}/skin/boxee/media || return 1
popd || return 1
# system
pushd ${S}/system/python/local || return 1
popd || return 1
install -d ${my_prefix}/system || return 1
pushd ${S}/system/ || return 1
find . -path "./python/Lib" -prune -o -print | sed -e 's/\.\///g' | while read file; do
if [ $(echo "$file" | grep "win32" -i -c) = 0 -a $(echo "$file" | grep "spyce" -i -c) = 0 -a $(echo "$file" | grep "DLLs" -i -c) = 0 -a $(echo "$file" | grep "osx" -i -c) = 0 -a $(echo "$file" | grep -e "\.dll$" -i -c) = 0 -a $(echo "$file" | grep -e "\.pyc$" -i -c) = 0 -a $(echo "$file" | grep "xulrunner" -i -c) = 0 -a $(echo "$file" | grep "etc" -i -c) = 0 -a $(echo "$file" | grep "python24.zlib" -i -c) = 0 -a $(echo "$file" | grep "upnpserver.xml" -i -c) = 0 -a $(echo "$file" | grep "IRSSmap.xml" -i -c) = 0 -a $(echo "$file" | grep "X10-Lola-IRSSmap.xml" -i -c) = 0 -a $(echo "$file" | grep "fontconfig_readme" -i -c) = 0 -a $(echo "$file" | grep "libmpeg2-i486-linux.so" -i -c) = 0 -a $(echo "$file" | grep "bxoverride.so" -i -c) = 0 -a $(echo "$file" | grep "readme.txt" -i -c) = 0 -a $(echo "$file" | grep "simplejson/_speedups.so" -i -c) = 0 ]; then
if [ -d "$file" ]; then
install -d ${my_prefix}/system/"$file" || return 1
else
install -D "$file" ${my_prefix}/system/"$file" || return 1
fi || return 1
fi || return 1
done || return 1
popd || return 1
install -d ${my_prefix}/system/players/flashplayer/${_xulrunner} || return 1
pushd ${S}/system/players/flashplayer/${_xulrunner} || return 1
find . | sed -e 's/\.\///g' | while read file; do
if [ -d "$file" ]; then
install -d ${my_prefix}/system/players/flashplayer/${_xulrunner}/"$file" || return 1
else
install -D "$file" ${my_prefix}/system/players/flashplayer/${_xulrunner}/"$file" || return 1
fi || return 1
done || return 1
popd || return 1
install -d ${my_prefix}/system/python/lib || return 1
pushd ${S}/system/python/Lib || return 1
find . | sed -e 's/\.\///g' | while read file; do
if [ $(echo "$file" | grep -e "darwin$" -e "mac$" -i -c) = 0 ]; then
if [ -d "$file" ]; then
install -d ${my_prefix}/system/python/lib/"$file" || return 1
elif [ ! $(echo "$file" | grep -e "\.pyo$" -i -c) = 0 ]; then
install -D "$file" ${my_prefix}/system/python/lib/"$file" || return 1
elif [ ! $(echo "$file" | grep -e "\.so$" -i -c) = 0 ]; then
install -D "$file" ${my_prefix}/system/python/lib/"$file" || return 1
fi || return 1
fi || return 1
done || return 1
popd || return 1
rm -rf ${my_prefix}/system/python/lib/plat-darwin || return 1
rm -rf ${my_prefix}/system/python/lib/plat-mac || return 1
rmdir ${my_prefix}/system/python/lib/idlelib/Icons || return 1
rmdir ${my_prefix}/system/python/lib/site-packages || return 1
# userdata
cd ${S}/UserData
mv sources.xml.in.diff.linux sources.xml || die "moving userdata failed!"
mv advancedsettings.xml.in advancedsettings.xml || die "moving userdata failed!"
cd ${S}
insinto ${my_prefix}/UserData
doins -r UserData/{*linux*,advancedsettings.xml,sources.xml}
dosym UserData ${my_prefix}/userdata
# plugins
dodir ${my_prefix}/plugins/music
dodir ${my_prefix}/plugins/pictures
dodir ${my_prefix}/plugins/video
# visualisations
install -d ${my_prefix}/visualisations/
pushd ${S}/visualisations/ || return 1
for i in *; do
if [ -d "$i" ]; then
install -d ${my_prefix}/visualisations/"$i" || return 1
if [ $(ls "$i" | wc -l) != "0" ]; then
install -D "$i"/* ${my_prefix}/visualisations/"$i"/ || return 1
fi || return 1
else
if [ $(echo "$i" | grep "osx" -c) = "0" -a $(echo "$i" | grep "win32" -c) = "0" -a $(echo "$i" | grep "Goom.vis" -c) = "0" -a $(echo "$i" | grep "xbmc_vis.h" -c) = "0" ]; then
install -D "$i" ${my_prefix}/visualisations/ || return 1
fi || return 1
fi || return 1
done || return 1
popd || return 1
# screensavers
insinto ${my_prefix}/screensavers
dodir ${my_prefix}/screensavers
doins -r screensavers/*.xbs
# rtorrent
dodir ${my_prefix}/bin
exeinto ${my_prefix}/bin
doexe bin-linux/boxee-rtorrent
# boxee binary
mv run-boxee-desktop.in run-boxee-desktop
exeinto ${my_prefix}/
doexe Boxee
doexe run-boxee-desktop
# give_me_my_mouse_back
gcc ${S}/give_me_my_mouse_back.c -o ${S}/give_me_my_mouse_back -lSDL || die "gcc compiling failed!"
insinto ${my_prefix}/
doexe give_me_my_mouse_back
# xbmc-xrandr
insinto ${my_prefix}/
doexe xbmc-xrandr
# flash plugins
dosym /opt/Adobe/flash-player/libflashplayer.so ${my_prefix}/system/players/flashplayer/${_xulrunner}/bin/plugins/libflashplayer.so
# freedesktop
insinto /usr/share/applications
doins debian/boxee.desktop
insinto /usr/share/pixmaps
doins debian/boxee.png
}
+45
View File
@@ -0,0 +1,45 @@
--- ./xbmc/lib/libPython/XBPyPersistentThread.cpp.orig 2010-07-11 03:20:51.000000000 -0700
+++ ./xbmc/lib/libPython/XBPyPersistentThread.cpp 2010-07-11 03:23:40.000000000 -0700
@@ -390,42 +390,10 @@
void XBPyPersistentThread::CreatePolicy(const ThreadIdentifier threadId)
{
- if (PyEval_ThreadsInitialized())
- {
-
- //
- // File System policy - read only
- //
- ThreadPolicy *fsPolicy = TPAllocPolicy(threadId, FILE_SYSTEM);
-
- TPAddPolicy(threadId, fsPolicy);
-
- //
- // Shared library policy
- //
- ThreadPolicy *slPolicy = TPAllocPolicy(threadId,SHARED_LIBRARY);
- FileRule rule;
-
- rule.fileName = _P("special://xbmc/system/python");
- rule.accessMode = FILE_ACCESS_READ;
-
- TPAddRuleToPolicy(threadId, slPolicy, &rule);
-
- TPAddPolicy(threadId, slPolicy);
-
- //
- // ProcessExec policy
- //
- ThreadPolicy *pePolicy = TPAllocPolicy(threadId,PROCESS_EXEC);
-
- TPAddPolicy(threadId, pePolicy);
-
- }
}
void XBPyPersistentThread::DeletePolicy(const ThreadIdentifier threadId)
{
- TPDeletePolicy(threadId, NULL);
}
void XBPyPersistentThread::SetSecurityLevel(const CStdString& securityLevel)
+20
View File
@@ -0,0 +1,20 @@
--- tools/XBMCTex/XFileUtils.cpp.orig 2009-06-24 06:01:25.000000000 -0400
+++ tools/XBMCTex/XFileUtils.cpp 2009-06-24 06:01:42.000000000 -0400
@@ -20,6 +20,7 @@
*/
#include "system.h"
+#include "XHandle.h"
#include "PlatformInclude.h"
#include "XFileUtils.h"
#include "XTimeUtils.h"
--- configure.in.orig 2010-01-09 13:50:10.000000000 -0800
+++ configure.in 2010-01-09 13:51:42.000000000 -0800
@@ -985,7 +985,6 @@
xbmc/visualizations/OpenGLSpectrum/Makefile \
xbmc/visualizations/WaveForm/Makefile \
xbmc/visualizations/iTunes/Makefile \
- tools/Linux/xbmc.sh \
tools/TexturePacker/Makefile \
tools/EventClients/Clients/OSXRemote/Makefile \
xbmc/cores/paplayer/FLACCodec/Makefile \
@@ -0,0 +1,68 @@
diff -up boxee-0.9.21.11497-sources/xbmc/lib/libPython/Python/Lib/lib-old/Para.py.fix boxee-0.9.21.11497-sources/system/python/Lib/lib-old/Para.py
--- boxee-0.9.21.11497-sources/xbmc/lib/libPython/Python/Lib/lib-old/Para.py.fix 2010-06-24 20:19:35.116993564 -0400
+++ boxee-0.9.21.11497-sources/xbmc/lib/libPython/Python/Lib/lib-old/Para.py 2010-06-24 20:21:27.058041001 -0400
@@ -60,15 +60,15 @@ class Para:
# don't add any new space (but still remove the stretch)
def tabto(self, tab):
total = 0
- as, de = 1, 0
+ as_, de = 1, 0
for i in range(len(self.words)):
word = self.words[i]
if type(word) is Int: continue
- (fo, te, wi, sp, st, as, de) = word
- self.words[i] = (fo, te, wi, sp, 0, as, de)
+ (fo, te, wi, sp, st, as_, de) = word
+ self.words[i] = (fo, te, wi, sp, 0, as_, de)
total = total + wi + sp
if total < tab:
- self.words.append((None, '', 0, tab-total, 0, as, de))
+ self.words.append((None, '', 0, tab-total, 0, as_, de))
#
# Make a hanging tag: tab to hang, increment indent_left by hang,
# and reset indent_hang to -hang
@@ -104,7 +104,7 @@ class Para:
break
i = i+1
continue
- fo, te, wi, sp, st, as, de = word
+ fo, te, wi, sp, st, as_, de = word
if width + wi > avail and width > 0 and wi > 0:
break
if fo is not None:
@@ -116,7 +116,7 @@ class Para:
lsp = sp
stretch = stretch + st
lst = st
- ascent = max(ascent, as)
+ ascent = max(ascent, as_)
descent = max(descent, de)
i = i+1
while i > j and type(words[i-1]) is Int and \
@@ -157,7 +157,7 @@ class Para:
h, v)
if ok is not None: return ok
continue
- fo, te, wi, sp, st, as, de = word
+ fo, te, wi, sp, st, as_, de = word
if extra > 0 and stretch > 0:
ex = extra * st / stretch
extra = extra - ex
@@ -253,7 +253,7 @@ class Para:
self.d = None
#
def _whereisword(self, tuple, word, h1, v1, h2, v2, isfirst, islast):
- fo, te, wi, sp, st, as, de = word
+ fo, te, wi, sp, st, as_, de = word
if fo is not None: self.lastfont = fo
h = h1
if isfirst: h1 = 0
@@ -302,7 +302,7 @@ class Para:
return ok
#
def _screenposword(self, tuple, word, h1, v1, h2, v2, isfirst, islast):
- fo, te, wi, sp, st, as, de = word
+ fo, te, wi, sp, st, as_, de = word
if fo is not None: self.lastfont = fo
cc = len(te) + (sp > 0)
if self.pos > cc:
@@ -0,0 +1,10 @@
diff -up boxee-0.9.21.12563-sources/xbmc/lib/libPython/Makefile.fix boxee-0.9.21.12563-sources/xbmc/lib/libPython/Makefile
--- boxee-0.9.21.12563-sources/xbmc/lib/libPython/Makefile.fix 2010-07-11 12:04:10.593024394 -0400
+++ boxee-0.9.21.12563-sources/xbmc/lib/libPython/Makefile 2010-07-11 12:04:37.264028289 -0400
@@ -1,5 +1,5 @@
INCLUDES=-I. -I../../ -I../../linux -I../../../guilib -I../../utils -I.
-SRCS=XBPython.cpp XBPythonDll.cpp XBPyThread.cpp XBPythonDllFuncs.S XBPyPersistentThread.cpp
+SRCS=XBPython.cpp XBPythonDll.cpp XBPyThread.cpp XBPythonDllFuncs.S XBPyPersistentThread.cpp ThreadPolicy.cpp
LIB=python.a
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/env xdg-open
[Desktop Entry]
Name=Boxee
Comment=Next generation social media player
Exec=/opt/boxee/run-boxee-desktop
Icon=boxee
Terminal=false
Type=Application
Categories=AudioVideo;Video;Player;
StartupNotify=false
+54
View File
@@ -0,0 +1,54 @@
--- xbmc/FileSystem/FileCurl.cpp.orig 2009-11-23 01:12:07.000000000 -0800
+++ xbmc/FileSystem/FileCurl.cpp 2010-01-21 13:42:25.000000000 -0800
@@ -82,14 +82,6 @@
}
/* curl calls this routine to get more data */
-extern "C" size_t dummy_callback(char *buffer,
- size_t size,
- size_t nitems,
- void *userp)
-{
- return 0;
-}
-
extern "C" size_t write_callback(char *buffer,
size_t size,
size_t nitems,
@@ -281,10 +273,6 @@
m_fileSize = m_filePos + (int64_t)length;
}
- char *url = NULL;
- if (CURLE_OK == g_curlInterface.easy_getinfo(m_easyHandle, CURLINFO_EFFECTIVE_URL, (char*)&url))
- m_strEffectiveUrl = url;
-
long response;
if (CURLE_OK == g_curlInterface.easy_getinfo(m_easyHandle, CURLINFO_RESPONSE_CODE, &response))
return response;
@@ -959,8 +947,6 @@
throw new CRedirectException(new CFileShoutcast);
}
- m_url = m_state->m_strEffectiveUrl;
-
m_multisession = false;
if(m_url.Left(5).Equals("http:") || m_url.Left(6).Equals("https:"))
{
@@ -1137,7 +1123,6 @@
SetRequestHeaders(m_state);
g_curlInterface.easy_setopt(m_state->m_easyHandle, CURLOPT_TIMEOUT, 5);
g_curlInterface.easy_setopt(m_state->m_easyHandle, CURLOPT_NOBODY, 0);
- g_curlInterface.easy_setopt(m_state->m_easyHandle, CURLOPT_WRITEFUNCTION, (void*)dummy_callback);
g_curlInterface.easy_setopt(m_state->m_easyHandle, CURLOPT_FOLLOWLOCATION, 1);
g_curlInterface.easy_setopt(m_state->m_easyHandle, CURLOPT_WRITEDATA, (void *)NULL); /* will cause write failure*/
@@ -1260,7 +1245,7 @@
// only attempt to fill buffer if transactions still running and buffer
// doesnt exceed required size already
- while ((unsigned int)m_buffer.GetMaxReadSize() < want && m_buffer.GetMaxWriteSize() > 0 && !g_application.m_bStop)
+ while ((unsigned int)m_buffer.GetMaxReadSize() < want && m_buffer.GetMaxWriteSize() > 0 )
{
if (m_cancelled)
return false;
+130
View File
@@ -0,0 +1,130 @@
--- xbmc/cores/dvdplayer/Codecs/ffmpeg/libavcodec/x86/dsputil_mmx.h.orig 2010-02-17 22:37:17.000000000 -0800
+++ xbmc/cores/dvdplayer/Codecs/ffmpeg/libavcodec/x86/dsputil_mmx.h 2010-02-17 22:41:27.000000000 -0800
@@ -27,37 +27,37 @@
typedef struct { uint64_t a, b; } xmm_reg;
-extern const uint64_t ff_bone;
-extern const uint64_t ff_wtwo;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_bone;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_wtwo;
-extern const uint64_t ff_pdw_80000000[2];
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pdw_80000000[2];
-extern const uint64_t ff_pw_3;
-extern const uint64_t ff_pw_4;
-extern const xmm_reg ff_pw_5;
-extern const xmm_reg ff_pw_8;
-extern const uint64_t ff_pw_15;
-extern const xmm_reg ff_pw_16;
-extern const uint64_t ff_pw_20;
-extern const xmm_reg ff_pw_28;
-extern const xmm_reg ff_pw_32;
-extern const uint64_t ff_pw_42;
-extern const xmm_reg ff_pw_64;
-extern const uint64_t ff_pw_96;
-extern const uint64_t ff_pw_128;
-extern const uint64_t ff_pw_255;
-
-extern const uint64_t ff_pb_1;
-extern const uint64_t ff_pb_3;
-extern const uint64_t ff_pb_7;
-extern const uint64_t ff_pb_1F;
-extern const uint64_t ff_pb_3F;
-extern const uint64_t ff_pb_81;
-extern const uint64_t ff_pb_A1;
-extern const uint64_t ff_pb_FC;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_3;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_4;
+extern const xmm_reg __attribute__((visibility("hidden"))) ff_pw_5;
+extern const xmm_reg __attribute__((visibility("hidden"))) ff_pw_8;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_15;
+extern const xmm_reg __attribute__((visibility("hidden"))) ff_pw_16;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_20;
+extern const xmm_reg __attribute__((visibility("hidden"))) ff_pw_28;
+extern const xmm_reg __attribute__((visibility("hidden"))) ff_pw_32;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_42;
+extern const xmm_reg __attribute__((visibility("hidden"))) ff_pw_64;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_96;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_128;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_255;
+
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pb_1;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pb_3;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pb_7;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pb_1F;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pb_3F;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pb_81;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pb_A1;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pb_FC;
-extern const double ff_pd_1[2];
-extern const double ff_pd_2[2];
+extern const double __attribute__((visibility("hidden"))) ff_pd_1[2];
+extern const double __attribute__((visibility("hidden"))) ff_pd_2[2];
#define LOAD4(stride,in,a,b,c,d)\
"movq 0*"#stride"+"#in", "#a"\n\t"\
--- xbmc/cores/dvdplayer/Codecs/ffmpeg/libavcodec/x86/vc1dsp_mmx.c.orig 2010-02-17 22:44:34.000000000 -0800
+++ xbmc/cores/dvdplayer/Codecs/ffmpeg/libavcodec/x86/vc1dsp_mmx.c 2010-02-17 22:45:31.000000000 -0800
@@ -73,7 +73,10 @@
"movq %%mm"#R1", "#OFF"(%1) \n\t" \
"add %2, %0 \n\t"
-DECLARE_ALIGNED_16(const uint64_t, ff_pw_9) = 0x0009000900090009ULL;
+#ifndef _ATTR_HIDDEN
+#define _ATTR_HIDDEN __attribute__((visibility("hidden")))
+#endif
+DECLARE_ALIGNED_16(const uint64_t, _ATTR_HIDDEN ff_pw_9) = 0x0009000900090009ULL;
/** Sacrifying mm6 allows to pipeline loads from src */
static void vc1_put_ver_16b_shift2_mmx(int16_t *dst,
--- xbmc/cores/dvdplayer/Codecs/ffmpeg/libswscale/swscale.c.orig 2010-02-17 22:51:41.000000000 -0800
+++ xbmc/cores/dvdplayer/Codecs/ffmpeg/libswscale/swscale.c 2010-02-17 22:56:00.000000000 -0800
@@ -221,6 +221,10 @@
write special BGR->BGR scaler
*/
+#ifndef _ATTR_HIDDEN
+#define _ATTR_HIDDEN __attribute__((visibility("hidden")))
+#endif
+
#if ARCH_X86 && CONFIG_GPL
DECLARE_ASM_CONST(8, uint64_t, bF8)= 0xF8F8F8F8F8F8F8F8LL;
DECLARE_ASM_CONST(8, uint64_t, bFC)= 0xFCFCFCFCFCFCFCFCLL;
@@ -246,22 +250,22 @@
DECLARE_ASM_CONST(8, uint64_t, g15Mask)= 0x03E003E003E003E0LL;
DECLARE_ASM_CONST(8, uint64_t, r15Mask)= 0x7C007C007C007C00LL;
-DECLARE_ALIGNED(8, const uint64_t, ff_M24A) = 0x00FF0000FF0000FFLL;
-DECLARE_ALIGNED(8, const uint64_t, ff_M24B) = 0xFF0000FF0000FF00LL;
-DECLARE_ALIGNED(8, const uint64_t, ff_M24C) = 0x0000FF0000FF0000LL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_M24A) = 0x00FF0000FF0000FFLL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_M24B) = 0xFF0000FF0000FF00LL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_M24C) = 0x0000FF0000FF0000LL;
#ifdef FAST_BGR2YV12
-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2YCoeff) = 0x000000210041000DULL;
-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2UCoeff) = 0x0000FFEEFFDC0038ULL;
-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2VCoeff) = 0x00000038FFD2FFF8ULL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2YCoeff) = 0x000000210041000DULL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2UCoeff) = 0x0000FFEEFFDC0038ULL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2VCoeff) = 0x00000038FFD2FFF8ULL;
#else
-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2YCoeff) = 0x000020E540830C8BULL;
-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2UCoeff) = 0x0000ED0FDAC23831ULL;
-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2VCoeff) = 0x00003831D0E6F6EAULL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2YCoeff) = 0x000020E540830C8BULL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2UCoeff) = 0x0000ED0FDAC23831ULL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2VCoeff) = 0x00003831D0E6F6EAULL;
#endif /* FAST_BGR2YV12 */
-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2YOffset) = 0x1010101010101010ULL;
-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2UVOffset) = 0x8080808080808080ULL;
-DECLARE_ALIGNED(8, const uint64_t, ff_w1111) = 0x0001000100010001ULL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2YOffset) = 0x1010101010101010ULL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2UVOffset) = 0x8080808080808080ULL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_w1111) = 0x0001000100010001ULL;
DECLARE_ASM_CONST(8, uint64_t, ff_bgr24toY1Coeff) = 0x0C88000040870C88ULL;
DECLARE_ASM_CONST(8, uint64_t, ff_bgr24toY2Coeff) = 0x20DE4087000020DEULL;
@@ -0,0 +1,14 @@
diff -uNr Makefile flashlib-shared/Makefile
--- Makefile 1970-01-01 10:00:00.000000000 +1000
+++ Makefile 2009-04-10 13:26:42.259623543 +1000
@@ -0,0 +1,10 @@
+CXXFLAGS= -O2 -D_LINUX @PIC@
+
+all: FlashLib-@ARCH@-linux.so
+
+FlashLib-@ARCH@-linux.so: FlashLib.o FlashClient.o
+ gcc -shared -o FlashLib-@ARCH@-linux.so -Wl,--no-whole-archive FlashLib.o FlashClient.o -Wl
+
+clean:
+ rm -f *.o FlashLib-@ARCH@-linux.so
+
+16
View File
@@ -0,0 +1,16 @@
--- xbmc/utils/ArabicShaping.h.orig 2009-05-03 10:58:25.000000000 -0400
+++ xbmc/utils/ArabicShaping.h 2009-06-24 00:20:17.000000000 -0400
@@ -25,11 +25,7 @@
*
*/
-#ifndef _LINUX
#include "lib/libfribidi/fribidi.h"
-#else
-#include <fribidi/fribidi.h>
-#endif
/**
* Shapes an Arabic text chunk
+10
View File
@@ -0,0 +1,10 @@
--- Makefile.in.orig 2010-11-11 11:50:05.000000000 -0800
+++ Makefile.in 2010-11-11 11:50:23.000000000 -0800
@@ -144,6 +144,7 @@
LIBS += xbmc/lib/libmms/libmms-@ARCH@.a xbmc/lib/libmms/libintl-@ARCH@.a xbmc/lib/libmms/libglib-2.0-@ARCH@.a
else
LIBS += xbmc/lib/libsmb/libsmbclient-@ARCH@.a
+LIBS += -lmms
endif
.PHONY : dllloader exports visualizations screensavers eventclients papcodecs \
+86
View File
@@ -0,0 +1,86 @@
--- xbmc/visualizations/Goom/goom2k4-0/src/pngload.c.orig 2010-02-04 16:58:05.000000000 -0800
+++ xbmc/visualizations/Goom/goom2k4-0/src/pngload.c 2010-02-04 17:09:11.000000000 -0800
@@ -94,7 +94,7 @@
png_set_palette_to_rgb (png_ptr);
if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
- png_set_gray_1_2_4_to_8 (png_ptr);
+ png_set_expand_gray_1_2_4_to_8 (png_ptr);
else if (color_type == PNG_COLOR_TYPE_GRAY ||
color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
png_set_gray_to_rgb (png_ptr);
--- xbmc/screensavers/rsxs-0.9/src/pngimage.cc.orig 2010-02-04 16:56:46.000000000 -0800
+++ xbmc/screensavers/rsxs-0.9/src/pngimage.cc 2010-02-04 17:09:11.000000000 -0800
@@ -65,7 +65,7 @@
(png_get_color_type(png, pngInfo) == PNG_COLOR_TYPE_GRAY) &&
png_get_bit_depth(png, pngInfo) < 8
)
- png_set_gray_1_2_4_to_8(png);
+ png_set_expand_gray_1_2_4_to_8(png);
if (png_get_valid(png, pngInfo, PNG_INFO_tRNS))
png_set_tRNS_to_alpha(png);
if (fullColor)
--- xbmc/lib/cximage-6.0/CxImage/ximapng.cpp.orig 2010-02-04 16:52:27.000000000 -0800
+++ xbmc/lib/cximage-6.0/CxImage/ximapng.cpp 2010-02-04 17:27:34.000000000 -0800
@@ -144,9 +144,9 @@
if (info_ptr->num_trans!=0){ //palette transparency
if (info_ptr->num_trans==1){
if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE){
- info.nBkgndIndex = info_ptr->trans_values.index;
+ info.nBkgndIndex = info_ptr->trans_color.index;
} else{
- info.nBkgndIndex = info_ptr->trans_values.gray>>nshift;
+ info.nBkgndIndex = info_ptr->trans_color.gray>>nshift;
}
}
if (info_ptr->num_trans>1){
@@ -154,7 +154,7 @@
if (pal){
DWORD ip;
for (ip=0;ip<min(head.biClrUsed,(unsigned long)info_ptr->num_trans);ip++)
- pal[ip].rgbReserved=info_ptr->trans[ip];
+ pal[ip].rgbReserved=info_ptr->trans_alpha[ip];
for (ip=info_ptr->num_trans;ip<head.biClrUsed;ip++){
pal[ip].rgbReserved=255;
}
@@ -168,9 +168,9 @@
int num_trans;
png_color_16 *image_background;
if (png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans, &image_background)){
- info.nBkgndColor.rgbRed = (BYTE)(info_ptr->trans_values.red>>nshift);
- info.nBkgndColor.rgbGreen = (BYTE)(info_ptr->trans_values.green>>nshift);
- info.nBkgndColor.rgbBlue = (BYTE)(info_ptr->trans_values.blue>>nshift);
+ info.nBkgndColor.rgbRed = (BYTE)(info_ptr->trans_color.red>>nshift);
+ info.nBkgndColor.rgbGreen = (BYTE)(info_ptr->trans_color.green>>nshift);
+ info.nBkgndColor.rgbBlue = (BYTE)(info_ptr->trans_color.blue>>nshift);
info.nBkgndColor.rgbReserved = 0;
info.nBkgndIndex = 0;
}
@@ -421,12 +421,12 @@
if (info.nBkgndIndex >= 0){
info_ptr->num_trans = 1;
info_ptr->valid |= PNG_INFO_tRNS;
- info_ptr->trans = trans;
- info_ptr->trans_values.index = (BYTE)info.nBkgndIndex;
- info_ptr->trans_values.red = tc.rgbRed;
- info_ptr->trans_values.green = tc.rgbGreen;
- info_ptr->trans_values.blue = tc.rgbBlue;
- info_ptr->trans_values.gray = info_ptr->trans_values.index;
+ info_ptr->trans_alpha = trans;
+ info_ptr->trans_color.index = (BYTE)info.nBkgndIndex;
+ info_ptr->trans_color.red = tc.rgbRed;
+ info_ptr->trans_color.green = tc.rgbGreen;
+ info_ptr->trans_color.blue = tc.rgbBlue;
+ info_ptr->trans_color.gray = info_ptr->trans_color.index;
// the transparency indexes start from 0 for non grayscale palette
if (!bGrayScale && head.biClrUsed && info.nBkgndIndex)
@@ -447,7 +447,7 @@
trans[ip]=GetPaletteColor((BYTE)ip).rgbReserved;
info_ptr->num_trans = (WORD)nc;
info_ptr->valid |= PNG_INFO_tRNS;
- info_ptr->trans = trans;
+ info_ptr->trans_alpha = trans;
}
// copy the palette colors