diff --git a/media-tv/xbmc/Manifest b/media-tv/xbmc/Manifest new file mode 100644 index 0000000..5adc6ef --- /dev/null +++ b/media-tv/xbmc/Manifest @@ -0,0 +1,7 @@ +AUX xbmc-9.04-gcc.patch 2966 RMD160 cada277b78b85c8ddf6b539c3e8941b41c82ef35 SHA1 ff3eef31033a23385607c78436094958ab71457d SHA256 b7cf032b4208013a8935429c84c7597e4ec8be01599da0cfbf923ef4124305c5 +AUX xbmc-9999-libass.patch 13812 RMD160 e9f93ae0a71904a3740993de3fa6bd63cf67b02d SHA1 f5a9c9549380cd839437cb189284cd6b6b4dc536 SHA256 591bb3019031c743788c69380f0f3cb875dc9f44fd01eb74dfc8d04eb3378f33 +AUX xbmc-external-jbig-tiff.diff 1509 RMD160 23c317ab882580660b2dcb55151ddcc878b1e21e SHA1 d75eb1abb6c1e0eff30b30cd06110099e8d40e98 SHA256 d4883a9bf8963ec6debd581647a134f9de19df3f2a55ea28911892ab658ad22c +DIST 9.04.1_Babylon-linux-osx-win32-repack.tar.gz 171093731 RMD160 143f42f6eef827aad5d345610575c5e754d9222c SHA1 8d85d0e16861827ce535c1acd4b149099d7782c7 SHA256 2e2da9fd887ee578cac4896e1ae383007de67e27675bb030c361ea16bdb1ec98 +EBUILD xbmc-9.04.1.ebuild 3969 RMD160 64c5b4dc7fa8115bd270a59d2967e64a67479fac SHA1 99d61ccd62d1b788156899036676aec42c45c0fb SHA256 0dd54c04af1aa5a9df3c50841d1679724912d83f3be430bdad1fc3a3f8cfae83 +MISC Reasons 68 RMD160 0dca16b5369332c4af3064f9c231c79d9c42a6e0 SHA1 4c2cfbc30565f82a82e843019aaa4d3e1725f67d SHA256 a66039f2c69256096bb5a19314d11ae516916ee6c8979aa3ea09000835c9abc2 +MISC metadata.xml 259 RMD160 1451e37fea39b948f3e6f0c0eb20c8d9e41801f0 SHA1 73240b8832bc707628304061d6980bdf7d6baa28 SHA256 31764ed43ab7fbf241987d089733cd337e410b53f3135ff020a13ed24793af64 diff --git a/media-tv/xbmc/Reasons b/media-tv/xbmc/Reasons new file mode 100644 index 0000000..4fbc196 --- /dev/null +++ b/media-tv/xbmc/Reasons @@ -0,0 +1,2 @@ +# Fabio Erculiani +add jpeg-7 support patch diff --git a/media-tv/xbmc/files/xbmc-9.04-gcc.patch b/media-tv/xbmc/files/xbmc-9.04-gcc.patch new file mode 100644 index 0000000..f2adaca --- /dev/null +++ b/media-tv/xbmc/files/xbmc-9.04-gcc.patch @@ -0,0 +1,80 @@ +fix build error with gcc-4.4 + +--- xbmc/visualizations/XBMCProjectM/libprojectM/BuiltinParams.cpp ++++ xbmc/visualizations/XBMCProjectM/libprojectM/BuiltinParams.cpp +@@ -1,3 +1,4 @@ ++#include + + #include "fatal.h" + #include "BuiltinParams.hpp" + +http://xbmc.org/trac/ticket/6627 + +--- xbmc/cores/DllLoader/exports/exports_msvcrt.cpp ++++ xbmc/cores/DllLoader/exports/exports_msvcrt.cpp +@@ -307,6 +307,14 @@ + extern "C" void* track_fopen(); + extern "C" void* track_freopen(); + ++#if (__GNUC__ >= 4 && __GNUC_MINOR__ >= 4) ++#define strchr __builtin_strchr ++#define strrchr __builtin_strrchr ++#define strpbrk __builtin_strpbrk ++#define strstr __builtin_strstr ++#define memchr __builtin_memchr ++#endif ++ + Export export_msvcrt[] = + { + { "_close", -1, (void*)dll_close, (void*)track_close}, + +--- tools/XBMCTex/XBMCTex.cpp ++++ tools/XBMCTex/XBMCTex.cpp +@@ -659,7 +659,7 @@ + valid = true; + #ifdef _LINUX + char *c = NULL; +- while ((c = strchr(OutputFilename, '\\')) != NULL) *c = '/'; ++ while ((c = (char *)strchr(OutputFilename, '\\')) != NULL) *c = '/'; + #endif + } + else if (!stricmp(args[i], "-noprotect") || !stricmp(args[i], "-p")) + +--- xbmc/cores/paplayer/MACDll/Source/MACLib/APELink.cpp ++++ xbmc/cores/paplayer/MACDll/Source/MACLib/APELink.cpp +@@ -55,10 +55,10 @@ + if (pData != NULL) + { + // parse out the information +- char * pHeader = strstr(pData, APE_LINK_HEADER); +- char * pImageFile = strstr(pData, APE_LINK_IMAGE_FILE_TAG); +- char * pStartBlock = strstr(pData, APE_LINK_START_BLOCK_TAG); +- char * pFinishBlock = strstr(pData, APE_LINK_FINISH_BLOCK_TAG); ++ const char * pHeader = strstr(pData, APE_LINK_HEADER); ++ const char * pImageFile = strstr(pData, APE_LINK_IMAGE_FILE_TAG); ++ const char * pStartBlock = strstr(pData, APE_LINK_START_BLOCK_TAG); ++ const char * pFinishBlock = strstr(pData, APE_LINK_FINISH_BLOCK_TAG); + + if (pHeader && pImageFile && pStartBlock && pFinishBlock) + { +@@ -73,7 +73,7 @@ + + // get the path + char cImageFile[MAX_PATH + 1]; int nIndex = 0; +- char * pImageCharacter = &pImageFile[strlen(APE_LINK_IMAGE_FILE_TAG)]; ++ const char * pImageCharacter = &pImageFile[strlen(APE_LINK_IMAGE_FILE_TAG)]; + while ((*pImageCharacter != 0) && (*pImageCharacter != '\r') && (*pImageCharacter != '\n')) + cImageFile[nIndex++] = *pImageCharacter++; + cImageFile[nIndex] = 0; + +--- xbmc/lib/cximage-6.0/CxImage/DllInterface.cpp ++++ xbmc/lib/cximage-6.0/CxImage/DllInterface.cpp +@@ -51,7 +51,7 @@ + // helper functions + DWORD GetImageType(const char *file) + { // determines based on file extension the type of file +- char *ext = (char *)file + strlen(file) - 1; ++ const char *ext = file + strlen(file) - 1; + while (ext > file) + { + if (*ext == '.') diff --git a/media-tv/xbmc/files/xbmc-9999-libass.patch b/media-tv/xbmc/files/xbmc-9999-libass.patch new file mode 100644 index 0000000..0dec345 --- /dev/null +++ b/media-tv/xbmc/files/xbmc-9999-libass.patch @@ -0,0 +1,244 @@ +https://bugs.gentoo.org/285328 +http://xbmc.org/trac/ticket/7103 + +--- xbmc/cores/VideoRenderers/OverlayRendererGL.cpp ++++ xbmc/cores/VideoRenderers/OverlayRendererGL.cpp +@@ -340,8 +340,8 @@ + m_x = (float)0.0f; + m_y = (float)0.0f; + +- ass_image_t* images = o->m_libass->RenderImage((int)m_width, (int)m_height, pts); +- ass_image_t* img; ++ ASS_Image* images = o->m_libass->RenderImage((int)m_width, (int)m_height, pts); ++ ASS_Image* img; + + m_texture = ~(GLuint)0; + +--- xbmc/cores/dvdplayer/DVDOverlayRenderer.cpp ++++ xbmc/cores/dvdplayer/DVDOverlayRenderer.cpp +@@ -71,7 +71,7 @@ + height = pPicture->height; + width = pPicture->width; + +- ass_image_t* img = pOverlay->m_libass->RenderImage(width, height, pts); ++ ASS_Image* img = pOverlay->m_libass->RenderImage(width, height, pts); + + while(img) + { +--- xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitlesLibass.cpp ++++ xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitlesLibass.cpp +@@ -166,7 +166,7 @@ + return m_references; + } + +-ass_image_t* CDVDSubtitlesLibass::RenderImage(int imageWidth, int imageHeight, double pts) ++ASS_Image* CDVDSubtitlesLibass::RenderImage(int imageWidth, int imageHeight, double pts) + { + if(!m_renderer || !m_track) + { +@@ -178,7 +178,7 @@ + return m_dll.ass_render_frame(m_renderer, m_track, DVD_TIME_TO_MSEC(pts), NULL); + } + +-ass_event_t* CDVDSubtitlesLibass::GetEvents() ++ASS_Event* CDVDSubtitlesLibass::GetEvents() + { + if(!m_track) + { +--- xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitleParserSSA.cpp ++++ xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitleParserSSA.cpp +@@ -44,12 +44,12 @@ + return false; + + //Creating the overlays by going through the list of ass_events +- ass_event_t* assEvent = m_libass->GetEvents(); ++ ASS_Event* assEvent = m_libass->GetEvents(); + int numEvents = m_libass->GetNrOfEvents(); + + for(int i=0; i < numEvents; i++) + { +- ass_event_t* curEvent = (assEvent+i); ++ ASS_Event* curEvent = (assEvent+i); + if (curEvent) + { + CDVDOverlaySSA* overlay = new CDVDOverlaySSA(m_libass); +--- xbmc/cores/dvdplayer/DVDSubtitles/DllLibass.h ++++ xbmc/cores/dvdplayer/DVDSubtitles/DllLibass.h +@@ -38,25 +38,25 @@ + { + public: + virtual ~DllLibassInterface() {} +- virtual void ass_set_extract_fonts(ass_library_t* priv, int extract)=0; +- virtual void ass_set_fonts_dir(ass_library_t* priv, const char* fonts_dir)=0; +- virtual ass_library_t* ass_library_init(void)=0; +- virtual ass_renderer_t* ass_renderer_init(ass_library_t* library)=0; +- virtual void ass_set_frame_size(ass_renderer_t* priv, int w, int h)=0; +- virtual void ass_set_margins(ass_renderer_t* priv, int t, int b, int l, int r)=0; +- virtual void ass_set_use_margins(ass_renderer_t* priv, int use)=0; +- virtual void ass_set_font_scale(ass_renderer_t* priv, double font_scale)=0; +- virtual ass_image_t* ass_render_frame(ass_renderer_t *priv, ass_track_t* track, long long now, int* detect_change)=0; +- virtual ass_track_t* ass_new_track(ass_library_t*)=0; +- virtual ass_track_t* ass_read_file(ass_library_t* library, char* fname, char* codepage)=0; +- virtual void ass_free_track(ass_track_t* track)=0; +- virtual void ass_set_fonts(ass_renderer_t *priv, const char *default_font, const char *default_family, int fc, const char *config, int update) = 0; +- virtual void ass_set_style_overrides(ass_library_t* priv, char** list)=0; +- virtual void ass_library_done(ass_library_t* library)=0; +- virtual void ass_renderer_done(ass_renderer_t* renderer)=0; +- virtual void ass_process_chunk(ass_track_t* track, char *data, int size, long long timecode, long long duration)=0; +- virtual void ass_process_codec_private(ass_track_t* track, char *data, int size)=0; +- virtual void ass_set_message_cb(ass_library_t *priv ++ virtual void ass_set_extract_fonts(ASS_Library* priv, int extract)=0; ++ virtual void ass_set_fonts_dir(ASS_Library* priv, const char* fonts_dir)=0; ++ virtual ASS_Library* ass_library_init(void)=0; ++ virtual ASS_Renderer* ass_renderer_init(ASS_Library* library)=0; ++ virtual void ass_set_frame_size(ASS_Renderer* priv, int w, int h)=0; ++ virtual void ass_set_margins(ASS_Renderer* priv, int t, int b, int l, int r)=0; ++ virtual void ass_set_use_margins(ASS_Renderer* priv, int use)=0; ++ virtual void ass_set_font_scale(ASS_Renderer* priv, double font_scale)=0; ++ virtual ASS_Image* ass_render_frame(ASS_Renderer *priv, ASS_Track* track, long long now, int* detect_change)=0; ++ virtual ASS_Track* ass_new_track(ASS_Library*)=0; ++ virtual ASS_Track* ass_read_file(ASS_Library* library, char* fname, char* codepage)=0; ++ virtual void ass_free_track(ASS_Track* track)=0; ++ virtual void ass_set_fonts(ASS_Renderer *priv, const char *default_font, const char *default_family, int fc, const char *config, int update) = 0; ++ virtual void ass_set_style_overrides(ASS_Library* priv, char** list)=0; ++ virtual void ass_library_done(ASS_Library* library)=0; ++ virtual void ass_renderer_done(ASS_Renderer* renderer)=0; ++ virtual void ass_process_chunk(ASS_Track* track, char *data, int size, long long timecode, long long duration)=0; ++ virtual void ass_process_codec_private(ASS_Track* track, char *data, int size)=0; ++ virtual void ass_set_message_cb(ASS_Library *priv + , void (*msg_cb)(int level, const char *fmt, va_list args, void *data) + , void *data)=0; + }; +@@ -67,43 +67,43 @@ + { + public: + virtual ~DllLibass() {} +- virtual void ass_set_extract_fonts(ass_library_t* priv, int extract) ++ virtual void ass_set_extract_fonts(ASS_Library* priv, int extract) + { return ::ass_set_extract_fonts(priv, extract); } +- virtual void ass_set_fonts_dir(ass_library_t* priv, const char* fonts_dir) ++ virtual void ass_set_fonts_dir(ASS_Library* priv, const char* fonts_dir) + { return ::ass_set_fonts_dir(priv, fonts_dir); } +- virtual ass_library_t* ass_library_init(void) ++ virtual ASS_Library* ass_library_init(void) + { return ::ass_library_init(); } +- virtual ass_renderer_t* ass_renderer_init(ass_library_t* library) ++ virtual ASS_Renderer* ass_renderer_init(ASS_Library* library) + { return ::ass_renderer_init(library); } +- virtual void ass_set_frame_size(ass_renderer_t* priv, int w, int h) ++ virtual void ass_set_frame_size(ASS_Renderer* priv, int w, int h) + { return ::ass_set_frame_size(priv, w, h); } +- virtual void ass_set_margins(ass_renderer_t* priv, int t, int b, int l, int r) ++ virtual void ass_set_margins(ASS_Renderer* priv, int t, int b, int l, int r) + { return ::ass_set_margins(priv, t, b, l, r); } +- virtual void ass_set_use_margins(ass_renderer_t* priv, int use) ++ virtual void ass_set_use_margins(ASS_Renderer* priv, int use) + { return ::ass_set_use_margins(priv, use); } +- virtual void ass_set_font_scale(ass_renderer_t* priv, double font_scale) ++ virtual void ass_set_font_scale(ASS_Renderer* priv, double font_scale) + { return ::ass_set_font_scale(priv, font_scale); } +- virtual ass_image_t* ass_render_frame(ass_renderer_t *priv, ass_track_t* track, long long now, int* detect_change) ++ virtual ASS_Image* ass_render_frame(ASS_Renderer *priv, ASS_Track* track, long long now, int* detect_change) + { return ::ass_render_frame(priv, track, now, detect_change); } +- virtual ass_track_t* ass_new_track(ass_library_t* library) ++ virtual ASS_Track* ass_new_track(ASS_Library* library) + { return ::ass_new_track(library); } +- virtual ass_track_t* ass_read_file(ass_library_t* library, char* fname, char* codepage) ++ virtual ASS_Track* ass_read_file(ASS_Library* library, char* fname, char* codepage) + { return ::ass_read_file(library, fname, codepage); } +- virtual void ass_free_track(ass_track_t* track) ++ virtual void ass_free_track(ASS_Track* track) + { return ::ass_free_track(track); } +- virtual void ass_set_fonts(ass_renderer_t *priv, const char *default_font, const char *default_family, int fc, const char *config, int update) ++ virtual void ass_set_fonts(ASS_Renderer *priv, const char *default_font, const char *default_family, int fc, const char *config, int update) + { return ::ass_set_fonts(priv, default_font, default_family, fc, config, update); } +- virtual void ass_set_style_overrides(ass_library_t* priv, char** list) ++ virtual void ass_set_style_overrides(ASS_Library* priv, char** list) + { return ::ass_set_style_overrides(priv, list); } +- virtual void ass_library_done(ass_library_t* library) ++ virtual void ass_library_done(ASS_Library* library) + { return ::ass_library_done(library); } +- virtual void ass_renderer_done(ass_renderer_t* renderer) ++ virtual void ass_renderer_done(ASS_Renderer* renderer) + { return ::ass_renderer_done(renderer); } +- virtual void ass_process_chunk(ass_track_t* track, char *data, int size, long long timecode, long long duration) ++ virtual void ass_process_chunk(ASS_Track* track, char *data, int size, long long timecode, long long duration) + { return ::ass_process_chunk(track, data, size, timecode, duration); } +- virtual void ass_process_codec_private(ass_track_t* track, char *data, int size) ++ virtual void ass_process_codec_private(ASS_Track* track, char *data, int size) + { return ::ass_process_codec_private(track, data, size); } +- virtual void ass_set_message_cb(ass_library_t *priv ++ virtual void ass_set_message_cb(ASS_Library *priv + , void (*msg_cb)(int level, const char *fmt, va_list args, void *data) + , void *data) + { return ::ass_set_message_cb(priv, msg_cb, data); } +@@ -122,25 +122,25 @@ + class DllLibass : public DllDynamic, DllLibassInterface + { + DECLARE_DLL_WRAPPER(DllLibass, DLL_PATH_LIBASS) +- DEFINE_METHOD2(void, ass_set_extract_fonts, (ass_library_t * p1, int p2)) +- DEFINE_METHOD2(void, ass_set_fonts_dir, (ass_library_t * p1, const char * p2)) +- DEFINE_METHOD0(ass_library_t *, ass_library_init) +- DEFINE_METHOD1(ass_renderer_t *, ass_renderer_init, (ass_library_t * p1)) +- DEFINE_METHOD3(void, ass_set_frame_size, (ass_renderer_t * p1, int p2, int p3)) +- DEFINE_METHOD5(void, ass_set_margins, (ass_renderer_t * p1, int p2, int p3, int p4, int p5)) +- DEFINE_METHOD2(void, ass_set_use_margins, (ass_renderer_t * p1, int p2)) +- DEFINE_METHOD2(void, ass_set_font_scale, (ass_renderer_t * p1, double p2)) +- DEFINE_METHOD4(ass_image_t *, ass_render_frame, (ass_renderer_t * p1, ass_track_t * p2, long long p3, int * p4)) +- DEFINE_METHOD1(ass_track_t *, ass_new_track, (ass_library_t * p1)) +- DEFINE_METHOD3(ass_track_t *, ass_read_file, (ass_library_t * p1, char * p2, char * p3)) +- DEFINE_METHOD1(void, ass_free_track, (ass_track_t * p1)) +- DEFINE_METHOD6(void, ass_set_fonts, (ass_renderer_t* p1, const char* p2, const char* p3, int p4, const char* p5, int p6)) +- DEFINE_METHOD2(void, ass_set_style_overrides, (ass_library_t* p1, char** p2)) +- DEFINE_METHOD1(void, ass_library_done, (ass_library_t* p1)) +- DEFINE_METHOD1(void, ass_renderer_done, (ass_renderer_t* p1)) +- DEFINE_METHOD5(void, ass_process_chunk, (ass_track_t* p1, char* p2, int p3, long long p4, long long p5)) +- DEFINE_METHOD3(void, ass_process_codec_private, (ass_track_t* p1, char* p2, int p3)) +- DEFINE_METHOD3(void, ass_set_message_cb, (ass_library_t* p1, void (*p2)(int level, const char *fmt, va_list args, void *data), void* p3)) ++ DEFINE_METHOD2(void, ass_set_extract_fonts, (ASS_Library * p1, int p2)) ++ DEFINE_METHOD2(void, ass_set_fonts_dir, (ASS_Library * p1, const char * p2)) ++ DEFINE_METHOD0(ASS_Library *, ass_library_init) ++ DEFINE_METHOD1(ASS_Renderer *, ass_renderer_init, (ASS_Library * p1)) ++ DEFINE_METHOD3(void, ass_set_frame_size, (ASS_Renderer * p1, int p2, int p3)) ++ DEFINE_METHOD5(void, ass_set_margins, (ASS_Renderer * p1, int p2, int p3, int p4, int p5)) ++ DEFINE_METHOD2(void, ass_set_use_margins, (ASS_Renderer * p1, int p2)) ++ DEFINE_METHOD2(void, ass_set_font_scale, (ASS_Renderer * p1, double p2)) ++ DEFINE_METHOD4(ASS_Image *, ass_render_frame, (ASS_Renderer * p1, ASS_Track * p2, long long p3, int * p4)) ++ DEFINE_METHOD1(ASS_Track *, ass_new_track, (ASS_Library * p1)) ++ DEFINE_METHOD3(ASS_Track *, ass_read_file, (ASS_Library * p1, char * p2, char * p3)) ++ DEFINE_METHOD1(void, ass_free_track, (ASS_Track * p1)) ++ DEFINE_METHOD6(void, ass_set_fonts, (ASS_Renderer* p1, const char* p2, const char* p3, int p4, const char* p5, int p6)) ++ DEFINE_METHOD2(void, ass_set_style_overrides, (ASS_Library* p1, char** p2)) ++ DEFINE_METHOD1(void, ass_library_done, (ASS_Library* p1)) ++ DEFINE_METHOD1(void, ass_renderer_done, (ASS_Renderer* p1)) ++ DEFINE_METHOD5(void, ass_process_chunk, (ASS_Track* p1, char* p2, int p3, long long p4, long long p5)) ++ DEFINE_METHOD3(void, ass_process_codec_private, (ASS_Track* p1, char* p2, int p3)) ++ DEFINE_METHOD3(void, ass_set_message_cb, (ASS_Library* p1, void (*p2)(int level, const char *fmt, va_list args, void *data), void* p3)) + BEGIN_METHOD_RESOLVE() + RESOLVE_METHOD(ass_set_extract_fonts) + RESOLVE_METHOD(ass_set_fonts_dir) +--- xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitlesLibass.h ++++ xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitlesLibass.h +@@ -31,8 +31,8 @@ + CDVDSubtitlesLibass(); + ~CDVDSubtitlesLibass(); + +- ass_image_t* RenderImage(int imageWidth, int imageHeight, double pts); +- ass_event_t* GetEvents(); ++ ASS_Image* RenderImage(int imageWidth, int imageHeight, double pts); ++ ASS_Event* GetEvents(); + + int GetNrOfEvents(); + +@@ -47,8 +47,8 @@ + private: + DllLibass m_dll; + long m_references; +- ass_library_t* m_library; +- ass_track_t* m_track; +- ass_renderer_t* m_renderer; ++ ASS_Library* m_library; ++ ASS_Track* m_track; ++ ASS_Renderer* m_renderer; + }; + diff --git a/media-tv/xbmc/files/xbmc-external-jbig-tiff.diff b/media-tv/xbmc/files/xbmc-external-jbig-tiff.diff new file mode 100644 index 0000000..41b48ed --- /dev/null +++ b/media-tv/xbmc/files/xbmc-external-jbig-tiff.diff @@ -0,0 +1,41 @@ +--- xbmc/lib/cximage-6.0/Makefile.in ++++ xbmc/lib/cximage-6.0/Makefile.in +@@ -4,16 +4,16 @@ SO=ImageLib-$(ARCH).so + ARCHIVE=$(SO:.so=.a) + SYSDIR=../../../system + SLIB=$(SYSDIR)/$(SO) +-DIRS=CxImage raw jbig tiff +-SLIBS=CxImage/cximage.a raw/raw.a jbig/jbig.a tiff/tiff.a ++DIRS=CxImage raw ++SLIBS=CxImage/cximage.a raw/raw.a + + ifeq ($(findstring osx,$(ARCH)), osx) + export MACOSX_DEPLOYMENT_TARGET=10.4 + export ARCH + CFLAGS+=-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 + CXXFLAGS+=-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 +- DIRS+=jasper jpeg +- SLIBS+=jasper/jasper.a jpeg/jpeg.a ++ DIRS+=jasper ++ SLIBS+=jasper/jasper.a + else + DIRS+=zlib + SLIBS+=zlib/libz.a +@@ -23,13 +23,14 @@ endif + + $(SLIB): $(SLIBS) + ifeq ($(findstring osx,$(ARCH)), osx) +- $(CXX) -bundle -flat_namespace -undefined suppress -shared -fPIC -lpng -L/opt/local/lib \ ++ $(CXX) -bundle -flat_namespace -undefined suppress -shared -fPIC -lpng -ljpeg -ljbig -ltiff \ ++ -L/opt/local/lib \ + -mmacosx-version-min=10.4 -o $@ \ +- CxImage/*.o jasper/*/*.o jbig/*.o jpeg/*.o raw/*.o tiff/*.o ++ CxImage/*.o jasper/*/*.o raw/*.o + ../../../tools/Mach5/wrapper.rb $@;mv output.so $@ + chmod +x $@ + else +- $(CXX) -shared -o $(SLIB) -Wl,--whole-archive -lpng -ljasper -ljpeg \ ++ $(CXX) -shared -o $(SLIB) -Wl,--whole-archive -lpng -ljasper -ljpeg -ljbig -ltiff \ + $(SLIBS) -Wl,--no-whole-archive \ + `cat ../../cores/DllLoader/exports/wrapper.def` \ + ../../cores/DllLoader/exports/wrapper.o diff --git a/media-tv/xbmc/metadata.xml b/media-tv/xbmc/metadata.xml new file mode 100644 index 0000000..04763c7 --- /dev/null +++ b/media-tv/xbmc/metadata.xml @@ -0,0 +1,8 @@ + + + +xbox + + enable support for Video Decode and Presentation API for Unix + + diff --git a/media-tv/xbmc/xbmc-9.04.1.ebuild b/media-tv/xbmc/xbmc-9.04.1.ebuild new file mode 100644 index 0000000..f44e276 --- /dev/null +++ b/media-tv/xbmc/xbmc-9.04.1.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/xbmc-9.04.1.ebuild,v 1.3 2009/09/26 12:11:40 vapier Exp $ + +# XXX: be nice to split out packages that come bundled and use the +# system libraries ... + +EAPI="2" + +inherit eutils + +# Use XBMC_ESVN_REPO_URI to track a different branch +ESVN_REPO_URI=${XBMC_ESVN_REPO_URI:-http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk} +ESVN_PROJECT=${ESVN_REPO_URI##*/svnroot/} +ESVN_PROJECT=${ESVN_PROJECT%/*} +if [[ ${PV} == "9999" ]] ; then + inherit subversion + KEYWORDS="" +else + MY_P="${PV}_Babylon-linux-osx-win32" + SRC_URI="mirror://sourceforge/${PN}/XBMC%20Source%20Code/Babylon%20-%209.04/${MY_P}-repack.tar.gz" + KEYWORDS="~amd64 ~x86" + S=${WORKDIR}/${MY_P}/XBMC +fi + +DESCRIPTION="XBMC is a free and open source media-player and entertainment hub" +HOMEPAGE="http://xbmc.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="alsa debug joystick opengl profile pulseaudio vdpau" + +RDEPEND="opengl? ( virtual/opengl ) + app-arch/bzip2 + || ( app-arch/unrar app-arch/unrar-gpl ) + app-arch/unzip + app-arch/zip + app-i18n/enca + dev-db/sqlite:3 + >=dev-lang/python-2.4 + dev-libs/boost + dev-libs/fribidi + dev-libs/libcdio + dev-libs/libpcre + dev-libs/lzo + >=dev-python/pysqlite-2 + media-libs/a52dec + media-libs/alsa-lib + media-libs/faac + media-libs/flac + media-libs/fontconfig + media-libs/freetype + media-libs/glew + media-libs/jasper + media-libs/libdca + media-libs/libmad + media-libs/libpng + media-libs/libmms + media-libs/libmpeg2 + media-libs/libogg + media-libs/libsamplerate + media-libs/libsdl[alsa,audio,video,X] + media-libs/libvorbis + media-libs/sdl-gfx + media-libs/sdl-image[gif,jpeg,png] + media-libs/sdl-mixer + media-libs/sdl-sound + media-libs/tiff + media-libs/jbigkit + media-sound/wavpack + pulseaudio? ( media-sound/pulseaudio ) + media-video/ffmpeg + net-misc/curl + sys-apps/dbus + sys-apps/hal + sys-apps/pmount + virtual/mysql + x11-apps/xdpyinfo + x11-apps/mesa-progs + x11-libs/libXinerama + x11-libs/libXrandr + x11-libs/libXrender" +DEPEND="${RDEPEND} + x11-proto/xineramaproto + dev-util/cmake + x86? ( dev-lang/nasm )" + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + subversion_src_unpack + else + unpack ${A} + fi + cd "${S}" + + epatch "${FILESDIR}"/${PN}-9.04-gcc.patch + # Add jpeg-7 support + epatch "${FILESDIR}"/xbmc-external-jbig-tiff.diff + + # Avoid help2man + sed -i \ + -e '/HELP2MAN.*--output/s:.*:\ttouch $@:' \ + xbmc/lib/libcdio/libcdio/src/Makefile.in + + # Tweak autotool timestamps to avoid regeneration + find . '(' -name configure -o -name configure2 -o -name '*.pl' ')' -exec chmod a+rx {} + + find . -type f -exec touch -r configure {} + + + # Fix XBMC's final version string showing as "exported" + # instead of the SVN revision number. Also cleanup flags. + export SVN_REV=${ESVN_WC_REVISION:-exported} + sed -i -r -e '/DEBUG_FLAGS/s:-(g|O2)::' configure + sed -i -e 's:\:echo:' xbmc/lib/libhdhomerun/Makefile.in + # Avoid lsb-release dependency + sed -i \ + -e 's:/usr/bin/lsb_release -d:cat /etc/gentoo-release:' \ + xbmc/utils/SystemInfo.cpp + + # Fix case sensitivity + mv media/Fonts/{a,A}rial.ttf + mv media/{S,s}plash.png + + # Do not use termcap #262822 + sed -i 's:-ltermcap::' xbmc/lib/libPython/Python/configure + + # Unzip web content + cd web + unpack ./Project_Mayhem_III_webserver_*.zip +} + +src_configure() { + # Disable documentation generation + export ac_cv_path_LATEX=no + + econf \ + --disable-ccache \ + --disable-optimizations \ + $(use_enable debug) \ + $(use_enable joystick) \ + $(use_enable opengl gl) \ + $(use_enable profile profiling) \ + $(use_enable pulseaudio pulse) \ + $(use_enable vdpau) +} + +src_install() { + einstall || die "Install failed!" + + insinto /usr/share/applications + doins tools/Linux/xbmc.desktop + doicon tools/Linux/xbmc.png + + dodoc README.linux known_issues.txt + rm "${D}"/usr/share/xbmc/{README.linux,LICENSE.GPL,*.txt} +} + +pkg_postinst() { + elog "Visit http://xbmc.org/wiki/?title=XBMC_Online_Manual" +}