Name: firefox Summary: Mozilla Firefox Web browser Version: 62.0.3 Release: 4 URL: https://www.mozilla.org/firefox/ License: MPLv1.1 or GPLv2+ or LGPLv2+ Source0: http://download-origin.cdn.mozilla.net/pub/firefox/releases/62.0.3/source/firefox-62.0.3.source.tar.xz Source1: firefox-langpacks-%{version}-20181002.tar.xz Source2: firefox-mozconfig Source3: firefox.js Source4: firefox.desktop Source5: firefox.sh.in Source7: mozilla-api-key Source6: firefox.1 Source9: distribution.ini Source10: google-api-key Source11: firefox-wayland.sh.in Source12: firefox-wayland.desktop Patch0001: build-jit-atomic-always-lucky.patch Patch0004: mozilla-build-arm.patch Patch0006: rhbz-1173156.patch Patch0008: mozilla-1170092.patch Patch0009: rhbz-1354671.patch Patch0010: mozilla-1196777.patch Patch0011: mozilla-256180.patch Patch0012: mozilla-1353817.patch Patch0016: mozilla-1467125.patch Patch0017: mozilla-1467128.patch Patch0018: mozilla-1415078.patch BuildRequires: pkgconfig(nspr) >= 4.19 pkgconfig(nss) >= 3.37.3 pkgconfig(libpng) pkgconfig(libffi) BuildRequires: pkgconfig(zlib) pkgconfig(libIDL-2.0) pkgconfig(gtk+-3.0) pkgconfig(gtk+-2.0) pkgconfig(krb5) BuildRequires: pkgconfig(pango) pkgconfig(freetype2) >= 2.1.9 pkgconfig(xt) pkgconfig(xrender) pkgconfig(dri) BuildRequires: pkgconfig(libstartup-notification-1.0) pkgconfig(libnotify) >= 0.7.0 pkgconfig(libcurl) BuildRequires: pkgconfig(libpulse) pkgconfig(icu-i18n) pkgconfig(gconf-2.0) yasm clang clang-libs autoconf213 BuildRequires: libjpeg-devel bzip2-devel dbus-glib-devel llvm-devel libvpx-devel >= 1.4.0 python2-devel llvm zip BuildRequires: desktop-file-utils rust cargo clang-devel nss-static >= 3.37.3 nss-devel >= 3.37.3 Requires: mozilla-filesystem p11-kit-trust nspr >= 4.19 nss >= 3.37.3 u2f-hidraw-policy Provides: webclient firefox-wayland = %{version}-%{release} Obsoletes: mozilla <= 37:1.7.13 firefox-wayland <= %{version}-%{release} %description Mozilla Firefox is an open-source web browser, designed for standards compliance, performance and portability. %prep %autosetup -n firefox-%{version} -p1 rm -f .mozconfig cp %{SOURCE2} .mozconfig cp %{SOURCE7} mozilla-api-key cp %{SOURCE10} google-api-key echo "ac_add_options --enable-default-toolkit=cairo-gtk3-wayland" >> .mozconfig echo "ac_add_options --enable-official-branding" >> .mozconfig echo "ac_add_options --with-system-nspr" >> .mozconfig echo "ac_add_options --with-system-nss" >> .mozconfig echo "ac_add_options --disable-system-sqlite" >> .mozconfig echo "ac_add_options --disable-system-cairo" >> .mozconfig echo "ac_add_options --enable-system-ffi" >> .mozconfig echo "ac_add_options --disable-debug" >> .mozconfig echo "ac_add_options --disable-crashreporter" >> .mozconfig echo "ac_add_options --without-system-jpeg" >> .mozconfig echo "ac_add_options --with-system-libvpx" >> .mozconfig echo "ac_add_options --without-system-icu" >> .mozconfig echo "ac_add_options --enable-optimize='-g -O2'" >> .mozconfig echo "ac_add_options --disable-jemalloc" >> .mozconfig echo "ac_add_options --disable-webrtc" >> .mozconfig chmod -x third_party/rust/itertools/src/lib.rs %build echo "Generate big endian version of config/external/icu/data/icud58l.dat" find ./ -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';' MOZ_OPT_FLAGS=$(echo "%{optflags}" | %{__sed} -e 's/-Wall//') MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security" MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fno-delete-null-pointer-checks" MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now" MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads" export CFLAGS=$MOZ_OPT_FLAGS export CXXFLAGS=$MOZ_OPT_FLAGS export LDFLAGS=$MOZ_LINK_FLAGS export PREFIX='%{_prefix}' export LIBDIR='%{_libdir}' export MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS" export MOZ_SERVICES_SYNC="1" export STRIP=/bin/true MOZ_SMP_FLAGS=-j1 [ -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 ./mach build %install cat > objdir/dist/bin/browser/defaults/preferences/firefox-l10n.js << EOF pref("general.useragent.locale", "chrome://global/locale/intl.properties"); EOF DESTDIR=$RPM_BUILD_ROOT make -C objdir install mkdir -p $RPM_BUILD_ROOT{%{_libdir},%{_bindir},%{_datadir}/applications} desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications %{SOURCE4} desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications %{SOURCE12} rm -rf $RPM_BUILD_ROOT%{_bindir}/firefox cat %{SOURCE5} > $RPM_BUILD_ROOT%{_bindir}/firefox cat %{SOURCE11} > $RPM_BUILD_ROOT%{_bindir}/firefox-wayland chmod 755 $RPM_BUILD_ROOT%{_bindir}/firefox chmod 755 $RPM_BUILD_ROOT%{_bindir}/firefox-wayland install -p -D -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_mandir}/man1/firefox.1 rm -f $RPM_BUILD_ROOT/%{_libdir}/%{name}/firefox-config rm -f $RPM_BUILD_ROOT/%{_libdir}/%{name}/update-settings.ini for s in 16 22 24 32 48 256; do mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps cp -p browser/branding/official/default${s}.png \ $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/firefox.png done mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/symbolic/apps mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata cat > $RPM_BUILD_ROOT%{_datadir}/appdata/%{name}.appdata.xml < firefox.desktop CC0-1.0

Bringing together all kinds of awesomeness to make browsing better for you. Get to your favorite sites quickly – even if you don’t remember the URLs. Type your term into the location bar (aka the Awesome Bar) and the autocomplete function will include possible matches from your browsing history, bookmarked sites and open tabs.

http://www.mozilla.org/ https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/a.png https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/b.png https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/c.png
EOF echo > %{name}.lang mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}/langpacks tar xf %{SOURCE1} for langpack in `ls firefox-langpacks/*.xpi`; do language=`basename $langpack .xpi` extensionID=langpack-$language@firefox.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 -m 644 ${extensionID}.xpi $RPM_BUILD_ROOT%{_libdir}/%{name}/langpacks language=`echo $language | sed -e 's/-/_/g'` echo "%%lang($language) %{_libdir}/%{name}/langpacks/${extensionID}.xpi" >> %{name}.lang done rm -rf firefox-langpacks function create_default_langpack() { language_long=$1 language_short=$2 cd $RPM_BUILD_ROOT%{_libdir}/%{name}/langpacks ln -s langpack-$language_long@firefox.mozilla.org.xpi langpack-$language_short@firefox.mozilla.org.xpi cd - echo "%%lang($language_short) %{_libdir}/%{name}/langpacks/langpack-$language_short@firefox.mozilla.org.xpi" >> %{name}.lang } create_default_langpack "bn-IN" "bn" create_default_langpack "es-AR" "es" create_default_langpack "fy-NL" "fy" create_default_langpack "ga-IE" "ga" create_default_langpack "gu-IN" "gu" create_default_langpack "hi-IN" "hi" create_default_langpack "hy-AM" "hy" create_default_langpack "nb-NO" "nb" create_default_langpack "nn-NO" "nn" create_default_langpack "pa-IN" "pa" create_default_langpack "pt-PT" "pt" create_default_langpack "sv-SE" "sv" create_default_langpack "zh-TW" "zh" mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/defaults/preferences mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/pref mkdir -p $RPM_BUILD_ROOT%{_datadir}/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384} mkdir -p $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384} install -p -c -m 644 LICENSE $RPM_BUILD_ROOT/%{_libdir}/%{name} rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries ln -s %{_datadir}/myspell $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries cp %{SOURCE3} $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/defaults/preferences cp build/unix/run-mozilla.sh $RPM_BUILD_ROOT%{_libdir}/%{name} mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}/distribution cp %{SOURCE9} $RPM_BUILD_ROOT%{_libdir}/%{name}/distribution rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}-devel-%{version}/sdk/lib/libmozjs.so rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}-devel-%{version}/sdk/lib/libmozalloc.so rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}-devel-%{version}/sdk/lib/libxul.so %preun if [ $1 -eq 0 ]; then rm -rf %{_libdir}/%{name}/components rm -rf %{_libdir}/%{name}/extensions rm -rf %{_libdir}/%{name}/plugins rm -rf %{_libdir}/%{name}/langpacks fi %post update-desktop-database &> /dev/null || : touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : %postun update-desktop-database &> /dev/null || : if [ $1 -eq 0 ] ; then touch --no-create %{_datadir}/icons/hicolor &>/dev/null gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : fi %pretrans -p require 'posix' require 'os' if (posix.stat("%{_libdir}/%{name}/browser/defaults/preferences", "type") == "link") then posix.unlink("%{_libdir}/%{name}/browser/defaults/preferences") posix.mkdir("%{_libdir}/%{name}/browser/defaults/preferences") if (posix.stat("%{_libdir}/%{name}/defaults/preferences", "type") == "directory") then for i,filename in pairs(posix.dir("%{_libdir}/%{name}/defaults/preferences")) do os.rename("%{_libdir}/%{name}/defaults/preferences/"..filename, "%{_libdir}/%{name}/browser/defaults/preferences/"..filename) end f = io.open("%{_libdir}/%{name}/defaults/preferences/README","w") if f then f:write("Content of this directory has been moved to %{_libdir}/%{name}/browser/defaults/preferences.") f:close() end end end %posttrans gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %files -f %{name}.lang %license %{_libdir}/%{name}/LICENSE %doc %{_mandir}/man1/* %{_bindir}/firefox %{_bindir}/firefox-wayland %dir %{_sysconfdir}/%{name} %dir %{_sysconfdir}/%{name}/* %dir %{_datadir}/mozilla/extensions/* %dir %{_libdir}/mozilla/extensions/* %dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/langpacks %attr(644, root, root) %{_libdir}/%{name}/browser/blocklist.xml %{_libdir}/%{name}/*.so %{_libdir}/%{name}/gtk2/*.so %{_libdir}/%{name}/firefox %{_libdir}/%{name}/firefox-bin %{_libdir}/%{name}/browser/chrome %{_libdir}/%{name}/browser/chrome.manifest %{_libdir}/%{name}/browser/omni.ja %{_libdir}/%{name}/browser/defaults/preferences/firefox.js %{_libdir}/%{name}/browser/features/*.xpi %{_libdir}/%{name}/distribution/distribution.ini %{_libdir}/%{name}/defaults/pref/channel-prefs.js %{_libdir}/%{name}/dependentlibs.list %{_libdir}/%{name}/dictionaries %{_libdir}/%{name}/omni.ja %{_libdir}/%{name}/platform.ini %{_libdir}/%{name}/plugin-container %{_libdir}/%{name}/gmp-clearkey %{_libdir}/%{name}/fonts/TwemojiMozilla.ttf %{_libdir}/%{name}/chrome.manifest %{_libdir}/%{name}/run-mozilla.sh %{_libdir}/%{name}/application.ini %{_libdir}/%{name}/pingsender %ghost %{_libdir}/%{name}/browser/features/aushelper@mozilla.org.xpi %exclude %{_libdir}/%{name}/removed-files %{_datadir}/appdata/*.appdata.xml %{_datadir}/applications/%{name}.desktop %{_datadir}/icons/hicolor/16x16/apps/firefox.png %{_datadir}/icons/hicolor/22x22/apps/firefox.png %{_datadir}/icons/hicolor/24x24/apps/firefox.png %{_datadir}/icons/hicolor/256x256/apps/firefox.png %{_datadir}/icons/hicolor/32x32/apps/firefox.png %{_datadir}/icons/hicolor/48x48/apps/firefox.png %{_datadir}/applications/firefox-wayland.desktop %changelog * Wen Feb 26 2020 xuxijian - 62.0.3-4 - Package init