Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:saknl
Nightingale
nightingale.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File nightingale.spec of Package Nightingale
#!/bin/bash # # spec file for package nightingale # # Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2012 Benjamin Denisart <p.drouand@gmail.com> # Copyright (c) 2012 Malcolm J Lewis <malcolmlewis@opensuse.org> # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # norootforbuild %define tarname nightingale %define buildrel 2223 %define mozappdir %{_libdir}/nightingale-%{version} %define xul 1.9.2 Name: nightingale Summary: The desktop media player mashed-up with the Web Version: 1.11.0 Release: 1%{dist} # Nightingale requires an upstream patched xulrunner and taglib to function # properly. # Xulrunner : https://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/%{xul}/source/xulrunner-%{xul}.source.tar.bz2 # Taglib : Source0: %{tarname}-%{version}-%{buildrel}.tar.bz2 Source1: %{tarname}-%{version}-%{buildrel}-vendor.tar.bz2 Source2: %{name}.desktop Source3: http://rpm.rutgers.edu/fedora/find-external-requires Source4: %{name}.sh.in Source5: xulrunner-%{xul}-source.tar.bz2 Source6: vendor-1.11.tar.bz2 Source7: %{name}-1.11-taglib.tar.bz2 Source8: %{name}-1.11-sqlite.tar.bz2 Patch: nightingale-fix-vendor-copy.patch Group: Applications/Multimedia License: GPL URL: http://getnightingale.com/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: cmake, desktop-file-utils BuildRequires: gstreamer-0_10-plugins-base-devel BuildRequires: gstreamer-devel BuildRequires: gstreamer-0_10-plugins-gl-devel BuildRequires: pkg-config BuildRequires: xorg-x11-libXt-devel BuildRequires: libidl-devel BuildRequires: libcurl-devel BuildRequires: gtk2-devel BuildRequires: dbus-1-glib-devel BuildRequires: zlib-devel BuildRequires: zip BuildRequires: libcppunit-devel BuildRequires: subversion BuildRequires: unzip BuildRequires: libtool BuildRequires: cairo-devel >= 1.0 BuildRequires: libjpeg-devel BuildRequires: pango-devel >= 1.22 %if %suse_version < 1210 BuildRequires: gcc-c++ <= 4.5 %endif %if %suse_version >= 1210 BuildRequires: gcc-c++ %endif BuildRequires: libnotify-devel >= 0.4 BuildRequires: yasm-devel BuildRequires: alsa-devel BuildRequires: libiw-devel BuildRequires: Mesa-devel BuildRequires: python BuildRequires: python-base BuildRequires: autoconf BuildRequires: libbz2-1 BuildRequires: autoconf213 BuildRequires: gstreamer-0_10-plugins-good BuildRequires: gstreamer-0_10-plugins-base BuildRequires: gstreamer-0_10 BuildRequires: libgstreamer-0_10-0 # Filter internal provides AutoProv: 0 %define _use_internal_dependency_generator 0 %define __find_requires %{SOURCE3} %description Nightingale provides a public playground for Web media mash-ups by providing developers with both desktop and Web APIs, developer resources and fostering Open Web media standards. %prep %setup -q -n %{tarname}%{version} # Upstream scripts generalize archs. Specify the proper # paths to match upstream for a sane build. %ifarch %{ix86} %define sb_arch i686 %else %define sb_arch %{_arch} %endif #Unpack vendor packages tar jxf %{SOURCE1} rm -rf dependencies/vendor mv %{tarname}%{version}-vendor dependencies/vendor %patch -p1 mkdir -p dependencies/vendor/checkout/linux-%{sb_arch} mkdir -p dependencies/vendor/linux-%{sb_arch} %build # Remove $ORIGIN rpath sed -i 's,\\\$\$ORIGIN/..,%{mozappdir},g' components/mediacore/metadata/handler/taglib/src/Makefile.in # Ensure line endings, as git might have converted them tr -d '\r' < components/library/localdatabase/content/schema.sql > tmp.sql rm components/library/localdatabase/content/schema.sql mv tmp.sql components/library/localdatabase/content/schema.sql # In order for debug packages to be created, -gstabs+ must be # removed from the compile options or debugedit chokes, # bug 453506 cd dependencies grep -R "\-gstabs+" * | cut -d : -f 1 | sort -u | xargs sed -i 's/-gstabs+//g' # Build XULRunner cd vendor/xulrunner/mozconfigs # Build with -Os as it helps the browser; also, don't override mozilla's warning # level; they use -Wall but disable a few warnings that show up _everywhere_ MOZ_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | %{__sed} -e 's/-O2/-Os/' -e 's/-Wall//') export RPM_OPT_FLAGS=$MOZ_OPT_FLAGS export LDFLAGS="-Wl,-rpath,%{mozappdir}" %if %suse_version > 1140 export CFLAGS="$RPM_OPT_FLAGS -Os -fno-strict-aliasing" %endif #Setup XULRunner mozconfig %ifarch ppc cp xulrunner.linux.release.i686.mozconfig xulrunner.linux.release.ppc.mozconfig %endif %ifarch ppc64 cp xulrunner.linux.release.x86_64.mozconfig xulrunner.linux.release.ppc64.mozconfig %endif sed -i 's/ac_add_options --enable-optimize//g' xulrunner.linux.release.%{sb_arch}.mozconfig cat << "EOF" >> xulrunner.linux.release.%{sb_arch}.mozconfig ac_add_options --prefix=%{_prefix} ac_add_options --libdir=%{_libdir} ac_add_options --mandir=%{_mandir} ac_add_options --with-pthreads ac_add_options --enable-optimize="$RPM_OPT_FLAGS" ac_add_options --enable-pango ac_add_options --enable-system-cairo ac_add_options --enable-svg ac_add_options --enable-canvas ac_add_options --disable-installer ac_add_options --disable-updater ac_add_options --disable-gnomevfs ac_add_options --enable-gio ac_add_options --with-system-zlib mk_add_options MOZ_MAKE_FLAGS=%{?_smp_mflags} EOF cd .. tar xvf "%{SOURCE5}" if [ ! -f mozilla/security/coreconf/Linux$(uname -r|sed -e 's/\-.*//'|grep -o "[0-9]\.[0-9]").mk ]; then cd $(pwd)/mozilla/security/coreconf/ ln -s Linux2.6.mk Linux$(uname -r|sed -e 's/\-.*//'|grep -o "[0-9]\.[0-9]").mk cd ../../.. fi export XUL="1.9.2" export MSYS_CP="/bin/cp -r" SB_VENDOR_BUILD_ROOT=%{_builddir}/%{tarname}%{version}/dependencies/vendor make xr-build-release cd ../../.. mkdir -p dependencies/linux-%{sb_arch}/mozilla-%{xul}/release mkdir -p dependencies/linux-%{sb_arch}/xulrunner-%{xul}/release # Link the completed package where make expects it cd dependencies/vendor rmdir linux-%{sb_arch} ln -s ../linux-%{sb_arch} linux-%{sb_arch} # Package XULRunner cd xulrunner ./make-mozilla-sdk.sh mozilla mozilla/compiled/xulrunner-release ../../../dependencies/linux-%{sb_arch}/mozilla-%{xul}/release ./make-xulrunner-tarball.sh mozilla/compiled/xulrunner-release/dist/bin ../../../dependencies/linux-%{sb_arch}/xulrunner-%{xul}/release xulrunner.tar.bz2 cd .. # Unpack the vendor build deps... tar xvf "%{SOURCE6}" # Build taglib tar xvf "%{SOURCE7}" cd taglib mkdir -p release && cd release ccmake ../taglib -DENABLE_STATIC=ON -DWITH_ASF=ON -DWITH_MP4=ON -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_FLAGS="-fPIC -fno-stack-protector" \ -DCMAKE_CXX_FLAGS="-fPIC -fno-stack-protector" \ -DCMAKE_C_FLAGS_DEBUG="-g -gstabs+" \ -DCMAKE_CXX_FLAGS_DEBUG="-g -gstabs+" \ -DCMAKE_C_FLAGS_RELEASE="-gstabs+" \ -DCMAKE_CXX_FLAGS_RELEASE="-gstabs+" \ -DCMAKE_VERBOSE_MAKEFILE=1 \ -DCMAKE_INSTALL_PREFIX=../linux-%{sb_arch}/taglib/release \ -DCMAKE_DEBUG_POSTFIX= \ -G "Unix Makefiles" make install find %{_builddir}/%{tarname}%{version}/dependencies/vendor/linux-%{sb_arch}/taglib/release -name '*_c.*' -exec rm -v {} \ cd .. # Build sqlite tar xvf "%{SOURCE8}" cd sqlite SB_VENDOR_BUILD_ROOT=%{_builddir}/%{tarname}%{version}/dependencies/vendor make -f Makefile.songbird release cd ../../.. # Build Nightingale export SB_DISABLE_PKG_AUTODEPS=1 # Add Nightingale build options echo "ac_add_options --with-media-core=gstreamer-system" >> %{name}.config echo "ac_add_options --enable-installer" >> %{name}.config echo "ac_add_options --enable-official" >> %{name}.config echo "ac_add_options --enable-jars" >> %{name}.config echo "ac_add_options --with-extensions=" >> %{name}.config echo "ac_add_options --disable-updater" >> %{name}.config echo "ac_add_options --with-songbird-extensions=" >> %{name}.config # Use our own gstreamer libs for dir in /usr/lib /usr/lib64 /usr/lib/i386-linux-gnu /usr/lib/x86_64-linux-gnu ; do if [ -f ${dir}/gstreamer-0.10/libgstcoreelements.so ] ; then export GST_PLUGIN_PATH=${dir}/gstreamer\-0.10 break elif [ -f ${dir}/gstreamer0.10/libgstcoreelements.so ] ; then export GST_PLUGIN_PATH=${dir}/gstreamer0.10 break fi done MOZ_MAKE_FLAGS=%{?_smp_mflags} make -f %{name}.mk release %install rm -rf %{buildroot} cd compiled mkdir -p %{buildroot}%{_libdir} mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_datadir}/icons/hicolor/32x32/apps mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps mkdir -p %{buildroot}%{_datadir}/icons/hicolor/512x512/apps mkdir -p %{buildroot}%{_datadir}/applications cp -pR dist %{buildroot}%{_libdir}/%{name}-%{version} cp -p ../app/branding/%{name}-32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/%{name}.png cp -p ../app/branding/%{name}-64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.png cp -p ../app/branding/%{name}-128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{name}.png cp -p ../app/branding/%{name}-256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{name}.png cp -p ../app/branding/%{name}-512.png %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/%{name}.png desktop-file-install --vendor="" --dir=%{buildroot}%{_datadir}/applications %{SOURCE2} # set up the songbird start script cat %{SOURCE4} | sed -e 's,NIGHTINGALE_VERSION,%{version},g' > %{buildroot}%{_bindir}/%{name} chmod 755 %{buildroot}%{_bindir}/%{name} sed -i '/"%{name}.url.firstrun"/s/\%CHANNEL\%/release/g' %{buildroot}%{_libdir}/%{name}-%{version}/defaults/preferences/%{name}-zzz-branding.js cd %{_builddir}/%{tarname}-%{version}/compiled/dist cp -p TRADEMARK.txt README.txt LICENSE.html ../.. %clean rm -rf %{buildroot} %post %{_bindir}/update-desktop-database &> /dev/null || : touch --no-create %{_datadir}/icons/hicolor if [ -x %{_bindir}/gtk-update-icon-cache ]; then %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : fi %postun %{_bindir}/update-desktop-database &> /dev/null || : touch --no-create %{_datadir}/icons/hicolor if [ -x %{_bindir}/gtk-update-icon-cache ]; then %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : fi %files %defattr(644,root,root,755) %doc %{mozappdir}/TRADEMARK.txt %doc %{mozappdir}/README.txt %doc %{mozappdir}/LICENSE.html %dir %{mozappdir} %{mozappdir}/chrome %{mozappdir}/components/*.txt %{mozappdir}/defaults %{mozappdir}/extensions %{mozappdir}/plugins %{mozappdir}/scripts %{mozappdir}/searchplugins %{mozappdir}/xulrunner/chrome %{mozappdir}/xulrunner/*.chk %{mozappdir}/xulrunner/dependentlibs.list %{mozappdir}/xulrunner/platform.ini %{mozappdir}/xulrunner/updater.ini %{mozappdir}/updater.ini %{mozappdir}/application.ini %{mozappdir}/blocklist.xml %{mozappdir}/xulrunner/dictionaries/* %{mozappdir}/xulrunner/defaults/* %{mozappdir}/xulrunner/res/* %{mozappdir}/xulrunner/icons/* %{mozappdir}/xulrunner/components/*.js %{mozappdir}/xulrunner/greprefs/*.js %{mozappdir}/xulrunner/modules/*.js %{mozappdir}/xulrunner/modules/*.jsm %{mozappdir}/xulrunner/README.txt %{mozappdir}/xulrunner/LICENSE %{mozappdir}/jsmodules/*.jsm %{mozappdir}/components/*.jsm %{mozappdir}/components/*.js %{mozappdir}/%{name}-512.png %{_datadir}/applications/%{name}.desktop %{_datadir}/icons/hicolor/32x32/apps/%{name}.png %{_datadir}/icons/hicolor/64x64/apps/%{name}.png %{_datadir}/icons/hicolor/128x128/apps/%{name}.png %{_datadir}/icons/hicolor/256x256/apps/%{name}.png %{_datadir}/icons/hicolor/512x512/apps/%{name}.png %{mozappdir}/gstreamer/encode-profiles/*.xml %{mozappdir}/%{name}.ini %{mozappdir}/.autoreg %ifarch %{ix86} %{mozappdir}/xulrunner/Throbber-small.gif %{mozappdir}/xulrunner/crashreporter %{mozappdir}/xulrunner/crashreporter.ini %endif %defattr(755,root,root,755) %dir %{mozappdir}/xulrunner %dir %{mozappdir}/xulrunner/defaults %dir %{mozappdir}/xulrunner/greprefs %dir %{mozappdir}/xulrunner/dictionaries %dir %{mozappdir}/xulrunner/components %dir %{mozappdir}/xulrunner/res %dir %{mozappdir}/xulrunner/modules %dir %{mozappdir}/xulrunner/icons %dir %{mozappdir}/xulrunner/plugins %dir %{mozappdir}/xulrunner/updater %dir %{mozappdir}/gstreamer %dir %{mozappdir}/gstreamer/encode-profiles %dir %{mozappdir}/jsmodules %dir %{mozappdir}/components %dir %{mozappdir}/lib %{_bindir}/%{name} %{mozappdir}/xulrunner/components/*.xpt %{mozappdir}/components/*.xpt %{mozappdir}/components/*.so %{mozappdir}/xulrunner/*.so %{mozappdir}/lib/*.so %{mozappdir}/*.so %{mozappdir}/%{name}-bin %{mozappdir}/%{name} %{mozappdir}/xulrunner/components/*.so %{mozappdir}/xulrunner/plugins/*.so %{mozappdir}/xulrunner/mangle %{mozappdir}/xulrunner/mozilla-xremote-client %{mozappdir}/xulrunner/nsinstall %{mozappdir}/xulrunner/regxpcom %{mozappdir}/xulrunner/shlibsign %{mozappdir}/xulrunner/ssltunnel %{mozappdir}/xulrunner/xpcshell %{mozappdir}/xulrunner/xpidl %{mozappdir}/xulrunner/xpt_dump %{mozappdir}/xulrunner/xpt_link %{mozappdir}/xulrunner/xulrunner %{mozappdir}/xulrunner/xulrunner-bin %{mozappdir}/xulrunner/run-mozilla.sh %changelog * Wed Mar 21 2012 - p.drouand@gmail.com 1.11.0 - Initial release - Special Thanks to MalcolmLewis for his precious help
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor