Added xbmc-9.11 build template. Finally!

This commit is contained in:
Juan RP 2010-12-14 22:47:44 +01:00
parent f75d0152f6
commit d57c185682
4 changed files with 403 additions and 0 deletions

View file

@ -0,0 +1,130 @@
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
index 9097519..9b6418d 100644
--- a/xbmc/Application.cpp
+++ b/xbmc/Application.cpp
@@ -236,7 +236,11 @@
#endif
#ifdef HAS_DVD_DRIVE
+#ifdef _WIN32
#include "lib/libcdio/logging.h"
+#else
+#include <cdio/logging.h>
+#endif
#endif
#ifdef HAS_HAL
diff --git a/xbmc/FileSystem/Makefile b/xbmc/FileSystem/Makefile
index 782d57a..1e524ed 100644
--- a/xbmc/FileSystem/Makefile
+++ b/xbmc/FileSystem/Makefile
@@ -1,5 +1,4 @@
-INCLUDES=-I. -I../ -I../cores -I../linux -I../../guilib -I../lib/UnrarXLib -I../utils -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-INCLUDES+=-I../lib/libcdio/libcdio/include
+INCLUDES=-I. -I../ -I../cores -I../linux -I../../guilib -I../lib/UnrarXLib -I../utils -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I../lib
CXXFLAGS+=-D__STDC_FORMAT_MACROS \
diff --git a/xbmc/FileSystem/cdioSupport.cpp b/xbmc/FileSystem/cdioSupport.cpp
index 00e5fdd..21a0b67 100644
--- a/xbmc/FileSystem/cdioSupport.cpp
+++ b/xbmc/FileSystem/cdioSupport.cpp
@@ -26,7 +26,7 @@
#include "cdioSupport.h"
#include "utils/SingleLock.h"
#include "utils/log.h"
-#ifndef _LINUX
+#ifdef _WIN32
#include "lib/libcdio/logging.h"
#include "lib/libcdio/util.h"
#include "lib/libcdio/mmc.h"
diff --git a/xbmc/FileSystem/iso9660.cpp b/xbmc/FileSystem/iso9660.cpp
index 6e1633f..58fbc50 100644
--- a/xbmc/FileSystem/iso9660.cpp
+++ b/xbmc/FileSystem/iso9660.cpp
@@ -44,7 +44,7 @@ ISO9660
#include "utils/CharsetConverter.h"
#include "DetectDVDType.h" // for MODE2_DATA_SIZE etc.
-#ifdef _LINUX
+#ifndef _WIN32
#include <cdio/bytesex.h>
#else
#include "lib/libcdio/bytesex.h" // for from_723 & from_733
diff --git a/xbmc/Makefile b/xbmc/Makefile
index abfbdcb..f55381a 100644
--- a/xbmc/Makefile
+++ b/xbmc/Makefile
@@ -8,8 +8,6 @@ INCLUDES+=-Ilib/libUPnP/Platinum/Source/Core \
-Ilib/libUPnP/Neptune/Source/System/Posix \
-Ilib/libUPnP/Neptune/Source/Core
-INCLUDES+=-Ilib/libcdio/libcdio/include
-
SRCS=Application.cpp \
CueDocument.cpp \
GUISettings.cpp \
diff --git a/xbmc/cdrip/CDDAReader.cpp b/xbmc/cdrip/CDDAReader.cpp
index c8b37b2..e3e9c0b 100644
--- a/xbmc/cdrip/CDDAReader.cpp
+++ b/xbmc/cdrip/CDDAReader.cpp
@@ -24,7 +24,11 @@
#ifdef HAS_CDDA_RIPPER
#include "CDDAReader.h"
+#ifdef _WIN32
#include "lib/libcdio/cdio.h"
+#else
+#include <cdio/cdio.h>
+#endif
#include "utils/log.h"
#define SECTOR_COUNT 52
diff --git a/xbmc/cores/paplayer/AC3CDDACodec.cpp b/xbmc/cores/paplayer/AC3CDDACodec.cpp
index 20cded7..f2a077a 100644
--- a/xbmc/cores/paplayer/AC3CDDACodec.cpp
+++ b/xbmc/cores/paplayer/AC3CDDACodec.cpp
@@ -22,7 +22,11 @@
#include "system.h"
#include "AC3CDDACodec.h"
#ifdef HAS_AC3_CDDA_CODEC
+#ifdef _WIN32
#include "lib/libcdio/sector.h"
+#else
+#include <cdio/sector.h>
+#endif
AC3CDDACodec::AC3CDDACodec() : AC3Codec()
{
diff --git a/xbmc/cores/paplayer/CDDAcodec.cpp b/xbmc/cores/paplayer/CDDAcodec.cpp
index ca8f1be..42460dc 100644
--- a/xbmc/cores/paplayer/CDDAcodec.cpp
+++ b/xbmc/cores/paplayer/CDDAcodec.cpp
@@ -20,7 +20,11 @@
*/
#include "CDDAcodec.h"
+#ifdef _WIN32
#include "lib/libcdio/sector.h"
+#else
+#include <cdio/sector.h>
+#endif
#define SECTOR_COUNT 55 // max. sectors that can be read at once
#define MAX_BUFFER_SIZE 2*SECTOR_COUNT*CDIO_CD_FRAMESIZE_RAW
diff --git a/xbmc/cores/paplayer/DTSCDDACodec.cpp b/xbmc/cores/paplayer/DTSCDDACodec.cpp
index e64cc2e..9bc46c6 100644
--- a/xbmc/cores/paplayer/DTSCDDACodec.cpp
+++ b/xbmc/cores/paplayer/DTSCDDACodec.cpp
@@ -22,7 +22,11 @@
#include "system.h"
#include "DTSCDDACodec.h"
#ifdef HAS_DTS_CODEC
+#ifdef _WIN32
#include "lib/libcdio/sector.h"
+#else
+#include <cdio/sector.h>
+#endif
DTSCDDACodec::DTSCDDACodec() : DTSCodec()
{

View file

@ -0,0 +1,92 @@
http://bugs.gentoo.org/319113
http://repos.archlinux.org/wsvn/community/xbmc/trunk/libpng14.patch
diff -Nur xbmc-9.11.orig/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp xbmc-9.11/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp
--- xbmc-9.11.orig/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp 2008-07-18 23:40:53.000000000 +0300
+++ xbmc-9.11/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp 2010-01-20 21:55:11.000000000 +0200
@@ -142,9 +142,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){
@@ -152,7 +152,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;
}
@@ -166,9 +166,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;
}
@@ -417,12 +417,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)
@@ -443,7 +443,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
diff -Nur xbmc-9.11.orig/xbmc/screensavers/rsxs-0.9/src/pngimage.cc xbmc-9.11/xbmc/screensavers/rsxs-0.9/src/pngimage.cc
--- xbmc-9.11.orig/xbmc/screensavers/rsxs-0.9/src/pngimage.cc 2008-07-30 23:35:38.000000000 +0300
+++ xbmc-9.11/xbmc/screensavers/rsxs-0.9/src/pngimage.cc 2010-01-20 22:21:01.000000000 +0200
@@ -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)
diff -Nur xbmc-9.11.orig/xbmc/visualizations/Goom/goom2k4-0/src/pngload.c xbmc-9.11/xbmc/visualizations/Goom/goom2k4-0/src/pngload.c
--- xbmc-9.11.orig/xbmc/visualizations/Goom/goom2k4-0/src/pngload.c 2008-08-04 05:05:51.000000000 +0300
+++ xbmc-9.11/xbmc/visualizations/Goom/goom2k4-0/src/pngload.c 2010-01-20 22:16:23.000000000 +0200
@@ -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);

View file

@ -0,0 +1,44 @@
fix from upstream trunk
http://xbmc.org/trac/ticket/8185
Index: trunk/xbmc/cores/paplayer/DllWAVPack.h
===================================================================
--- trunk/xbmc/cores/paplayer/DllWAVPack.h (revision 22927)
+++ trunk/xbmc/cores/paplayer/DllWAVPack.h (revision 25321)
@@ -58,7 +58,7 @@
virtual int WavpackGetReducedChannels (WavpackContext *wpc)=0;
virtual int WavpackGetFloatNormExp (WavpackContext *wpc)=0;
- virtual int WavpackGetMD5Sum (WavpackContext *wpc, uchar data [16])=0;
+ virtual int WavpackGetMD5Sum (WavpackContext *wpc, unsigned char data [16])=0;
virtual uint32_t WavpackGetWrapperBytes (WavpackContext *wpc)=0;
- virtual uchar *WavpackGetWrapperData (WavpackContext *wpc)=0;
+ virtual unsigned char *WavpackGetWrapperData (WavpackContext *wpc)=0;
virtual void WavpackFreeWrapper (WavpackContext *wpc)=0;
virtual void WavpackSeekTrailingWrapper (WavpackContext *wpc)=0;
@@ -77,5 +77,5 @@
virtual int WavpackSetConfiguration (WavpackContext *wpc, WavpackConfig *config, uint32_t total_samples)=0;
virtual int WavpackAddWrapper (WavpackContext *wpc, void *data, uint32_t bcount)=0;
- virtual int WavpackStoreMD5Sum (WavpackContext *wpc, uchar data [16])=0;
+ virtual int WavpackStoreMD5Sum (WavpackContext *wpc, unsigned char data [16])=0;
virtual int WavpackPackInit (WavpackContext *wpc)=0;
virtual int WavpackPackSamples (WavpackContext *wpc, int32_t *sample_buffer, uint32_t sample_count)=0;
@@ -133,9 +133,9 @@
virtual int WavpackGetFloatNormExp (WavpackContext *wpc)
{ return ::WavpackGetFloatNormExp (wpc); }
- virtual int WavpackGetMD5Sum (WavpackContext *wpc, uchar data [16])
+ virtual int WavpackGetMD5Sum (WavpackContext *wpc, unsigned char data [16])
{ return ::WavpackGetMD5Sum (wpc, data); }
virtual uint32_t WavpackGetWrapperBytes (WavpackContext *wpc)
{ return ::WavpackGetWrapperBytes (wpc); }
- virtual uchar *WavpackGetWrapperData (WavpackContext *wpc)
+ virtual unsigned char *WavpackGetWrapperData (WavpackContext *wpc)
{ return ::WavpackGetWrapperData (wpc); }
virtual void WavpackFreeWrapper (WavpackContext *wpc)
@@ -171,5 +171,5 @@
virtual int WavpackAddWrapper (WavpackContext *wpc, void *data, uint32_t bcount)
{ return ::WavpackAddWrapper (wpc, data, bcount); }
- virtual int WavpackStoreMD5Sum (WavpackContext *wpc, uchar data [16])
+ virtual int WavpackStoreMD5Sum (WavpackContext *wpc, unsigned char data [16])
{ return ::WavpackStoreMD5Sum (wpc, data); }
virtual int WavpackPackInit (WavpackContext *wpc)

137
srcpkgs/xbmc/template Normal file
View file

@ -0,0 +1,137 @@
# Template file for 'xbmc'
pkgname=xbmc
version=9.11
patch_args="-Np1"
distfiles="${SOURCEFORGE_SITE}/$pkgname/$pkgname-$version.tar.gz"
build_style=gnu_configure
short_desc="XBMC Media Center"
configure_args="--disable-external-liba52 --disable-external-libdts
--enable-external-libmpeg2 --enable-external-libogg --enable-goom
--enable-external-libwavpack --disable-external-libass --enable-gl
--disable-external-ffmpeg --disable-debug --disable-external-python"
make_install_target="prefix=${XBPS_DESTDIR}/${pkgname}-${version}/usr install"
maintainer="Juan RP <xtraeme@gmail.com>"
checksum=e810aaaf1c380bbe923d9e30e2e472577081b7b893e12a7ef4bb70a911c3db87
long_desc="
XBMC is an award-winning free and open source (GPL) software media player
and entertainment hub for digital media. XBMC is available for Linux, OSX,
Windows, and the original Xbox."
Add_dependency run glibc
Add_dependency run libXmu
Add_dependency run libstdc++
Add_dependency run libgcc
Add_dependency run libpng
Add_dependency run libjasper
Add_dependency run jpeg
Add_dependency run tiff
Add_dependency run zlib
Add_dependency run libXrandr
Add_dependency run libXrender
Add_dependency run libX11
Add_dependency run libwavpack
Add_dependency run libmpeg2
Add_dependency run avahi-libs
Add_dependency run faac
Add_dependency run libpulseaudio
Add_dependency run SDL_image
Add_dependency run SDL_mixer
Add_dependency run libsmbclient
Add_dependency run faad2
Add_dependency run libssl
Add_dependency run lzo
Add_dependency run libmysqlclient
Add_dependency run MesaLib
Add_dependency run glew
Add_dependency run libmad
Add_dependency run fontconfig
Add_dependency run fribidi
Add_dependency run sqlite
Add_dependency run libpcre
Add_dependency run libcdio
Add_dependency run glib
Add_dependency run freetype
Add_dependency run libogg
Add_dependency run libvorbis
Add_dependency run alsa-lib
Add_dependency run libenca
Add_dependency run libXt
Add_dependency run libXtst
Add_dependency run libXinerama
Add_dependency run libcurl
Add_dependency run dbus-libs
Add_dependency run libhal
Add_dependency run SDL
Add_dependency run libXext
Add_dependency build pkg-config
Add_dependency build automake
Add_dependency build libXmu-devel
Add_dependency build libstdc++-devel
Add_dependency build libpng-devel
Add_dependency build jasper-devel
Add_dependency build jpeg-devel
Add_dependency build tiff-devel
Add_dependency build zlib-devel
Add_dependency build libXrandr-devel
Add_dependency build libXrender-devel
Add_dependency build libX11-devel
Add_dependency build wavpack-devel
Add_dependency build libmpeg2-devel
Add_dependency build avahi-libs-devel
Add_dependency build faac-devel
Add_dependency build pulseaudio-devel
Add_dependency build SDL_image-devel
Add_dependency build SDL_mixer-devel
Add_dependency build samba-devel
Add_dependency build faad2-devel
Add_dependency build openssl-devel
Add_dependency build lzo-devel
Add_dependency build libmysqlclient-devel
Add_dependency build MesaLib-devel
Add_dependency build glew-devel
Add_dependency build libmad-devel
Add_dependency build fontconfig-devel
Add_dependency build fribidi-devel
Add_dependency build sqlite-devel
Add_dependency build pcre-devel
Add_dependency build libcdio-devel
Add_dependency build glib-devel
Add_dependency build freetype-devel
Add_dependency build libogg-devel
Add_dependency build libvorbis-devel
Add_dependency build alsa-lib-devel
Add_dependency build enca-devel
Add_dependency build libXt-devel
Add_dependency build libXtst-devel
Add_dependency build libXinerama-devel
Add_dependency build libcurl-devel
Add_dependency build dbus-devel
Add_dependency build libhal-devel
Add_dependency build SDL-devel
Add_dependency build libXext-devel
Add_dependency full desktop-file-utils
Add_dependency full mesa-demos # required glxinfo
pre_configure()
{
cd ${wrksrc} && ./bootstrap || return 1
sed -i -e 's:/usr/bin/lsb_release -d:/bin/true:' xbmc/utils/SystemInfo.cpp
sed -i 's: ftell64: dll_ftell64:' xbmc/cores/DllLoader/exports/wrapper.c
sed -i 's|cinfo.scale_denom = GetJpegScale();|cinfo.scale_denom = GetJpegScale(); cinfo.scale_num = 1;|' \
xbmc/lib/cximage-6.0/CxImage/ximajpg.cpp
}
post_install()
{
# Fix files containing invalid chars "&".
find ${DESTDIR} -type f | while read f; do
if $(echo "$f"|grep -q "&"); then
newf=$(echo "$f"|sed -e "s|&|and|g")
mv "$f" "$newf"
fi
done
# Fix path to xbmc.
sed -i "s#Exec=xbmc#Exec=/usr/bin/xbmc#" ${DESTDIR}/usr/share/applications/xbmc.desktop
}