# Filtering of private libraries %global privlibs libbrowsercomps %global privlibs %{privlibs}|libclearkey %global privlibs %{privlibs}|libdbusservice %global privlibs %{privlibs}|libmozalloc %global privlibs %{privlibs}|libmozgnome %global privlibs %{privlibs}|liblgpllibs %global __provides_exclude ^(%{privlibs})\\.so %global __requires_exclude ^(%{privlibs})\\.so # ##Active/Deactive language files handling %global build_langpacks 1 %define default_bookmarks_file %{_datadir}/bookmarks/default-bookmarks.html ##Define installation directories %global icecatappdir %{_libdir}/%{name} %global icecat_ver %{name}-%{version} %global icecat_devel %{name}-devel-%{version} ##Define language files directory %global langpackdir %{icecatappdir}/langpacks %global toolkit_gtk3 1 # Builds for debugging %global debug_build 0 # Big endian platforms %ifarch ppc64 s390x # Javascript Intl API is not supported on big endian platforms right now: # https://bugzilla.mozilla.org/show_bug.cgi?id=1322212 %global big_endian 1 %endif # Use system sqlite? %if 0%{?fedora} > 25 %global system_sqlite 1 %else %global system_sqlite 0 %endif %if %{?system_sqlite} %global sqlite_version 3.8.4.2 # The actual sqlite version (see #480989): %global sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo 65536) %endif # Use system libicu? %if 0%{?fedora} > 28 %global system_libicu 1 %else %global system_libicu 0 %endif # Use system nspr/nss? %global system_nss 1 %if %{?system_nss} %global nspr_version 4.10.10 %global nspr_build_version %(pkg-config --silence-errors --modversion nspr 2>/dev/null || echo 65536) %global nss_version 3.28.3 %global nss_build_version %(pkg-config --silence-errors --modversion nss 2>/dev/null || echo 65536) %endif ## Pulseaudio %bcond_without pulseaudio # Name: icecat Version: 52.3.0 Release: 2%{?dist} Summary: GNU version of Firefox browser Group: Applications/Internet ## Tri-licensing scheme for Gnuzilla/IceCat in parentheses, and licenses for the extensions included License: (MPLv1.1 or GPLv2+ or LGPLv2+) and GPLv3+ and MIT and BSD and ISC and ASL 2.0 and MPLv2.0 URL: http://www.gnu.org/software/gnuzilla/ Source0: http://ftp.gnu.org/gnu/gnuzilla/%{version}/icecat-%{version}-gnu1.tar.bz2 Source1: %{name}.desktop Source2: %{name}.png Source3: %{name}-mozconfig-common %if %{build_langpacks} ##Language files downloaded by source7 script Source4: %{name}-%{version}-langpacks.tar.gz %endif Source7: %{name}-lang_download.sh ##All license files ##Download from http://www.gnu.org/licenses ##Download from http://www.mozilla.org/MPL/1.1/index.txt ##Download from https://www.mozilla.org/MPL/2.0/index.txt Source5: %{name}-COPYING-licensefiles.tar.gz ##manpage file Source6: %{name}.1 # Build patches Patch0: firefox-install-dir.patch Patch3: mozilla-build-arm.patch ##Using system Python Virtualenv Patch1: %{name}-virtualenv.patch ##Prevent HTTPS-everywhere's installation Patch2: %{name}-noHTTP-RP.patch # Remove unrecognized flags Patch6: %{name}-remove_unrecognized_flags.patch # Unrecognized file? Patch7: %{name}-fix_jar.patch # Fix files list for installer Patch8: %{name}-fix_installer.patch # xlocale.h not provided by glibc-headers # Set path of libcxx-devel Patch9: %{name}-locale.patch # https://bugzilla.redhat.com/show_bug.cgi?id=814879#c3 Patch18: xulrunner-24.0-jemalloc-ppc.patch # workaround linking issue on s390 (JSContext::updateMallocCounter(size_t) not found) Patch19: xulrunner-24.0-s390-inlines.patch Patch20: firefox-build-prbool.patch Patch26: build-icu-big-endian.patch # Fedora specific patches # Unable to install addons from https pages Patch204: rhbz-966424.patch Patch219: rhbz-1173156.patch Patch221: firefox-fedora-ua.patch Patch224: mozilla-1170092.patch Patch225: mozilla-1005640-accept-lang.patch #ARM run-time patch Patch226: rhbz-1354671.patch # Fix depends on p11-kit-trust 0.23.4 and enhanced ca-certificates.rpm Patch227: rhbz-1400293-fix-mozilla-1324096.patch Patch228: rhbz-1400293-workaround.patch # Upstream patches Patch304: mozilla-1253216.patch Patch402: mozilla-1196777.patch Patch406: mozilla-256180.patch # Rebase Gtk3 widget code to latest trunk to # fix various rendering problems Patch407: widget-rebase.patch Patch409: mozilla-1158076.patch Patch411: mozilla-1158076-1.patch Patch412: mozilla-1158076-2.patch # Debian patches Patch500: mozilla-440908.patch BuildRequires: alsa-lib-devel BuildRequires: autoconf213 BuildRequires: bzip2-devel BuildRequires: cairo-devel BuildRequires: ccache BuildRequires: dbus-devel BuildRequires: dbus-glib-devel BuildRequires: dconf BuildRequires: desktop-file-utils BuildRequires: fedora-bookmarks BuildRequires: freetype-devel BuildRequires: gdk-pixbuf2 BuildRequires: glib2-devel BuildRequires: pkgconfig(gtk+-2.0) %if %{toolkit_gtk3} BuildRequires: pkgconfig(gtk+-3.0) %endif BuildRequires: gstreamer1-devel BuildRequires: gstreamer1-plugins-base-devel BuildRequires: gstreamer-devel BuildRequires: gstreamer-plugins-base-devel BuildRequires: hunspell-devel BuildRequires: ImageMagick BuildRequires: java-1.8.0-openjdk-headless BuildRequires: intltool BuildRequires: libappstream-glib BuildRequires: libevent-devel BuildRequires: libicu-devel BuildRequires: libIDL-devel BuildRequires: libjpeg-turbo-devel BuildRequires: libjpeg-devel BuildRequires: libX11-devel BuildRequires: libXt-devel BuildRequires: libXrender-devel BuildRequires: libyuv-devel BuildRequires: libXinerama-devel BuildRequires: libffi-devel BuildRequires: libnotify-devel BuildRequires: libpng-devel BuildRequires: libvpx-devel BuildRequires: libzip-devel BuildRequires: mesa-libGL-devel %if %{?system_nss} BuildRequires: pkgconfig(nspr) >= %{nspr_version} BuildRequires: pkgconfig(nss) >= %{nss_version} BuildRequires: nss-static >= %{nss_version} %endif %if 0%{?fedora} > 25 # For early testing of rhbz#1400293 mozbz#1324096 on F26 and Rawhide, # temporarily require the specific NSS build with the backports. # Can be removed after firefox is changed to require NSS 3.30. BuildRequires: nss-devel >= 3.29.1-2.1 Requires: nss >= 3.29.1-2.1 %endif # xlocale.h not provided by glibc-headers > 2.24 # Set path of libcxx-devel %if 0%{?fedora} > 26 BuildRequires: libcxx-devel %endif BuildRequires: openjpeg-devel BuildRequires: pango-devel BuildRequires: python2-devel BuildRequires: python-blessings BuildRequires: python-mock BuildRequires: python-ply BuildRequires: python-psutil BuildRequires: python-setuptools BuildRequires: python-virtualenv BuildRequires: python-which BuildRequires: pkgconfig(gconf-2.0) BuildRequires: pkgconfig(xrender) BuildRequires: pkgconfig(libstartup-notification-1.0) BuildRequires: pkgconfig(dri) BuildRequires: pkgconfig(libcurl) %if %{with pulseaudio} BuildRequires: pulseaudio-libs-devel %endif BuildRequires: yasm %if %{?system_sqlite} BuildRequires: pkgconfig(sqlite3) >= %{sqlite_version} Requires: sqlite >= %{sqlite_build_version} %endif Requires: dconf Requires: mozilla-filesystem %if %{?system_nss} Requires: nspr >= %{nspr_build_version} Requires: nss >= %{nss_build_version} %endif Requires: fedora-bookmarks Suggests: mozilla-https-everywhere Provides: webclient Provides: bundled(xul) = 52 %description GNUZilla Icecat is a fully-free fork of Mozilla Firefox ESR. Extensions included to this version of IceCat: * LibreJS GNU LibreJS aims to address the JavaScript problem described in Richard Stallman's article The JavaScript Trap. * SpyBlock Blocks privacy trackers while in normal browsing mode, and all third party requests when in private browsing mode. Based on Adblock Plus. * AboutIceCat Adds a custom "about:icecat" homepage with links to information about the free software and privacy features in IceCat, and check-boxes to enable and disable the ones more prone to break websites. * HTML5-video-everywhere Uses the native video player to play embedded videos from different sources * Fingerprinting countermeasures: Fingerprinting is a series of techniques allowing to uniquely identify a browser based on specific characteristics of that particular instance (like what fonts are available in that machine). Unlike cookies the user cannot opt-out of being tracked this way, so the browser has to avoid giving away that kind of hints. %prep %setup -q -n %{name}-%{version} ##Copy license files tar -xf %{SOURCE5} # Build patches, can't change backup suffix from default because during build # there is a compare of config and js/config directories and .orig suffix is # ignored during this compare. %patch0 -p1 %patch18 -p1 -b .jemalloc-ppc %patch19 -p2 -b .s390-inlines %patch20 -p1 -b .prbool %patch3 -p1 -b .arm %patch1 -p0 %patch2 -p0 %patch6 -p0 %patch7 -p0 %patch8 -p0 # Fedora patches %patch204 -p2 -b .966424 %patch219 -p2 -b .rhbz-1173156 %patch221 -p2 -b .fedora-ua %patch224 -p1 -b .1170092 %patch225 -p1 -b .1005640-accept-lang #ARM run-time patch %ifarch aarch64 %patch226 -p1 -b .1354671 %endif %if 0%{?fedora} > 25 # Fix depends on p11-kit-trust 0.23.4 and enhanced ca-certificates.rpm %patch227 -p1 -b .rh1400293 %else %patch228 -p1 -b .rh1400293 %endif %patch304 -p1 -b .1253216 %patch402 -p1 -b .1196777 %patch406 -p0 -b .256180 # Rebase Gtk3 widget code to latest trunk to # fix various rendering problems %patch407 -p1 -b .widget-rebase #%%patch409 -p1 -b .1158076 %patch411 -p1 -b .1158076-1 %patch412 -p1 -b .1158076-2 # Debian extension patch %patch500 -p1 -b .440908 # Patch for big endian platforms only %if 0%{?big_endian} %patch26 -p1 -b .icu %if 0%{?fedora} > 26 %patch9 -p0 -b .locale %endif %endif ##Remove default configuration and copy the customized one %{__rm} -f .mozconfig cp -p %{SOURCE3} .mozconfig echo "ac_add_options --enable-official-branding" >> .mozconfig %ifnarch %{ix86} x86_64 echo "ac_add_options --disable-webrtc" >> .mozconfig %endif %if %{with pulseaudio} echo "ac_add_options --enable-pulseaudio" >> .mozconfig %endif %ifarch s390x echo "ac_add_options --disable-jemalloc" >> .mozconfig %endif %if %{?system_nss} echo "ac_add_options --with-nspr-cflags='%(%{_bindir}/nspr-config --cflags)'" >> .mozconfig echo "ac_add_options --with-nspr-libs='%(%{_bindir}/nspr-config --libs)'" >> .mozconfig echo "ac_add_options --with-system-nss" >>.mozconfig %endif %ifarch %{arm} echo "ac_add_options --disable-elf-hack" >> .mozconfig %endif %if %{?system_libicu} echo "ac_add_options --with-system-icu" >> .mozconfig %else echo "ac_add_options --without-system-icu" >> .mozconfig %endif echo "ac_add_options --disable-system-cairo" >> .mozconfig echo "ac_add_options --enable-system-hunspell" >> .mozconfig echo "ac_add_options --enable-system-pixman" >> .mozconfig %if %{?system_sqlite} echo "ac_add_options --enable-system-sqlite" >> .mozconfig %else echo "ac_add_options --disable-system-sqlite" >> .mozconfig %endif echo "ac_add_options --with-system-zlib" >> .mozconfig echo "ac_add_options --with-system-bz2" >> .mozconfig echo "ac_add_options --with-system-libevent=%{_prefix}" >> .mozconfig echo "ac_add_options --enable-llvm-hacks" >> .mozconfig echo "ac_add_options --with-system-libvpx" >> .mozconfig %ifnarch %{ix86} x86_64 echo "ac_add_options --disable-webrtc" >> .mozconfig %endif echo "ac_add_options --disable-libjpeg-turbo" >> .mozconfig echo "ac_add_options --with-system-jpeg" >> .mozconfig echo "ac_add_options --disable-crashreporter" >> .mozconfig echo "ac_add_options --disable-eme" >> .mozconfig %ifarch aarch64 ppc64 s390x %{arm} %{ix86} echo "ac_add_options --disable-skia" >> .mozconfig %endif %if %{?debug_build} echo "ac_add_options --enable-debug" >> .mozconfig echo "ac_add_options --disable-optimize" >> .mozconfig echo "ac_add_options --enable-dtrace" >> .mozconfig %else %define optimize_flags "none" # Fedora 26 (gcc7) needs to disable default build flags (mozbz#1342344) %if 0%{?fedora} > 25 %ifnarch s390 s390x %define optimize_flags "-g -O2" %endif %endif %ifarch %{arm} s390 s390x # ARMv7 need that (rhbz#1426850) %define optimize_flags "-g -O2 -fno-schedule-insns" %endif %ifarch ppc64le aarch64 %define optimize_flags "-g -O2" %endif %if %{optimize_flags} != "none" echo 'ac_add_options --enable-optimize=%{?optimize_flags}' >> .mozconfig %else echo 'ac_add_options --enable-optimize' >> .mozconfig %endif echo "ac_add_options --disable-debug" >> .mozconfig %endif %if %{?debug_build} echo "ac_add_options --enable-debug" >> .mozconfig echo "ac_add_options --disable-optimize" >> .mozconfig %else echo "ac_add_options --disable-debug" >> .mozconfig %endif echo "ac_add_options --disable-strip" >> .mozconfig echo "ac_add_options --disable-install-strip" >> .mozconfig echo "ac_add_options --disable-tests" >> .mozconfig %build %if %{?system_sqlite} # Do not proceed with build if the sqlite require would be broken: # make sure the minimum requirement is non-empty, ... sqlite_version=$(expr "%{sqlite_version}" : '\([0-9]*\.\)[0-9]*\.') || exit 1 # ... and that major number of the computed build-time version matches: case "%{sqlite_build_version}" in "$sqlite_version"*) ;; *) exit 1 ;; esac %endif echo "Generate big endian version of config/external/icu/data/icud58l.dat" %if 0%{?big_endian} ./mach python intl/icu_sources_data.py . ls -l config/external/icu/data rm -f config/external/icu/data/icudt*l.dat %endif # Update the various config.guess to upstream release for aarch64 support find ./ -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';' # -fpermissive is needed to build with gcc 4.6+ which has become stricter # # Mozilla builds with -Wall with exception of a few warnings which show up # everywhere in the code; so, don't override that. # # Disable C++ exceptions since Mozilla code is not exception-safe # MOZ_OPT_FLAGS=$(echo "%{optflags}" | %{__sed} -e 's/-Wall//') #rhbz#1037063 # -Werror=format-security causes build failures when -Wno-format is explicitly given # for some sources # Explicitly force the hardening flags for Firefox so it passes the checksec test; # See also https://fedoraproject.org/wiki/Changes/Harden_All_Packages MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security" %if 0%{?fedora} > 23 # Disable null pointer gcc6 optimization in gcc6 (rhbz#1328045) MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fno-delete-null-pointer-checks" %endif # Use hardened build? MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now" %if %{?debug_build} MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-O2//') %endif %ifarch s390 s390x %{arm} MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g1/' -e 's/-O2/-O1/') # If MOZ_DEBUG_FLAGS is empty, firefox's build will default it to "-g" which # overrides the -g1 from line above and breaks building on s390 # (OOM when linking, rhbz#1238225) export MOZ_DEBUG_FLAGS=" " %endif %ifarch s390 s390x %{arm} %{power64} aarch64 %{arm} MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads" %endif export CFLAGS=$MOZ_OPT_FLAGS export CXXFLAGS=$MOZ_OPT_FLAGS export LDFLAGS=$MOZ_LINK_FLAGS export PREFIX='%{_prefix}' export LIBDIR='%{_libdir}' export PKG_CONFIG='%{_bindir}/pkg-config' export PYTHON='%{__python2}' MOZ_SMP_FLAGS=-j1 # On x86 architectures, Mozilla can build up to 4 jobs at once in parallel, # however builds tend to fail on other arches when building in parallel. %ifarch x86_64 %{power64} aarch64 [ -z "$RPM_BUILD_NCPUS" ] && \ RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" [ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2 [ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j4 [ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j8 %endif make -f client.mk build STRIP="/bin/true" MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS" MOZ_OPTIMIZE_FLAGS=" -freorder-blocks -fno-reorder-functions" MOZ_SERVICES_SYNC="1" %install # set up our default bookmarks %{__cp} -p %{default_bookmarks_file} objdir/dist/bin/browser/chrome/en-US/locale/browser/bookmarks.html make -C objdir install DESTDIR=$RPM_BUILD_ROOT ##Resize IceCat icon for i in 16 22 24 32 36 48 64 72 96 128 256 ; do mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}x${i}/apps convert -geometry ${i} %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}x${i}/apps/%{name}.png done ##desktop file installation mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications install -pm 644 %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/applications ##Install man page mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 install -p -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_mandir}/man1 ##Make sure locale works for langpacks cat > objdir/dist/bin/browser/defaults/preferences/icecat-l10n.js << EOF pref("general.useragent.locale", "chrome://global/locale/intl.properties"); EOF ##Extract langpacks, make any mods needed, repack the langpack, and install it. %if %{build_langpacks} echo > %{name}.lang mkdir -p $RPM_BUILD_ROOT%{langpackdir} tar xf %{SOURCE4} for langpack in `ls langpacks/*.xpi`; do language=`basename $langpack .xpi` extensionID=langpack-$language@icecat.mozilla.org mkdir -p $extensionID unzip -qq $langpack -d $extensionID find $extensionID -type f | xargs chmod 644 cd $extensionID zip -qq -r9mX ../${extensionID}.xpi * cd - install -p -m 644 ${extensionID}.xpi $RPM_BUILD_ROOT%{langpackdir} language=`echo $language | sed -e 's/-/_/g'` echo "%%lang($language) %{langpackdir}/${extensionID}.xpi" >> %{name}.lang done rm -rf %{name}-langpacks ##Install langpack workaround (see #707100, #821169) function create_default_langpack() { language_long=$1 language_short=$2 cd $RPM_BUILD_ROOT%{langpackdir} ln -s langpack-$language_long@icecat.mozilla.org.xpi langpack-$language_short@icecat.mozilla.org.xpi cd - echo "%%lang($language_short) %{langpackdir}/langpack-$language_short@icecat.mozilla.org.xpi" >> %{name}.lang } %endif # Remove copied libraries to speed up build ln -sf %{icecatappdir}/libmozjs.so ${RPM_BUILD_ROOT}%{_libdir}/%{icecat_devel}/sdk/lib/libmozjs.so ln -sf %{icecatappdir}/libmozalloc.so ${RPM_BUILD_ROOT}%{_libdir}/%{icecat_devel}/sdk/lib/libmozalloc.so ln -sf %{icecatappdir}/libxul.so ${RPM_BUILD_ROOT}%{_libdir}/%{icecat_devel}/sdk/lib/libxul.so # Link identical binaries ln -sf %{icecatappdir}/%{name}-bin ${RPM_BUILD_ROOT}%{icecatappdir}/%{name} # Use the system hunspell dictionaries rm -rf ${RPM_BUILD_ROOT}%{icecatappdir}/dictionaries ln -s %{_datadir}/myspell ${RPM_BUILD_ROOT}%{icecatappdir}/dictionaries ##Fix executable permissions of some files for i in `find $RPM_BUILD_ROOT -type f \( -name "*.sh" -o -name "*.py" -o -name "xpcshell" \)`; do chmod a+x $i done mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata cat > $RPM_BUILD_ROOT%{_datadir}/appdata/icecat.appdata.xml < icecat.desktop CC0-1.0 GNU version of Firefox browser icecat (MPL-1.1 or GPL-2.0+ or LGPL-2.0+) and GPL-3.0+ and MIT and BSD and ISC and ASL-2.0 and MPL-2.0 Internet Web Browser

GNUzilla is the GNU version of the Mozilla suite, and GNU IceCat is the GNU version of the Firefox ESR browser.

Its main advantage is an ethical one: it is entirely free software: while the Firefox source code from the Mozilla project is free software, they distribute and recommend non-free software as plug-ins and addons. Also their trademark license restricts distribution in several ways incompatible with freedom 0.

Extensions included to this version of IceCat: - LibreJS GNU LibreJS aims to address the JavaScript problem described in Richard Stallman's article The JavaScript Trap. - SpyBlock Blocks privacy trackers while in normal browsing mode, and all third party requests when in private browsing mode. Based on Adblock Plus. - AboutIceCat Adds a custom "about:icecat" homepage with links to information about the free software and privacy features in IceCat, and check-boxes to enable and disable the ones more prone to break websites. - HTML5-video-everywhere Uses the native video player to play embedded videos from different sources - Fingerprinting countermeasures: Fingerprinting is a series of techniques allowing to uniquely identify a browser based on specific characteristics of that particular instance (like what fonts are available in that machine). Unlike cookies the user cannot opt-out of being tracked this way, so the browser has to avoid giving away that kind of hints.

http://www.gnu.org/software/gnuzilla/ https://sagitter.fedorapeople.org/icecat-screenshots/icecat1.png https://sagitter.fedorapeople.org/icecat-screenshots/icecat2.png https://sagitter.fedorapeople.org/icecat-screenshots/icecat3.png https://sagitter.fedorapeople.org/icecat-screenshots/icecat4.png sagitter_at_fedoraproject.org
EOF cat > $RPM_BUILD_ROOT%{_datadir}/appdata/icecat.metainfo.xml < mozilla-requestpolicy icecat.desktop mozilla-requestpolicy Extension that gives you control over cross-site requests https://requestpolicycontinued.github.io/ https://github.com/requestpolicycontinued/requestpolicy/issues CC0-1.0 GPL-3.0+ and LGPL-3.0+ EOF # Moves defaults/preferences to browser/defaults/preferences %pretrans -p require 'posix' require 'os' if (posix.stat("%{icecatappdir}/browser/defaults/preferences", "type") == "link") then posix.unlink("%{icecatappdir}/browser/defaults/preferences") posix.mkdir("%{icecatappdir}/browser/defaults/preferences") if (posix.stat("%{icecatappdir}/defaults/preferences", "type") == "directory") then for i,filename in pairs(posix.dir("%{icecatappdir}/defaults/preferences")) do os.rename("%{icecatappdir}/defaults/preferences/"..filename, "%{icecatappdir}/browser/defaults/preferences/"..filename) end f = io.open("%{icecatappdir}/defaults/preferences/README","w") if f then f:write("Content of this directory has been moved to %{icecatappdir}/browser/defaults/preferences.") f:close() end end end %post /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : %if 0%{?fedora} < 25 /usr/bin/update-desktop-database &> /dev/null || : %endif %postun if [ $1 -eq 0 ] ; then /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : fi %if 0%{?fedora} < 25 /usr/bin/update-desktop-database &> /dev/null || : %endif %posttrans /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %check desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop appstream-util validate-relax --nonet $RPM_BUILD_ROOT%{_datadir}/appdata/*.appdata.xml %if %{build_langpacks} %files -f %{name}.lang %else %files %endif %doc Changelog.IceCat README.* AUTHORS %license LICENSE LEGAL COPYING-* %{_bindir}/%{name} %{_datadir}/applications/%{name}.desktop %{_datadir}/icons/hicolor/*x*/apps/%{name}*.png %{_datadir}/appdata/%{name}.appdata.xml %{_datadir}/appdata/%{name}.metainfo.xml %{_mandir}/man1/%{name}* %{icecatappdir}/browser/ %{icecatappdir}/defaults/ %{icecatappdir}/dictionaries %{icecatappdir}/icecat* %{icecatappdir}/*.so %{icecatappdir}/*.ini %{icecatappdir}/omni.ja %{icecatappdir}/run-icecat.sh %{icecatappdir}/dependentlibs.list %{icecatappdir}/plugin-container %{icecatappdir}/gmp-clearkey/ %{icecatappdir}/chrome.manifest %{icecatappdir}/fonts/EmojiOneMozilla.ttf %{icecatappdir}/gtk2/*.so %if !%{?system_libicu} %{icecatappdir}/icudt*.dat %endif %if !%{?system_nss} %{icecatappdir}/libfreeblpriv3.chk %{icecatappdir}/libnssdbm3.chk %{icecatappdir}/libsoftokn3.chk %endif %exclude %{icecatappdir}/removed-files %if 0%{build_langpacks} %dir %{langpackdir} %endif %exclude %{_libdir}/%{icecat_devel}/ %exclude %{_datadir}/idl/%{icecat_ver}/ %exclude %{_includedir}/%{icecat_ver}/ %changelog * Sat Sep 02 2017 Antonio Trande 52.3.0-2 - Enable language files * Wed Aug 16 2017 Antonio Trande 52.3.0-1 - Update to 52.3.0 * Thu Aug 03 2017 Antonio Trande 52.2.1-1 - Update to 52.2.1 - ICU source code patched to work on big-endian architectures * Wed Jul 26 2017 Fedora Release Engineering - 52.1.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Mon May 15 2017 Fedora Release Engineering - 52.1.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild * Sat May 06 2017 Antonio Trande 52.1.0-2 - Fix language files * Sat May 06 2017 Jens Lody - 52.1.0-1 - Update to 52.1.0 - Remove obsolete firefox-debug.patch - Spec-file: fix typo in description * Sun Apr 16 2017 Antonio Trande 52.0.2-3 - Enable languages * Fri Apr 14 2017 Antonio Trande 52.0.2-2 - Update to 52.0.2 - Add patch for mozbz#1158076 - enable dark theme by pref * Sun Mar 26 2017 Antonio Trande 52.0.1-5 - Skia support disabled on ARM/ix86 builds (failed for memory exhausted) * Sun Mar 26 2017 Antonio Trande 52.0.1-4 - Downgrade optimization level on ARM builds (failed for memory exhausted) - Use one job with Make on ix86 * Wed Mar 22 2017 Antonio Trande 52.0.1-3 - Added fix for mozbz#1158076 * Mon Mar 20 2017 Antonio Trande 52.0.1-2 - Set cflags/libs options for NSS/NSPR - Add --disable-elf-hack * Sun Mar 19 2017 Antonio Trande 52.0.1-1 - Update to 52.0.1 - All patches synchronized with firefox * Mon Mar 06 2017 Jens Lody - 45.7.0-8 - aarch64build-fix (taken from mozjs45) - include aarch64 again * Sun Mar 05 2017 Antonio Trande 45.7.0-7 - Build with language files - Use new source archive - Exclude aarch64 * Sun Mar 05 2017 Jens Lody - 45.7.0-6 - do not set debug-build-flag * Sun Mar 05 2017 Jens Lody - 45.7.0-5 - (Re-)add language-download.script and make Source-tag unconditional. - Fix debug build. * Sat Feb 18 2017 Antonio Trande 45.7.0-3 - Optimization flags disabled on arm/arm64 * Thu Feb 16 2017 Jens Lody - 45.7.0-3 - Fix gcc7 build, with backport of fix for mozb#1269171 * Fri Feb 10 2017 Fedora Release Engineering - 45.7.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Sat Feb 04 2017 Antonio Trande 45.7.0-1 - Update to 45.7.0 * Sat Jan 21 2017 Antonio Trande 45.5.1-7 - Test for trying ICU patch * Fri Jan 20 2017 Antonio Trande 45.5.1-6 - System ICU disabled on Fedora > 25 * Fri Jan 20 2017 Antonio Trande 45.5.1-5 - Patched to make compatible with NSS 3.28.1 (bz#1414987) * Thu Jan 05 2017 Antonio Trande 45.5.1-4 - Conformed to new rules for scriptlets * Tue Dec 13 2016 Caolán McNamara - 45.5.1-3 - rebuild for hunspell-1.5.4 * Fri Dec 02 2016 Antonio Trande - 45.5.1-2 - Keep workaround for bz#1332926 * Fri Dec 02 2016 Antonio Trande - 45.5.1-1 - Update to 45.5.1 * Sun Nov 27 2016 Antonio Trande - 45.3.0-0.6.beta - Debug build - Debug builds patched (mozb#1013882) - Patched for removing unnecessary warns * Sun Sep 04 2016 Antonio Trande - 45.3.0-0.5.beta - Drop obsolete patch * Sat Sep 03 2016 Antonio Trande - 45.3.0-0.4.beta - Use MOZ_SMP_FLAGS instead of MOZ_MAKE_FLAGS * Thu Sep 01 2016 Antonio Trande - 45.3.0-0.3.beta - Update desktop file's translations - Enable jemalloc * Thu Sep 01 2016 Antonio Trande - 45.3.0-0.2.beta - Disable optimization on ARM * Mon Aug 29 2016 Antonio Trande - 45.3.0-0.1.beta - Update to 45.3.0 (beta) - Drop old patches - Reset default compiler flags - Filtering private libraries * Fri Jul 22 2016 Tom Callaway - 38.8.0-13 - rebuild for libvpx 1.6.0 * Wed Jun 29 2016 Antonio Trande - 38.8.0-12 - Optimization level increased to -O1 * Tue Jun 28 2016 Antonio Trande - 38.8.0-11 - Fix appadata file's tags * Sun Jun 26 2016 Antonio Trande - 38.8.0-10 - Rebuild with newest icecat-38.8.0-gnu2 source archive (24 June) * Sun Jun 26 2016 Jens Lody - 38.8.0-9 - Workaround for #1332926 * Sat Jun 18 2016 Antonio Trande - 38.8.0-8 - Set MOZ_SMP_FLAGS * Sat Jun 18 2016 Antonio Trande - 38.8.0-7 - Undo latest change * Sat Jun 18 2016 Antonio Trande - 38.8.0-6 - Set C++14 standard flag * Fri Jun 17 2016 Antonio Trande - 38.8.0-5 - Set C++ standard flag * Fri Jun 17 2016 Antonio Trande - 38.8.0-4 - Disable install stripping - Disable builds for debugging * Fri Jun 17 2016 Antonio Trande - 38.8.0-3 - Enable builds for debugging * Fri May 13 2016 Antonio Trande - 38.8.0-2 - Remove additional flag * Fri May 13 2016 Antonio Trande - 38.8.0-1 - Update to 38.8.0 * Mon Apr 18 2016 Caolán McNamara - 38.7.1-4 - rebuild for hunspell 1.4.0 * Fri Apr 15 2016 David Tardon - 38.7.1-3 - rebuild for ICU 57.1 * Sat Apr 09 2016 Antonio Trande - 38.7.1-2 - Downgrade optimization level on ARM * Fri Apr 08 2016 Antonio Trande - 38.7.1-1 - Update to 38.7.1 * Thu Feb 04 2016 Antonio Trande - 38.6.0-1 - Update to 38.6.0 - Patched for GCC6 builds - Cut off Provides bundled libraries except xulrunner * Thu Feb 04 2016 Fedora Release Engineering - 38.5.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Mon Jan 04 2016 Antonio Trande - 38.5.2-4 - Fix description of appdata file * Mon Jan 04 2016 Antonio Trande - 38.5.2-3 - Fix validating of desktop file * Sun Jan 03 2016 Antonio Trande - 38.5.2-2 - .desktop .appdata and .metainfo files renamed (bz#1295234) * Fri Jan 01 2016 Antonio Trande - 38.5.2-1 - Update to 38.5.2 * Fri Dec 18 2015 Antonio Trande - 38.5.0-1 - Update to 38.5.0 * Tue Dec 08 2015 Antonio Trande - 38.4.0-3 - Force -fstack-protector-all flag (bz#1283307) * Tue Dec 1 2015 Tom Callaway - 38.4.0-2 - rebuild for libvpx 1.5.0 * Tue Nov 17 2015 Antonio Trande - 38.4.0-1 - Update to 38.4.0 * Tue Nov 03 2015 Antonio Trande - 38.3.0-12 - ARM neon support disabled on aarch64 * Sat Oct 31 2015 Antonio Trande - 38.3.0-11 - Rebuild for ICU 56 * Wed Oct 28 2015 Antonio Trande - 38.3.0-10 - Rebuild with RPM_LD_FLAGS * Wed Oct 28 2015 David Tardon - 38.3.0-9 - rebuild for ICU 56.1 * Tue Oct 20 2015 Antonio Trande - 38.3.0-8 - Active hardened_build * Tue Oct 13 2015 Antonio Trande - 38.3.0-7 - Rebuilt with updated Addons * Mon Oct 12 2015 Antonio Trande - 38.3.0-6 - Fixed header files directory for freetype-2.6.1 * Mon Oct 12 2015 Antonio Trande - 38.3.0-5 - Languages packaged * Tue Oct 06 2015 Antonio Trande - 38.3.0-4 - WebRTC disabled on extra arches * Tue Oct 06 2015 Antonio Trande - 38.3.0-3 - Updated appdata and manpage files * Mon Oct 05 2015 Antonio Trande - 38.3.0-2 - Disabled crashreporter on F22+ * Sat Oct 03 2015 Antonio Trande - 38.3.0-1 - Update to 38.3.0 - Patches updated - Language files not packaged - Build defined for Gtk3 * Thu Aug 13 2015 Antonio Trande - 31.8.0-5 - Added backported patch for CVE-2015-4473_4482_4488_4489_4491_4492 vulnerabilities * Thu Aug 13 2015 Antonio Trande - 31.8.0-4 - Added backported patch for CVE-2015-4495 vulnerability * Tue Jul 21 2015 Antonio Trande - 31.8.0-3 - Fixed on secondary arches * Mon Jul 20 2015 Antonio Trande - 31.8.0-2 - Un-bundle libvpx-1.4 * Fri Jul 17 2015 Antonio Trande - 31.8.0-1 - Update to 31.8.0 * Sun Jul 12 2015 Antonio Trande - 31.7.0-8 - Packaged IceCat 31.7 in Fedora 21 * Fri Jul 03 2015 Antonio Trande - 31.7.0-7 - Fix .metainfo.xml file * Thu Jul 02 2015 Antonio Trande - 31.7.0-6 - Added .metainfo.xml file * Thu Jun 18 2015 Antonio Trande - 31.7.0-5 - Added options --enable-tree-freetype --enable-stdcxx-compat - Added patch for Freetype-2.6 headers * Wed Jun 17 2015 Fedora Release Engineering - 31.7.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sun Jun 14 2015 Antonio Trande - 31.7.0-3 - Re-built locale files - Re-organized mozconfig options - Compiled with ccache * Wed Jun 10 2015 Antonio Trande - 31.7.0-2 - Unpacked files found * Mon Jun 08 2015 Antonio Trande - 31.7.0-1 - Update to 31.7.0 - Make sure locale works for langpacks - Set default bookmarks - Made appdata file - devel package obsoleted * Mon May 04 2015 Antonio Trande - 31.6.0-6 - Required VPX from system for < F23 * Sun May 03 2015 Antonio Trande - 31.6.0-5 - libvpx-1.3.0 bundled only in >= F23 * Tue Apr 07 2015 Antonio Trande - 31.6.0-4 - Disable optimization flags (when GCC5 compiles) on ARM * Tue Apr 07 2015 Antonio Trande - 31.6.0-3 - Compiled against bundle libvpx-1.3.0 * Mon Apr 06 2015 Tom Callaway - 31.6.0-2 - Rebuild for libvpx 1.4.0 * Sat Apr 04 2015 Antonio Trande - 31.6.0-1 - Update to 31.6.0 * Mon Mar 16 2015 Antonio Trande - 31.5.0-2 - New rebuild to fix profile's storage problem * Thu Mar 12 2015 Antonio Trande - 31.5.0-1 - Update to 31.5.0 - Patched to fix Mozilla Bug1021171 - crashreporter disabled on > F21 - Improved .desktop file * Wed Feb 04 2015 Petr Machata - 31.4.0-5 - Bump for rebuild. * Mon Feb 02 2015 Antonio Trande - 31.4.0-4 - Desktop file missing %%u (bz#1188078) * Sat Jan 31 2015 Antonio Trande - 31.4.0-3 - Annulled the user-agent string customization * Thu Jan 29 2015 Antonio Trande - 31.4.0-2 - Added %%license macro * Thu Jan 29 2015 Antonio Trande - 31.4.0-1 - Update to 31.4.0 - Added MPLv2.0 license of HTML5-video-everywhere extension - Description updated * Mon Jan 26 2015 David Tardon - 31.2.0-8 - rebuild for ICU 54.1 * Wed Jan 21 2015 Antonio Trande - 31.2.0-7 - Package now requires system-bookmarks (bz#1184297) * Wed Nov 26 2014 Antonio Trande - 31.2.0-6 - libjpeg-turbo unbundled (bz#1164815) * Thu Nov 06 2014 Antonio Trande - 31.2.0-5 - Added -Wno-error=declaration-after-statement - Built against GStreamer-1.0 - Package compiled against bundled JPEG * Sat Oct 25 2014 Antonio Trande - 31.2.0-4 - Removed -fexceptions flags from Fedora optflags * Thu Oct 23 2014 Antonio Trande - 31.2.0-3 - Added -Wformat-security flags - Added special link flags for ARM * Wed Oct 22 2014 Antonio Trande - 31.2.0-2 - Fixed compiler flags * Tue Oct 21 2014 Antonio Trande - 31.2.0-1 - Update to 31.2.0 - Added 'configure' options - Built against system NSS/NSPR * Thu Oct 16 2014 Antonio Trande - 31.1.1-1 - Update to 31.1.1 - New bundled files (bz#1153135) - Static sub-package is not built anymore - Man-page updated - Spyblock addon included * Tue Aug 26 2014 Antonio Trande - 24.0-14 - Added "Provides: webclient" - Installed manpage file * Tue Aug 19 2014 Antonio Trande - 24.0-13 - Removed system xulrunner conditional - Ghosted all .xpi language files (handled by %%find_lang) - Added BSD, ISC, MIT, Apache2.0 licenses * Sat Aug 09 2014 Antonio Trande - 24.0-12 - Removed HTTPS-everywhere RequestPolicy extensions (patch7) * Thu Jul 24 2014 Antonio Trande - 24.0-11 - Remove precompiled .egg files - Remove bundled jar/class files - Delete chrpaths - Added 'Public Domain' license - Added a patch for using system Python Virtualenv (patch6) * Wed Jul 16 2014 Antonio Trande - 24.0-10 - Added freetype2 system-headers list for Fedora>=21 (patch5) * Fri Apr 04 2014 Antonio Trande - 24.0-9 - Defined other bundled() Provides * Sat Mar 29 2014 Antonio Trande - 24.0-8 - Use system nspr * Wed Mar 26 2014 Antonio Trande - 24.0-7 - Removed much more bundled files (added related BR packages) - Build browser and xulrunner - Added freetype2 reference patch * Thu Feb 27 2014 Antonio Trande - 24.0-6 - Sources patched to use system ogg/opus/vorbis libraries - Build browser alone * Wed Feb 05 2014 Antonio Trande - 24.0-5 - Fix some executable permissions - Added some tricks - Build browser and xulrunner - Defined a conditional macro for xulrunner - Built a static sub-package - Added COPYING separated license files - Added bundled() Provides * Mon Jan 27 2014 Antonio Trande - 24.0-4 - Build browser alone - Added libffi/libpng linkage from system to .mozconfig file - Added a patch to exclude APNG support missing error for libpng - Added libpng-devel BR * Tue Jan 14 2014 Antonio Trande - 24.0-3 - Removed bundled files - Added nspr/nss Requires * Wed Jan 08 2014 Antonio Trande - 24.0-2 - Timestamp preserving for the 'install' commands - Added a comment interpretation to the License tag - Defined all command calls in normal mode * Sun Jan 05 2014 Antonio Trande - 24.0-1 - Initial package