# note: build for raspberrypi # autospec --define _with_raspberrypi=1 xbmc.spec # -or- # rpmbuild --with raspberrypi xbmc.spec %if "%{?_with_raspberrypi}" %define pckname %{name}-rpi %else %define pckname %name %endif Name: xbmc Version: 12.3 Release: 1mamba Summary: A media player and entertainment hub for digital media Group: Graphical Desktop/Applications/Multimedia Vendor: openmamba Distribution: openmamba Packager: Davide Madrisan URL: http://xbmc.org/ Source: http://mirrors.xbmc.org/releases/source/xbmc-%{version}.tar.gz Patch0: %{name}-12.0-do_not_require_lsb_release.patch Patch1: %{name}-12.0-inconsistent_operand_constraints_in_an_asm.patch Patch2: %{name}-12.0-systeminfo.patch Patch3: %{name}-12.0-set_native_cxxflags.patch Patch4: %{name}-12.0-relax_badcolordepth_check.patch Patch5: xbmc-12.0-arm-no-fp.patch License: GPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel BuildRequires: libavahi-devel BuildRequires: libavcodec-ffmpeg-devel BuildRequires: libavfilter-ffmpeg-devel BuildRequires: libavformat-ffmpeg-devel BuildRequires: libavutil-ffmpeg-devel BuildRequires: libbluetooth-devel BuildRequires: libbzip2-devel BuildRequires: libcap-devel BuildRequires: libcdio-devel BuildRequires: libdbus-devel BuildRequires: libexpat-devel BuildRequires: libfreetype-devel BuildRequires: libfribidi-devel BuildRequires: libgcc BuildRequires: libgcrypt-devel BuildRequires: libgpg-error-devel BuildRequires: libjasper-devel BuildRequires: libjpeg-devel BuildRequires: liblzo-devel BuildRequires: libmicrohttpd-devel BuildRequires: libmysql5-devel BuildRequires: libopenssl-devel BuildRequires: libpcre-devel BuildRequires: libpng-devel BuildRequires: libpython-devel BuildRequires: libsamplerate-devel BuildRequires: libsmbclient-devel BuildRequires: libsqlite-devel BuildRequires: libssh-devel BuildRequires: libstdc++6-devel BuildRequires: libswresample-ffmpeg-devel BuildRequires: libswscale-ffmpeg-devel BuildRequires: libtag-devel BuildRequires: libtiff-devel BuildRequires: libtinyxml-devel BuildRequires: libyajl-devel BuildRequires: libz-devel BuildRequires: udev-devel ## AUTOBUILDREQ-END BuildRequires: doxygen BuildRequires: gperf BuildRequires: nasm BuildRequires: swig BuildRequires: unzip BuildRequires: java-gcj-compat-runtime BuildRequires: libalsa-devel BuildRequires: libass-devel BuildRequires: libbluray-devel BuildRequires: libcurl-devel BuildRequires: libdvdcss-devel BuildRequires: libflac-devel BuildRequires: libGLESv2-devel BuildRequires: liblame-devel BuildRequires: libmad-devel BuildRequires: libmodplug-devel BuildRequires: libmpeg2-devel BuildRequires: libogg-devel BuildRequires: librtmp-devel BuildRequires: libpostproc-ffmpeg-devel BuildRequires: libSDL-devel BuildRequires: libSDL_gfx-devel BuildRequires: libSDL_image-devel BuildRequires: libtag-devel >= 1.8 BuildRequires: libusb-devel BuildRequires: libvorbis-devel BuildRequires: libX11-devel BuildRequires: libXext-devel BuildRequires: libXrandr-devel BuildRequires: libzip-devel %if "%{?_with_raspberrypi}" BuildRequires: libraspberrypi-devel %endif BuildRequires: libcec-devel BuildRequires: libprojectM-devel Requires: mesa-tests Requires: xdpyinfo Requires: libprojectM BuildRoot: %{_tmppath}/%{name}-%{version}-root %description XBMC is an award-winning free and open source (GPL) software media player and entertainment hub for digital media. %if "%{?_with_raspberrypi}" %package -n %{name}-rpi Summary: A media player and entertainment hub for digital media Group: Graphical Desktop/Applications/Multimedia %description -n %{name}-rpi XBMC is an award-winning free and open source (GPL) software media player and entertainment hub for digital media. %endif %prep %setup -q -n xbmc-%{version}-Frodo %patch0 -p1 %patch1 -p1 %patch2 -p1 %if "%{?_with_raspberrypi}" %patch3 -p1 %patch4 -p1 %endif %patch5 -p1 %build ./bootstrap %if "%{?_with_raspberrypi}" # -Wno-psabi: just to avoid the annoying flooding of gcc warnings # "the mangling of ‘va_list’ has changed in GCC 4.4" # We cannot use pipes rather than intermediate files ('-pipe') because # this option requires too much memory and the build will end with an error # (xbmc/music/MusicDatabase.o -- Error: unknown pseudo-op: '.uleb') BUILD_FLAGS="\ -O2 -fomit-frame-pointer -Wno-psabi \ -lvchostif \ -I/opt/vc/include \ -I/opt/vc/include/IL \ -I/opt/vc/include/interface/vcos/pthreads \ -I/opt/vc/include/interface/vmcs_host/linux" export CXXFLAGS="$BUILD_FLAGS" export LDFLAGS="$LDFLAGS -L/opt/vc/lib" %endif %configure \ --disable-debug \ %if "%{?_with_raspberrypi}" --with-platform=raspberry-pi \ --enable-gles \ --disable-joystick \ --disable-sdl \ --disable-x11 \ --disable-xrandr \ --disable-openmax \ --disable-afpclient \ --disable-crystalhd \ --disable-vaapi \ --disable-vdpau \ --disable-vtbdecoder \ --enable-external-ffmpeg \ --enable-player=omxplayer \ %else --enable-external-libraries \ %endif --disable-pulse \ --disable-hal \ --enable-optical-drive \ --enable-libcec # --disable-dvdcss %make %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %makeinstall rm -fr %{buildroot}%{_datadir}/doc %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %post -n %{pckname} /bin/touch --no-create %{_datadir}/icons/hicolor >/dev/null 2>&1 exit 0 %postun -n %{pckname} if [ $1 -eq 0 ] ; then /bin/touch --no-create %{_datadir}/icons/hicolor >/dev/null 2>&1 /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor >/dev/null 2>&1 fi exit 0 %posttrans -n %{pckname} /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor >/dev/null 2>&1 exit 0 %files -n %{pckname} %defattr(-,root,root) %{_bindir}/xbmc %{_bindir}/xbmc-standalone %{_datadir}/xbmc %{_datadir}/xsessions/XBMC.desktop %attr(0644,root,root) %{_datadir}/applications/xbmc.desktop %{_datadir}/icons/hicolor/*/*/*.png %{_libdir}/xbmc %doc docs %doc copying.txt CONTRIBUTORS LICENSE.GPL README %changelog * Sat Jan 04 2014 Automatic Build System 12.3-1mamba - automatic version update by autodist * Sat Jun 01 2013 Silvan Calarco 12.2-2mamba - python 2.7 mass rebuild * Tue May 07 2013 Automatic Build System 12.2-1mamba - automatic version update by autodist * Tue Mar 26 2013 Automatic Build System 12.1-1mamba - automatic version update by autodist * Sat Mar 09 2013 Silvan Calarco 12.0-4mamba - require libprojectM - raspberrypi: don't disable libprojectM * Mon Feb 25 2013 openmamba WebBuild System 12.0-3mamba - - simplify the conditional statements by using a syntax that autospec can understand * Sun Feb 24 2013 openmamba WebBuild System 12.0-2mamba - make raspberrypi a conditional build target * Fri Feb 15 2013 Davide Madrisan 12.0-1mamba - package created by autospec