]> git.pld-linux.org Git - packages/firefox.git/blobdiff - mozilla-firefox.spec
- exact mktemp dep
[packages/firefox.git] / mozilla-firefox.spec
index ecb0152c93738ad66f9b026d73f59628160693f5..7a0b0cf4c74b71d99f27819c192da01b051b3179 100644 (file)
@@ -1,9 +1,15 @@
 #
 # TODO:
+# - with new gcc version (it is possible that)
+#   - -fvisibility=hiddenn and ac_cv_visibility_pragma=no can be removed
+# - with new firefox version (it is possible that)
+#   - -fno-strict-aliasing can be removed (needs to be tested carefuly,
+#      not to be fixed soon, imho)
 # - handle locales differently (runtime, since it's possible to do)
 # - see ftp://ftp.debian.org/debian/pool/main/m/mozilla-firefox/*diff*
 #   for hints how to make locales and other stuff like extensions working
-# - rpm upgrade is broken. First you need uninstall Firefox 1.0.x. 
+# - rpm upgrade is broken. First you need uninstall Firefox 1.0.x.
+#
 # Conditional build:
 %bcond_with    tests   # enable tests (whatever they check)
 %bcond_without gnome   # disable all GNOME components (gnomevfs, gnome, gnomeui)
 Summary:       Mozilla Firefox web browser
 Summary(pl):   Mozilla Firefox - przegl±darka WWW
 Name:          mozilla-firefox
-Version:       1.5.0.1
+Version:       1.5.0.7
 Release:       1
 License:       MPL/LGPL
 Group:         X11/Applications/Networking
 Source0:       ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/%{version}/source/firefox-%{version}-source.tar.bz2
-# Source0-md5: c76f02956645bc823241379e27f76bb5
+# Source0-md5: 518cbd99a3fe663237070013e5cdb1a4
 Source1:       %{name}.desktop
 Source2:       %{name}.sh
 Patch0:                %{name}-nss.patch
@@ -24,33 +30,38 @@ Patch1:             %{name}-lib_path.patch
 Patch2:                %{name}-nss-system-nspr.patch
 Patch3:                %{name}-nopangoxft.patch
 Patch4:                %{name}-name.patch
+Patch5:                %{name}-fonts.patch
 # UPDATE or DROP?
-#PatchX:               %{name}-searchplugins.patch
+#PatchX:       %{name}-searchplugins.patch
 URL:           http://www.mozilla.org/projects/firefox/
 %{?with_gnome:BuildRequires:   GConf2-devel >= 1.2.1}
 BuildRequires: automake
 BuildRequires: cairo-devel >= 1.0.0
+%{?with_gnome:BuildRequires:   gnome-vfs2-devel >= 2.0}
 BuildRequires: gtk+2-devel >= 1:2.0.0
 BuildRequires: heimdal-devel >= 0.7.1
-%{?with_gnome:BuildRequires:   gnome-vfs2-devel >= 2.0}
 BuildRequires: libIDL-devel >= 0.8.0
 %{?with_gnome:BuildRequires:   libgnome-devel >= 2.0}
 %{?with_gnome:BuildRequires:   libgnomeui-devel >= 2.2.0}
 BuildRequires: libjpeg-devel >= 6b
-BuildRequires: libpng-devel >= 1.2.0
+BuildRequires: libpng-devel >= 1.2.7
 BuildRequires: libstdc++-devel
-BuildRequires: nspr-devel >= 1:4.6-0.20041030.1
-BuildRequires: nss-devel >= 3.8
+BuildRequires: nspr-devel >= 1:4.6.1-2
+BuildRequires: nss-devel >= 1:3.11.3
 BuildRequires: pango-devel >= 1:1.6.0
 BuildRequires: perl-modules >= 5.004
 BuildRequires: pkgconfig
+BuildRequires: xorg-lib-libXext-devel
+BuildRequires: xorg-lib-libXft-devel >= 2.1
+BuildRequires: xorg-lib-libXinerama-devel
+BuildRequires: xorg-lib-libXp-devel
+BuildRequires: xorg-lib-libXt-devel
 BuildRequires: zip
+BuildRequires: zlib-devel >= 1.2.3
 Requires:      %{name}-lang-resources = %{version}
-Requires:      nspr >= 1:4.6-0.20041030.1
-Requires:      nss >= 3.8
-# for /etc/ld.so.conf.d
-Requires:      glibc >= 6:2.3.5-7.6
-Requires(post,postun): /sbin/ldconfig
+Requires:      nspr >= 1:4.6.1-2
+Requires:      nss >= 1:3.11.3
+Requires(post):        mktemp >= 1.5-18
 Provides:      wwwbrowser
 Obsoletes:     mozilla-firebird
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -58,7 +69,8 @@ BuildRoot:    %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                _firefoxdir     %{_libdir}/%{name}
 # mozilla and firefox provide their own versions
 %define                _noautoreqdep           libgkgfx.so libgtkembedmoz.so libgtkxtbin.so libjsj.so libmozjs.so libxpcom.so libxpcom_compat.so
-%define                _noautoprovfiles        libplc4.so libplds4.so
+
+%define                specflags       -fno-strict-aliasing
 
 %description
 Mozilla Firefox is an open-source web browser, designed for standards
@@ -70,21 +82,21 @@ my
 
 %package devel
 Summary:       Headers for developing programs that will use Mozilla Firefox
-Summary(pl):   Mozilla Firefox - pliki nag³ówkowe i biblioteki
+Summary(pl):   Mozilla Firefox - pliki nag³ówkowe
 Group:         X11/Development/Libraries
-Obsoletes:     mozilla-devel
 Requires:      %{name} = %{epoch}:%{version}-%{release}
-Requires:      nspr-devel >= 1:4.6-0.20041030.1
+Requires:      nspr-devel >= 1:4.6.1-2
+Obsoletes:     mozilla-devel
 
 %description devel
-Mozilla development package.
+Mozilla Firefox development package.
 
 %description devel -l pl
-Biblioteki i pliki nag³ówkowe.
+Pliki nag³ówkowe przegl±darki Mozilla Firefox.
 
 %package lang-en
-Summary:       English resources for Mozilla-firefox
-Summary(pl):   Anglojêzyczne zasoby dla Mozilla-FireFox
+Summary:       English resources for Mozilla Firefox
+Summary(pl):   Anglojêzyczne zasoby dla przegl±darki Mozilla Firefox
 Group:         X11/Applications/Networking
 Requires(post,postun): %{name} = %{version}-%{release}
 Requires(post,postun): textutils
@@ -92,22 +104,25 @@ Requires:  %{name} = %{version}-%{release}
 Provides:      %{name}-lang-resources = %{version}-%{release}
 
 %description lang-en
-English resources for Mozilla-firefox
+English resources for Mozilla Firefox.
 
 %description lang-en -l pl
-Anglojêzyczne zasoby dla Mozilla-FireFox
+Anglojêzyczne zasoby dla przegl±darki Mozilla Firefox.
 
 %prep
-%setup -q -n mozilla
+%setup -qc
+cd mozilla
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
 
 sed -i 's/\(-lgss\)\(\W\)/\1disable\2/' configure
 
 %build
+cd mozilla
 rm -f .mozconfig
 export CFLAGS="%{rpmcflags} `%{_bindir}/pkg-config mozilla-nspr --cflags-only-I`"
 export CXXFLAGS="%{rpmcflags} `%{_bindir}/pkg-config mozilla-nspr --cflags-only-I`"
@@ -118,8 +133,8 @@ cp -f %{_datadir}/automake/config.* directory/c-sdk/config/autoconf
 
 LIBIDL_CONFIG="%{_bindir}/libIDL-config-2"; export LIBIDL_CONFIG
 
-cat << EOF > .mozconfig
-. \$topsrcdir/browser/config/mozconfig
+cat << 'EOF' > .mozconfig
+. $topsrcdir/browser/config/mozconfig
 
 export BUILD_OFFICIAL=1
 export MOZILLA_OFFICIAL=1
@@ -180,6 +195,7 @@ ac_add_options --with-system-jpeg
 ac_add_options --with-system-nspr
 ac_add_options --with-system-png
 ac_add_options --with-system-zlib
+ac_cv_visibility_pragma=no
 EOF
 
 %{__make} -j1 -f client.mk build \
@@ -188,18 +204,21 @@ EOF
 
 %install
 rm -rf $RPM_BUILD_ROOT
+cd mozilla
 install -d \
        $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}{,extensions}} \
        $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
        $RPM_BUILD_ROOT{%{_includedir}/%{name}/idl,%{_pkgconfigdir}}
 # extensions dir is needed (it can be empty)
-       
+
+ln -s mozilla-firefox $RPM_BUILD_ROOT%{_bindir}/firefox
+
 %{__make} -C xpinstall/packager \
        MOZ_PKG_APPNAME="mozilla-firefox" \
        MOZILLA_BIN="\$(DIST)/bin/firefox-bin" \
        EXCLUDE_NSPR_LIBS=1
 
-install %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/mozilla-firefox
+sed 's,@LIBDIR@,%{_libdir},' %{SOURCE2} > $RPM_BUILD_ROOT%{_bindir}/mozilla-firefox
 
 tar -xvz -C $RPM_BUILD_ROOT%{_libdir} -f dist/mozilla-firefox-*linux*.tar.gz
 
@@ -209,9 +228,6 @@ install other-licenses/branding/firefox/content/icon64.png $RPM_BUILD_ROOT%{_pix
 
 install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
 
-#grep locale $RPM_BUILD_ROOT%{_firefoxdir}/chrome/installed-chrome.txt > $RPM_BUILD_ROOT%{_firefoxdir}/chrome/%{name}-en-US-installed-chrome.txt
-#grep -v locale $RPM_BUILD_ROOT%{_firefoxdir}/chrome/installed-chrome.txt > $RPM_BUILD_ROOT%{_firefoxdir}/chrome/%{name}-misc-installed-chrome.txt
-
 rm -rf US classic comm embed-sample en-{US,mac,unix,win} modern pipnss pippki
 rm -f en-win.jar en-mac.jar embed-sample.jar modern.jar
 
@@ -226,7 +242,7 @@ install dist/bin/xpt_link $RPM_BUILD_ROOT%{_bindir}
 
 ln -sf %{_includedir}/mozilla-firefox/necko/nsIURI.h \
        $RPM_BUILD_ROOT%{_includedir}/mozilla-firefox/nsIURI.h
-       
+
 # CA certificates
 ln -s %{_libdir}/libnssckbi.so $RPM_BUILD_ROOT%{_firefoxdir}/libnssckbi.so
 
@@ -242,15 +258,13 @@ rm -f $RPM_BUILD_ROOT%{_pkgconfigdir}/firefox-{nss,nspr}.pc
 sed -i -e 's#firefox-nspr =.*#mozilla-nspr#g' -e 's#irefox-nss =.*#mozilla-nss#g' \
        $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
 
-# includedir/dom CFLAGS                
+# includedir/dom CFLAGS
 sed -i -e '/Cflags:/{/{includedir}\/dom/!s,$, -I${includedir}/dom,}' \
        $RPM_BUILD_ROOT%{_pkgconfigdir}/firefox-plugin.pc
-       
+
 cat << 'EOF' > $RPM_BUILD_ROOT%{_sbindir}/firefox-chrome+xpcom-generate
 #!/bin/sh
 umask 022
-#There is no such files (*-installed-chrome.txt). IMO obsolete.
-#cat %{_firefoxdir}/chrome/*-installed-chrome.txt > %{_firefoxdir}/chrome/installed-chrome.txt
 rm -f %{_firefoxdir}/chrome/{chrome.rdf,overlayinfo/*/*/*.rdf}
 rm -f %{_firefoxdir}/components/{compreg,xpti}.dat
 MOZILLA_FIVE_HOME=%{_firefoxdir}
@@ -265,51 +279,37 @@ LD_LIBRARY_PATH=%{_firefoxdir}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
 export LD_LIBRARY_PATH
 
 unset TMPDIR TMP || :
+export HOME=$(mktemp -d)
 MOZILLA_FIVE_HOME=%{_firefoxdir} %{_firefoxdir}/regxpcom
 MOZILLA_FIVE_HOME=%{_firefoxdir} %{_firefoxdir}/firefox -register
+rm -rf $HOME
 EOF
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %post
-/sbin/ldconfig
 %{_sbindir}/firefox-chrome+xpcom-generate
-%banner %{name} -e <<EOF
-###################################################################
-#                                                                 #
-# NOTICE:                                                         #
-# If you have problem with upgrade old mozilla-firefox 1.0.x, you #
-# should remove it first.                                         #
-#                                                                 #
-###################################################################
-EOF
 
 %postun
-/sbin/ldconfig
-if [ "$1" != "0" ]; then
-       %{_sbindir}/firefox-chrome+xpcom-generate
-fi
-
-%preun
-if [ "$1" == "0" ]; then
+if [ "$1" = "0" ]; then
        rm -rf %{_firefoxdir}/chrome/overlayinfo
        rm -f  %{_firefoxdir}/chrome/*.rdf
        rm -rf %{_firefoxdir}/components
        rm -rf %{_firefoxdir}/extensions
 fi
 
-#%post lang-en
-#umask 022
-#cat %{_firefoxdir}/chrome/*-installed-chrome.txt >%{_firefoxdir}/chrome/installed-chrome.txt
-
-#%postun lang-en
-#umask 022
-#cat %{_firefoxdir}/chrome/*-installed-chrome.txt >%{_firefoxdir}/chrome/installed-chrome.txt
+%triggerpostun -- %{name} < 1.5
+%banner %{name} -e <<EOF
+NOTICE:
+If you have problem with upgrade from old mozilla-firefox 1.0.x,
+you should remove it first and reinstall %{name}-%{version}
+EOF
 
 %files
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/mozilla*
+%attr(755,root,root) %{_bindir}/firefox
 %attr(755,root,root) %{_sbindir}/*
 %dir %{_firefoxdir}
 %{_firefoxdir}/res
@@ -317,7 +317,8 @@ fi
 %attr(755,root,root) %{_firefoxdir}/components/*.so
 %{_firefoxdir}/components/*.js
 %{_firefoxdir}/components/*.xpt
-%{_firefoxdir}/plugins
+%dir %{_firefoxdir}/plugins
+%attr(755,root,root) %{_firefoxdir}/plugins/*.so
 %{_firefoxdir}/searchplugins
 %{_firefoxdir}/icons
 %{_firefoxdir}/defaults
@@ -339,12 +340,13 @@ fi
 # -chat subpackage?
 #%{_firefoxdir}/chrome/chatzilla.jar
 #%{_firefoxdir}/chrome/content-packs.jar
-# -dom-inspector subpackage?
-#%{_firefoxdir}/chrome/inspector.jar
-#%{_firefoxdir}/chrome/mozilla-firefox-misc-installed-chrome.txt
 %dir %{_firefoxdir}/chrome/icons
 %{_firefoxdir}/chrome/icons/default
 
+# -dom-inspector subpackage?
+%dir %{_firefoxdir}/extensions/inspector@mozilla.org
+%{_firefoxdir}/extensions/inspector@mozilla.org/*
+
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/regxpcom
@@ -358,4 +360,3 @@ fi
 %defattr(644,root,root,755)
 %{_firefoxdir}/chrome/en-US.jar
 %{_firefoxdir}/chrome/en-US.manifest
-#%{_firefoxdir}/chrome/mozilla-firefox-en-US-installed-chrome.txt
This page took 0.768057 seconds and 4 git commands to generate.