summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-tv/xbmc')
-rw-r--r--media-tv/xbmc/ChangeLog11
-rw-r--r--media-tv/xbmc/files/xbmc-11.0-ffmpeg.patch46
-rw-r--r--media-tv/xbmc/files/xbmc-11.0-libav-r1.patch71
-rw-r--r--media-tv/xbmc/files/xbmc-11.0-libav.patch103
-rw-r--r--media-tv/xbmc/xbmc-11.0-r1.ebuild237
-rw-r--r--media-tv/xbmc/xbmc-11.0.ebuild13
6 files changed, 421 insertions, 60 deletions
diff --git a/media-tv/xbmc/ChangeLog b/media-tv/xbmc/ChangeLog
index 1e52fe2e0166..08688c7c9156 100644
--- a/media-tv/xbmc/ChangeLog
+++ b/media-tv/xbmc/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for media-tv/xbmc
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/ChangeLog,v 1.151 2012/10/24 22:36:12 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/ChangeLog,v 1.152 2012/11/14 07:59:15 scarabeus Exp $
+
+*xbmc-11.0-r1 (14 Nov 2012)
+
+ 14 Nov 2012; Tomáš Chvátal <scarabeus@gentoo.org>
+ +files/xbmc-11.0-ffmpeg.patch, +files/xbmc-11.0-libav-r1.patch,
+ +xbmc-11.0-r1.ebuild, files/xbmc-11.0-libav.patch, xbmc-11.0.ebuild:
+ Revision bump the huge patchset chage to testing as it seems broken, wrt
+ bug#443006. Keep the stable unaltered as it was supposed to be done from
+ start.
24 Oct 2012; Alexis Ballier <aballier@gentoo.org> xbmc-11.0.ebuild,
-files/xbmc-11.0-ffmpeg.patch, files/xbmc-11.0-libav.patch:
diff --git a/media-tv/xbmc/files/xbmc-11.0-ffmpeg.patch b/media-tv/xbmc/files/xbmc-11.0-ffmpeg.patch
new file mode 100644
index 000000000000..51372fdc1db9
--- /dev/null
+++ b/media-tv/xbmc/files/xbmc-11.0-ffmpeg.patch
@@ -0,0 +1,46 @@
+https://bugs.gentoo.org/406215
+
+From 97212837ec81c3869ba60e0690f26c09b9428747 Mon Sep 17 00:00:00 2001
+From: Tomas Chvatal <tchvatal@suse.cz>
+Date: Fri, 30 Mar 2012 10:00:46 +0200
+Subject: [PATCH] Ensure we include proper header on ffmpeg.
+
+---
+ configure.in | 3 +++
+ lib/DllAvFilter.h | 6 +++++-
+ 2 files changed, 8 insertions(+), 1 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index bca9239..d209f80 100755
+--- a/configure.in
++++ b/configure.in
+@@ -1229,6 +1229,9 @@ if test "$use_external_ffmpeg" = "yes"; then
+ AC_CHECK_HEADERS([libswscale/rgb2rgb.h],,)
+ AC_CHECK_HEADERS([ffmpeg/rgb2rgb.h],,)
+
++ # check for avcodec header as it is not present on libav
++ AC_CHECK_HEADERS([libavfilter/avcodec.h],,)
++
+ # Check if AVFilterBufferRefVideoProps AVRational member is named
+ # 'pixel_aspect' or 'sample_aspect_ratio'.
+ AC_CHECK_MEMBER([AVFilterBufferRefVideoProps.sample_aspect_ratio],
+diff --git a/lib/DllAvFilter.h b/lib/DllAvFilter.h
+index 827746e..d47623b 100644
+--- a/lib/DllAvFilter.h
++++ b/lib/DllAvFilter.h
+@@ -48,7 +48,11 @@ extern "C" {
+ #endif
+ /* for av_vsrc_buffer_add_frame */
+ #if LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,8,0)
+- #include <libavfilter/vsrc_buffer.h>
++ #if defined(HAVE_LIBAVFILTER_AVCODEC_H)
++ #include <libavfilter/avcodec.h>
++ #else
++ #include <libavfilter/vsrc_buffer.h>
++ #endif
+ #elif LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,7,0)
+ int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter,
+ AVFrame *frame);
+--
+1.7.3.4
+
diff --git a/media-tv/xbmc/files/xbmc-11.0-libav-r1.patch b/media-tv/xbmc/files/xbmc-11.0-libav-r1.patch
new file mode 100644
index 000000000000..84a215a72684
--- /dev/null
+++ b/media-tv/xbmc/files/xbmc-11.0-libav-r1.patch
@@ -0,0 +1,71 @@
+Patch rebased to current patches backported from upstream by Alexis Ballier.
+Based on the previous patch, submitted upstream but not merged it seems:
+
+https://bugs.gentoo.org/406215
+
+From c74abc298e2075f431d9fa700fcfc5e1bbbddf22 Mon Sep 17 00:00:00 2001
+From: Tomas Chvatal <tchvatal@suse.cz>
+Date: Fri, 23 Mar 2012 12:08:53 +0100
+Subject: [PATCH 2/2] Add support for libav api as it sligthly differ.
+
+The libav use micro version as 0
+The ffmpeg use the micro version as 100+
+
+Simply check if the variable is defined then it is not libav.
+Index: xbmc-11.0/lib/DllAvFilter.h
+===================================================================
+--- xbmc-11.0.orig/lib/DllAvFilter.h
++++ xbmc-11.0/lib/DllAvFilter.h
+@@ -45,7 +45,11 @@ extern "C" {
+ #if (defined HAVE_LIBAVFILTER_AVFILTER_H)
+ #include <libavfilter/avfiltergraph.h>
+ #include <libavfilter/buffersink.h>
+- #include <libavfilter/avcodec.h>
++ #if LIBAVFILTER_VERSION_MICRO < 50 // Libav
++ #include <libavfilter/vsrc_buffer.h>
++ #else
++ #include <libavfilter/avcodec.h>
++ #endif
+ #elif (defined HAVE_FFMPEG_AVFILTER_H)
+ #include <ffmpeg/avfiltergraph.h>
+ #include <ffmpeg/buffersink.h>
+@@ -75,7 +79,11 @@ public:
+ virtual int avfilter_graph_parse(AVFilterGraph *graph, const char *filters, AVFilterInOut **inputs, AVFilterInOut **outputs, void *log_ctx)=0;
+ virtual int avfilter_graph_config(AVFilterGraph *graphctx, void *log_ctx)=0;
+ #if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)
++#if LIBAVFILTER_VERSION_MICRO < 50 // Libav
++ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int64_t pts, AVRational pixel_aspect)=0;
++#else
+ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags)=0;
++#endif
+ #else
+ virtual int av_buffersrc_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags)=0;
+ #endif
+@@ -135,7 +143,11 @@ public:
+ return ::avfilter_graph_config(graphctx, log_ctx);
+ }
+ #if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)
++#if LIBAVFILTER_VERSION_MICRO < 50 // Libav
++ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int64_t pts, AVRational pixel_aspect) { return ::av_vsrc_buffer_add_frame(buffer_filter, frame, pts, pixel_aspect); }
++#else
+ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags) { return ::av_vsrc_buffer_add_frame(buffer_filter, frame, flags); }
++#endif
+ #else
+ virtual int av_buffersrc_add_frame(AVFilterContext *buffer_filter, AVFrame* frame, int flags) { return ::av_buffersrc_add_frame(buffer_filter, frame, flags); }
+ #endif
+Index: xbmc-11.0/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+===================================================================
+--- xbmc-11.0.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
++++ xbmc-11.0/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+@@ -833,7 +833,11 @@ int CDVDVideoCodecFFmpeg::FilterProcess(
+ if (frame)
+ {
+ #if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)
++#if LIBAVFILTER_VERSION_MICRO < 50 // Libav
++ result = m_dllAvFilter.av_vsrc_buffer_add_frame(m_pFilterIn, frame, frame->pts, m_pCodecContext->sample_aspect_ratio);
++#else
+ result = m_dllAvFilter.av_vsrc_buffer_add_frame(m_pFilterIn, frame, 0);
++#endif
+ #else
+ result = m_dllAvFilter.av_buffersrc_add_frame(m_pFilterIn, frame, 0);
+ #endif
diff --git a/media-tv/xbmc/files/xbmc-11.0-libav.patch b/media-tv/xbmc/files/xbmc-11.0-libav.patch
index 84a215a72684..0aaa1ce41849 100644
--- a/media-tv/xbmc/files/xbmc-11.0-libav.patch
+++ b/media-tv/xbmc/files/xbmc-11.0-libav.patch
@@ -1,6 +1,3 @@
-Patch rebased to current patches backported from upstream by Alexis Ballier.
-Based on the previous patch, submitted upstream but not merged it seems:
-
https://bugs.gentoo.org/406215
From c74abc298e2075f431d9fa700fcfc5e1bbbddf22 Mon Sep 17 00:00:00 2001
@@ -12,60 +9,64 @@ The libav use micro version as 0
The ffmpeg use the micro version as 100+
Simply check if the variable is defined then it is not libav.
-Index: xbmc-11.0/lib/DllAvFilter.h
-===================================================================
---- xbmc-11.0.orig/lib/DllAvFilter.h
-+++ xbmc-11.0/lib/DllAvFilter.h
-@@ -45,7 +45,11 @@ extern "C" {
- #if (defined HAVE_LIBAVFILTER_AVFILTER_H)
- #include <libavfilter/avfiltergraph.h>
- #include <libavfilter/buffersink.h>
+---
+ lib/DllAvFilter.h | 10 +++++++++-
+ .../DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 4 ++++
+ 2 files changed, 13 insertions(+), 1 deletions(-)
+
+diff --git a/lib/DllAvFilter.h b/lib/DllAvFilter.h
+index 302e35c..827746e 100644
+--- a/lib/DllAvFilter.h
++++ b/lib/DllAvFilter.h
+@@ -48,7 +48,7 @@ extern "C" {
+ #endif
+ /* for av_vsrc_buffer_add_frame */
+ #if LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,8,0)
- #include <libavfilter/avcodec.h>
-+ #if LIBAVFILTER_VERSION_MICRO < 50 // Libav
-+ #include <libavfilter/vsrc_buffer.h>
-+ #else
-+ #include <libavfilter/avcodec.h>
-+ #endif
- #elif (defined HAVE_FFMPEG_AVFILTER_H)
- #include <ffmpeg/avfiltergraph.h>
- #include <ffmpeg/buffersink.h>
-@@ -75,7 +79,11 @@ public:
- virtual int avfilter_graph_parse(AVFilterGraph *graph, const char *filters, AVFilterInOut **inputs, AVFilterInOut **outputs, void *log_ctx)=0;
- virtual int avfilter_graph_config(AVFilterGraph *graphctx, void *log_ctx)=0;
- #if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)
-+#if LIBAVFILTER_VERSION_MICRO < 50 // Libav
-+ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int64_t pts, AVRational pixel_aspect)=0;
-+#else
++ #include <libavfilter/vsrc_buffer.h>
+ #elif LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,7,0)
+ int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter,
+ AVFrame *frame);
+@@ -83,7 +83,11 @@ public:
+ virtual int avfilter_poll_frame(AVFilterLink *link)=0;
+ virtual int avfilter_request_frame(AVFilterLink *link)=0;
+ #if LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,13,0)
++#if LIBAVFILTER_VERSION_MICRO
virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags)=0;
-+#endif
- #else
- virtual int av_buffersrc_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags)=0;
- #endif
-@@ -135,7 +143,11 @@ public:
- return ::avfilter_graph_config(graphctx, log_ctx);
- }
- #if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)
-+#if LIBAVFILTER_VERSION_MICRO < 50 // Libav
-+ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int64_t pts, AVRational pixel_aspect) { return ::av_vsrc_buffer_add_frame(buffer_filter, frame, pts, pixel_aspect); }
+#else
++ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int64_t pts, AVRational pixel_aspect)=0;
++#endif
+ #elif LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,7,0)
+ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame)=0;
+ #elif LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53,3,0)
+@@ -172,7 +176,11 @@ public:
+ virtual int avfilter_poll_frame(AVFilterLink *link) { return ::avfilter_poll_frame(link); }
+ virtual int avfilter_request_frame(AVFilterLink *link) { return ::avfilter_request_frame(link); }
+ #if LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,13,0)
++#if LIBAVFILTER_VERSION_MICRO
virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags) { return ::av_vsrc_buffer_add_frame(buffer_filter, frame, flags); }
++#else
++ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int64_t pts, AVRational pixel_aspect) { return ::av_vsrc_buffer_add_frame(buffer_filter, frame, pts, pixel_aspect); }
+#endif
- #else
- virtual int av_buffersrc_add_frame(AVFilterContext *buffer_filter, AVFrame* frame, int flags) { return ::av_buffersrc_add_frame(buffer_filter, frame, flags); }
- #endif
-Index: xbmc-11.0/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
-===================================================================
---- xbmc-11.0.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
-+++ xbmc-11.0/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
-@@ -833,7 +833,11 @@ int CDVDVideoCodecFFmpeg::FilterProcess(
+ #elif LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,7,0)
+ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame) { return ::av_vsrc_buffer_add_frame(buffer_filter, frame); }
+ #elif LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53,3,0)
+diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+index b4e1451..4e5eedf 100644
+--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+@@ -814,7 +814,11 @@ int CDVDVideoCodecFFmpeg::FilterProcess(AVFrame* frame)
if (frame)
{
- #if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)
-+#if LIBAVFILTER_VERSION_MICRO < 50 // Libav
-+ result = m_dllAvFilter.av_vsrc_buffer_add_frame(m_pFilterIn, frame, frame->pts, m_pCodecContext->sample_aspect_ratio);
-+#else
+ #if LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,13,0)
++#if LIBAVFILTER_VERSION_MICRO
result = m_dllAvFilter.av_vsrc_buffer_add_frame(m_pFilterIn, frame, 0);
++#else
++ result = m_dllAvFilter.av_vsrc_buffer_add_frame(m_pFilterIn, frame, frame->pts, m_pCodecContext->sample_aspect_ratio);
+#endif
- #else
- result = m_dllAvFilter.av_buffersrc_add_frame(m_pFilterIn, frame, 0);
- #endif
+ #elif LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,7,0)
+ result = m_dllAvFilter.av_vsrc_buffer_add_frame(m_pFilterIn, frame);
+ #elif LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53,3,0)
+--
+1.7.3.4
+
diff --git a/media-tv/xbmc/xbmc-11.0-r1.ebuild b/media-tv/xbmc/xbmc-11.0-r1.ebuild
new file mode 100644
index 000000000000..bc4c0b19a144
--- /dev/null
+++ b/media-tv/xbmc/xbmc-11.0-r1.ebuild
@@ -0,0 +1,237 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/xbmc-11.0-r1.ebuild,v 1.1 2012/11/14 07:59:15 scarabeus Exp $
+
+EAPI="4"
+
+# Does not work with py3 here
+# It might work with py:2.5 but I didn't test that
+PYTHON_DEPEND="2:2.6"
+
+inherit eutils python
+
+EGIT_REPO_URI="git://github.com/xbmc/xbmc.git"
+if [[ ${PV} == "9999" ]] ; then
+ inherit git-2 autotools
+else
+ inherit autotools
+ MY_P=${P/_/-*_}
+ SRC_URI="http://mirrors.xbmc.org/releases/source/${MY_P}.tar.gz
+ http://dev.gentoo.org/~aballier/distfiles/${P}-ffmpeg-1.0-compat-1.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+ S=${WORKDIR}/${MY_P}
+fi
+
+DESCRIPTION="XBMC is a free and open source media-player and entertainment hub"
+HOMEPAGE="http://xbmc.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="airplay alsa altivec avahi bluetooth bluray cec css debug goom joystick midi mysql profile +projectm pulseaudio pvr +rsxs rtmp +samba sse sse2 udev vaapi vdpau webserver +xrandr"
+REQUIRED_USE="pvr? ( mysql )"
+
+COMMON_DEPEND="virtual/opengl
+ app-arch/bzip2
+ app-arch/unzip
+ app-arch/zip
+ app-i18n/enca
+ airplay? ( app-pda/libplist )
+ >=dev-lang/python-2.4
+ dev-libs/boost
+ dev-libs/fribidi
+ dev-libs/libcdio[-minimal]
+ cec? ( dev-libs/libcec )
+ dev-libs/libpcre[cxx]
+ >=dev-libs/lzo-2.04
+ dev-libs/yajl
+ >=dev-python/pysqlite-2
+ dev-python/simplejson
+ media-libs/alsa-lib
+ media-libs/flac
+ media-libs/fontconfig
+ media-libs/freetype
+ >=media-libs/glew-1.5.6
+ media-libs/jasper
+ media-libs/jbigkit
+ virtual/jpeg
+ >=media-libs/libass-0.9.7
+ bluray? ( media-libs/libbluray )
+ css? ( media-libs/libdvdcss )
+ media-libs/libmad
+ media-libs/libmodplug
+ media-libs/libmpeg2
+ media-libs/libogg
+ media-libs/libpng
+ projectm? ( media-libs/libprojectm )
+ media-libs/libsamplerate
+ media-libs/libsdl[audio,opengl,video,X]
+ alsa? ( media-libs/libsdl[alsa] )
+ media-libs/libvorbis
+ media-libs/sdl-gfx
+ >=media-libs/sdl-image-1.2.10[gif,jpeg,png]
+ media-libs/sdl-mixer
+ media-libs/sdl-sound
+ media-libs/tiff
+ pulseaudio? ( media-sound/pulseaudio )
+ media-sound/wavpack
+ || ( media-libs/libpostproc <media-video/libav-0.8.2-r1 media-video/ffmpeg )
+ >=virtual/ffmpeg-0.10.2[encode]
+ rtmp? ( media-video/rtmpdump )
+ avahi? ( net-dns/avahi )
+ webserver? ( net-libs/libmicrohttpd )
+ net-misc/curl
+ samba? ( >=net-fs/samba-3.4.6[smbclient] )
+ bluetooth? ( net-wireless/bluez )
+ sys-apps/dbus
+ sys-libs/zlib
+ mysql? ( virtual/mysql )
+ x11-apps/xdpyinfo
+ x11-apps/mesa-progs
+ vaapi? ( x11-libs/libva[opengl] )
+ vdpau? (
+ || ( x11-libs/libvdpau >=x11-drivers/nvidia-drivers-180.51 )
+ virtual/ffmpeg[vdpau]
+ )
+ x11-libs/libXinerama
+ xrandr? ( x11-libs/libXrandr )
+ x11-libs/libXrender"
+RDEPEND="${COMMON_DEPEND}
+ udev? ( sys-fs/udisks:0 sys-power/upower )"
+DEPEND="${COMMON_DEPEND}
+ dev-util/gperf
+ x11-proto/xineramaproto
+ dev-util/cmake
+ x86? ( dev-lang/nasm )"
+
+pkg_setup() {
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]] ; then
+ git-2_src_unpack
+ cd "${S}"
+ rm -f configure
+ else
+ unpack ${A}
+ cd "${S}"
+ fi
+
+ # Fix case sensitivity
+ mv media/Fonts/{a,A}rial.ttf || die
+ mv media/{S,s}plash.png || die
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-11.0-nomythtv.patch
+ epatch "${FILESDIR}"/${PN}-11.0-no-arm-flags.patch #400617
+ epatch "${FILESDIR}"/${PN}-11.0-no-exec-stack.patch
+ EPATCH_MULTI_MSG="Applying patches from upstream to fix building with recent FFmpeg versions..." \
+ EPATCH_SUFFIX="patch" \
+ epatch "${WORKDIR}/${P}-ffmpeg-1.0-compat" #438842
+ epatch "${FILESDIR}"/${PN}-11.0-ffmpeg-0.10.2.patch #406215
+ epatch "${FILESDIR}"/${PN}-11.0-libav-r1.patch #406215
+ # The mythtv patch touches configure.ac, so force a regen
+ rm -f configure
+
+ # some dirs ship generated autotools, some dont
+ local d
+ for d in \
+ . \
+ lib/{libdvd/lib*/,cpluff,libapetag,libid3tag/libid3tag} \
+ xbmc/screensavers/rsxs-* \
+ xbmc/visualizations/Goom/goom2k4-0
+ do
+ [[ -e ${d}/configure ]] && continue
+ pushd ${d} >/dev/null
+ eautoreconf
+ popd >/dev/null
+ done
+
+ local squish #290564
+ use altivec && squish="-DSQUISH_USE_ALTIVEC=1 -maltivec"
+ use sse && squish="-DSQUISH_USE_SSE=1 -msse"
+ use sse2 && squish="-DSQUISH_USE_SSE=2 -msse2"
+ sed -i \
+ -e '/^CXXFLAGS/{s:-D[^=]*=.::;s:-m[[:alnum:]]*::}' \
+ -e "1iCXXFLAGS += ${squish}" \
+ lib/libsquish/Makefile.in || die
+
+ # Disable internal func checks as our USE/DEPEND
+ # stuff handles this just fine already #408395
+ export ac_cv_lib_avcodec_ff_vdpau_vc1_decode_picture=yes
+
+ # Fix XBMC's final version string showing as "exported"
+ # instead of the SVN revision number.
+ export HAVE_GIT=no GIT_REV=${EGIT_VERSION:-exported}
+
+ # Avoid lsb-release dependency
+ sed -i \
+ -e 's:lsb_release -d:cat /etc/gentoo-release:' \
+ xbmc/utils/SystemInfo.cpp || die
+
+ # avoid long delays when powerkit isn't running #348580
+ sed -i \
+ -e '/dbus_connection_send_with_reply_and_block/s:-1:3000:' \
+ xbmc/linux/*.cpp || die
+
+ epatch_user #293109
+
+ # Tweak autotool timestamps to avoid regeneration
+ find . -type f -print0 | xargs -0 touch -r configure
+}
+
+src_configure() {
+ # Disable documentation generation
+ export ac_cv_path_LATEX=no
+ # Avoid help2man
+ export HELP2MAN=$(type -P help2man || echo true)
+ # No configure flage for this #403561
+ export ac_cv_lib_bluetooth_hci_devid=$(usex bluetooth)
+
+ econf \
+ --docdir=/usr/share/doc/${PF} \
+ --disable-ccache \
+ --disable-optimizations \
+ --enable-external-libraries \
+ --enable-gl \
+ $(use_enable airplay) \
+ $(use_enable avahi) \
+ $(use_enable bluray libbluray) \
+ $(use_enable cec libcec) \
+ $(use_enable css dvdcss) \
+ $(use_enable debug) \
+ $(use_enable goom) \
+ --disable-hal \
+ $(use_enable joystick) \
+ $(use_enable midi mid) \
+ $(use_enable mysql) \
+ $(use_enable profile profiling) \
+ $(use_enable projectm) \
+ $(use_enable pulseaudio pulse) \
+ $(use_enable pvr mythtv) \
+ $(use_enable rsxs) \
+ $(use_enable rtmp) \
+ $(use_enable samba) \
+ $(use_enable vaapi) \
+ $(use_enable vdpau) \
+ $(use_enable webserver) \
+ $(use_enable xrandr)
+}
+
+src_install() {
+ default
+ rm "${ED}"/usr/share/doc/*/{LICENSE.GPL,copying.txt}*
+
+ domenu tools/Linux/xbmc.desktop
+ newicon tools/Linux/xbmc-48x48.png xbmc.png
+
+ insinto "$(python_get_sitedir)" #309885
+ doins tools/EventClients/lib/python/xbmcclient.py || die
+ newbin "tools/EventClients/Clients/XBMC Send/xbmc-send.py" xbmc-send || die
+}
+
+pkg_postinst() {
+ elog "Visit http://wiki.xbmc.org/?title=XBMC_Online_Manual"
+}
diff --git a/media-tv/xbmc/xbmc-11.0.ebuild b/media-tv/xbmc/xbmc-11.0.ebuild
index 5763c29d12b0..98969348ea9b 100644
--- a/media-tv/xbmc/xbmc-11.0.ebuild
+++ b/media-tv/xbmc/xbmc-11.0.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/xbmc-11.0.ebuild,v 1.15 2012/10/24 22:36:12 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/xbmc-11.0.ebuild,v 1.16 2012/11/14 07:59:15 scarabeus Exp $
EAPI="4"
@@ -16,9 +16,8 @@ if [[ ${PV} == "9999" ]] ; then
else
inherit autotools
MY_P=${P/_/-*_}
- SRC_URI="http://mirrors.xbmc.org/releases/source/${MY_P}.tar.gz
- http://dev.gentoo.org/~aballier/distfiles/${P}-ffmpeg-1.0-compat-1.tar.bz2"
- KEYWORDS="amd64 x86"
+ SRC_URI="http://mirrors.xbmc.org/releases/source/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
S=${WORKDIR}/${MY_P}
fi
@@ -75,7 +74,7 @@ COMMON_DEPEND="virtual/opengl
pulseaudio? ( media-sound/pulseaudio )
media-sound/wavpack
|| ( media-libs/libpostproc <media-video/libav-0.8.2-r1 media-video/ffmpeg )
- >=virtual/ffmpeg-0.10.2[encode]
+ >=virtual/ffmpeg-0.6[encode]
rtmp? ( media-video/rtmpdump )
avahi? ( net-dns/avahi )
webserver? ( net-libs/libmicrohttpd )
@@ -127,11 +126,9 @@ src_prepare() {
epatch "${FILESDIR}"/${PN}-11.0-nomythtv.patch
epatch "${FILESDIR}"/${PN}-11.0-no-arm-flags.patch #400617
epatch "${FILESDIR}"/${PN}-11.0-no-exec-stack.patch
- EPATCH_MULTI_MSG="Applying patches from upstream to fix building with recent FFmpeg versions..." \
- EPATCH_SUFFIX="patch" \
- epatch "${WORKDIR}/${P}-ffmpeg-1.0-compat" #438842
epatch "${FILESDIR}"/${PN}-11.0-ffmpeg-0.10.2.patch #406215
epatch "${FILESDIR}"/${PN}-11.0-libav.patch #406215
+ epatch "${FILESDIR}"/${PN}-11.0-ffmpeg.patch #406215
# The mythtv patch touches configure.ac, so force a regen
rm -f configure