diff options
6 files changed, 92 insertions, 45 deletions
diff --git a/abs/extra-testing/community/xbmc-svn/CHANGELOG b/abs/extra-testing/community/xbmc-svn/CHANGELOG index 170990b..258e5ef 100644 --- a/abs/extra-testing/community/xbmc-svn/CHANGELOG +++ b/abs/extra-testing/community/xbmc-svn/CHANGELOG @@ -1,5 +1,35 @@ xbmc-svn Change log: -------------------- +3rd June 2009 +20896 haggy: enabled external libs for every lib supported despite python and ffmpeg + enabling external python breaks python support in xbmc due to Arch's python + compiled with UCS2 support whereas xbmc expects UCS4. Enabling external ffmpeg + disables VDPAU and we don't want that for sure. + + IMPORTANT NOTE: If compilation breaks at configure step with some message about + not being able to compute the size of int or size_t, try running makepkg as root + with 'sudo makepkg --asroot'. This is a known issue and happens only on systems + linked to nvidia's libgl which causes binaries to segfault within a fakeroot + environment. pacman 3.3 will fix this by splitting configure and installation steps. + +1st June 2009 +20818 haggy: this is the last revision before external-libs-support got patched + in. Unfortunately this will not compile with fakeroot. waiting for + pacman 3.3 which can split up configure and make install steps. + +30th May 2009 +20793 haggy: removed gcc44-fixes.patch - got merged into svn + +29th May 2009 +20755 haggy: pushed rev as requested + +27th May 2009 +20705 haggy: added a patch which fixed compilation with GCC 4.4. + +21th May 2009 +20509 haggy: xbmc got updates on goom due to the jaunty build system update. i + i wiped all goom specific hacks from the PKGBUILD and it compiled + fine, so let's see what you guys achieve. 19th May 2009 20449-1 richy: 1. Removed the autoreconf line as it didn't seem to help diff --git a/abs/extra-testing/community/xbmc-svn/PKGBUILD b/abs/extra-testing/community/xbmc-svn/PKGBUILD index e583600..57efdca 100644 --- a/abs/extra-testing/community/xbmc-svn/PKGBUILD +++ b/abs/extra-testing/community/xbmc-svn/PKGBUILD @@ -5,7 +5,7 @@ # for his xbmc-vdpau-vdr PKGBUILD at https://archvdr.svn.sourceforge.net/svnroot/archvdr/trunk/archvdr/xbmc-vdpau-vdr/PKGBUILD pkgname=xbmc-svn -pkgver=20449 +pkgver=20948 pkgrel=1 pkgdesc="XBMC Media Center from SVN (linuxport branch)" provides=('xbmc') @@ -13,10 +13,12 @@ conflicts=('xbmc' 'xbmc-smoothvideo' 'xbmc-vdpau') arch=('i686' 'x86_64') url="http://xbmc.org" license=('GPL' 'LGPL') -depends=('alsa-lib' 'curl' 'enca' 'faac' 'freetype2' 'fribidi' 'gawk' 'glew' \ - 'hal' 'jasper' 'libgl' 'libjpeg>=6b-5' 'libmad' 'libmysqlclient' \ - 'libxinerama' 'libxrandr' 'lzo2' 'sdl_image' 'sdl_mixer' 'sqlite3' \ - 'tre' 'unzip' 'libcdio' 'libsamplerate' 'python') +depends=('alsa-lib' 'curl' 'enca' 'faac' 'freetype2' 'fribidi' 'gawk' 'glew' + 'hal' 'jasper' 'libgl' 'libjpeg>=6b-5' 'libmad' 'libmysqlclient' + 'libxinerama' 'libxrandr' 'lzo2' 'sdl_image' 'sdl_mixer' 'sqlite3' + 'tre' 'unzip' 'libcdio' 'libsamplerate' 'python' 'avahi' 'libmad' + 'a52dec' 'libdca' 'faad2' 'libmpeg2' 'libvorbis' 'libogg' + 'libmpcdec' 'flac' 'wavpack' 'xorg-utils') makedepends=('subversion' 'autoconf' 'automake' 'boost' 'cmake' 'gcc' 'gperf' 'libtool>=2.2.6a-1' 'make' 'nasm' 'patch' 'pkgconfig' 'zip' 'flex' 'bison') optdepends=('lirc: remote controller support' @@ -24,17 +26,14 @@ optdepends=('lirc: remote controller support' 'smbclient: access windows shares' 'unrar: access compressed files without unpacking them') install=("${pkgname}.install") -source=('libcurl-not-in-lib64.patch' \ - 'libfaad2-enable-AC_PROG_CXX.patch' \ +source=('libcurl-not-in-lib64.patch' 'xbmc-safe-fullscreen.patch' 'Lircmap.xml') -noextract=('libcurl-not-in-lib64.patch' \ - 'libfaad2-enable-AC_PROG_CXX.patch' \ - 'xbmc-safe-fullscreen.patch') - -md5sums=('96636ee964e37b78ca62235eb10d29c1' - '6864778d6adc3ccc79130c294f2fffd9' - 'c4d53522773846d8670884cc38f94aa0' +noextract=('libcurl-not-in-lib64.patch' + 'xbmc-safe-fullscreen.patch' + 'Lircmap.xml') +md5sums=('ac1244a5b4aad0e7d59e86a0d318df1b' + '809c684287b68621d3b19923bb57adfe' '3f93186f1ea4aad73011d00754c7265a') options=(!makeflags) @@ -60,36 +59,48 @@ build() { # Experimental safe fullscreen patch from the forums (by motd2k) msg "Patching with xbmc-safe-fullscreen.patch" - patch --quiet -p0 < "$srcdir/xbmc-safe-fullscreen.patch" || return 1 + patch -p0 < "$srcdir/xbmc-safe-fullscreen.patch" || return 1 # Arch's libcurl lives in /usr/lib, not /usr/lib64 - fix the path: msg "Patching with libcurl-not-in-lib64.patch" - patch --quiet -p0 < "$srcdir/libcurl-not-in-lib64.patch" || return 1 - - # libfaad2 complains about a missing AC_PROG_CXX - add it and bootstrap: - msg "Patching with libfaad2-enable-AC_PROG_CXX.patch" - patch --quiet -p0 < "$srcdir/libfaad2-enable-AC_PROG_CXX.patch" || return 1 - autoreconf -vif xbmc/cores/dvdplayer/Codecs/libfaad2 - - # libass needs a bootstrap due to newer autotools in Arch Linux - autoreconf -vif xbmc/lib/libass - - # Another autotools mismatch between Arch and Ubuntu (xbmc-linuxport is developed against Ubuntu) - autoreconf -vif "$srcdir/$_svnmod/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss" + patch -p0 < "$srcdir/libcurl-not-in-lib64.patch" || return 1 # Goom also needs a fixup due to newer autotools cd "$srcdir/$_svnmod/xbmc/visualizations/Goom/goom2k4-0" aclocal libtoolize --copy --force ./autogen.sh --enable-static --with-pic - + # Configure XBMC + # + # Note on external-libs: + # - We cannot use external python because Arch's python was built with + # UCS2 unicode support, whereas xbmc expects UCS4 support + # - We cannot use external ffmpeg as we would loose VDPAU functionality + # because Arch's ffmpeg package does not support VDPAU + # - We don't want to rely on AUR packages, so we also don't use libass + # as long as it's in AUR + msg "Configuring XBMC" cd "$srcdir/$_svnmod" make distclean ./configure --prefix=${_prefix} \ + --enable-external-libmad \ + --enable-external-liba52 \ + --enable-external-libdts \ + --enable-external-libfaad \ + --enable-external-libmpeg2 \ + --enable-external-libvorbis \ + --enable-external-libogg \ + --enable-external-libmpcdec \ + --enable-external-libflac \ + --enable-external-libwavpack \ + --disable-external-libass \ + --disable-external-python \ + --disable-external-ffmpeg \ --disable-debug || return 1 # Fix false negative detections of realloc that happens some times + msg "Fixing false negative detections of realloc" if grep -q 'HAVE_REALLOC 0' config.h; then sed -e 's|#define HAVE_REALLOC 0|#define HAVE_REALLOC 1|' \ -e 's|#define realloc rpl_realloc|/* #define realloc rpl_realloc */|' \ @@ -97,11 +108,14 @@ build() { fi # XBMCTex will segfault on systems with nvidia installed if linked to OpenGL + msg "Fixing XBMCTex on systems using the nvidia driver blob" sed -e 's/-lGLU -lGLEW -lGL//' \ -i ${srcdir}/$_svnmod/tools/XBMCTex/Makefile # Now (finally) build + msg "Running make" make || return 1 + msg "Running make install" make prefix=${pkgdir}${_prefix} install || return 1 # Install @@ -127,5 +141,5 @@ build() { done # Use custom Lircmap to support StreamZap remote - cp $srcdir/Lircmap.xml ${pkgdir}${_prefix}/share/xbmc/system/Lircmap.xml + cp ${srcdir}/Lircmap.xml ${pkgdir}${_prefix}/share/xbmc/system/Lircmap.xml } diff --git a/abs/extra-testing/community/xbmc-svn/libcurl-not-in-lib64.patch b/abs/extra-testing/community/xbmc-svn/libcurl-not-in-lib64.patch index b89db5a..54402ab 100644 --- a/abs/extra-testing/community/xbmc-svn/libcurl-not-in-lib64.patch +++ b/abs/extra-testing/community/xbmc-svn/libcurl-not-in-lib64.patch @@ -2,7 +2,7 @@ Index: Makefile.include.in =================================================================== --- Makefile.include.in (revision 20149) +++ Makefile.include.in (working copy) -@@ -24,7 +24,7 @@ +@@ -30,7 +30,7 @@ ifeq (linux,$(findstring linux, $(ARCH))) ifeq ($(ARCH), x86_64-linux) diff --git a/abs/extra-testing/community/xbmc-svn/libfaad2-enable-AC_PROG_CXX.patch b/abs/extra-testing/community/xbmc-svn/libfaad2-enable-AC_PROG_CXX.patch deleted file mode 100644 index 89d7497..0000000 --- a/abs/extra-testing/community/xbmc-svn/libfaad2-enable-AC_PROG_CXX.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: xbmc/cores/dvdplayer/Codecs/libfaad2/configure.in -=================================================================== ---- xbmc/cores/dvdplayer/Codecs/libfaad2/configure.in (revision 19486) -+++ xbmc/cores/dvdplayer/Codecs/libfaad2/configure.in (working copy) -@@ -18,7 +18,7 @@ - AC_PROG_CC - AC_PROG_CPP - dnl disable for mpeg4ip plugin --dnl AC_PROG_CXX -+AC_PROG_CXX - AC_PROG_INSTALL - AC_PROG_LN_S - AC_PROG_MAKE_SET diff --git a/abs/extra-testing/community/xbmc-svn/xbmc-safe-fullscreen.patch b/abs/extra-testing/community/xbmc-svn/xbmc-safe-fullscreen.patch index d112e52..2da0c91 100644 --- a/abs/extra-testing/community/xbmc-svn/xbmc-safe-fullscreen.patch +++ b/abs/extra-testing/community/xbmc-svn/xbmc-safe-fullscreen.patch @@ -2,7 +2,7 @@ Index: xbmc/Application.cpp =================================================================== --- xbmc/Application.cpp (revision 20059) +++ xbmc/Application.cpp (working copy) -@@ -873,6 +873,8 @@ +@@ -877,6 +877,8 @@ #endif // set GUI res and force the clear of the screen @@ -11,7 +11,7 @@ Index: xbmc/Application.cpp g_graphicsContext.SetVideoResolution(g_guiSettings.m_LookAndFeelResolution, TRUE, true); #ifdef _WIN32PC -@@ -949,6 +951,9 @@ +@@ -953,6 +955,9 @@ time(&seconds); srand((unsigned int)seconds); @@ -21,3 +21,15 @@ Index: xbmc/Application.cpp return CXBApplicationEx::Create(hWnd); } +Index: GUISettings.cpp +=================================================================== +--- xbmc/GUISettings.cpp (revision 20824) ++++ xbmc/GUISettings.cpp (working copy) +@@ -651,6 +651,7 @@ + #else + AddInt(6, "videoscreen.vsync", 13105, DEFAULT_VSYNC, VSYNC_DISABLED, 1, VSYNC_DRIVER, SPIN_CONTROL_TEXT); + #endif ++ AddBool(7, "videoscreen.safefull", 13121, false); + AddCategory(7, "filelists", 14018); + AddBool(1, "filelists.hideparentdiritems", 13306, false); + AddBool(2, "filelists.hideextensions", 497, false); diff --git a/abs/extra-testing/community/xbmc-svn/xbmc-svn.install b/abs/extra-testing/community/xbmc-svn/xbmc-svn.install index 9316bc8..acf409c 100644 --- a/abs/extra-testing/community/xbmc-svn/xbmc-svn.install +++ b/abs/extra-testing/community/xbmc-svn/xbmc-svn.install @@ -3,6 +3,10 @@ post_install() { echo ">> so that your display depth is at least 24-bit. Eg: change " echo ">> \"DefaultDepth 16\" under the \"Screen\" section so it says 24 instead" echo ">> of 16." + echo ">> If you have problems or suggestions for this PKGBUILD, have a look at its" + echo ">> dedicated forum thread: http://bbs.archlinux.org/viewtopic.php?pid=559107" + echo ">> or the wiki: http://xbmc.org/wiki/?title=XBMC_on_Arch_Linux_(Unofficial)" + echo /bin/true } |