summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2021-04-24 12:41:37 -0400
committerbill-auger <mr.j.spam.me@gmail.com>2021-04-25 14:29:22 -0400
commit2ad37fd444a97ebf266b79b53841117d7892bcd9 (patch)
tree85141ea62d5155bc39d30795c189b9d6bd301db7
parent503837510fac3c753805fca8a867a5488e68ec78 (diff)
[icecat]: v78.9.0 - new recipe
-rw-r--r--libre/icecat/0001-Use-remoting-name-for-GDK-application-names.patch13
-rw-r--r--libre/icecat/PKGBUILD452
-rw-r--r--libre/icecat/icecat-safe.desktop123
-rw-r--r--libre/icecat/icecat.desktop22
-rw-r--r--libre/icecat/rust_1.48.patch.gzbin0 -> 38741 bytes
5 files changed, 271 insertions, 339 deletions
diff --git a/libre/icecat/0001-Use-remoting-name-for-GDK-application-names.patch b/libre/icecat/0001-Use-remoting-name-for-GDK-application-names.patch
index 73ae042cc..b1dcee50f 100644
--- a/libre/icecat/0001-Use-remoting-name-for-GDK-application-names.patch
+++ b/libre/icecat/0001-Use-remoting-name-for-GDK-application-names.patch
@@ -1,4 +1,4 @@
-From 5025aab61517c8608b555ba929c61eb0706bd6bd Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Mon, 25 Mar 2019 20:30:11 +0100
Subject: [PATCH] Use remoting name for GDK application names
@@ -9,10 +9,10 @@ Subject: [PATCH] Use remoting name for GDK application names
2 files changed, 5 insertions(+), 12 deletions(-)
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
-index da8289200e72..452195b146f3 100644
+index 49e2c73986ab..43ebcac381c7 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
-@@ -3785,11 +3785,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
+@@ -3822,11 +3822,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
// consistently.
// Set program name to the one defined in application.ini.
@@ -26,7 +26,7 @@ index da8289200e72..452195b146f3 100644
// Initialize GTK here for splash.
diff --git a/widget/gtk/nsAppShell.cpp b/widget/gtk/nsAppShell.cpp
-index 163a93e2d1a4..4b6d45217671 100644
+index cfe022e65d82..06325264dbb1 100644
--- a/widget/gtk/nsAppShell.cpp
+++ b/widget/gtk/nsAppShell.cpp
@@ -24,6 +24,7 @@
@@ -37,7 +37,7 @@ index 163a93e2d1a4..4b6d45217671 100644
#include "ScreenHelperGTK.h"
#include "HeadlessScreenHelper.h"
#include "mozilla/widget/ScreenManager.h"
-@@ -175,13 +176,9 @@ nsresult nsAppShell::Init() {
+@@ -159,13 +160,9 @@ nsresult nsAppShell::Init() {
// See https://bugzilla.gnome.org/show_bug.cgi?id=747634
//
// Only bother doing this for the parent process, since it's the one
@@ -54,6 +54,3 @@ index 163a93e2d1a4..4b6d45217671 100644
}
}
}
---
-2.26.1
-
diff --git a/libre/icecat/PKGBUILD b/libre/icecat/PKGBUILD
index d88a8f20f..ff5b58ff9 100644
--- a/libre/icecat/PKGBUILD
+++ b/libre/icecat/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer (arch): Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Jakub Schmidtke <sjakub@gmail.com>
-# Contributor: Figue <ffigue at gmail>
+# Maintainer (aur): Figue <ffigue at gmail>
# Contributor: fauno <fauno@kiwwwi.com.ar>
# Contributor: evr <evanroman at gmail>
# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com>
@@ -20,96 +20,119 @@
# this build is based on gnuzilla VCS developement sources
# rev: 8b54aee6bd0c39f043bbba7a654870e032a910bc
+# NOTE: this PKGBUILD is a temporary WIP
+# it is based on the AUR PKGBUILD, which also runs makeicecat at build-time
+# makeicecat requires an active internet connection though, so that code was removed
+# this was introduced hastily, because 'icu' had changed,
+# and the 78.9.0 parabola PKGBUILD had "sandbox violation" problems at the time
+# eventually, the original parabola PKGBUILD should be restored/merged with this recipe
+# per rev: 04c332d29f362070a883baa3eab40df4a6f701d3
+# TODO: this PKGBUILD has several issues:
+# - it is adapted only for x86_64
+# - it has branding issues eg: missing "topsites", serach-engines, previous parabola patching
+# - it has two switchable implememtations (per '_make_srcball' - both work);
+# but preparing the upstream source-ball requires network access,
+# and the source-ball is only necessary becuase gnuzilla has not published one for v78
+
pkgname=icecat
_upstream_ver=78.9.0-pre # -gnu
pkgver=${_upstream_ver//-/_}
-pkgrel=1
-pkgdesc="GNU IceCat - a libre standalone web browser based on Mozilla Firefox ESR"
-arch=(x86_64 i686 armv7h)
-license=(MPL GPL LGPL)
-url=http://www.gnu.org/software/gnuzilla/
+pkgrel=2
+_commit=8b54aee6bd0c39f043bbba7a654870e032a910bc
+pkgdesc="The GNU web browser, based on Mozilla Firefox ESR"
+arch=(x86_64)
+url="http://www.gnu.org/software/gnuzilla/"
+license=('GPL' 'MPL' 'LGPL')
depends=(gtk3 libxt mime-types dbus-glib ffmpeg nss ttf-font libpulse)
-makedepends=(unzip zip diffutils yasm mesa imake inetutils xorg-server-xvfb
- autoconf2.13 rust clang llvm jack gtk2 nodejs cbindgen nasm
- python-setuptools python-psutil)
-makedepends+=(mozilla-searchplugins jq)
-makedepends=(${makedepends[*]/rust/rust=1:1.49.0}) # FIXME:
-# [[ "${CARCH}" == 'i686' ]] && makedepends=(${makedepends[*]/llvm/llvm10}) # FIXME: i686 configure fails with LLVM11
- # rustup: error while loading shared libraries: libLLVM-10.so
+makedepends=(m4 unzip zip diffutils python2-setuptools yasm mesa imake inetutils
+ xorg-server-xvfb autoconf2.13 rust clang llvm jack gtk2
+ python nodejs python2-psutil cbindgen nasm wget mercurial git lld perl-file-rename)
optdepends=('networkmanager: Location detection via available WiFi networks'
'libnotify: Notification integration'
'pulseaudio: Audio support'
'speech-dispatcher: Text-to-Speech'
'hunspell-en_US: Spell checking, American English')
options=(!emptydirs !makeflags !strip)
+
+_make_srcball=0
+if (( _make_srcball ))
+then
+source=(https://git.savannah.gnu.org/cgit/gnuzilla.git/snapshot/gnuzilla-${_commit}.tar.gz
+ icecat.desktop icecat-safe.desktop
+ 0001-Use-remoting-name-for-GDK-application-names.patch
+ rust_1.48.patch.gz)
+sha256sums=('5b248baaa61ece3f5b8077751638a42445c196df4e7d09e6d9b28e127b482e86'
+ 'e00dbf01803cdd36fd9e1c0c018c19bb6f97e43016ea87062e6134bdc172bc7d'
+ '33dd309eeb99ec730c97ba844bf6ce6c7840f7d27da19c82389cdefee8c20208'
+ 'e0eaec8ddd24bbebf4956563ebc6d7a56f8dada5835975ee4d320dd3d0c9c442'
+ 'c7f867ccee684939c9f0a9c30ea69127077bbe43af545a03f09dfbbdc02545a9')
+else
source=(https://repo.parabola.nu/other/${pkgname}/${pkgname}-${_upstream_ver}.tar.bz2{,.sig}
+ icecat.desktop icecat-safe.desktop
0001-Use-remoting-name-for-GDK-application-names.patch
- rust-1.48_icecat-78.6.0.patch
- ${pkgname}.desktop)
-source+=(searchplugins_list.json
- libre.patch)
-source_i686=('rust-static-disable-network-test-on-static-libraries.patch')
+ rust_1.48.patch.gz)
sha256sums=('6f777cbea1066ba10db64967d55b9204e14bbea9a7836c4bf7e7a1e642f97716'
'SKIP'
- '3bb7463471fb43b2163a705a79a13a3003d70fff4bbe44f467807ca056de9a75'
- 'd90faa59dc59f457c5770b3cc1ee4caa5b255e754ab9ab3993af894992c007e4'
- 'f9f954fd06739e70a72ccf4774cfa71f349a4b133ec8f5dea0a3bcca2cf7321d'
- '3edb4add450f94c579f2df7c16ac4d9bd9f5c6acf3fbd8a05ce24c21c317257d'
- '28029afa3201e1be8138be06f741c59d64869edf0c9e90dbb05cfa6b5fff4ecd')
-sha256sums_i686=('068efe37a99561490e6ec7b70a3cd4dd84e89e6bdf19f04a475d06c78fd28920')
-# validpgpkeys=('318C679D94F17700CC847DE646A70073E4E50D4E') # Ruben Rodriguez
-validpgpkeys=('3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40') # bill-auger (VCS builds)
-
-
-# PGO requires networking
-_should_skip_pgo_armv7h=1 # disable for armv7h - always
-_should_skip_pgo_i686=1 # disable for i686 - always
-_should_skip_pgo_x86_64=0 # disable for x86_64 - libremakepkg
-eval "_should_skip_pgo=\$_should_skip_pgo_${CARCH}"
-
-
-_check_build_config() {
- pushd "$srcdir/$pkgname-${pkgver%_*}" > /dev/null
-
- echo "Checking build configuration..."
-
- # Configure produces mozinfo.json that reflects current configuration.
- # See build/docs/mozinfo.rst
- ./mach configure
-
- # In this test, jq collects values of the following keys of mozinfo.json into array,
- # and checks if any of them are not equal to false, in which case it returns "true".
- # E.g. if the value of any key is true or null (in case the key is missing from mozinfo.json),
- # that means the build configuration has to be reworked.
- local obj_directory=$(./mach environment | sed -En '/object directory:/{n;s/^\s+//;p;}')
- local antifeature_keys=(.crashreporter .datareporting .healthreport .normandy .telemetry .updater)
- local antifeatures=()
- echo "obj_directory is: ${obj_directory}"
- for key in ${antifeature_keys[@]}
- do jq -e "${key} != false" "${obj_directory}"/mozinfo.json && antifeatures+=(${key})
- done
- if (( ${#antifeatures[@]} ))
- then echo "Some anti-features are not disabled in build configuration files, aborting:"
- for key in ${antifeatures[@]} ; do echo " - ${key} is enabled" ; done ;
-# FIXME: - .datareporting is enabled
- return 1
+ 'e00dbf01803cdd36fd9e1c0c018c19bb6f97e43016ea87062e6134bdc172bc7d'
+ '33dd309eeb99ec730c97ba844bf6ce6c7840f7d27da19c82389cdefee8c20208'
+ 'e0eaec8ddd24bbebf4956563ebc6d7a56f8dada5835975ee4d320dd3d0c9c442'
+ 'c7f867ccee684939c9f0a9c30ea69127077bbe43af545a03f09dfbbdc02545a9')
+validpgpkeys=('3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40') # bill-auger
+fi
+
+
+_make_icecat() {
+ cd "${srcdir}"/gnuzilla-${_commit}
+
+ # Uncomment if you have issues with gpg download... WITH PROXY gpg doesn't work!!!!!!
+ #sed -e 's/^verify_sources$//g' -i makeicecat
+
+ mkdir output || rm -rf output/* # Clean output just in case is already an old build there
+ if [ -f "${SRCDEST}/firefox-${pkgver}esr.source.tar.xz" ] && [ -f "${SRCDEST}/firefox-${pkgver}esr.source.tar.xz.asc" ]; then cp -f "${SRCDEST}"/firefox-${pkgver}esr.source.tar.xz{,.asc} output/ ; fi
+
+ # Patches to avoid download sources if you have in your $startdir
+ sed -e '/rm -rf output/d' -i makeicecat
+ sed -e 's/wget -N/wget -nv -Nc/g' -i makeicecat
+
+ # Other patches
+ sed '/^finalize_sourceball$/d' -i makeicecat
+
+ # If we want to avoid all locales, we can use variable _SPEED=y to build it with only 1 locale. Use variable _LOCALE to define it
+ if [[ $_SPEED =~ [y|Y] ]]; then
+ msg2 "Building without all locales..."
+ sed -e 's/DEVEL=0/DEVEL=1/g' -i makeicecat
+ # Also you can choose your locale using external variable _LOCALE. By default in upstream script this locale is es-ES
+ [ -z "$_LOCALE" ] || sed -e "s/es-ES/$_LOCALE/g" -i makeicecat && echo "$_LOCALE" > custom-shipped-locales
+ rm -rf data/files-to-append/l10n/*
fi
- popd > /dev/null
+ # Produce IceCat sources
+ bash makeicecat
}
prepare() {
- mkdir -p mozbuild
- cd "$srcdir/$pkgname-${pkgver%_*}"
+if (( _make_srcball ))
+then
+ make_icecat
+ cd gnuzilla-${_commit}/output/icecat-${pkgver}
+else
+ cd "${srcdir}"/$pkgname-${pkgver%_*}/
+fi
# https://bugzilla.mozilla.org/show_bug.cgi?id=1530052
- patch -Np1 -i ../0001-Use-remoting-name-for-GDK-application-names.patch
+ patch -Np1 -i "${srcdir}"/0001-Use-remoting-name-for-GDK-application-names.patch
# https://bugzilla.mozilla.org/show_bug.cgi?id=1667736
-# patch -Np1 -i ../rust-1.48_icecat-78.6.0.patch
+ patch -Np1 -i "${srcdir}"/rust_1.48.patch
+
+ # Patch to move files directly to /usr/lib/icecat. No more symlinks.
+ sed -e 's;$(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION);$(libdir)/$(MOZ_APP_NAME);g' -i config/baseconfig.mk
+ sed -e 's;$(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION);$(libdir)/$(MOZ_APP_NAME)-devel;g' -i config/baseconfig.mk
- cat >../mozconfig <<END
+ printf '%b' " \e[1;36m->\e[0m\033[1m Starting build...\n"
+
+ cat >./mozconfig <<END
ac_add_options --enable-application=browser
ac_add_options --prefix=/usr
@@ -117,6 +140,8 @@ ac_add_options --enable-release
ac_add_options --enable-hardening
ac_add_options --enable-optimize
ac_add_options --enable-rust-simd
+ac_add_options --enable-linker=lld
+ac_add_options --disable-elf-hack
export CC='clang --target=x86_64-unknown-linux-gnu'
export CXX='clang++ --target=x86_64-unknown-linux-gnu'
export AR=llvm-ar
@@ -125,16 +150,8 @@ export RANLIB=llvm-ranlib
# Branding
ac_add_options --enable-official-branding
-ac_add_options --enable-update-channel=release
ac_add_options --with-distribution-id=nu.parabola
ac_add_options --with-unsigned-addon-scopes=app,system
-ac_add_options --allow-addon-sideload
-export MOZ_APP_NAME=${pkgname}
-export MOZ_APP_REMOTINGNAME=${pkgname}
-export MOZ_TELEMETRY_REPORTING=
-export MOZ_REQUIRE_SIGNING=
-ac_add_options --with-app-basename=${pkgname}
-ac_add_options --with-app-name=${pkgname}
# System libraries
ac_add_options --with-system-nspr
@@ -145,94 +162,21 @@ ac_add_options --enable-alsa
ac_add_options --enable-jack
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
+ac_add_options --disable-tests
ac_add_options --disable-eme
-END
-
- ## [ARCH-SPECIFIC CONFIG] ##
-
- case "${CARCH}" in
- armv7h)
-# TODO: re-work for armv7h
-# sed -i '/--enable-linker=gold/d' ../mozconfig
-# sed -i '/--enable-rust-simd/d' ../mozconfig
-#
-# # https://bugzilla.mozilla.org/show_bug.cgi?id=1463035
-# patch -Np1 -i "$srcdir"/mozilla-1463035.patch
-#
-# cat >> ../mozconfig <<END
-#ac_add_options --enable-optimize="-g -O2 -fno-schedule-insns"
-#ac_add_options --disable-elf-hack
-#ac_add_options --disable-webrtc
-#ac_add_options --disable-av1
-#END
- ;;
- i686)
-# sed -i '/--enable-linker=gold/d' ../mozconfig
- sed -i '/--enable-rust-simd/d' ../mozconfig
-
- # test failure in rust code (complaining about network functions) when PGO is used,
- # TEST-UNEXPECTED-FAIL | check_networking | libgkrust.a | Identified 7 networking function(s) being imported in the rust static library (accept,connect,getsockname,getsockopt,listen,recv,send)
- # see https://bugzilla.mozilla.org/show_bug.cgi?id=1565757
- echo "applying rust-static-disable-network-test-on-static-libraries.patch"
- patch -Np0 -i ../rust-static-disable-network-test-on-static-libraries.patch
- ;;
- x86_64)
- ;;
- *) echo "no [ARCH-SPECIFIC CONFIG] for arch: ${CARCH}" ; return 1 ;
- ;;
- esac
-
-
- ## searchengines ##
-
- pushd browser/components/search/extensions > /dev/null
-
- # Patch search-engines configs
- cp "${srcdir}"/searchplugins_list.json list.json
- sed -i 's|https://duckduckgo.com/|https://html.duckduckgo.com/html/|' ddg/manifest.json
-
- # Removing URL parameters that let DuckDuckGo know the place in UI
- # the search was ran from (like address bar, context menu, etc.)
- local jq_cmd='del(.chrome_settings_overrides.search_provider.params)'
- jq "${jq_cmd}" ddg/manifest.json > manifest.json.tmp
- ! diff manifest.json.tmp ddg/manifest.json > /dev/null
- mv manifest.json.tmp ddg/manifest.json
-
- # replace default searchplugins
- cp -rv /usr/share/mozilla/searchplugins/* .
- find -mindepth 1 -maxdepth 1 \
- -not -name ddg \
- -not -name duckduckgo-html \
- -not -name duckduckgo-lite \
- -not -name internet-archive \
- -not -name parabola-labs \
- -not -name parabola-packages \
- -not -name parabola-wiki \
- -not -name searx \
- -not -name wikipedia \
- -not -name yacy \
- -not -name list.json \
- -exec rm -rf {} \;
-
- # Sanity-check search-engines patching
- local engines_err_msg="search-engines patching needs re-working"
- jq < list.json || ! echo "${engines_err_msg}"
-
- popd > /dev/null
-
-
- ## libre patching ##
-
- # Remove remaining non-free bits
- echo "applying libre.patch"
- patch -Np1 -i "${srcdir}"/libre.patch
+ac_add_options --with-app-basename=icecat
+ac_add_options --with-app-name=icecat
+END
}
build() {
- cd "$srcdir/$pkgname-${pkgver%_*}"
-
- ## build env ##
+if (( _make_srcball ))
+then
+ cd gnuzilla-${_commit}/output/icecat-${pkgver}
+else
+ cd "${srcdir}"/$pkgname-${pkgver%_*}/
+fi
export MOZ_NOSPAM=1
export MOZBUILD_STATE_PATH="$srcdir/mozbuild"
@@ -245,130 +189,39 @@ build() {
CFLAGS="${CFLAGS/-fvar-tracking-assignments/}"
CXXFLAGS="${CXXFLAGS/-fvar-tracking-assignments/}"
+ # -fno-plt with cross-LTO causes obscure LLVM errors
+ # LLVM ERROR: Function Import: link error
+ CFLAGS="${CFLAGS/-fno-plt/}"
+ CXXFLAGS="${CXXFLAGS/-fno-plt/}"
- ## [ARCH-SPECIFIC BUILD ENV] ##
-
- case "${CARCH}" in
- armv7h)
-# TODO: re-work for armv7h
-# export RUSTFLAGS+=" -Cdebuginfo=0 -Clto=off"
-# export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
- ;;
- i686)
- # -fno-plt with cross-LTO -> LLVM ERROR: Function Import: link error
- CFLAGS="${CFLAGS/-fno-plt/}"
- CXXFLAGS="${CXXFLAGS/-fno-plt/}"
-
- # disable LTO (clang has issues on IA32)
- export RUSTFLAGS+=" -Cdebuginfo=0 -Clto=off"
- export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
- ;;
- x86_64)
- # TODO: this may only be needed for v78
- # -fno-plt with cross-LTO causes obscure LLVM errors
- # LLVM ERROR: Function Import: link error
-# CFLAGS="${CFLAGS/-fno-plt/}"
-# CXXFLAGS="${CXXFLAGS/-fno-plt/}"
- ;;
- *) echo "no [ARCH-SPECIFIC BUILD ENV] for arch: ${CARCH}" ; return 1 ;
- ;;
- esac
- export CFLAGS
- export CXXFLAGS
-
-
- ## [ARCH-SPECIFIC BUILD CONFIG] ##
-
- case ${CARCH} in
- armv7h)
-# TODO: re-work for armv7h
- ;;
- i686)
- # avoid excessive debug symbols in rust leading to out-of-memory situations
- sed -i "s/debug_info = '\''2'\''/debug_info = '\''0'\''/" build/moz.configure/toolchain.configure
- ;;
- x86_64)
- ;;
- *) echo "no [ARCH-SPECIFIC BUILD CONFIG] for arch: ${CARCH}" ; return 1 ;
- ;;
- esac
-
-
- ## PGO build ##
-
- if (( $_should_skip_pgo ))
- then
- # skipping "3-tier PGO" "instrumented browser", to avoid OOM problems;
- # so we have the final .mozconfig now
- cp ../mozconfig .mozconfig
- else
- # Do 3-tier PGO
- echo "Building instrumented browser..."
- cat >.mozconfig ../mozconfig - <<END
-ac_add_options --enable-profile-generate=cross
-END
- _check_build_config
- ./mach build
-
- echo "Profiling instrumented browser..."
- ./mach package
- LLVM_PROFDATA=llvm-profdata \
- JARLOG_FILE="$PWD/jarlog" \
- xvfb-run -s "-screen 0 1920x1080x24 -nolisten local" \
- ./mach python build/pgo/profileserver.py
-
- if [[ ! -s merged.profdata ]]; then
- echo "No profile data produced."
- return 1
- fi
-
- if [[ ! -s jarlog ]]; then
- echo "No jar log produced."
- return 1
- fi
-
- echo "Removing instrumented browser..."
- ./mach clobber
-
- cat >.mozconfig ../mozconfig - <<END
-ac_add_options --enable-lto=cross
-ac_add_options --enable-profile-use=cross
-ac_add_options --with-pgo-profile-path=${PWD@Q}/merged.profdata
-ac_add_options --with-pgo-jarlog=${PWD@Q}/jarlog
-END
- fi # $_should_skip_pgo
-
-
- ## sanity checks ##
-
- # each of the [ARCH-SPECIFIC BUILD CONFIG] branches above should have created .mozconfig
- [[ ! -f .mozconfig ]] && echo ".mozconfig file not found in source root" && return 1
- _check_build_config
-
-
- ## main build ##
-
- echo "Building optimized browser..."
./mach build
+ #./mach buildsymbols
}
-package() {
- cd "$srcdir/$pkgname-${pkgver%_*}"
+package () {
+if (( _make_srcball ))
+then
+ cd gnuzilla-${_commit}/output/icecat-${pkgver}
+else
+ cd "${srcdir}"/$pkgname-${pkgver%_*}/
+fi
+
+ # Remove cose.manifest and cose.sig cause march install fails
+ find obj-x86_64-pc-linux-gnu/dist/bin/browser/extensions -name cose.manifest -delete
+ find obj-x86_64-pc-linux-gnu/dist/bin/browser/extensions -name cose.sig -delete
+
DESTDIR="$pkgdir" ./mach install
- local vendorjs="$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js"
- install -Dvm644 /dev/stdin "$vendorjs" <<END
+ local _vendorjs="$pkgdir/usr/lib/${pkgname}/browser/defaults/preferences/vendor.js"
+ install -Dvm644 /dev/stdin "$_vendorjs" <<END
// Use LANG environment variable to choose locale
pref("intl.locale.requested", "");
-// Use system-provided dictionaries
-pref("spellchecker.dictionary_path", "/usr/share/hunspell");
-
// Disable default browser checking.
pref("browser.shell.checkDefaultBrowser", false);
-// Don't disable extensions in the application directory
-pref("extensions.autoDisableScopes", 11);
+// Opt all of us into e10s, instead of just 50%
+pref("browser.tabs.remote.autostart", true);
END
local distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini"
@@ -384,56 +237,15 @@ app.distributor.channel=$pkgname
app.partner.parabola=parabola
END
- local i theme=official
- for i in 16 22 24 32 48 64 128 256; do
- install -Dvm644 browser/branding/$theme/default$i.png \
- "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png"
- done
- install -Dvm644 browser/branding/$theme/content/icon64.png \
- "$pkgdir/usr/share/icons/hicolor/64x64/apps/$pkgname.png"
- install -Dvm644 browser/branding/$theme/mozicon128.png \
- "$pkgdir/usr/share/icons/hicolor/128x128/apps/$pkgname.png"
- install -Dvm644 browser/branding/$theme/content/about-logo.png \
- "$pkgdir/usr/share/icons/hicolor/192x192/apps/$pkgname.png"
- install -Dvm644 browser/branding/$theme/content/about-logo@2x.png \
- "$pkgdir/usr/share/icons/hicolor/384x384/apps/$pkgname.png"
- install -Dvm644 browser/branding/$theme/content/identity-icons-brand.svg \
- "$pkgdir/usr/share/icons/hicolor/symbolic/apps/$pkgname-symbolic.svg"
-
- install -Dvm644 ../$pkgname.desktop \
- "$pkgdir/usr/share/applications/$pkgname.desktop"
-
- # Install a wrapper to avoid confusion about binary path
- install -Dvm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END
-#!/bin/sh
-exec /usr/lib/$pkgname/$pkgname "\$@"
-END
-
+ printf '%b' " \e[1;36m->\e[0m\033[1m Finishing...\n"
+ install -m755 -d ${pkgdir}/usr/share/applications
+ install -m755 -d ${pkgdir}/usr/share/pixmaps
- ## [ARCH-SPECIFIC INSTALL] ##
-
- case ${CARCH} in
- armv7h)
-# TODO: re-work for armv7h
- ;;
- i686)
- # libxul.so cannot find it's libraries
-# install -dm 755 "${pkgdir}"/etc/ld.so.conf.d
-# echo "/usr/lib/${pkgname}" > "${pkgdir}"/etc/ld.so.conf.d/${pkgname}.conf
- ;;
- x86_64)
- ;;
- *) echo "no [ARCH-SPECIFIC INSTALL] for arch: ${CARCH}" ; return 1 ;
- ;;
- esac
-
- # Replace duplicate binary with wrapper
- # https://bugzilla.mozilla.org/show_bug.cgi?id=658850
- ln -srfv "$pkgdir/usr/bin/$pkgname" "$pkgdir/usr/lib/$pkgname/$pkgname-bin"
-
- # Use system certificates
- local nssckbi="$pkgdir/usr/lib/$pkgname/libnssckbi.so"
- if [[ -e $nssckbi ]]; then
- ln -srfv "$pkgdir/usr/lib/libnssckbi.so" "$nssckbi"
- fi
+ for i in 16 32 48; do
+ install -Dm644 browser/branding/official/default${i}.png \
+ "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/icecat.png"
+ done
+ install -Dm644 browser/branding/official/default48.png ${pkgdir}/usr/share/pixmaps/icecat.png
+ install -Dm644 ${srcdir}/icecat.desktop ${pkgdir}/usr/share/applications/
+ install -Dm644 ${srcdir}/icecat-safe.desktop ${pkgdir}/usr/share/applications/
}
diff --git a/libre/icecat/icecat-safe.desktop b/libre/icecat/icecat-safe.desktop
new file mode 100644
index 000000000..93f8464b1
--- /dev/null
+++ b/libre/icecat/icecat-safe.desktop
@@ -0,0 +1,123 @@
+[Desktop Entry]
+Version=1.0
+Name=IceCat - Safe mode
+GenericName=Web Browser
+GenericName[ar]=متصفح ويب
+GenericName[ast]=Restolador Web
+GenericName[bn]=ওয়েব ব্রাউজার
+GenericName[ca]=Navegador web
+GenericName[cs]=Webový prohlížeč
+GenericName[da]=Webbrowser
+GenericName[de]=Webbrowser
+GenericName[el]=Περιηγητής διαδικτύου
+GenericName[es]=Navegador web
+GenericName[et]=Veebibrauser
+GenericName[fa]=مرورگر اینترنتی
+GenericName[fi]=WWW-selain
+GenericName[fr]=Navigateur Web
+GenericName[gl]=Navegador Web
+GenericName[he]=דפדפן אינטרנט
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[it]=Browser web
+GenericName[ja]=ウェブ・ブラウザ
+GenericName[ko]=웹 브라우저
+GenericName[ku]=Geroka torê
+GenericName[lt]=Interneto naršyklė
+GenericName[nb]=Nettleser
+GenericName[nl]=Webbrowser
+GenericName[nn]=Nettlesar
+GenericName[no]=Nettleser
+GenericName[pl]=Przeglądarka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator Internet
+GenericName[ru]=Веб-браузер
+GenericName[sk]=Internetový prehliadač
+GenericName[sl]=Spletni brskalnik
+GenericName[sv]=Webbläsare
+GenericName[tr]=Web Tarayıcı
+GenericName[ug]=توركۆرگۈ
+GenericName[uk]=Веб-браузер
+GenericName[vi]=Trình duyệt Web
+GenericName[zh_CN]=网络浏览器
+GenericName[zh_TW]=網路瀏覽器
+Comment=Browse the World Wide Web
+Comment[ar]=تصفح الشبكة العنكبوتية العالمية
+Comment[ast]=Restola pela Rede
+Comment[bn]=ইন্টারনেট ব্রাউজ করুন
+Comment[ca]=Navegueu per el web
+Comment[cs]=Prohlížení stránek World Wide Webu
+Comment[da]=Surf på internettet
+Comment[de]=Im Internet surfen
+Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web)
+Comment[es]=Navegue por la web
+Comment[et]=Lehitse veebi
+Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
+Comment[fi]=Selaa Internetin WWW-sivuja
+Comment[fr]=Naviguer sur le Web
+Comment[gl]=Navegar pola rede
+Comment[he]=גלישה ברחבי האינטרנט
+Comment[hr]=Pretražite web
+Comment[hu]=A világháló böngészése
+Comment[it]=Esplora il web
+Comment[ja]=ウェブを閲覧します
+Comment[ko]=웹을 돌아 다닙니다
+Comment[ku]=Li torê bigere
+Comment[lt]=Naršykite internete
+Comment[nb]=Surf på nettet
+Comment[nl]=Verken het internet
+Comment[nn]=Surf på nettet
+Comment[no]=Surf på nettet
+Comment[pl]=Przeglądanie stron WWW
+Comment[pt]=Navegue na Internet
+Comment[pt_BR]=Navegue na Internet
+Comment[ro]=Navigați pe Internet
+Comment[ru]=Доступ в Интернет
+Comment[sk]=Prehliadanie internetu
+Comment[sl]=Brskajte po spletu
+Comment[sv]=Surfa på webben
+Comment[tr]=İnternet'te Gezinin
+Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ
+Comment[uk]=Перегляд сторінок Інтернету
+Comment[vi]=Để duyệt các trang web
+Comment[zh_CN]=浏览互联网
+Comment[zh_TW]=瀏覽網際網路
+Keywords=Internet;WWW;Browser;Web;Explorer
+Keywords[ar]=انترنت;إنترنت;متصفح;ويب;وب
+Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador
+Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer
+Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer
+Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet
+Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
+Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;IceCat;Φιρεφοχ;Ιντερνετ
+Keywords[es]=Explorador;Internet;WWW
+Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa
+Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
+Keywords[he]=דפדפן;אינטרנט;רשת;אתרים;אתר;פיירפוקס;מוזילה;
+Keywords[hr]=Internet;WWW;preglednik;Web
+Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer
+Keywords[it]=Internet;WWW;Browser;Web;Navigatore
+Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk
+Keywords[ja]=Internet;WWW;Web;インターネット;ブラウザ;ウェブ;エクスプローラ
+Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside
+Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online
+Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador
+Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador
+Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокс;огнелис
+Keywords[sk]=Internet;WWW;Prehliadač;Web;Explorer
+Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet
+Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara
+Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;файрфокс;вогнелис;перегляд
+Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web
+Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;IceCat;ff;互联网;网站;
+Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐
+Exec=/usr/bin/icecat -safe-mode %u
+Icon=icecat
+Terminal=false
+X-MultipleArgs=false
+Type=Application
+MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall;
+StartupNotify=true
+StartupWMClass=icecat
+Categories=Network;WebBrowser;
diff --git a/libre/icecat/icecat.desktop b/libre/icecat/icecat.desktop
index cb56ba932..cc576ebf6 100644
--- a/libre/icecat/icecat.desktop
+++ b/libre/icecat/icecat.desktop
@@ -1,8 +1,8 @@
[Desktop Entry]
Version=1.0
-Name=GNU IceCat
+Name=IceCat
GenericName=Web Browser
-GenericName[ar]=متصفح وِب
+GenericName[ar]=متصفح ويب
GenericName[ast]=Restolador Web
GenericName[bn]=ওয়েব ব্রাউজার
GenericName[ca]=Navegador web
@@ -19,7 +19,7 @@ GenericName[gl]=Navegador Web
GenericName[he]=דפדפן אינטרנט
GenericName[hr]=Web preglednik
GenericName[hu]=Webböngésző
-GenericName[it]=Browser Web
+GenericName[it]=Browser web
GenericName[ja]=ウェブ・ブラウザ
GenericName[ko]=웹 브라우저
GenericName[ku]=Geroka torê
@@ -42,8 +42,8 @@ GenericName[uk]=Веб-браузер
GenericName[vi]=Trình duyệt Web
GenericName[zh_CN]=网络浏览器
GenericName[zh_TW]=網路瀏覽器
-Comment=Browse the Web
-Comment[ar]=تصفح الوِب
+Comment=Browse the World Wide Web
+Comment[ar]=تصفح الشبكة العنكبوتية العالمية
Comment[ast]=Restola pela Rede
Comment[bn]=ইন্টারনেট ব্রাউজ করুন
Comment[ca]=Navegueu per el web
@@ -90,7 +90,7 @@ Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer
Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer
Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet
Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
-Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;Firefox;Φιρεφοχ;Ιντερνετ
+Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;IceCat;Φιρεφοχ;Ιντερνετ
Keywords[es]=Explorador;Internet;WWW
Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa
Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
@@ -110,16 +110,16 @@ Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet
Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara
Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;файрфокс;вогнелис;перегляд
Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web
-Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;Firefox;ff;互联网;网站;
+Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;IceCat;ff;互联网;网站;
Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐
-Exec=icecat %u
+Exec=/usr/bin/icecat %u
Icon=icecat
Terminal=false
X-MultipleArgs=false
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall;
StartupNotify=true
-StartupWMClass=Icecat
+StartupWMClass=icecat
Categories=Network;WebBrowser;
Actions=new-window;new-private-window;
@@ -229,7 +229,7 @@ Name[wo]=Palanteer bu bees
Name[xh]=Ifestile entsha
Name[zh_CN]=新建窗口
Name[zh_TW]=開新視窗
-Exec=icecat --new-window %u
+Exec=/usr/bin/icecat --new-window %u
[Desktop Action new-private-window]
Name=New Private Window
@@ -337,4 +337,4 @@ Name[wo]=Panlanteeru biir bu bees
Name[xh]=Ifestile yangasese entsha
Name[zh_CN]=新建隐私浏览窗口
Name[zh_TW]=新增隱私視窗
-Exec=icecat --private-window %u
+Exec=/usr/bin/icecat --private-window %u
diff --git a/libre/icecat/rust_1.48.patch.gz b/libre/icecat/rust_1.48.patch.gz
new file mode 100644
index 000000000..eb1577e33
--- /dev/null
+++ b/libre/icecat/rust_1.48.patch.gz
Binary files differ