From a4803e5e2df14c46d31c4dcab99e39fe1e48e7e7 Mon Sep 17 00:00:00 2001 From: Adam Osuchowski Date: Sat, 24 Jun 2017 00:56:28 +0200 Subject: [PATCH] - initial, ESR release based on FF 52 --- firefox-Disable-Firefox-Health-Report.patch | 12 + firefox-middle_click_paste.patch | 19 + firefox-no-subshell.patch | 11 + firefox-pld-bookmarks.patch | 18 + firefox-prefs.patch | 65 +++ firefox-system-virtualenv.patch | 12 + firefox.desktop | 80 +++ firefox.sh | 40 ++ firefox52-esr.spec | 523 ++++++++++++++++++++ freetype.patch | 10 + idl-parser.patch | 27 + vendor-ac.js | 10 + vendor.js | 10 + xulrunner-new-libxul.patch | 12 + xulrunner-paths.patch | 17 + xulrunner-pc.patch | 140 ++++++ 16 files changed, 1006 insertions(+) create mode 100644 firefox-Disable-Firefox-Health-Report.patch create mode 100644 firefox-middle_click_paste.patch create mode 100644 firefox-no-subshell.patch create mode 100644 firefox-pld-bookmarks.patch create mode 100644 firefox-prefs.patch create mode 100644 firefox-system-virtualenv.patch create mode 100644 firefox.desktop create mode 100644 firefox.sh create mode 100644 firefox52-esr.spec create mode 100644 freetype.patch create mode 100644 idl-parser.patch create mode 100644 vendor-ac.js create mode 100644 vendor.js create mode 100644 xulrunner-new-libxul.patch create mode 100644 xulrunner-paths.patch create mode 100644 xulrunner-pc.patch diff --git a/firefox-Disable-Firefox-Health-Report.patch b/firefox-Disable-Firefox-Health-Report.patch new file mode 100644 index 0000000..7edc4ba --- /dev/null +++ b/firefox-Disable-Firefox-Health-Report.patch @@ -0,0 +1,12 @@ +--- firefox-49.0.1/toolkit/components/telemetry/healthreport-prefs.js~ 2016-06-01 06:11:41.000000000 +0200 ++++ firefox-49.0.1/toolkit/components/telemetry/healthreport-prefs.js 2016-10-02 09:39:52.367936470 +0200 +@@ -4,7 +4,7 @@ + + pref("datareporting.healthreport.infoURL", "https://www.mozilla.org/legal/privacy/firefox.html#health-report"); + +-// Health Report is enabled by default on all channels. +-pref("datareporting.healthreport.uploadEnabled", true); ++// Health Report is disabled by default on all channels. ++pref("datareporting.healthreport.uploadEnabled", false); + + pref("datareporting.healthreport.about.reportUrl", "https://fhr.cdn.mozilla.net/%LOCALE%/v4/"); diff --git a/firefox-middle_click_paste.patch b/firefox-middle_click_paste.patch new file mode 100644 index 0000000..d857fba --- /dev/null +++ b/firefox-middle_click_paste.patch @@ -0,0 +1,19 @@ +diff -ruNp firefox-45.0.2.orig/browser/base/content/browser.js firefox-45.0.2/browser/base/content/browser.js +--- firefox-45.0.2.orig/browser/base/content/browser.js 2016-04-08 01:54:45.000000000 +0200 ++++ firefox-45.0.2/browser/base/content/browser.js 2016-04-24 04:35:13.146499537 +0200 +@@ -5646,12 +5646,9 @@ function middleMousePaste(event) { + } + + getShortcutOrURIAndPostData(clipboard).then(data => { +- try { +- makeURI(data.url); +- } catch (ex) { +- // Not a valid URI. +- return; +- } ++ var URIFixup = Components.classes["@mozilla.org/docshell/urifixup;1"].getService(Components.interfaces.nsIURIFixup); ++ data.url = URIFixup.createFixupURI(data.url, 1).spec; ++ // 1 is FIXUP_FLAG_ALLOW_KEYWORD_LOOKUP + + try { + addToUrlbarHistory(data.url); diff --git a/firefox-no-subshell.patch b/firefox-no-subshell.patch new file mode 100644 index 0000000..2378566 --- /dev/null +++ b/firefox-no-subshell.patch @@ -0,0 +1,11 @@ +--- iceweasel-3.0.10/mozilla/build/unix/run-mozilla.sh~ 2007-09-04 20:09:31.000000000 +0300 ++++ iceweasel-3.0.10/mozilla/build/unix/run-mozilla.sh 2009-05-05 19:20:55.718561642 +0300 +@@ -438,7 +438,7 @@ + then + moz_debug_program ${1+"$@"} + else +- moz_run_program ${1+"$@"} ++ exec "$MOZ_PROGRAM" ${1+"$@"} + fi + + exit $exitcode diff --git a/firefox-pld-bookmarks.patch b/firefox-pld-bookmarks.patch new file mode 100644 index 0000000..afbb230 --- /dev/null +++ b/firefox-pld-bookmarks.patch @@ -0,0 +1,18 @@ +diff -ruN firefox-52.0.orig/browser/locales/generic/profile/bookmarks.html.in firefox-52.0/browser/locales/generic/profile/bookmarks.html.in +--- firefox-52.0.orig/browser/locales/generic/profile/bookmarks.html.in 2017-02-27 17:10:58.000000000 +0100 ++++ firefox-52.0/browser/locales/generic/profile/bookmarks.html.in 2017-03-09 10:43:14.423697112 +0100 +@@ -38,6 +38,14 @@ +
@firefox_community@ +
@firefox_about@ + ++

PLD Linux Distribution

++

++

PLD Home Page ++
PLD Users Wiki ++
PLD Documentation in English ++
PLD Documentation in Polish ++
Planet PLD ++
+ #else +
+

@firefox_community@ diff --git a/firefox-prefs.patch b/firefox-prefs.patch new file mode 100644 index 0000000..b3d6f73 --- /dev/null +++ b/firefox-prefs.patch @@ -0,0 +1,65 @@ +diff -ur mozilla.orig/browser/app/profile/firefox.js mozilla/browser/app/profile/firefox.js +--- mozilla.orig/browser/app/profile/firefox.js 2008-06-21 12:55:30.000000000 +0200 ++++ mozilla/browser/app/profile/firefox.js 2008-06-21 15:25:48.000000000 +0200 +@@ -94,7 +94,7 @@ pref("extensions.hotfix.certs.1.sha1Fingerprint", "F1:DB:F9:6A:7B:B8:04:FA:48:3C + + // Disable add-ons that are not installed by the user in all scopes by default. + // See the SCOPE constants in AddonManager.jsm for values to use here. +-pref("extensions.autoDisableScopes", 15); ++pref("extensions.autoDisableScopes", 3); + + // Dictionary download preference + pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/dictionaries/"); +@@ -157,12 +157,12 @@ + pref("app.update.cert.checkAttributes", false); + + // Whether or not app updates are enabled +-pref("app.update.enabled", true); ++pref("app.update.enabled", false); + + // If set to true, the Update Service will automatically download updates when + // app updates are enabled per the app.update.enabled preference and if the user + // can apply updates. +-pref("app.update.auto", true); ++pref("app.update.auto", false); + + // If set to true, the Update Service will present no UI for any event. + pref("app.update.silent", false); +@@ -252,7 +252,7 @@ + pref("general.useragent.complexOverride.moodle", false); // bug 797703 + + // At startup, check if we're the default browser and prompt user if not. +-pref("browser.shell.checkDefaultBrowser", true); ++pref("browser.shell.checkDefaultBrowser", false); + pref("browser.shell.shortcutFavicons",true); + + // 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session +@@ -448,6 +448,8 @@ + // 0: no backups created (and deletes all existing backups) + pref("browser.bookmarks.max_backups", 10); + ++pref("intl.locale.matchOS", true); ++ + // Scripts & Windows prefs + pref("dom.disable_open_during_load", true); + pref("javascript.options.showInConsole", true); +@@ -574,7 +576,7 @@ + pref("alerts.totalOpenTime", 4000); + + pref("browser.xul.error_pages.enabled", true); +-pref("browser.xul.error_pages.expert_bad_cert", false); ++pref("browser.xul.error_pages.expert_bad_cert", true); + + // Work Offline is best manually managed by the user. + pref("network.manage-offline-status", false); +--- a/modules/libpref/init/all.js ++++ b/modules/libpref/init/all.js +@@ -1510,7 +1510,7 @@ pref("layout.css.visited_links_enabled", true); + // A value of 0 means use the system DPI. A positive value is used as the DPI. + // This sets the physical size of a device pixel and thus controls the + // interpretation of physical units such as "pt". +-pref("layout.css.dpi", -1); ++pref("layout.css.dpi", 0); + + // Set the number of device pixels per CSS pixel. A value <= 0 means choose + // automatically based on user settings for the platform (e.g., "UI scale factor" diff --git a/firefox-system-virtualenv.patch b/firefox-system-virtualenv.patch new file mode 100644 index 0000000..c97400c --- /dev/null +++ b/firefox-system-virtualenv.patch @@ -0,0 +1,12 @@ +--- xulrunner-27.0/mozilla/python/mozbuild/mozbuild/virtualenv.py~ 2013-05-11 21:19:23.000000000 +0200 ++++ xulrunner-27.0/mozilla/python/mozbuild/mozbuild/virtualenv.py 2013-05-14 22:51:32.136719267 +0200 +@@ -37,8 +37,7 @@ + @property + def virtualenv_script_path(self): + """Path to virtualenv's own populator script.""" +- return os.path.join(self.topsrcdir, 'python', 'virtualenv', +- 'virtualenv.py') ++ return '/usr/bin/virtualenv-2' + + @property + def python_path(self): diff --git a/firefox.desktop b/firefox.desktop new file mode 100644 index 0000000..c515b2c --- /dev/null +++ b/firefox.desktop @@ -0,0 +1,80 @@ +[Desktop Entry] +Name=Firefox +Name[pl]=Firefox +GenericName=Web Browser +GenericName[af]=Web Blaaier +GenericName[ar]=متصفح ويب +GenericName[az]=Veb Səyyahı +GenericName[bg]=Браузър +GenericName[bn]=ওয়েব ব্রাউজার +GenericName[br]=Furcher ar Gwiad +GenericName[bs]=WWW Preglednik +GenericName[ca]=Fullejador web +GenericName[cs]=WWW prohlížeč +GenericName[cy]=Porydd Gwe +GenericName[da]=Browser +GenericName[de]=Web-Browser +GenericName[el]=Περιηγητής Ιστού +GenericName[eo]=TTT-legilo +GenericName[es]=Navegador web +GenericName[et]=Veebilehitseja +GenericName[eu]=Web arakatzailea +GenericName[fa]=مرورگر وب +GenericName[fi]=WWW-selain +GenericName[fo]=Alnótsfar +GenericName[fr]=Navigateur web +GenericName[gl]=Navegador Web +GenericName[he]=דפדפן אינטרנט +GenericName[hi]=वेब ब्राउज़र +GenericName[hr]=Web preglednik +GenericName[hu]=Webböngésző +GenericName[is]=Vafri +GenericName[it]=Browser Web +GenericName[ja]=ウェブブラウザ +GenericName[ko]=웹 브라우저 +GenericName[lo]=ເວັບບຣາວເຊີ +GenericName[lt]=Žiniatinklio naršyklė +GenericName[lv]=Web Pārlūks +GenericName[mk]=Прелистувач на Интернет +GenericName[mn]=Веб-Хөтөч +GenericName[nb]=Nettleser +GenericName[nds]=Nettkieker +GenericName[nl]=Webbrowser +GenericName[nn]=Nettlesar +GenericName[nso]=Seinyakisi sa Web +GenericName[pa]=ਵੈਬ ਝਲਕਾਰਾ +GenericName[pl]=Przeglądarka WWW +GenericName[pt_BR]=Navegador Web +GenericName[pt]=Navegador Web +GenericName[ro]=Navigator de web +GenericName[ru]=Веб-браузер +GenericName[se]=Fierpmádatlogan +GenericName[sk]=Webový prehliadač +GenericName[sl]=Spletni brskalnik +GenericName[sr@latin]=Veb pretraživač +GenericName[sr]=Веб претраживач +GenericName[ss]=Ibrawuza yeWeb +GenericName[sv]=Webbläsare +GenericName[ta]=வலை உலாவி +GenericName[tg]=Тафсиргари вэб +GenericName[th]=เว็บบราวเซอร์ +GenericName[tr]=Web Tarayıcı +GenericName[uk]=Навігатор Тенет +GenericName[uz]=Веб-браузер +GenericName[ven]=Buronza ya Webu +GenericName[vi]=Trình duyệt Web +GenericName[wa]=Betchteu waibe +GenericName[xh]=Umkhangeli zincwadi we Web +GenericName[zh_CN]=网页浏览器 +GenericName[zh_TW]=網頁瀏覽器 +GenericName[zu]=Umcingi we-Web +Comment=Browse the Web powered by Mozilla technology +Comment[pl]=Przeglądarka WWW oparta o technologię Mozilli +Exec=firefox %u +Icon=firefox +Terminal=false +MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; +Type=Application +StartupNotify=true +Categories=GTK;Network;WebBrowser; +# vi: encoding=utf-8 diff --git a/firefox.sh b/firefox.sh new file mode 100644 index 0000000..b0041e6 --- /dev/null +++ b/firefox.sh @@ -0,0 +1,40 @@ +#!/bin/sh +# based on script by (c) vip at linux.pl, wolf at pld-linux.org + +LIBDIR="@LIBDIR@/@NAME@" + +# copy profile from Iceweasel if its available and if no Firefox +# profile exists +if [ ! -d $HOME/.mozilla/firefox ]; then + if [ -d $HOME/.iceweasel ]; then + echo "Copying profile from Iceweasel" + cp -rf $HOME/.iceweasel $HOME/.mozilla/firefox + fi +fi + +# compreg.dat and/or chrome.rdf will screw things up if it's from an +# older version. http://bugs.gentoo.org/show_bug.cgi?id=63999 +for f in ~/.mozilla/firefox/*/{compreg.dat,chrome.rdf,XUL.mfasl}; do + if [[ -f ${f} && ${f} -ot /usr/bin/firefox ]]; then + echo "Removing ${f} leftover from older firefox" + rm -f "${f}" + fi +done + +FIREFOX="$LIBDIR/firefox" +PWD=${PWD:-$(pwd)} + +if [ -z "$1" ]; then + exec $FIREFOX +else + if [ -f "$PWD/$1" ]; then + URL="file://$PWD/$1" + else + URL="$1" + fi + if ! grep -q browser.tabs.opentabfor.middleclick.*false ~/.firefox/*/prefs.js; then + exec $FIREFOX -new-tab "$URL" + else + exec $FIREFOX -new-window "$URL" + fi +fi diff --git a/firefox52-esr.spec b/firefox52-esr.spec new file mode 100644 index 0000000..15799e0 --- /dev/null +++ b/firefox52-esr.spec @@ -0,0 +1,523 @@ +# TODO: +# - consider --enable-libproxy +# +# Conditional build: +%bcond_with tests # enable tests (whatever they check) +%bcond_without gtk3 # GTK+ 3.x instead of 2.x +%bcond_without kerberos # disable krb5 support +%bcond_without official # official Firefox branding +%bcond_without pgo # PGO-enabled build (requires working $DISPLAY == :100) +# - disabled shared_js - https://bugzilla.mozilla.org/show_bug.cgi?id=1039964 +%bcond_with shared_js # shared libmozjs library [broken] +%bcond_with system_icu # build with system ICU (disabled due to crashes with system icu 58.2) + +# On updating version, grab CVE links from: +# https://www.mozilla.org/security/known-vulnerabilities/firefox.html +# Release Notes: +# https://developer.mozilla.org/en-US/Firefox/Releases + +# The actual sqlite version (see RHBZ#480989): +%define sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo ERROR) + +%define _basename firefox +%define nspr_ver 4.13.1 +%define nss_ver 3.28.1 + +Summary: Firefox web browser +Summary(hu.UTF-8): Firefox web böngésző +Summary(pl.UTF-8): Firefox - przeglądarka WWW +Name: firefox52-esr +Version: 52.2.0 +Release: 1 +License: MPL v2.0 +Group: X11/Applications/Networking +Source0: http://releases.mozilla.org/pub/mozilla.org/firefox/releases/%{version}esr/source/firefox-%{version}esr.source.tar.xz +# Source0-md5: 512594d84c9aec3fb094eb4bba10e441 +Source3: %{_basename}.desktop +Source4: %{_basename}.sh +Source5: vendor.js +Source6: vendor-ac.js +Patch0: idl-parser.patch +Patch1: xulrunner-new-libxul.patch +Patch2: xulrunner-paths.patch +Patch3: xulrunner-pc.patch +Patch4: %{_basename}-prefs.patch +Patch5: %{_basename}-pld-bookmarks.patch +Patch6: %{_basename}-no-subshell.patch +Patch7: %{_basename}-middle_click_paste.patch +Patch8: %{_basename}-system-virtualenv.patch +Patch9: %{_basename}-Disable-Firefox-Health-Report.patch +Patch10: freetype.patch +URL: https://www.mozilla.org/firefox/ +BuildRequires: OpenGL-devel +BuildRequires: alsa-lib-devel +BuildRequires: automake +BuildRequires: autoconf2_13 +BuildRequires: bzip2-devel +BuildRequires: cairo-devel >= 1.10.2-5 +BuildRequires: dbus-glib-devel >= 0.60 +BuildRequires: fontconfig-devel >= 1:2.7.0 +BuildRequires: freetype-devel >= 1:2.1.8 +BuildRequires: gcc-c++ >= 6:4.4 +BuildRequires: glib2-devel >= 1:2.22 +BuildRequires: gstreamer-devel >= 1.0 +BuildRequires: gstreamer-plugins-base-devel >= 1.0 +%{!?with_gtk3:BuildRequires: gtk+2-devel >= 2:2.18.0} +%{?with_gtk3:BuildRequires: gtk+3-devel >= 3.4.0} +%{?with_kerberos:BuildRequires: heimdal-devel >= 0.7.1} +BuildRequires: hunspell-devel >= 1.2.3 +BuildRequires: libIDL-devel >= 0.8.0 +# DECnet (dnprogs.spec), not dummy net (libdnet.spec) +#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 +%{?with_system_icu:BuildRequires: libicu-devel >= 58.1} +# requires libjpeg-turbo implementing at least libjpeg 6b API +BuildRequires: libjpeg-devel >= 6b +BuildRequires: libjpeg-turbo-devel +BuildRequires: libpng(APNG)-devel >= 0.10 +BuildRequires: libpng-devel >= 2:1.6.25 +BuildRequires: libstdc++-devel >= 6:4.4 +BuildRequires: libvpx-devel >= 1.5.0 +BuildRequires: nspr-devel >= 1:%{nspr_ver} +BuildRequires: nss-devel >= 1:%{nss_ver} +BuildRequires: pango-devel >= 1:1.22.0 +BuildRequires: pixman-devel >= 0.19.2 +BuildRequires: perl-modules >= 5.004 +BuildRequires: pkgconfig +BuildRequires: pkgconfig(libffi) >= 3.0.9 +BuildRequires: pulseaudio-devel +BuildRequires: python-modules >= 1:2.5 +%{?with_pgo:BuildRequires: python-modules-sqlite} +BuildRequires: python-simplejson +BuildRequires: python-virtualenv >= 15 +BuildRequires: readline-devel +BuildRequires: rpm >= 4.4.9-56 +BuildRequires: rpmbuild(macros) >= 1.601 +BuildRequires: sed >= 4.0 +BuildRequires: sqlite3-devel >= 3.17.0 +BuildRequires: startup-notification-devel >= 0.8 +BuildRequires: xorg-lib-libX11-devel +BuildRequires: xorg-lib-libXScrnSaver-devel +BuildRequires: xorg-lib-libXcomposite-devel +BuildRequires: xorg-lib-libXdamage-devel +BuildRequires: xorg-lib-libXext-devel +BuildRequires: xorg-lib-libXfixes-devel +BuildRequires: xorg-lib-libXinerama-devel +BuildRequires: xorg-lib-libXt-devel +%{?with_pgo:BuildRequires: xorg-xserver-Xvfb} +%ifarch %{x8664} +BuildRequires: yasm >= 1.0.1 +%endif +BuildRequires: zip +BuildRequires: zlib-devel >= 1.2.3 +BuildConflicts: %{name}-devel < %{version} +Requires(post): mktemp >= 1.5-18 +Requires: browser-plugins >= 2.0 +Requires: desktop-file-utils +Requires: hicolor-icon-theme +Requires: myspell-common +Requires: nspr >= 1:%{nspr_ver} +Requires: nss >= 1:%{nss_ver} +Requires: %{name}-libs = %{version}-%{release} +Provides: wwwbrowser +Obsoletes: iceweasel +Obsoletes: mozilla-firebird +Obsoletes: mozilla-firefox +Obsoletes: mozilla-firefox-lang-en < 2.0.0.8-3 +Obsoletes: mozilla-firefox-libs +Obsoletes: xulrunner +Obsoletes: xulrunner-gnome +Conflicts: firefox-lang-resources < %{version} +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) + +%define filterout_cpp -D_FORTIFY_SOURCE=[0-9]+ + +# don't satisfy other packages +%define _noautoprovfiles %{_libdir}/%{name} + +# and as we don't provide them, don't require either +%define _noautoreq libmozjs.so libxul.so + +%description +Firefox is an open-source web browser, designed for standards +compliance, performance and portability. + +%description -l hu.UTF-8 +Firefox egy nyílt forrású webböngésző, hatékonyságra és +hordozhatóságra tervezve. + +%description -l pl.UTF-8 +Firefox jest przeglądarką WWW rozpowszechnianą 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 shared libraries +Summary(pl.UTF-8): Biblioteki współdzielone Firefoxa +Group: X11/Libraries +Requires: cairo >= 1.10.2-5 +Requires: dbus-glib >= 0.60 +Requires: fontconfig-libs >= 1:2.7.0 +Requires: glib2 >= 1:2.22 +%{!?with_gtk3:Requires: gtk+2 >= 2:2.18.0} +%{?with_gtk3:Requires: gtk+3 >= 3.4.0} +Requires: libjpeg-turbo +Requires: libpng >= 2:1.6.25 +Requires: libpng(APNG) >= 0.10 +Requires: libvpx >= 1.5.0 +Requires: pango >= 1:1.22.0 +Requires: sqlite3 >= %{sqlite_build_version} +Requires: startup-notification >= 0.8 +Provides: xulrunner-libs = 2:%{version}-%{release} +Obsoletes: iceweasel-libs +Obsoletes: xulrunner-libs + +%description libs +XULRunner shared libraries. + +%description libs -l pl.UTF-8 +Biblioteki współdzielone XULRunnera. + +%package devel +Summary: Headers for developing programs that will use Firefox +Summary(pl.UTF-8): Pliki nagłówkowe do tworzenia programów używających Firefox +Group: X11/Development/Libraries +Requires: %{name}-libs = %{version}-%{release} +Requires: nspr-devel >= 1:%{nspr_ver} +Requires: nss-devel >= 1:%{nss_ver} +Requires: python-ply +Provides: xulrunner-devel = 2:%{version}-%{release} +Obsoletes: iceweasel-devel +Obsoletes: mozilla-devel +Obsoletes: mozilla-firefox-devel +Obsoletes: seamonkey-devel +Obsoletes: xulrunner-devel + +%description devel +Firefox development package. + +%description devel -l pl.UTF-8 +Pakiet programistyczny Firefoxa. + +%prep +%setup -q -n %{_basename}-%{version}esr + +# avoid using included headers (-I. is before HUNSPELL_CFLAGS) +%{__rm} extensions/spellcheck/hunspell/src/{*.hxx,hunspell.h} +# hunspell needed for factory including mozHunspell.h +echo 'LOCAL_INCLUDES += $(MOZ_HUNSPELL_CFLAGS)' >> extensions/spellcheck/src/Makefile.in + +%patch0 -p2 +%patch1 -p1 +%patch2 -p2 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p2 +%patch7 -p1 +%patch8 -p2 +%patch9 -p1 +%patch10 -p2 + +%{__sed} -i -e '1s,/usr/bin/env python,%{__python},' xpcom/typelib/xpt/tools/xpt.py xpcom/idl-parser/xpidl/xpidl.py + +%if %{with pgo} +%{__sed} -i -e 's@__BROWSER_PATH__@"../../dist/bin/firefox-bin"@' build/automation.py.in +%endif + +%build +cp -p %{_datadir}/automake/config.* build/autoconf + +cat << 'EOF' > .mozconfig +. $topsrcdir/browser/config/mozconfig + +mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-%{_target_cpu} + +# Options for 'configure' (same as command-line options). +ac_add_options --host=%{_target_platform} +ac_add_options --prefix=%{_prefix} +%if %{?debug:1}0 +ac_add_options --disable-optimize +ac_add_options --enable-debug +ac_add_options --enable-debug-modules +ac_add_options --enable-debugger-info-modules +ac_add_options --enable-crash-on-assert +%else +ac_add_options --disable-debug +ac_add_options --enable-optimize="%{rpmcflags} -Os" +%endif +ac_add_options --disable-strip +ac_add_options --disable-install-strip +%if %{with tests} +ac_add_options --enable-tests +ac_add_options --enable-mochitest +%else +%if %{with pgo} +ac_add_options --enable-tests +%else +ac_add_options --disable-tests +%endif +%endif +ac_add_options --disable-crashreporter +ac_add_options --disable-gconf +ac_add_options --disable-gnomeui +ac_add_options --disable-necko-wifi +ac_add_options --disable-updater +ac_add_options --enable-alsa +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 +ac_add_options --enable-gio +ac_add_options --enable-readline +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-system-cairo +ac_add_options --enable-system-ffi +ac_add_options --enable-system-hunspell +ac_add_options --enable-system-sqlite +ac_add_options --enable-url-classifier +%{?with_official:ac_add_options --enable-official-branding} +ac_add_options --with-default-mozilla-five-home=%{_libdir}/%{name} +ac_add_options --with-distribution-id=org.pld-linux +ac_add_options --with-pthreads +ac_add_options --with-system-bz2 +ac_add_options --with%{!?with_system_icu:out}-system-icu +ac_add_options --with-system-jpeg +ac_add_options --with-system-libevent +ac_add_options --with-system-libvpx +ac_add_options --with-system-nspr +ac_add_options --with-system-nss +ac_add_options --with-system-png +ac_add_options --with-system-zlib +ac_add_options --with-x +EOF + +%if %{with pgo} +D=$(( RANDOM % (200 - 100 + 1 ) + 5 )) +/usr/bin/Xvfb :${D} & +XVFB_PID=$! +[ -n "$XVFB_PID" ] || exit 1 +export DISPLAY=:${D} +%{__make} -j1 -f client.mk profiledbuild \ + AUTOCONF=/usr/bin/autoconf2_13 \ + DESTDIR=obj-%{_target_cpu}/dist \ + MOZ_MAKE_FLAGS="%{_smp_mflags}" +kill $XVFB_PID +%else +%{__make} -j1 -f client.mk build \ + AUTOCONF=/usr/bin/autoconf2_13 \ + MOZ_MAKE_FLAGS="%{_smp_mflags}" +%endif + +%install +rm -rf $RPM_BUILD_ROOT +install -d \ + $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}} \ + $RPM_BUILD_ROOT%{_desktopdir} \ + $RPM_BUILD_ROOT%{_datadir}/%{name}/browser \ + $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/plugins \ + $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk/{lib,bin} \ + $RPM_BUILD_ROOT%{_includedir}/%{name} \ + $RPM_BUILD_ROOT%{_datadir}/idl/%{name} \ + $RPM_BUILD_ROOT%{_pkgconfigdir} + +%browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/browser/plugins + +cd obj-%{_target_cpu} +%{__make} -C browser/installer stage-package libxul.pc libxul-embedding.pc mozilla-js.pc mozilla-plugin.pc \ + DESTDIR=$RPM_BUILD_ROOT \ + installdir=%{_libdir}/%{name} \ + INSTALL_SDK=1 \ + PKG_SKIP_STRIP=1 + +cp -aL browser/installer/*.pc $RPM_BUILD_ROOT%{_pkgconfigdir} +cp -aL dist/firefox/* $RPM_BUILD_ROOT%{_libdir}/%{name}/ +cp -aL dist/idl/* $RPM_BUILD_ROOT%{_datadir}/idl/%{name} +cp -aL dist/include/* $RPM_BUILD_ROOT%{_includedir}/%{name} +cp -aL dist/include/xpcom-config.h $RPM_BUILD_ROOT%{_libdir}/%{name}-devel +cp -aL dist/sdk/lib/* $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk/lib +cp -aL dist/sdk/bin/* $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk/bin +find $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk -name "*.pyc" | xargs rm -f + +ln -s %{_libdir}/%{name} $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/bin +ln -s %{_includedir}/%{name} $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/include +ln -s %{_datadir}/idl/%{name} $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/idl +ln -s %{_libdir}/%{name}-devel/sdk/lib $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/lib + +# replace copies with symlinks +%{?with_shared_js:ln -sf %{_libdir}/%{name}/libmozjs.so $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk/lib/libmozjs.so} +ln -sf %{_libdir}/%{name}/libxul.so $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk/lib/libxul.so +# temp fix for https://bugzilla.mozilla.org/show_bug.cgi?id=63955 +chmod a+rx $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk/bin/xpt.py + +# 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}/defaults $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/defaults +mv $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/defaults/{pref,preferences} + +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 + +%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries +ln -s %{_datadir}/myspell $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries + +sed 's,@LIBDIR@,%{_libdir},;s,@NAME@,%{name},' %{SOURCE4} > $RPM_BUILD_ROOT%{_bindir}/%{name} +chmod 755 $RPM_BUILD_ROOT%{_bindir}/%{name} + +# install icons and desktop file +for i in 16 32 48 %{?with_official:22 24 256}; do + install -d $RPM_BUILD_ROOT%{_iconsdir}/hicolor/${i}x${i}/apps + cp -a ../browser/branding/%{!?with_official:un}official/default${i}.png \ + $RPM_BUILD_ROOT%{_iconsdir}/hicolor/${i}x${i}/apps/%{name}.png +done + +cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop + +# install our settings +%if "%{pld_release}" == "ac" +cp -a %{SOURCE6} $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/defaults/preferences/vendor.js +%else +cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/defaults/preferences/vendor.js +%endif + +cat << 'EOF' > $RPM_BUILD_ROOT%{_sbindir}/%{name}-chrome+xpcom-generate +#!/bin/sh +umask 022 +rm -f %{_libdir}/%{name}/browser/components/{compreg,xpti}.dat + +# it attempts to touch files in $HOME/.mozilla +# beware if you run this with sudo!!! +export HOME=$(mktemp -d) +# also TMPDIR could be pointing to sudo user's homedir +unset TMPDIR TMP || : + +%{_libdir}/%{name}/firefox -register + +rm -rf $HOME +EOF +chmod 755 $RPM_BUILD_ROOT%{_sbindir}/%{name}-chrome+xpcom-generate + +%clean +rm -rf $RPM_BUILD_ROOT + +%post +%{_sbindir}/%{name}-chrome+xpcom-generate +%update_browser_plugins +%update_icon_cache hicolor +%update_desktop_database + +%postun +if [ "$1" = 0 ]; then + %update_browser_plugins + %update_icon_cache hicolor +fi + +%files +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/%{name} +%attr(755,root,root) %{_sbindir}/%{name}-chrome+xpcom-generate + +%{_desktopdir}/%{name}.desktop +%{_iconsdir}/hicolor/*/apps/%{name}.png + +# browser plugins v2 +%{_browserpluginsconfdir}/browsers.d/%{name}.* +%config(noreplace) %verify(not md5 mtime size) %{_browserpluginsconfdir}/blacklist.d/%{name}.*.blacklist + +%dir %{_libdir}/%{name}/browser +%dir %{_libdir}/%{name}/browser/plugins +%dir %{_libdir}/%{name}/browser/features + +%dir %{_datadir}/%{name} +%dir %{_datadir}/%{name}/browser +%dir %{_datadir}/%{name}/browser/extensions +%{_datadir}/%{name}/browser/chrome +%{_datadir}/%{name}/browser/defaults +%{_datadir}/%{name}/browser/icons + +# symlinks +%{_libdir}/%{name}/browser/extensions +%{_libdir}/%{name}/browser/chrome +%{_libdir}/%{name}/browser/icons +%{_libdir}/%{name}/browser/defaults + +%attr(755,root,root) %{_libdir}/%{name}/firefox +%attr(755,root,root) %{_libdir}/%{name}/firefox-bin +%attr(755,root,root) %{_libdir}/%{name}/run-mozilla.sh +%{_libdir}/%{name}/application.ini +%{_libdir}/%{name}/chrome.manifest +%{_libdir}/%{name}/browser/blocklist.xml +%{_libdir}/%{name}/browser/chrome.manifest +# the signature of the default theme +%{_datadir}/%{name}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi +%{_libdir}/%{name}/browser/omni.ja + +%{_libdir}/%{name}/browser/features/aushelper@mozilla.org.xpi +%{_libdir}/%{name}/browser/features/e10srollout@mozilla.org.xpi +%{_libdir}/%{name}/browser/features/firefox@getpocket.com.xpi +%{_libdir}/%{name}/browser/features/webcompat@mozilla.org.xpi + +%attr(755,root,root) %{_libdir}/%{name}/plugin-container +%{_libdir}/%{name}/dictionaries + +%dir %{_libdir}/%{name}/fonts +%{_libdir}/%{name}/fonts/EmojiOneMozilla.ttf + +%dir %{_libdir}/%{name}/gmp-clearkey +%dir %{_libdir}/%{name}/gmp-clearkey/0.1 +%{_libdir}/%{name}/gmp-clearkey/0.1/clearkey.info +%attr(755,root,root) %{_libdir}/%{name}/gmp-clearkey/0.1/libclearkey.so +%{!?with_system_icu:%{_libdir}/%{name}//icudt58l.dat} + +%files libs +%defattr(644,root,root,755) +%dir %{_libdir}/%{name} +%{_libdir}/%{name}/platform.ini +%{?with_shared_js:%attr(755,root,root) %{_libdir}/%{name}/libmozjs.so} +%attr(755,root,root) %{_libdir}/%{name}/liblgpllibs.so +%attr(755,root,root) %{_libdir}/%{name}/libxul.so +%attr(755,root,root) %{_libdir}/%{name}/libmozavcodec.so +%attr(755,root,root) %{_libdir}/%{name}/libmozavutil.so +%attr(755,root,root) %{_libdir}/%{name}/libmozsandbox.so +%{_libdir}/%{name}/dependentlibs.list +%{_libdir}/%{name}/omni.ja +%if %{with gtk3} +%dir %{_libdir}/%{name}/gtk2 +%attr(755,root,root) %{_libdir}/%{name}/gtk2/libmozgtk.so +%attr(755,root,root) %{_libdir}/%{name}/libmozgtk.so +%endif + +%files devel +%defattr(644,root,root,755) +%{_includedir}/%{name} +%{_datadir}/idl/%{name} +%dir %{_libdir}/%{name}-devel +%{_libdir}/%{name}-devel/bin +%{_libdir}/%{name}-devel/idl +%{_libdir}/%{name}-devel/lib +%{_libdir}/%{name}-devel/include +%{_libdir}/%{name}-devel/*.h +%dir %{_libdir}/%{name}-devel/sdk +%{_libdir}/%{name}-devel/sdk/lib +%dir %{_libdir}/%{name}-devel/sdk/bin +%attr(755,root,root) %{_libdir}/%{name}-devel/sdk/bin/header.py +%attr(755,root,root) %{_libdir}/%{name}-devel/sdk/bin/run-mozilla.sh +%attr(755,root,root) %{_libdir}/%{name}-devel/sdk/bin/typelib.py +%attr(755,root,root) %{_libdir}/%{name}-devel/sdk/bin/xpcshell +%attr(755,root,root) %{_libdir}/%{name}-devel/sdk/bin/xpidl.py +%{_libdir}/%{name}-devel/sdk/bin/xpidllex.py +%{_libdir}/%{name}-devel/sdk/bin/xpidlyacc.py +%attr(755,root,root) %{_libdir}/%{name}-devel/sdk/bin/xpt.py +%{_libdir}/%{name}-devel/sdk/bin/ply + +%{_pkgconfigdir}/libxul.pc +%{_pkgconfigdir}/libxul-embedding.pc +%{_pkgconfigdir}/mozilla-js.pc +%{_pkgconfigdir}/mozilla-plugin.pc diff --git a/freetype.patch b/freetype.patch new file mode 100644 index 0000000..b68208e --- /dev/null +++ b/freetype.patch @@ -0,0 +1,10 @@ +--- iceweasel-41.0.1/mozilla/config/system-headers~ 2015-09-29 23:44:56.000000000 +0200 ++++ iceweasel-41.0.1/mozilla/config/system-headers 2015-10-13 22:19:29.758370730 +0200 +@@ -454,6 +454,7 @@ + frame/log.h + frame/req.h + freetype/freetype.h ++freetype/ftfntfmt.h + freetype/ftcache.h + freetype/ftglyph.h + freetype/ftsynth.h diff --git a/idl-parser.patch b/idl-parser.patch new file mode 100644 index 0000000..6ac5679 --- /dev/null +++ b/idl-parser.patch @@ -0,0 +1,27 @@ +--- xulrunner-10.0/mozilla/xpcom/idl-parser/xpidl/typelib.py.wiget 2012-02-09 16:31:01.826758036 +0100 ++++ xulrunner-10.0/mozilla/xpcom/idl-parser/xpidl/typelib.py 2012-02-09 16:32:26.473475659 +0100 +@@ -276,7 +276,7 @@ if __name__ == '__main__': + o = OptionParser() + o.add_option('-I', action='append', dest='incdirs', default=['.'], + help="Directory to search for imported files") +- o.add_option('--cachedir', dest='cachedir', default=None, ++ o.add_option('--cachedir', dest='cachedir', default='', + help="Directory in which to cache lex/parse tables.") + o.add_option('-o', dest='outfile', default=None, + help="Output file") +@@ -287,13 +287,13 @@ if __name__ == '__main__': + options, args = o.parse_args() + file = args[0] if args else None + +- if options.cachedir is not None: ++ if options.cachedir != '': + if not os.path.isdir(options.cachedir): + os.mkdir(options.cachedir) + sys.path.append(options.cachedir) + + if options.regen: +- if options.cachedir is None: ++ if options.cachedir == '': + print >>sys.stderr, "--regen requires --cachedir" + sys.exit(1) + diff --git a/vendor-ac.js b/vendor-ac.js new file mode 100644 index 0000000..9312cb3 --- /dev/null +++ b/vendor-ac.js @@ -0,0 +1,10 @@ +pref("general.useragent.vendor", "PLD"); +pref("general.useragent.vendorSub", "2.0"); +pref("general.useragent.vendorComment", "Ac"); + +pref("general.useragent.compatMode.firefox", true); +pref("distribution.searchplugins.defaultLocale", "en-US"); +// Forbid application updates +lockPref("app.update.enabled", false); +// POODLE protection, CVE-2014-3566 +pref("security.tls.version.min", 1); diff --git a/vendor.js b/vendor.js new file mode 100644 index 0000000..6bf1b78 --- /dev/null +++ b/vendor.js @@ -0,0 +1,10 @@ +pref("general.useragent.vendor", "PLD"); +pref("general.useragent.vendorSub", "3.0"); +pref("general.useragent.vendorComment", "Th"); + +pref("general.useragent.compatMode.firefox", true); +pref("distribution.searchplugins.defaultLocale", "en-US"); +// Forbid application updates +lockPref("app.update.enabled", false); +// POODLE protection, CVE-2014-3566 +pref("security.tls.version.min", 1); diff --git a/xulrunner-new-libxul.patch b/xulrunner-new-libxul.patch new file mode 100644 index 0000000..f4a527c --- /dev/null +++ b/xulrunner-new-libxul.patch @@ -0,0 +1,12 @@ +diff -ruNp mozilla.orig/toolkit/mozapps/installer/packager.py mozilla/toolkit/mozapps/installer/packager.py +--- mozilla.orig/toolkit/mozapps/installer/packager.py 2015-04-03 04:30:06.000000000 +0200 ++++ mozilla/toolkit/mozapps/installer/packager.py 2015-04-10 14:52:45.133163567 +0200 +@@ -152,7 +152,7 @@ def precompile_cache(formatter, source_p + os.remove(cache) + + try: +- extra_env = {'MOZ_STARTUP_CACHE': cache} ++ extra_env = {'MOZ_STARTUP_CACHE': cache, 'LD_PRELOAD': os.path.join(gre_path, 'libxul.so')} + if buildconfig.substs.get('MOZ_TSAN'): + extra_env['TSAN_OPTIONS'] = 'report_bugs=0' + if launcher.launch(['xpcshell', '-g', gre_path, '-a', app_path, diff --git a/xulrunner-paths.patch b/xulrunner-paths.patch new file mode 100644 index 0000000..8064c68 --- /dev/null +++ b/xulrunner-paths.patch @@ -0,0 +1,17 @@ +--- xulrunner-29.0/mozilla/config/baseconfig.mk~ 2012-10-10 23:42:45.000000000 +0200 ++++ xulrunner-29.0/mozilla/config/baseconfig.mk 2012-10-23 23:56:58.222368136 +0200 +@@ -2,10 +2,10 @@ + # directly in python/mozbuild/mozbuild/base.py for gmake validation. + # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending + # whether a normal build is happening or whether the check is running. +-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) ++includedir := $(includedir)/$(MOZ_APP_NAME) ++idldir = $(datadir)/idl/$(MOZ_APP_NAME) ++installdir = $(libdir)/$(MOZ_APP_NAME) ++sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel + ifeq (.,$(DEPTH)) + DIST = dist + else diff --git a/xulrunner-pc.patch b/xulrunner-pc.patch new file mode 100644 index 0000000..55bffef --- /dev/null +++ b/xulrunner-pc.patch @@ -0,0 +1,140 @@ +--- firefox-47.0/browser/installer/Makefile.in.orig 2016-06-01 06:11:40.000000000 +0200 ++++ firefox-47.0/browser/installer/Makefile.in 2016-06-08 09:04:03.153657968 +0200 +@@ -160,6 +160,57 @@ + -diff -u $(DIST)/pack-list.txt $(DIST)/bin-list.txt + rm -f $(DIST)/pack-list.txt $(DIST)/bin-list.txt + ++# Add pkg-config files to the install:: target ++pkg_config_files = \ ++ libxul.pc \ ++ libxul-embedding.pc \ ++ mozilla-js.pc \ ++ mozilla-plugin.pc \ ++ $(NULL) ++ ++ifdef MOZ_NATIVE_NSPR ++NSPR_NAME=nspr ++NSPR_VERSION=$(shell $(NSPR_CONFIG) --version) ++else ++pkg_config_files += mozilla-nspr.pc ++NSPR_NAME=mozilla-nspr ++FULL_NSPR_CFLAGS=-I\$${includedir} ++FULL_NSPR_LIBS=$(subst $(prefix),\$${sdkdir},$(shell $(DEPTH)/nsprpub/config/nspr-config --libs)) ++NSPR_VERSION=$(shell $(DEPTH)/nsprpub/config/nspr-config --version) ++endif ++ ++MOZ_XUL_LINK = -lxpcomglue_s -lxul ++ifdef JS_SHARED_LIBRARY ++MOZ_JS_LINK = -lmozjs ++else ++FINDPATH=bin ++MOZ_JS_LINK = $(MOZ_XUL_LINK) ++endif ++ ++%.pc: $(srcdir)/%.pc.in $(GLOBAL_DEPS) ++ cat $< | sed \ ++ -e "s|%prefix%|$(prefix)|" \ ++ -e "s|%includedir%|$(includedir)|" \ ++ -e "s|%idldir%|$(idldir)|" \ ++ -e "s|%sdkdir%|$(sdkdir)|" \ ++ -e "s|%libdir%|$(installdir)|" \ ++ -e "s|%MOZ_APP_NAME%|$(MOZ_APP_NAME)|" \ ++ -e "s|%MOZILLA_VERSION%|$(MOZ_APP_VERSION)|" \ ++ -e "s|%WCHAR_CFLAGS%|$(WCHAR_CFLAGS)|" \ ++ -e "s|%FULL_NSPR_LIBS%|$(FULL_NSPR_LIBS)|" \ ++ -e "s|%FULL_NSPR_CFLAGS%|$(FULL_NSPR_CFLAGS)|" \ ++ -e "s|%NSPR_NAME%|$(NSPR_NAME)|" \ ++ -e "s|%NSPR_VERSION%|$(NSPR_VERSION)|" \ ++ -e "s|%MOZ_XUL_LINK%|$(MOZ_XUL_LINK)|" \ ++ -e "s|%MOZ_JS_LINK%|$(MOZ_JS_LINK)|" > $@ ++ chmod 644 $@ ++ ++install:: $(pkg_config_files) ++ @echo pkg_config_file: $(pkg_config_files) ++ $(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(libdir)/pkgconfig ++ ++GARBAGE += $(pkg_config_files) ++ + installer:: + ifdef INSTALLER_DIR + $(MAKE) -C $(INSTALLER_DIR) +--- /dev/null 2016-06-08 08:45:36.745941113 +0200 ++++ firefox-47.0/browser/installer/libxul-embedding.pc.in 2016-06-08 09:03:04.106295573 +0200 +@@ -0,0 +1,11 @@ ++prefix=%prefix% ++sdkdir=%sdkdir% ++includedir=%includedir% ++idldir=%idldir% ++ ++Name: libxul-embedding ++Description: Static library for version-independent embedding of the Mozilla runtime ++Version: %MOZILLA_VERSION% ++Requires: %NSPR_NAME% >= %NSPR_VERSION% ++Libs: -L${sdkdir}/lib -lxpcomglue -ldl ++Cflags: -DXPCOM_GLUE -I${includedir} %WCHAR_CFLAGS% +--- /dev/null 2016-06-08 08:45:36.745941113 +0200 ++++ firefox-47.0/browser/installer/libxul.pc.in 2016-06-08 09:03:44.546774985 +0200 +@@ -0,0 +1,12 @@ ++prefix=%prefix% ++sdkdir=%sdkdir% ++libdir=%libdir% ++includedir=%includedir% ++idldir=%idldir% ++ ++Name: libxul ++Description: The Mozilla Runtime and Embedding Engine ++Version: %MOZILLA_VERSION% ++Requires: %NSPR_NAME% >= %NSPR_VERSION% ++Libs: -L${sdkdir}/lib %MOZ_XUL_LINK% ++Cflags: -I${includedir} %WCHAR_CFLAGS% +--- /dev/null 2016-06-08 08:45:36.745941113 +0200 ++++ firefox-47.0/browser/installer/mozilla-js.pc.in 2016-06-08 09:03:36.890018556 +0200 +@@ -0,0 +1,10 @@ ++prefix=%prefix% ++sdkdir=%sdkdir% ++includedir=%includedir% ++ ++Name: JavaScript ++Description: The Mozilla JavaScript Library ++Version: %MOZILLA_VERSION% ++Requires: %NSPR_NAME% >= %NSPR_VERSION% ++Libs: -L${sdkdir}/lib %MOZ_JS_LINK% ++Cflags: -I${includedir} -I${includedir}/js -DXP_UNIX +--- /dev/null 2016-06-08 08:45:36.745941113 +0200 ++++ firefox-47.0/browser/installer/mozilla-nspr.pc.in 2016-05-03 07:31:12.000000000 +0200 +@@ -0,0 +1,11 @@ ++prefix=%prefix% ++sdkdir=%sdkdir% ++includedir=%includedir%/nspr ++ ++Name: NSPR ++Description: The Netscape Portable Runtime ++Version: %NSPR_VERSION% ++Libs: %FULL_NSPR_LIBS% ++Cflags: %FULL_NSPR_CFLAGS% ++ ++ +--- /dev/null 2016-06-08 08:45:36.745941113 +0200 ++++ firefox-47.0/browser/installer/mozilla-nss.pc.in 2016-05-03 07:31:12.000000000 +0200 +@@ -0,0 +1,10 @@ ++prefix=%prefix% ++sdkdir=%sdkdir% ++includedir=%includedir%/nss ++ ++Name: NSS ++Description: Mozilla Network Security Services ++Version: %MOZILLA_VERSION% ++Requires: %NSPR_NAME% >= %NSPR_VERSION% ++Libs: -L${sdkdir}/lib -lsmime3 -lssl3 -lnss3 -lnssutil3 ++Cflags: -I${includedir} +--- /dev/null 2016-06-08 08:45:36.745941113 +0200 ++++ firefox-47.0/browser/installer/mozilla-plugin.pc.in 2016-05-03 07:31:12.000000000 +0200 +@@ -0,0 +1,8 @@ ++prefix=%prefix% ++sdkdir=%sdkdir% ++includedir=%includedir% ++ ++Name: Mozilla Plug-In API ++Description: Mozilla Plug-In API ++Version: %MOZILLA_VERSION% ++Cflags: -I${includedir} -DXP_UNIX -- 2.44.0