Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 470972 - media-tv/xbmc-12.2 version bump
Summary: media-tv/xbmc-12.2 version bump
Status: RESOLVED DUPLICATE of bug 468518
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Xbox project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-22 09:16 UTC by Gerhard Bräunlich
Modified: 2013-05-23 20:51 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
xbmc-12.2.ebuild (xbmc-12.2.ebuild,8.26 KB, text/plain)
2013-05-22 09:16 UTC, Gerhard Bräunlich
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gerhard Bräunlich 2013-05-22 09:16:58 UTC
Created attachment 348886 [details]
xbmc-12.2.ebuild

I'd like to submit a new ebuild for xbmc-12.2.
It is based on xbmc-12.1.ebuild (uses the same patches).
I only added some additional use flags to have control over some more configure options. There is also a new "raspberrypi" use flag such that xbmc builds and runs on a raspberry pi.

Question: For the raspberry pi, I wanted to configure xbmc with --disable-x11 --enable-rsxs but the rsxs use flag requires the X use flag, so I had to manually overwrite the --enable-x11 configure option for the raspberry pi. Where does the dependency come from?
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2013-05-22 14:00:53 UTC
Comment on attachment 348886 [details]
xbmc-12.2.ebuild

--- xbmc-12.1-r1.ebuild 2013-04-23 03:33:23.000000000 +0200
+++ -   2013-05-22 16:00:23.139572318 +0200
@@ -1,15 +1,15 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/xbmc-12.1-r1.ebuild,v 1.2 2013/04/23 01:33:23 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/xbmc-12.2.ebuild,v 1.4 2013/04/01 06:35:52 vapier Exp $
 
-EAPI=5
+EAPI="4"
 
 # Does not work with py3 here
 # It might work with py:2.5 but I didn't test that
-PYTHON_COMPAT=( python{2_6,2_7} )
-PYTHON_REQ_USE="sqlite"
+PYTHON_DEPEND="2:2.6"
+PYTHON_USE_WITH=sqlite
 
-inherit eutils python-single-r1 multiprocessing autotools
+inherit eutils python multiprocessing autotools flag-o-matic
 
 case ${PV} in
 9999)
@@ -27,32 +27,31 @@
 *)
        MY_P=${P/_/-*_}
        SRC_URI="http://mirrors.xbmc.org/releases/source/${MY_P}.tar.gz"
-       KEYWORDS=""
+       KEYWORDS="~amd64 ~x86"
        ;;
 esac
 
-# libav patchset
-SRC_URI+=" http://dev.gentooexperimental.org/~scarabeus/xbmc-12-libav.tar.xz"
-
 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 caps cec css debug gles goom java joystick midi mysql neon nfs +opengl profile +projectm pulseaudio pvr +rsxs rtmp +samba +sdl sse sse2 sftp udev upnp +usb vaapi vdpau webserver +X +xrandr"
+IUSE="airplay alsa altivec avahi bluetooth bluray caps cec +crystalhd css debug gles goom java joystick midi mysql +neon nfs non-free +opengl +openmax optical-drive profile +projectm pulseaudio pvr raspberrypi +rsxs rtmp +samba +sdl sse sse2 sftp udev upnp +usb vaapi +vdadecoder vdpau +vtbdecoder webserver +X +xrandr"
+
 REQUIRED_USE="
        pvr? ( mysql )
        rsxs? ( X )
-       X? ( sdl )
        xrandr? ( X )
+        raspberrypi? ( !neon
+                       !alsa )
 "
 
-COMMON_DEPEND="${PYTHON_DEPS}
-       app-arch/bzip2
+COMMON_DEPEND="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]
@@ -61,7 +60,7 @@
        >=dev-libs/lzo-2.04
        dev-libs/tinyxml[stl]
        dev-libs/yajl
-       dev-python/simplejson[${PYTHON_USEDEP}]
+       dev-python/simplejson
        media-libs/alsa-lib
        media-libs/flac
        media-libs/fontconfig
@@ -92,8 +91,8 @@
        media-libs/tiff
        pulseaudio? ( media-sound/pulseaudio )
        media-sound/wavpack
-       || ( media-libs/libpostproc media-video/ffmpeg )
-       >=virtual/ffmpeg-9[encode]
+       || ( media-libs/libpostproc <media-video/libav-0.8.2-r1 media-video/ffmpeg )
+       >=virtual/ffmpeg-0.6[encode]
        rtmp? ( media-video/rtmpdump )
        avahi? ( net-dns/avahi )
        nfs? ( net-fs/libnfs )
@@ -134,12 +133,14 @@
        X? ( x11-proto/xineramaproto )
        dev-util/cmake
        x86? ( dev-lang/nasm )
-       java? ( virtual/jre )"
+       java? ( virtual/jre )
+       raspberrypi? ( media-libs/raspberrypi-userland )"
 
 S=${WORKDIR}/${MY_P}
 
 pkg_setup() {
-       python-single-r1_pkg_setup
+       python_set_active_version 2
+       python_pkg_setup
 }
 
 src_unpack() {
@@ -149,16 +150,10 @@
 src_prepare() {
        epatch "${FILESDIR}"/${PN}-9999-nomythtv.patch
        epatch "${FILESDIR}"/${PN}-9999-no-arm-flags.patch #400617
-       epatch "${FILESDIR}"/${PN}-12.0-system-projectm.patch
+
        # The mythtv patch touches configure.ac, so force a regen
        rm -f configure
 
-       # libav patchset
-       EPATCH_FORCE="yes" \
-       EPATCH_SOURCE="${WORKDIR}" \
-       EPATCH_SUFFIX="patch" \
-       epatch
-
        # some dirs ship generated autotools, some dont
        multijob_init
        local d
@@ -198,6 +193,22 @@
 
        # Tweak autotool timestamps to avoid regeneration
        find . -type f -print0 | xargs -0 touch -r configure
+
+       if use raspberrypi ; then
+          sed -i -e 's/USE_BUILDROOT=1/USE_BUILDROOT=0/' \
+               -e 's/sudo //g' \
+               -e 's/\/opt\//${S}\/opt\//g' tools/rbp/setup-sdk.sh 
+          sed -i 's/TOOLCHAIN=\/usr\/local\/bcm-gcc/TOOLCHAIN=\/usr/' tools/rbp/setup-sdk.sh
+          sed -i 's/cd $(SOURCE); $(CONFIGURE)/#cd $(SOURCE); $(CONFIGURE)/' tools/rbp/depends/xbmc/Makefile
+          cd tools/TexturePacker/
+          ln -s ../../xbmc/utils ../../xbmc/guilib ../../lib/libsquish/ ../../xbmc/linux/PlatformDefs.h ../../xbmc/config.h ./
+          cd -
+          cd xbmc/utils
+          ln -s ../config.h
+          cd -
+          sh tools/rbp/setup-sdk.sh
+          make -C tools/rbp/depends/xbmc/
+       fi
 }
 
 src_configure() {
@@ -210,44 +221,66 @@
        # Requiring java is asine #434662
        export ac_cv_path_JAVA_EXE=$(which $(usex java java true))
 
+       if use raspberrypi ; then
+          append-ldflags -L/opt/vc/lib
+          append-flags -I/opt/vc/include
+       fi
+       
+       local special_config
+       if use raspberrypi ; then
+           special_config="--with-platform=raspberry-pi \
+               --enable-player=omxplayer \
+                --enable-external-ffmpeg \
+               --disable-x11"
+       else
+           special_config=$(use_enable X x11)
+       fi
        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 caps libcap) \
-               $(use_enable cec libcec) \
-               $(use_enable css dvdcss) \
-               $(use_enable debug) \
-               $(use_enable gles) \
-               $(use_enable goom) \
-               --disable-hal \
-               $(use_enable joystick) \
-               $(use_enable midi mid) \
-               $(use_enable mysql) \
-               $(use_enable neon) \
-               $(use_enable nfs) \
-               $(use_enable opengl gl) \
-               $(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 sdl) \
-               $(use_enable sftp ssh) \
-               $(use_enable usb libusb) \
-               $(use_enable upnp) \
-               $(use_enable vaapi) \
-               $(use_enable vdpau) \
-               $(use_enable webserver) \
-               $(use_enable X x11) \
-               $(use_enable xrandr)
+           --docdir=/usr/share/doc/${PF} \
+           --disable-ccache \
+           --enable-external-libraries \
+           $(use_enable raspberrypi optimizations) \
+           ${special_config} \
+           $(use_enable airplay) \
+           $(use_enable alsa) \
+           $(use_enable avahi) \
+           $(use_enable bluray libbluray) \
+           $(use_enable caps libcap) \
+           $(use_enable cec libcec) \
+           $(use_enable css dvdcss) \
+           $(use_enable crystalhd) \
+           $(use_enable debug) \
+           $(use_enable gles) \
+           $(use_enable goom) \
+           --disable-hal \
+           $(use_enable joystick) \
+           $(use_enable midi mid) \
+           $(use_enable mysql) \
+           $(use_enable neon) \
+           $(use_enable nfs) \
+           $(use_enable non-free) \
+           $(use_enable opengl gl) \
+           $(use_enable openmax) \
+           $(use_enable optical-drive) \
+           $(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 sdl) \
+           $(use_enable sftp ssh) \
+           $(use_enable usb libusb) \
+           $(use_enable upnp) \
+           $(use_enable vaapi) \
+           $(use_enable vdpau) \
+           $(use_enable vdadecoder) \
+           $(use_enable vtbdecoder) \
+           $(use_enable webserver) \
+           $(use_enable xrandr)
+       sed -i 's/-msse2//' lib/libsquish/Makefile
+       sed -i 's/-DSQUISH_USE_SSE=2//' lib/libsquish/Makefile
 }
 
 src_install() {
@@ -257,8 +290,9 @@
        domenu tools/Linux/xbmc.desktop
        newicon tools/Linux/xbmc-48x48.png xbmc.png
 
-       python_domodule tools/EventClients/lib/python/xbmcclient.py
-       python_newscript "tools/EventClients/Clients/XBMC Send/xbmc-send.py" xbmc-send
+       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() {
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2013-05-22 14:01:36 UTC

*** This bug has been marked as a duplicate of bug 468518 ***
Comment 3 Gerhard Bräunlich 2013-05-23 09:37:01 UTC
(In reply to comment #1)
Here some mionor abrreviations. Did diff against xbmc.12.1.ebuild rather than xbmc.12.1-r1.ebuild since my changes build on xbmc.12.1.ebuild.

--- /usr/portage/media-tv/xbmc/xbmc-12.1.ebuild	2013-04-01 09:01:21.000000000 +0200
+++ -	2013-05-23 11:29:10.911565118 +0200
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/xbmc-12.1.ebuild,v 1.4 2013/04/01 06:35:52 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/xbmc-12.2.ebuild,v 1.4 2013/04/01 06:35:52 vapier Exp $
 
 EAPI="4"
 
@@ -9,7 +9,7 @@
 PYTHON_DEPEND="2:2.6"
 PYTHON_USE_WITH=sqlite
 
-inherit eutils python multiprocessing autotools
+inherit eutils python multiprocessing autotools flag-o-matic
 
 case ${PV} in
 9999)
@@ -36,11 +36,13 @@
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="airplay alsa altivec avahi bluetooth bluray caps cec css debug gles goom java joystick midi mysql neon nfs +opengl profile +projectm pulseaudio pvr +rsxs rtmp +samba +sdl sse sse2 sftp udev upnp +usb vaapi vdpau webserver +X +xrandr"
+IUSE="airplay alsa altivec avahi bluetooth bluray caps cec +crystalhd css debug gles goom java joystick midi mysql +neon nfs non-free +opengl +openmax optical-drive profile +projectm pulseaudio pvr raspberrypi +rsxs rtmp +samba +sdl sse sse2 sftp udev upnp +usb vaapi +vdadecoder vdpau +vtbdecoder webserver +X +xrandr"
 REQUIRED_USE="
 	pvr? ( mysql )
 	rsxs? ( X )
 	xrandr? ( X )
+        raspberrypi? ( !neon
+                       !alsa )
 "
 
 COMMON_DEPEND="app-arch/bzip2
@@ -130,7 +132,8 @@
 	X? ( x11-proto/xineramaproto )
 	dev-util/cmake
 	x86? ( dev-lang/nasm )
-	java? ( virtual/jre )"
+	java? ( virtual/jre )
+	raspberrypi? ( media-libs/raspberrypi-userland )"
 
 S=${WORKDIR}/${MY_P}
 
@@ -188,6 +191,18 @@
 
 	# Tweak autotool timestamps to avoid regeneration
 	find . -type f -print0 | xargs -0 touch -r configure
+
+	if use raspberrypi ; then
+	   sed -i -e 's/USE_BUILDROOT=1/USE_BUILDROOT=0/' \
+		-e 's/sudo //g' \
+		-e 's/\/opt\//${S}\/opt\//g' tools/rbp/setup-sdk.sh 
+	   sed -i 's/TOOLCHAIN=\/usr\/local\/bcm-gcc/TOOLCHAIN=\/usr/' tools/rbp/setup-sdk.sh
+	   sed -i 's/cd $(SOURCE); $(CONFIGURE)/#cd $(SOURCE); $(CONFIGURE)/' tools/rbp/depends/xbmc/Makefile
+	   ln -s ${S}/xbmc/guilib ${S}/lib/libsquish ${S}/xbmc/linux/PlatformDefs.h ${S}/xbmc/config.h ${S}/tools/TexturePacker/
+	   ln -s ${S}/xbmc/config.h ${S}/xbmc/utils/
+	   sh tools/rbp/setup-sdk.sh
+	   make -C tools/rbp/depends/xbmc/
+	fi
 }
 
 src_configure() {
@@ -200,44 +215,66 @@
 	# Requiring java is asine #434662
 	export ac_cv_path_JAVA_EXE=$(which $(usex java java true))
 
+	if use raspberrypi ; then
+	   append-ldflags -L/opt/vc/lib
+	   append-flags -I/opt/vc/include
+	fi
+	
+	local special_config
+	if use raspberrypi ; then
+	    special_config="--with-platform=raspberry-pi \
+		--enable-player=omxplayer \
+                --enable-external-ffmpeg \
+ 		--disable-x11"
+	else
+	    special_config=$(use_enable X x11)
+	fi
 	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 caps libcap) \
-		$(use_enable cec libcec) \
-		$(use_enable css dvdcss) \
-		$(use_enable debug) \
-		$(use_enable gles) \
-		$(use_enable goom) \
-		--disable-hal \
-		$(use_enable joystick) \
-		$(use_enable midi mid) \
-		$(use_enable mysql) \
-		$(use_enable neon) \
-		$(use_enable nfs) \
-		$(use_enable opengl gl) \
-		$(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 sdl) \
-		$(use_enable sftp ssh) \
-		$(use_enable usb libusb) \
-		$(use_enable upnp) \
-		$(use_enable vaapi) \
-		$(use_enable vdpau) \
-		$(use_enable webserver) \
-		$(use_enable X x11) \
-		$(use_enable xrandr)
+	    --docdir=/usr/share/doc/${PF} \
+	    --disable-ccache \
+	    --enable-external-libraries \
+	    $(use_enable raspberrypi optimizations) \
+	    ${special_config} \
+	    $(use_enable airplay) \
+	    $(use_enable alsa) \
+	    $(use_enable avahi) \
+	    $(use_enable bluray libbluray) \
+	    $(use_enable caps libcap) \
+	    $(use_enable cec libcec) \
+	    $(use_enable css dvdcss) \
+	    $(use_enable crystalhd) \
+	    $(use_enable debug) \
+	    $(use_enable gles) \
+	    $(use_enable goom) \
+	    --disable-hal \
+	    $(use_enable joystick) \
+	    $(use_enable midi mid) \
+	    $(use_enable mysql) \
+	    $(use_enable neon) \
+	    $(use_enable nfs) \
+	    $(use_enable non-free) \
+	    $(use_enable opengl gl) \
+	    $(use_enable openmax) \
+	    $(use_enable optical-drive) \
+	    $(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 sdl) \
+	    $(use_enable sftp ssh) \
+	    $(use_enable usb libusb) \
+	    $(use_enable upnp) \
+	    $(use_enable vaapi) \
+	    $(use_enable vdpau) \
+	    $(use_enable vdadecoder) \
+	    $(use_enable vtbdecoder) \
+	    $(use_enable webserver) \
+	    $(use_enable xrandr)
+	sed -i 's/-msse2//' lib/libsquish/Makefile
+	sed -i 's/-DSQUISH_USE_SSE=2//' lib/libsquish/Makefile
 }
 
 src_install() {
Comment 4 SpanKY gentoo-dev 2013-05-23 20:51:39 UTC
(In reply to comment #3)

patches need to be posted as attachments, not as comments.  posting as comments corrupts the output and makes them largely useless.