]> git.pld-linux.org Git - packages/iceweasel.git/blobdiff - iceweasel.spec
- do parallel build the mozilla way
[packages/iceweasel.git] / iceweasel.spec
index 0d9819c86aeb72f008bb7752eb6d84579e6ecde5..fd9223887e9df62e29f0c521cd7c8fadb4e6d8a8 100644 (file)
@@ -1,37 +1,39 @@
 # TODO:
-# - /usr/share/iceweasel/browser/extensions symlink is arch-dependent (is it needed at all?)
 # - provide proper $DISPLAY for PGO (Xvfb, Xdummy...) for unattended builds
 #
 # Conditional build:
 %bcond_with    tests           # enable tests (whatever they check)
+%bcond_with    gtk3            # GTK+ 3.x instead of 2.x
 %bcond_without kerberos        # disable krb5 support
 %bcond_without xulrunner       # system xulrunner
 %bcond_with    pgo             # PGO-enabled build (requires working $DISPLAY == :100)
+# - disabled shared_js - https://bugzilla.mozilla.org/show_bug.cgi?id=1039964
+%bcond_with    shared_js
 
-# convert firefox release number to platform version: 15.0.x -> 15.0.x
-%define                xulrunner_main  25.0
-%define                xulrunner_ver   %(v=%{version}; echo %{xulrunner_main}${v#25.0})
+# convert firefox release number to platform version: 29.0.x -> 29.0.x
+%define                xulrunner_main  31.0
+%define                xulrunner_ver   %(v=%{version}; echo %{xulrunner_main}${v#31.0})
 
 %if %{without xulrunner}
 # The actual sqlite version (see RHBZ#480989):
 %define                sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo ERROR)
 %endif
 
-%define                nspr_ver        4.10.2
-%define                nss_ver         3.15
+%define                nspr_ver        4.10.6
+%define                nss_ver         3.16
 
 Summary:       Iceweasel web browser
 Summary(hu.UTF-8):     Iceweasel web böngésző
 Summary(pl.UTF-8):     Iceweasel - przeglądarka WWW
 Name:          iceweasel
-Version:       26.0
+Version:       32.0.3
 Release:       1
-License:       MPL 1.1 or GPL v2+ or LGPL v2.1+
+License:       MPL v2.0
 Group:         X11/Applications/Networking
 Source0:       http://releases.mozilla.org/pub/mozilla.org/firefox/releases/%{version}/source/firefox-%{version}.source.tar.bz2
-# Source0-md5: 91ce51cc6474f1269484e5327643a59c
-Source1:       %{name}-branding.tar.bz2
-# Source1-md5: 513af080c920d916362b607a872adf00
+# Source0-md5: 618bf992a5cb80f8879435262bdfcee0
+Source1:       %{name}-branding.tar.xz
+# Source1-md5: 6e3c10921c5b243f33241646b7941ce9
 Source2:       %{name}-rm_nonfree.sh
 Source3:       %{name}.desktop
 Source4:       %{name}.sh
@@ -45,10 +47,8 @@ Patch9:              %{name}-no-subshell.patch
 Patch11:       %{name}-middle_click_paste.patch
 Patch12:       %{name}-packaging.patch
 Patch13:       system-virtualenv.patch
-Patch14:       gyp-slashism.patch
 Patch15:       Disable-Firefox-Health-Report.patch
 URL:           http://www.pld-linux.org/Packages/Iceweasel
-BuildRequires: GConf2-devel >= 1.2.1
 BuildRequires: OpenGL-devel
 BuildRequires: ImageMagick
 BuildRequires: ImageMagick-coder-png
@@ -59,7 +59,10 @@ BuildRequires:       cairo-devel >= 1.10.2-5
 BuildRequires: dbus-glib-devel >= 0.60
 BuildRequires: gcc-c++ >= 6:4.4
 BuildRequires: glib2-devel >= 1:2.20
-BuildRequires: gtk+2-devel >= 2:2.14
+BuildRequires: gstreamer-devel >= 1.0
+BuildRequires: gstreamer-plugins-base-devel >= 1.0
+%{!?with_gtk3:BuildRequires:   gtk+2-devel >= 2:2.14}
+%{?with_gtk3:BuildRequires:    gtk+3-devel >= 3.0.0}
 %{?with_kerberos:BuildRequires:        heimdal-devel >= 0.7.1}
 BuildRequires: hunspell-devel
 BuildRequires: libIDL-devel >= 0.8.0
@@ -67,20 +70,20 @@ BuildRequires:      libdnet-devel
 BuildRequires: libevent-devel >= 1.4.7
 # standalone libffi 3.0.9 or gcc's from 4.5(?)+
 BuildRequires: libffi-devel >= 6:3.0.9
-BuildRequires: libiw-devel
+BuildRequires: libicu-devel >= 50.1
 # requires libjpeg-turbo implementing at least libjpeg 6b API
 BuildRequires: libjpeg-devel >= 6b
 BuildRequires: libjpeg-turbo-devel
-BuildRequires: libnotify-devel >= 0.4
 # for rsvg-convert
 BuildRequires: librsvg
 BuildRequires: libpng(APNG)-devel >= 0.10
-BuildRequires: libpng-devel >= 1.5.13
+BuildRequires: libpng-devel >= 2:1.6.7
 BuildRequires: libstdc++-devel >= 6:4.4
-BuildRequires: libvpx-devel >= 1.0.0
+BuildRequires: libvpx-devel >= 1.3.0
 BuildRequires: nspr-devel >= 1:%{nspr_ver}
 BuildRequires: nss-devel >= 1:%{nss_ver}
 BuildRequires: pango-devel >= 1:1.14.0
+BuildRequires: pixman-devel >= 0.19.2
 BuildRequires: perl-modules >= 5.004
 BuildRequires: pkgconfig
 BuildRequires: pkgconfig(libffi) >= 3.0.9
@@ -89,7 +92,7 @@ BuildRequires:        python-modules
 BuildRequires: python-virtualenv
 BuildRequires: rpm >= 4.4.9-56
 BuildRequires: rpmbuild(macros) >= 1.601
-BuildRequires: sqlite3-devel >= 3.7.17
+BuildRequires: sqlite3-devel >= 3.8.3.1
 BuildRequires: startup-notification-devel >= 0.8
 BuildRequires: xorg-lib-libXScrnSaver-devel
 BuildRequires: xorg-lib-libXext-devel
@@ -110,10 +113,12 @@ Requires: browser-plugins >= 2.0
 Requires:      cairo >= 1.10.2-5
 Requires:      dbus-glib >= 0.60
 Requires:      glib2 >= 1:2.20
-Requires:      gtk+2 >= 2:2.14
+%{!?with_gtk3:Requires:        gtk+2 >= 2:2.14}
+%{?with_gtk3:Requires: gtk+3 >= 3.0.0}
 Requires:      libjpeg-turbo
-Requires:      libpng >= 1.5.13
+Requires:      libpng >= 2:1.6.7
 Requires:      libpng(APNG) >= 0.10
+Requires:      libvpx >= 1.3.0
 Requires:      myspell-common
 Requires:      nspr >= 1:%{nspr_ver}
 Requires:      nss >= 1:%{nss_ver}
@@ -166,13 +171,8 @@ cd mozilla
 %patch11 -p2
 %patch12 -p2
 %patch13 -p2
-%patch14 -p2
 %patch15 -p1
 
-# config/rules.mk is patched by us and js/src/config/rules.mk
-# is supposed to be exact copy
-cp -a config/rules.mk js/src/config/rules.mk
-
 %if %{with pgo}
 sed -i -e 's@__BROWSER_PATH__@"../../dist/bin/iceweasel-bin"@' build/automation.py.in
 %endif
@@ -224,9 +224,12 @@ ac_add_options --disable-strip-libs
 ac_add_options --disable-install-strip
 %if %{with tests}
 ac_add_options --enable-tests
+ac_add_options --enable-mochitest
 %else
 ac_add_options --disable-tests
+ac_add_options --disable-mochitest
 %endif
+ac_add_options --disable-cpp-exceptions
 ac_add_options --disable-crashreporter
 ac_add_options --disable-elf-dynstr-gc
 ac_add_options --disable-gconf
@@ -235,18 +238,22 @@ ac_add_options --disable-gnomevfs
 ac_add_options --disable-installer
 ac_add_options --disable-javaxpcom
 ac_add_options --disable-long-long-warning
+ac_add_options --disable-necko-wifi
 ac_add_options --disable-pedantic
 ac_add_options --disable-updater
 ac_add_options --disable-xterm-updates
 ac_add_options --enable-canvas
-ac_add_options --enable-default-toolkit=cairo-gtk2
-ac_add_options --enable-extensions="default,permissions,gio"
+ac_add_options --enable-chrome-format=omni
+ac_add_options --enable-default-toolkit=%{?with_gtk3:cairo-gtk3}%{!?with_gtk3:cairo-gtk2}
+ac_add_options --enable-extensions="default,gio"
 ac_add_options --enable-gio
+ac_add_options --enable-gstreamer=1.0
 ac_add_options --enable-libxul
 ac_add_options --enable-mathml
 ac_add_options --enable-pango
 ac_add_options --enable-readline
-ac_add_options --enable-shared-js
+ac_add_options --enable-safe-browsing
+%{?with_shared_js:ac_add_options --enable-shared-js}
 ac_add_options --enable-startup-notification
 ac_add_options --enable-svg
 ac_add_options --enable-system-cairo
@@ -254,6 +261,7 @@ ac_add_options --enable-system-ffi
 ac_add_options --enable-system-hunspell
 ac_add_options --enable-system-sqlite
 ac_add_options --enable-url-classifier
+ac_add_options --enable-xinerama
 ac_add_options --with-branding=iceweasel/branding
 ac_add_options --with-default-mozilla-five-home=%{_libdir}/%{name}
 ac_add_options --with-distribution-id=org.pld-linux
@@ -270,21 +278,22 @@ ac_add_options --with-system-nss
 ac_add_options --with-system-ply
 ac_add_options --with-system-png
 ac_add_options --with-system-zlib
+ac_add_options --with-system-icu
 ac_add_options --with-x
 EOF
 
 %if %{with pgo}
 export DISPLAY=:100
-%{__make} -f client.mk profiledbuild \
+%{__make} -j1 -f client.mk profiledbuild \
        DESTDIR=obj-%{_target_cpu}/dist \
-       STRIP="/bin/true" \
        CC="%{__cc}" \
-       CXX="%{__cxx}"
+       CXX="%{__cxx}" \
+       MOZ_MAKE_FLAGS="%{_smp_mflags}"
 %else
-%{__make} -f client.mk build \
-       STRIP="/bin/true" \
+%{__make} -j1 -f client.mk build \
        CC="%{__cc}" \
-       CXX="%{__cxx}"
+       CXX="%{__cxx}" \
+       MOZ_MAKE_FLAGS="%{_smp_mflags}"
 %endif
 
 %install
@@ -316,6 +325,7 @@ ln -s ../xulrunner $RPM_BUILD_ROOT%{_libdir}/%{name}/xulrunner
 
 # move arch independant ones to datadir
 mv $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/chrome $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/chrome
+mv $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/extensions $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/extensions
 mv $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/icons $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/icons
 mv $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/searchplugins $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/searchplugins
 %if %{without xulrunner}
@@ -327,9 +337,9 @@ mv $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/defaults $RPM_BUILD_ROOT%{_datadir}
 
 ln -s ../../../share/%{name}/browser/chrome $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/chrome
 ln -s ../../../share/%{name}/browser/defaults $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/defaults
+ln -s ../../../share/%{name}/browser/extensions $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/extensions
 ln -s ../../../share/%{name}/browser/icons $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/icons
 ln -s ../../../share/%{name}/browser/searchplugins $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/searchplugins
-ln -s ../../../%{_lib}/%{name}/browser/extensions $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/extensions
 
 %if %{without xulrunner}
 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries
@@ -383,9 +393,12 @@ chmod 755 $RPM_BUILD_ROOT%{_sbindir}/%{name}-chrome+xpcom-generate
 rm -rf $RPM_BUILD_ROOT
 
 %pretrans
-if [ -d %{_datadir}/%{name}/extensions ] && [ ! -L %{_datadir}/%{name}/browser/extensions ]; then
-       install -d %{_libdir}/%{name}/browser
-       mv -v %{_datadir}/%{name}/extensions %{_libdir}/%{name}/browser/extensions
+if [ -d %{_libdir}/%{name}/browser/extensions ] && [ ! -L %{_libdir}/%{name}/browser/extensions ]; then
+       install -d %{_datadir}/%{name}/browser
+       if [ -e %{_datadir}/%{name}/browser/extensions ]; then
+               mv %{_datadir}/%{name}/browser/extensions{,.rpmsave}
+       fi
+       mv -v %{_libdir}/%{name}/browser/extensions %{_datadir}/%{name}/browser/extensions
 fi
 if [ -d %{_libdir}/%{name}/dictionaries ] && [ ! -L %{_libdir}/%{name}/dictionaries ]; then
        mv -v %{_libdir}/%{name}/dictionaries{,.rpmsave}
@@ -421,18 +434,18 @@ fi
 %dir %{_libdir}/%{name}
 %dir %{_libdir}/%{name}/browser
 %dir %{_libdir}/%{name}/browser/components
-%dir %{_libdir}/%{name}/browser/extensions
 %dir %{_libdir}/%{name}/browser/plugins
 
 %dir %{_datadir}/%{name}
 %dir %{_datadir}/%{name}/browser
+%dir %{_datadir}/%{name}/browser/extensions
 %{_datadir}/%{name}/browser/chrome
 %{_datadir}/%{name}/browser/defaults
 %{_datadir}/%{name}/browser/icons
 %{_datadir}/%{name}/browser/searchplugins
 
 # symlinks
-%{_datadir}/%{name}/browser/extensions
+%{_libdir}/%{name}/browser/extensions
 %{_libdir}/%{name}/browser/chrome
 %{_libdir}/%{name}/browser/icons
 %{_libdir}/%{name}/browser/searchplugins
@@ -450,7 +463,7 @@ fi
 %{_libdir}/%{name}/browser/components/components.manifest
 %attr(755,root,root) %{_libdir}/%{name}/browser/components/libbrowsercomps.so
 # the signature of the default theme
-%{_libdir}/%{name}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
+%{_datadir}/%{name}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
 %{_libdir}/%{name}/browser/omni.ja
 %{_libdir}/%{name}/webapprt
 %attr(755,root,root) %{_libdir}/%{name}/webapprt-stub
@@ -468,7 +481,7 @@ fi
 %attr(755,root,root) %{_libdir}/%{name}/components/libdbusservice.so
 %attr(755,root,root) %{_libdir}/%{name}/components/libmozgnome.so
 %attr(755,root,root) %{_libdir}/%{name}/libmozalloc.so
-%attr(755,root,root) %{_libdir}/%{name}/libmozjs.so
+%{?with_shared_js:%attr(755,root,root) %{_libdir}/%{name}/libmozjs.so}
 %attr(755,root,root) %{_libdir}/%{name}/libxul.so
 %attr(755,root,root) %{_libdir}/%{name}/mozilla-xremote-client
 %attr(755,root,root) %{_libdir}/%{name}/plugin-container
This page took 0.049586 seconds and 4 git commands to generate.