# - make it more pld-like (bookmarks, default page etc..)
#
# Conditional build:
-%bcond_with tests # enable tests (whatever they check)
-%bcond_without gnome # disable all GNOME components (gnomevfs, gnome, gnomeui)
-%bcond_with tidy # enable htmlvalidator extension (tidy)
+%bcond_with tests # enable tests (whatever they check)
+%bcond_without gnomeui # disable gnomeui support
+%bcond_without gnomevfs # disable GNOME comp. (gconf+libgnome+gnomevfs) and gnomevfs ext.
+%bcond_without gnome # disable all GNOME components (gnome+gnomeui+gnomevfs)
#
-%define tidy_ver 0.8.4.0
-%define firefox_ver 2.0.0.5
+%if %{without gnome}
+%undefine with_gnomeui
+%undefine with_gnomevfs
+%endif
+%define firefox_ver 2.0.0.11
#
Summary: Firefox Community Edition web browser
Summary(pl.UTF-8): Firefox Community Edition - przeglądarka WWW
Name: mozilla-firefox
Version: %{firefox_ver}
-Release: 1
-License: MPL/LGPL
+Release: 2
+License: MPL 1.1 or GPL v2+ or LGPL v2.1+
Group: X11/Applications/Networking
Source0: ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/%{version}/source/firefox-%{version}-source.tar.bz2
-# Source0-md5: 5a6ca3e4ac3ebc335d473cd3f682a916
-Source1: http://users.skynet.be/mgueury/mozilla/tidy_08x_source.zip
-# Source1-md5: cd5d54c47f08286605eaaa308536d4ab
-Source2: %{name}.desktop
-Source3: %{name}.sh
+# Source0-md5: b2f982f9f3085195d4797957537ca75d
+Source1: %{name}.desktop
+Source2: %{name}.sh
Patch0: mozilla-install.patch
Patch1: %{name}-lib_path.patch
-Patch2: %{name}-addon-tidy.patch
-Patch3: %{name}-nopangoxft.patch
-Patch5: %{name}-fonts.patch
-Patch6: %{name}-agent.patch
-Patch7: %{name}-myspell.patch
+Patch2: %{name}-fonts.patch
+Patch3: %{name}-agent.patch
+Patch4: %{name}-myspell.patch
+Patch5: %{name}-pango-cursor-position.patch
+Patch6: %{name}-pango-ligatures.patch
+Patch7: %{name}-pango-cursor-position-more.patch
+Patch8: %{name}-pango-justified-range.patch
+Patch9: %{name}-pango-printing.patch
+Patch10: %{name}-pango-underline.patch
+Patch11: %{name}-xft-randewidth.patch
# if ac rebuild is needed...
#PatchX: %{name}-ac.patch
URL: http://www.mozilla.org/projects/firefox/
-%{?with_gnome:BuildRequires: GConf2-devel >= 1.2.1}
+%{?with_gnomevfs:BuildRequires: GConf2-devel >= 1.2.1}
BuildRequires: automake
BuildRequires: cairo-devel >= 1.0.0
-%{?with_gnome:BuildRequires: gnome-vfs2-devel >= 2.0}
+%{?with_gnomevfs:BuildRequires: gnome-vfs2-devel >= 2.0}
BuildRequires: gtk+2-devel >= 1:2.0.0
BuildRequires: krb5-devel
BuildRequires: libIDL-devel >= 0.8.0
-%{?with_gnome:BuildRequires: libgnome-devel >= 2.0}
-%{?with_gnome:BuildRequires: libgnomeui-devel >= 2.2.0}
+%{?with_gnomevfs:BuildRequires: libgnome-devel >= 2.0}
+%{?with_gnomeui:BuildRequires: libgnomeui-devel >= 2.2.0}
BuildRequires: libjpeg-devel >= 6b
BuildRequires: libpng-devel >= 1.2.7
BuildRequires: libstdc++-devel
BuildRequires: myspell-devel
BuildRequires: nspr-devel >= 1:4.6.3
BuildRequires: nss-devel >= 1:3.11.3-3
-%{?with_tidy:BuildRequires: opensp-devel >= 2:1.5.2-4}
BuildRequires: pango-devel >= 1:1.6.0
BuildRequires: perl-modules >= 5.004
BuildRequires: pkgconfig
BuildRequires: zip
BuildRequires: zlib-devel >= 1.2.3
Requires(post): mktemp >= 1.5-18
-Requires: %{name}-lang-resources = %{version}
-Requires: %{name}-libs = %{epoch}:%{version}-%{release}
Requires: browser-plugins >= 2.0
Requires: nspr >= 1:4.6.3
Requires: nss >= 1:3.11.3
Provides: wwwbrowser
Obsoletes: mozilla-firebird
+Obsoletes: mozilla-firefox-lang-en < 2.0.0.8-3
+Obsoletes: mozilla-firefox-libs
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
# firefox/thunderbird/seamonkey provide their own versions
zgodnie z ideami ruchu otwartego oprogramowania oraz tworzoną z myślą
o zgodności ze standardami, wydajnością i przenośnością.
-%package libs
-Summary: Firefox Community Edition shared libraries
-Summary(pl.UTF-8): Biblioteki współdzielone przeglądarki Firefox Community Edition
-Group: Libraries
-Conflicts: mozilla-firefox < 2.0-1.4
-
-%description libs
-Firefox Community Edition shared libraries.
-
-%description libs -l pl.UTF-8
-Biblioteki współdzielone przeglądarki Firefox Community Edition.
-
-%package addon-tidy
-Summary: HTML Validator for Firefox
-Summary(pl.UTF-8): Narzędzie do sprawdzania poprawności HTML-a dla Firefoksa
-Version: %{tidy_ver}
-License: GPL
-Group: X11/Applications/Networking
-Requires: %{name} = %{firefox_ver}-%{release}
-
-%description addon-tidy
-HTML Validator is a Mozilla extension that adds HTML validation inside
-Firefox. The number of errors of a HTML page is seen on the form of an
-icon in the status bar when browsing.
-
-%description addon-tidy -l pl.UTF-8
-HTML Validator to rozszerzenie Mozilli dodające sprawdzanie
-poprawności HTML-a w Firefoksie. Liczbę błędów na przeglądanej stronie
-HTML można zobaczyć w postaci ikony na pasku stanu.
-
-%package lang-en
-Summary: English resources for Firefox Community Edition
-Summary(pl.UTF-8): Anglojęzyczne zasoby dla przeglądarki Firefox Community Edition
-Version: %{firefox_ver}
-Group: X11/Applications/Networking
-Requires: %{name} = %{firefox_ver}-%{release}
-Provides: %{name}-lang-resources = %{firefox_ver}-%{release}
-
-%description lang-en
-English resources for Firefox Community Edition.
-
-%description lang-en -l pl.UTF-8
-Anglojęzyczne zasoby dla przeglądarki Firefox Community Edition.
-
%prep
-%setup -qc %{?with_tidy:-a1}
-%if %{with tidy}
-mv mozilla_tidy_source/mozilla/extensions/tidy mozilla/extensions/tidy
-mv mozilla_tidy_source/tidy_extension .
-rm -rf mozilla/extensions/tidy/opensp
-%endif
+%setup -qc
cd mozilla
%patch0 -p1
%patch1 -p1
-%{?with_tidy:%patch2 -p1}
+%patch2 -p1
%patch3 -p1
+%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
-
-# use system
-#rm -rf mozilla/nsprpub mozilla/security/nss
+%patch8 -p1
+%patch9 -p0
+%patch10 -p1
+%patch11 -p1
%build
cd mozilla
-export CFLAGS="%{rpmcflags} $(%{_bindir}/pkg-config mozilla-nspr --cflags-only-I)"
-export CXXFLAGS="%{rpmcflags} $(%{_bindir}/pkg-config mozilla-nspr --cflags-only-I)"
cp -f %{_datadir}/automake/config.* build/autoconf
cp -f %{_datadir}/automake/config.* nsprpub/build/autoconf
cat << 'EOF' > .mozconfig
. $topsrcdir/browser/config/mozconfig
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-%{_target_cpu}
+ac_cv_visibility_pragma=no
+
# Options for 'configure' (same as command-line options).
ac_add_options --prefix=%{_prefix}
ac_add_options --exec-prefix=%{_exec_prefix}
ac_add_options --enable-crash-on-assert
%else
ac_add_options --disable-debug
+ac_add_options --disable-debug-modules
ac_add_options --disable-logging
ac_add_options --enable-optimize="%{rpmcflags}"
%endif
%else
ac_add_options --disable-tests
%endif
-%if %{with gnome}
-ac_add_options --enable-gnomevfs
+%if %{with gnomeui}
ac_add_options --enable-gnomeui
%else
-ac_add_options --disable-gnomevfs
ac_add_options --disable-gnomeui
%endif
+%if %{with gnomevfs}
+ac_add_options --enable-gnomevfs
+%else
+ac_add_options --disable-gnomevfs
+%endif
ac_add_options --disable-freetype2
ac_add_options --disable-installer
ac_add_options --disable-javaxpcom
ac_add_options --enable-system-myspell
ac_add_options --enable-xft
ac_add_options --with-distribution-id=org.pld-linux
+ac_add_options --with-system-jpeg
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
-ac_add_options --with-system-zlib
-ac_add_options --with-system-jpeg
ac_add_options --with-system-png
+ac_add_options --with-system-zlib
ac_add_options --with-default-mozilla-five-home=%{_libdir}/%{name}
-ac_cv_visibility_pragma=no
EOF
%{__make} -j1 -f client.mk build \
%browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/plugins
-%{__make} -C xpinstall/packager stage-package \
+%{__make} -C obj-%{_target_cpu}/xpinstall/packager stage-package \
DESTDIR=$RPM_BUILD_ROOT \
MOZ_PKG_APPDIR=%{_libdir}/%{name} \
PKG_SKIP_STRIP=1
rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries
ln -s %{_datadir}/myspell $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries
-sed 's,@LIBDIR@,%{_libdir},' %{SOURCE3} > $RPM_BUILD_ROOT%{_bindir}/mozilla-firefox
+sed 's,@LIBDIR@,%{_libdir},' %{SOURCE2} > $RPM_BUILD_ROOT%{_bindir}/mozilla-firefox
ln -s mozilla-firefox $RPM_BUILD_ROOT%{_bindir}/firefox
install browser/base/branding/icon64.png $RPM_BUILD_ROOT%{_pixmapsdir}/mozilla-firefox.png
-install %{SOURCE2} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
+install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
# header/development files
rm $RPM_BUILD_ROOT%{_libdir}/%{name}/xpidl
%{_browserpluginsconfdir}/browsers.d/%{name}.*
%config(noreplace) %verify(not md5 mtime size) %{_browserpluginsconfdir}/blacklist.d/%{name}.*.blacklist
+%dir %{_libdir}/%{name}
+%attr(755,root,root) %{_libdir}/%{name}/*.so
+
%dir %{_libdir}/%{name}/components
%attr(755,root,root) %{_libdir}/%{name}/components/libaccessibility.so
%attr(755,root,root) %{_libdir}/%{name}/components/libappcomps.so
%attr(755,root,root) %{_libdir}/%{name}/components/libgkplugin.so
%attr(755,root,root) %{_libdir}/%{name}/components/libhtmlpars.so
%attr(755,root,root) %{_libdir}/%{name}/components/libi18n.so
-%attr(755,root,root) %{_libdir}/%{name}/components/libimgicon.so
+%{?with_gnomeui:%attr(755,root,root) %{_libdir}/%{name}/components/libimgicon.so}
%attr(755,root,root) %{_libdir}/%{name}/components/libimglib2.so
%attr(755,root,root) %{_libdir}/%{name}/components/libjar50.so
%attr(755,root,root) %{_libdir}/%{name}/components/libjsd.so
%attr(755,root,root) %{_libdir}/%{name}/components/libmork.so
%attr(755,root,root) %{_libdir}/%{name}/components/libmozfind.so
-%attr(755,root,root) %{_libdir}/%{name}/components/libmozgnome.so
+%{?with_gnomevfs:%attr(755,root,root) %{_libdir}/%{name}/components/libmozgnome.so}
%attr(755,root,root) %{_libdir}/%{name}/components/libmyspell.so
%attr(755,root,root) %{_libdir}/%{name}/components/libnecko2.so
%attr(755,root,root) %{_libdir}/%{name}/components/libnecko.so
-%attr(755,root,root) %{_libdir}/%{name}/components/libnkgnomevfs.so
+%{?with_gnomevfs:%attr(755,root,root) %{_libdir}/%{name}/components/libnkgnomevfs.so}
%attr(755,root,root) %{_libdir}/%{name}/components/libnsappshell.so
%attr(755,root,root) %{_libdir}/%{name}/components/liboji.so
%attr(755,root,root) %{_libdir}/%{name}/components/libpermissions.so
%{_libdir}/%{name}/components/gksvgrenderer.xpt
%{_libdir}/%{name}/components/history.xpt
%{_libdir}/%{name}/components/htmlparser.xpt
-%{_libdir}/%{name}/components/imgicon.xpt
+%{?with_gnomeui:%{_libdir}/%{name}/components/imgicon.xpt}
%{_libdir}/%{name}/components/imglib2.xpt
%{_libdir}/%{name}/components/inspector.xpt
%{_libdir}/%{name}/components/intl.xpt
# files created by regxpcom and firefox -register
%ghost %{_libdir}/%{name}/components/compreg.dat
%ghost %{_libdir}/%{name}/components/xpti.dat
-
-%files libs
-%defattr(644,root,root,755)
-%dir %{_libdir}/%{name}
-%attr(755,root,root) %{_libdir}/%{name}/*.so
-
-%files lang-en
-%defattr(644,root,root,755)
-%{_datadir}/%{name}/chrome/en-US.jar
-%{_datadir}/%{name}/chrome/en-US.manifest
-
-%if %{with tidy}
-%files addon-tidy
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/%{name}/components/libnstidy.so
-%attr(755,root,root) %{_libdir}/%{name}/components/libtodel.so
-%{_libdir}/%{name}/components/nstidy.xpt
-%endif