diff options
Diffstat (limited to 'media-tv/xbmc')
-rw-r--r-- | media-tv/xbmc/ChangeLog | 11 | ||||
-rw-r--r-- | media-tv/xbmc/files/xbmc-11.0-ffmpeg.patch | 46 | ||||
-rw-r--r-- | media-tv/xbmc/files/xbmc-11.0-libav-r1.patch | 71 | ||||
-rw-r--r-- | media-tv/xbmc/files/xbmc-11.0-libav.patch | 103 | ||||
-rw-r--r-- | media-tv/xbmc/xbmc-11.0-r1.ebuild | 237 | ||||
-rw-r--r-- | media-tv/xbmc/xbmc-11.0.ebuild | 13 |
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 |