From dd91ca69386ad656407707148bb9242cf861b0a1 Mon Sep 17 00:00:00 2001
From: Nathan Harris <nharris@eoimaging.com>
Date: Wed, 17 Jun 2009 08:38:53 -0400
Subject: xbmc-svn: updated to svn 20948

---
 abs/extra-testing/community/xbmc-svn/CHANGELOG     | 30 +++++++++
 abs/extra-testing/community/xbmc-svn/PKGBUILD      | 72 +++++++++++++---------
 .../community/xbmc-svn/libcurl-not-in-lib64.patch  |  2 +-
 .../xbmc-svn/libfaad2-enable-AC_PROG_CXX.patch     | 13 ----
 .../community/xbmc-svn/xbmc-safe-fullscreen.patch  | 16 ++++-
 .../community/xbmc-svn/xbmc-svn.install            |  4 ++
 6 files changed, 92 insertions(+), 45 deletions(-)
 delete mode 100644 abs/extra-testing/community/xbmc-svn/libfaad2-enable-AC_PROG_CXX.patch

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
 }
 
-- 
cgit v0.12

