SPECS: xulrunner.spec (NEW) - started packaging xulrunner, spec ba...

hawk hawk at pld-linux.org
Mon May 15 21:57:52 CEST 2006


Author: hawk                         Date: Mon May 15 19:57:52 2006 GMT
Module: SPECS                         Tag: HEAD
---- Log message:
- started packaging xulrunner, spec based on seamonkey.spec
- builds, not checked, not tested, must be heavily reviewed by some
  mozilla guru (is all required stuff packaged? is some unecessary stuff
  packaged? does it need some other patches? does it need some other
  configure/build options?)

---- Files affected:
SPECS:
   xulrunner.spec (1.1 -> 1.2)  (NEW)

---- Diffs:

================================================================
Index: SPECS/xulrunner.spec
diff -u /dev/null SPECS/xulrunner.spec:1.2
--- /dev/null	Mon May 15 21:57:52 2006
+++ SPECS/xulrunner.spec	Mon May 15 21:57:46 2006
@@ -0,0 +1,434 @@
+# $Revision$, $Date$
+Summary:	XULRunner - Mozilla Runtime Environment
+Summary(pl):	XULRunner - Środowisko Uruchomieniowe Mozilli
+Name:		xulrunner
+Version:	1.8.0.1
+Release:	0.1
+License:	Mozilla Public License
+Group:		X11/Development/Libraries
+Source0:	http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/%{version}/source/%{name}-%{version}-source.tar.bz2
+# Source0-md5:	d60ccb6cc28afa7d880c8602a2c88450
+Patch0:		%{name}-nss.patch
+Patch1:		%{name}-ldap-with-nss.patch
+URL:		http://www.mozilla.org/projects/xulrunner/
+BuildRequires:	/bin/csh
+BuildRequires:	/bin/ex
+BuildRequires:	automake
+BuildRequires:	freetype-devel >= 1:2.1.8
+BuildRequires:	libjpeg-devel >= 6b
+BuildRequires:	libpng-devel >= 1.2.0
+BuildRequires:	libstdc++-devel
+BuildRequires:	nspr-devel >= 1:4.6.1
+BuildRequires:	nss-devel >= 3.10.2
+BuildRequires:	perl-modules >= 5.6.0
+BuildRequires:	pkgconfig
+BuildRequires:	sed >= 4.0
+BuildRequires:	tar >= 1:1.15.1
+BuildRequires:	xcursor-devel
+BuildRequires:	xft-devel >= 2.1-2
+BuildRequires:	zip >= 2.1
+BuildRequires:	zlib-devel >= 1.0.0
+Requires(post,postun):	/sbin/ldconfig
+Requires:	%{name}-libs = %{epoch}:%{version}-%{release}
+%{?with_svg:Requires:	cairo >= 1.0.0}
+Requires:	nspr >= 1:4.6.1
+Requires:	nss >= 3.10.2
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%define		specflags	-fno-strict-aliasing
+
+%define		_xulrunnerdir	%{_libdir}/%{name}
+%define		_chromedir	%{_libdir}/%{name}/chrome
+# mozilla, seamonkey and firefox provide their own versions
+%define		_noautoreqdep	libgtkembedmoz.so libldap50.so libmozjs.so libprldap50.so libssldap50.so libxpcom.so
+
+%description
+XULRunner is a runtime environment that can be used to bootstrap
+multiple XUL+XPCOM applications that are as rich as Firefox and
+Thunderbird.
+
+%description -l pl
+XULRunner to środowisko uruchomieniowe, które może być używane do
+uruchamiania wielu aplikacji XUL+XPCOM równie zaawansowanych jak
+Firefox czy Thunderbird.
+
+%package libs
+Summary:	XULRunner shared libraries
+Summary(pl):	Biblioteki współdzielone XULRunner
+Group:		Libraries
+
+%description libs
+XULRunner shared libraries.
+
+%description libs -l pl
+Biblioteki współdzielone XULRunner.
+
+%package devel
+Summary:	Headers for developing programs that will use XULRunner
+Summary(pl):	XULRunner - pliki nagłówkowe i biblioteki
+Group:		X11/Development/Libraries
+Requires:	%{name} = %{epoch}:%{version}-%{release}
+Requires:	nspr-devel >= 1:4.6.1
+Obsoletes:	mozilla-devel
+Obsoletes:	mozilla-firefox-devel
+Obsoletes:	seamonkey-devel
+
+%description devel
+XULRunner development package.
+
+%description devel -l pl
+Biblioteki i pliki nagłówkowe XULRunner.
+
+%prep
+%setup -q -c -T
+tar jxf %{SOURCE0} --strip-components=1
+
+%patch0 -p1
+%patch1 -p1
+
+%build
+BUILD_OFFICIAL="1"; export BUILD_OFFICIAL
+MOZILLA_OFFICIAL="1"; export MOZILLA_OFFICIAL
+
+cp -f %{_datadir}/automake/config.* build/autoconf
+cp -f %{_datadir}/automake/config.* nsprpub/build/autoconf
+cp -f %{_datadir}/automake/config.* directory/c-sdk/config/autoconf
+%configure2_13 \
+	%{!?debug:--disable-debug} \
+	--disable-elf-dynstr-gc \
+	%{!?with_gnomeui:--disable-gnomeui} \
+	%{!?with_gnomevfs:--disable-gnomevfs} \
+	--disable-javaxpcom \
+	--disable-mailnews \
+	--disable-pedantic \
+	--disable-tests \
+	--disable-xterm-updates \
+	--enable-application=xulrunner \
+	--enable-crypto \
+	--enable-default-toolkit=gtk2 \
+	--enable-extensions \
+	--enable-ldap \
+	--enable-mathml \
+	--enable-optimize="%{rpmcflags}" \
+	--enable-postscript \
+	%{!?debug:--enable-strip} \
+	--enable-xft \
+	--enable-xinerama \
+	--enable-xprint \
+	--enable-old-abi-compat-wrappers \
+	--with-default-mozilla-five-home=%{_xulrunnerdir} \
+	--with-pthreads \
+	--with-system-jpeg \
+	--with-system-nspr \
+	--with-system-png \
+	--with-system-zlib \
+	--with-x
+
+%{__make}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d \
+	$RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_datadir}} \
+	$RPM_BUILD_ROOT%{_datadir}/%{name}/{chrome,defaults,greprefs,myspell,res} \
+	$RPM_BUILD_ROOT%{_xulrunnerdir}/components \
+	$RPM_BUILD_ROOT{%{_includedir}/%{name}/idl,%{_pkgconfigdir}}
+
+# preparing to create register
+# remove empty directory trees
+rm -fr dist/bin/chrome/{US,chatzilla,classic,comm,content-packs,cview,embed,embed-sample,en-US,en-mac,en-unix,en-win,help,inspector,messenger,modern,pipnss,pippki,toolkit,venkman,xmlterm}
+# non-unix
+rm -f dist/bin/chrome/en-{mac,win}.jar
+
+# creating and installing register
+LD_LIBRARY_PATH="dist/bin" MOZILLA_FIVE_HOME="dist/bin" dist/bin/regxpcom
+#install dist/bin/component.reg $RPM_BUILD_ROOT%{_xulrunnerdir}
+
+ln -sf ../../share/%{name}/chrome $RPM_BUILD_ROOT%{_chromedir}
+ln -sf ../../share/%{name}/defaults $RPM_BUILD_ROOT%{_xulrunnerdir}/defaults
+ln -sf ../../share/%{name}/greprefs $RPM_BUILD_ROOT%{_xulrunnerdir}/greprefs
+#ln -sf ../../share/%{name}/icons $RPM_BUILD_ROOT%{_xulrunnerdir}/icons
+ln -sf ../../share/%{name}/res $RPM_BUILD_ROOT%{_xulrunnerdir}/res
+#ln -sf ../../share/%{name}/searchplugins $RPM_BUILD_ROOT%{_xulrunnerdir}/searchplugins
+ln -sf ../../../share/%{name}/myspell $RPM_BUILD_ROOT%{_xulrunnerdir}/components/myspell
+
+cp -frL dist/bin/chrome/*	$RPM_BUILD_ROOT%{_datadir}/%{name}/chrome
+cp -frL dist/bin/components/{[^m],m[^y]}*	$RPM_BUILD_ROOT%{_xulrunnerdir}/components
+cp -frL dist/bin/components/myspell/*	$RPM_BUILD_ROOT%{_datadir}/%{name}/myspell
+cp -frL dist/bin/defaults/*	$RPM_BUILD_ROOT%{_datadir}/%{name}/defaults
+cp -frL dist/bin/res/*		$RPM_BUILD_ROOT%{_datadir}/%{name}/res
+cp -frL dist/gre/greprefs/*	$RPM_BUILD_ROOT%{_datadir}/%{name}/greprefs
+cp -frL dist/idl/*		$RPM_BUILD_ROOT%{_includedir}/%{name}/idl
+cp -frL dist/include/*		$RPM_BUILD_ROOT%{_includedir}/%{name}
+cp -frL dist/public/ldap{,-private} $RPM_BUILD_ROOT%{_includedir}/%{name}
+
+install dist/bin/*.so $RPM_BUILD_ROOT%{_xulrunnerdir}
+
+ln -s %{_libdir}/libnssckbi.so $RPM_BUILD_ROOT%{_xulrunnerdir}/libnssckbi.so
+
+for f in build/unix/*.pc ; do
+	sed -e 's/xulrunner-%{version}/xulrunner/' $f \
+		> $RPM_BUILD_ROOT%{_pkgconfigdir}/$(basename $f)
+done
+
+sed -e 's,lib/xulrunner-%{version},lib,g;s/xulrunner-%{version}/xulrunner/g' build/unix/xulrunner-gtkmozembed.pc \
+		> $RPM_BUILD_ROOT%{_pkgconfigdir}/xulrunner-gtkmozembed.pc
+
+# add includir/dom to Cflags, for openvrml.spec, perhaps others
+sed -i -e '/Cflags:/{/{includedir}\/dom/!s,$, -I${includedir}/dom,}' $RPM_BUILD_ROOT%{_pkgconfigdir}/xulrunner-plugin.pc
+
+rm -f $RPM_BUILD_ROOT%{_pkgconfigdir}/xulrunner-nss.pc $RPM_BUILD_ROOT%{_pkgconfigdir}/xulrunner-nspr.pc
+
+install dist/bin/xulrunner $RPM_BUILD_ROOT%{_bindir}
+install dist/bin/xulrunner-bin $RPM_BUILD_ROOT%{_xulrunnerdir}
+install dist/bin/regxpcom $RPM_BUILD_ROOT%{_xulrunnerdir}
+install dist/bin/xpidl $RPM_BUILD_ROOT%{_xulrunnerdir}
+install dist/bin/regxpcom $RPM_BUILD_ROOT%{_bindir}
+install dist/bin/xpidl $RPM_BUILD_ROOT%{_bindir}
+
+cp $RPM_BUILD_ROOT%{_chromedir}/installed-chrome.txt \
+        $RPM_BUILD_ROOT%{_chromedir}/%{name}-installed-chrome.txt
+
+cat << 'EOF' > $RPM_BUILD_ROOT%{_sbindir}/%{name}-chrome+xpcom-generate
+#!/bin/sh
+umask 022
+cd %{_datadir}/%{name}/chrome
+cat *-installed-chrome.txt > installed-chrome.txt
+rm -f chrome.rdf overlays.rdf
+rm -f %{_xulrunnerdir}/components/{compreg,xpti}.dat
+
+LD_LIBRARY_PATH=%{_xulrunnerdir}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
+export LD_LIBRARY_PATH
+
+MOZILLA_FIVE_HOME=%{_xulrunnerdir} %{_xulrunnerdir}/regxpcom
+exit 0
+EOF
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post
+umask 022
+%{_sbindir}/%{name}-chrome+xpcom-generate
+
+%postun
+if [ "$1" = "1" ]; then
+	%{_sbindir}/%{name}-chrome+xpcom-generate
+fi
+
+%post	libs -p /sbin/ldconfig
+%postun	libs -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/xulrunner
+%attr(744,root,root) %{_sbindir}/%{name}-chrome+xpcom-generate
+
+%dir %{_xulrunnerdir}
+%dir %{_chromedir}
+%dir %{_xulrunnerdir}/components
+%dir %{_xulrunnerdir}/defaults
+%dir %{_xulrunnerdir}/greprefs
+#%dir %{_xulrunnerdir}/icons
+#%dir %{_xulrunnerdir}/plugins
+%dir %{_xulrunnerdir}/res
+%dir %{_datadir}/%{name}
+
+%attr(755,root,root) %{_xulrunnerdir}/xulrunner-bin
+%attr(755,root,root) %{_xulrunnerdir}/reg*
+%attr(755,root,root) %{_xulrunnerdir}/xpidl
+
+%attr(755,root,root) %{_xulrunnerdir}/libxpcom.so
+%attr(755,root,root) %{_xulrunnerdir}/libnssckbi.so
+
+%attr(755,root,root) %{_xulrunnerdir}/components/libauth*.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libautoconfig.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libcookie.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libfileview.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libmoz*.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libmyspell.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libnkdatetime.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libnkfinger.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libp3p.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libpermissions.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libpipboot.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libpipnss.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libpippki.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libschemavalidation.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libspellchecker.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libsql.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libsroaming.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libsystem-pref.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libtransformiix.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libtypeaheadfind.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libuniversalchardet.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libwallet.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libwalletviewers.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libwebsrvcs.so
+%attr(755,root,root) %{_xulrunnerdir}/components/libx*.so
+
+%{_xulrunnerdir}/components/access*.xpt
+%{_xulrunnerdir}/components/alerts.xpt
+%{_xulrunnerdir}/components/appshell.xpt
+%{_xulrunnerdir}/components/appstartup.xpt
+%{_xulrunnerdir}/components/autocomplete.xpt
+%{_xulrunnerdir}/components/autoconfig.xpt
+%{_xulrunnerdir}/components/caps.xpt
+%{_xulrunnerdir}/components/chardet.xpt
+%{_xulrunnerdir}/components/chrome.xpt
+%{_xulrunnerdir}/components/commandhandler.xpt
+%{_xulrunnerdir}/components/commandlines.xpt
+%{_xulrunnerdir}/components/composer.xpt
+%{_xulrunnerdir}/components/content*.xpt
+%{_xulrunnerdir}/components/cookie.xpt
+%{_xulrunnerdir}/components/directory.xpt
+%{_xulrunnerdir}/components/docshell.xpt
+%{_xulrunnerdir}/components/downloads.xpt
+%{_xulrunnerdir}/components/dom*.xpt
+%{_xulrunnerdir}/components/editor.xpt
+%{_xulrunnerdir}/components/embed_base.xpt
+%{_xulrunnerdir}/components/extensions.xpt
+%{_xulrunnerdir}/components/exthandler.xpt
+%{_xulrunnerdir}/components/fastfind.xpt
+%{_xulrunnerdir}/components/find.xpt
+%{_xulrunnerdir}/components/filepicker.xpt
+%{_xulrunnerdir}/components/gfx*.xpt
+%{?with_svg:%{_xulrunnerdir}/components/gksvgrenderer.xpt}
+%{_xulrunnerdir}/components/history.xpt
+%{_xulrunnerdir}/components/htmlparser.xpt
+%{?with_gnomeui:%{_xulrunnerdir}/components/imgicon.xpt}
+%{_xulrunnerdir}/components/imglib2.xpt
+%{_xulrunnerdir}/components/intl.xpt
+%{_xulrunnerdir}/components/jar.xpt
+%{_xulrunnerdir}/components/js*.xpt
+%{_xulrunnerdir}/components/layout*.xpt
+%{_xulrunnerdir}/components/locale.xpt
+%{_xulrunnerdir}/components/lwbrk.xpt
+%{_xulrunnerdir}/components/mimetype.xpt
+%{_xulrunnerdir}/components/moz*.xpt
+%{_xulrunnerdir}/components/necko*.xpt
+%{_xulrunnerdir}/components/oji.xpt
+%{_xulrunnerdir}/components/p3p.xpt
+%{_xulrunnerdir}/components/passwordmgr.xpt
+%{_xulrunnerdir}/components/pipboot.xpt
+%{_xulrunnerdir}/components/pipnss.xpt
+%{_xulrunnerdir}/components/pippki.xpt
+%{_xulrunnerdir}/components/plugin.xpt
+%{_xulrunnerdir}/components/pref.xpt
+%{_xulrunnerdir}/components/prefetch.xpt
+%{_xulrunnerdir}/components/profile.xpt
+%{_xulrunnerdir}/components/progressDlg.xpt
+%{_xulrunnerdir}/components/proxyObjInst.xpt
+%{_xulrunnerdir}/components/rdf.xpt
+%{_xulrunnerdir}/components/satchel.xpt
+%{_xulrunnerdir}/components/schemavalidation.xpt
+%{_xulrunnerdir}/components/shistory.xpt
+%{_xulrunnerdir}/components/signonviewer.xpt
+%{_xulrunnerdir}/components/spellchecker.xpt
+%{_xulrunnerdir}/components/sql.xpt
+%{_xulrunnerdir}/components/toolkitprofile.xpt
+%{_xulrunnerdir}/components/toolkitremote.xpt
+%{_xulrunnerdir}/components/txmgr.xpt
+%{_xulrunnerdir}/components/txtsvc.xpt
+%{_xulrunnerdir}/components/typeaheadfind.xpt
+%{_xulrunnerdir}/components/uconv.xpt
+%{_xulrunnerdir}/components/unicharutil.xpt
+%{_xulrunnerdir}/components/update.xpt
+%{_xulrunnerdir}/components/uriloader.xpt
+%{_xulrunnerdir}/components/wallet*.xpt
+%{_xulrunnerdir}/components/webBrowser_core.xpt
+%{_xulrunnerdir}/components/webbrowserpersist.xpt
+%{_xulrunnerdir}/components/webshell_idls.xpt
+%{_xulrunnerdir}/components/websrvcs.xpt
+%{_xulrunnerdir}/components/widget.xpt
+%{_xulrunnerdir}/components/windowds.xpt
+%{_xulrunnerdir}/components/windowwatcher.xpt
+%{_xulrunnerdir}/components/x*.xpt
+
+%{_xulrunnerdir}/components/jsconsole-clhandler.js
+%{_xulrunnerdir}/components/nsCloseAllWindows.js
+%{_xulrunnerdir}/components/nsDefaultCLH.js
+%{_xulrunnerdir}/components/nsDictionary.js
+%{_xulrunnerdir}/components/nsExtensionManager.js
+%{_xulrunnerdir}/components/nsFilePicker.js
+%{_xulrunnerdir}/components/nsHelperAppDlg.js
+%{_xulrunnerdir}/components/nsInterfaceInfoToIDL.js
+%{_xulrunnerdir}/components/nsKillAll.js
+%{_xulrunnerdir}/components/nsProgressDialog.js
+%{_xulrunnerdir}/components/nsProxyAutoConfig.js
+%{_xulrunnerdir}/components/nsResetPref.js
+%{_xulrunnerdir}/components/nsSchemaValidatorRegexp.js
+%{_xulrunnerdir}/components/nsUpdateService.js
+%{_xulrunnerdir}/components/nsXmlRpcClient.js
+%{_xulrunnerdir}/components/nsXULAppInstall.js
+
+# not *.dat, so check-files can catch any new files
+# (and they won't be just silently placed empty in rpm)
+%ghost %{_xulrunnerdir}/components/compreg.dat
+%ghost %{_xulrunnerdir}/components/xpti.dat
+
+%{_xulrunnerdir}/components/myspell
+
+%dir %{_datadir}/%{name}/chrome
+%{_datadir}/%{name}/chrome/US.jar
+%{_datadir}/%{name}/chrome/classic.jar
+%{_datadir}/%{name}/chrome/comm.jar
+%{_datadir}/%{name}/chrome/content-packs.jar
+%{_datadir}/%{name}/chrome/cview.jar
+%{_datadir}/%{name}/chrome/en-US.jar
+%{_datadir}/%{name}/chrome/help.jar
+%{_datadir}/%{name}/chrome/modern.jar
+%{_datadir}/%{name}/chrome/pippki.jar
+%{_datadir}/%{name}/chrome/reporter.jar
+%{_datadir}/%{name}/chrome/sql.jar
+%{_datadir}/%{name}/chrome/sroaming.jar
+%{_datadir}/%{name}/chrome/tasks.jar
+%{_datadir}/%{name}/chrome/toolkit.jar
+
+# not generated automatically ?
+%{_datadir}/%{name}/chrome/chromelist.txt
+#%{_datadir}/%{name}/chrome/icons
+
+%{_datadir}/%{name}/chrome/%{name}-installed-chrome.txt
+%ghost %{_datadir}/%{name}/chrome/installed-chrome.txt
+
+%{_datadir}/%{name}/defaults
+%{_datadir}/%{name}/greprefs
+#%{_datadir}/%{name}/icons
+%{_datadir}/%{name}/myspell
+%{_datadir}/%{name}/res
+
+%files libs
+%defattr(644,root,root,755)
+# libxpcom.so used by mozillaplug-in
+# probably should add more if more packages require
+%attr(755,root,root) %{_xulrunnerdir}/libxpcom.so
+
+# add rest too
+%attr(755,root,root) %{_xulrunnerdir}/libxul.so
+%attr(755,root,root) %{_xulrunnerdir}/libgtkembedmoz.so
+%attr(755,root,root) %{_xulrunnerdir}/libldap50.so
+%attr(755,root,root) %{_xulrunnerdir}/libprldap50.so
+%attr(755,root,root) %{_xulrunnerdir}/libssldap50.so
+%attr(755,root,root) %{_xulrunnerdir}/libmozjs.so
+
+%files devel
+%defattr(644,root,root,755)
+%{_includedir}/%{name}
+%{_pkgconfigdir}/*
+%attr(755,root,root) %{_bindir}/reg*
+%attr(755,root,root) %{_bindir}/xpidl
+
+%define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
+%changelog
+* %{date} PLD Team <feedback at pld-linux.org>
+All persons listed below can be reached at <cvs_login>@pld-linux.org
+
+$Log$
+Revision 1.2  2006/05/15 19:57:46  hawk
+- started packaging xulrunner, spec based on seamonkey.spec
+- builds, not checked, not tested, must be heavily reviewed by some
+  mozilla guru (is all required stuff packaged? is some unecessary stuff
+  packaged? does it need some other patches? does it need some other
+  configure/build options?)
+
================================================================


More information about the pld-cvs-commit mailing list