summaryrefslogtreecommitdiff
path: root/libre-testing/iceweasel/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre-testing/iceweasel/PKGBUILD')
-rw-r--r--libre-testing/iceweasel/PKGBUILD593
1 files changed, 0 insertions, 593 deletions
diff --git a/libre-testing/iceweasel/PKGBUILD b/libre-testing/iceweasel/PKGBUILD
deleted file mode 100644
index 006579d60..000000000
--- a/libre-testing/iceweasel/PKGBUILD
+++ /dev/null
@@ -1,593 +0,0 @@
-# Maintainer (arch): Jan Alexander Steffens (heftig) <heftig@archlinux.org>
-# Contributor: Ionut Biru <ibiru@archlinux.org>
-# Contributor: Jakub Schmidtke <sjakub@gmail.com>
-# Contributor: Henry Jensen <hjensen@connochaetos.org>
-# Maintainer (archarm): Kevin Mihelich <kevin@archlinuxarm.org>
-# Maintainer (arch32): Andreas Baumann <mail@andreasbaumann.cc>
-# Contributor: Erich Eckner <git@eckner.net>
-# Contributor: Andreas Grapentin <andreas@grapentin.org>
-# Contributor: Luke Shumaker <lukeshu@parabola.nu>
-# Contributor: André Silva <emulatorman@hyperbola.info>
-# Contributor: Márcio Silva <coadde@hyperbola.info>
-# Contributor: fauno <fauno@kiwwwi.com.ar>
-# Contributor: vando <facundo@esdebian.org>
-# Contributor: Figue <ffigue at gmail>
-# Contributor: evr <evanroman at gmail>
-# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com>
-# Contributor: taro-k <taro-k@movasense_com>
-# Contributor: Michał Masłowski <mtjm@mtjm.eu>
-# Contributor: Luke R. <g4jc@openmailbox.org>
-# Contributor: Isaac David <isacdaavid@isacdaavid.info>
-# Contributor: bill-auger <bill-auger@programmer.net>
-# Contributor: grizzlyuser <grizzlyuser@protonmail.com>
-
-
-# parabola changes and rationale
-# FSDG:
-# - Modify the addons pages to use GNU IceCat plugins sources, rather
-# than addons.mozilla.org, which hosts non-free addons
-# - Disable EME, which is implemented via the non-free libWideVine CDM
-# - Disable Normandy that let Mozilla push messages with recommendations
-# of nonfree software
-# - Make Remote Settings work completely offline using local data
-# - Rebrand to Iceweasel, per the mozilla trademark policy,
-# due to these FSDG changes
-#
-# technical:
-# - build i686 with GCC instead of clang
-# - disable rust-SIMD, LTO, PGO, and skip profiling build for armv7h and i686
-# - allow skipping profiling build for x86_64 (_x86_64_skip_pgo)
-# - prefer as many system libs as possible, over their vendored couterparts
-#
-# privacy:
-# - Remove Google API keys and usage
-# - Disable Mozilla telemetry and crash reporting (good manners
-# because of all of the other patching we're doing)
-
-
-pkgname=iceweasel
-epoch=1
-pkgver=97.0.2
-pkgrel=1
-pkgrel+=.parabola4
-_brandingver=95.0-1
-pkgdesc="Standalone web browser derived from Mozilla Firefox"
-arch=(x86_64)
-arch+=(armv7h i686)
-license=(MPL GPL LGPL)
-url="https://wiki.parabola.nu/Iceweasel"
-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 nodejs cbindgen nasm
- python-setuptools python-psutil python-zstandard lld dump_syms
- wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi)
-makedepends+=(quilt libxslt imagemagick git jq python-jsonschema)
-makedepends+=(libvpx=1.11.0-1)
-makedepends_i686=(gcc10)
-[[ "${CARCH}" == i686 ]] && makedepends=( ${makedepends[*]/jack/jack2} )
-makedepends_i686+=(wasi-compiler-rt=12.0.1 wasi-libc++=12.0.1 wasi-libc++abi=12.0.1) # wasi-libc=???)
-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'
- 'xdg-desktop-portal: Screensharing with Wayland')
-replaces=('firefox')
-options=(!emptydirs !makeflags !strip !lto !debug) # FIXME: make debug package
-source=(https://archive.mozilla.org/pub/firefox/releases/${pkgver}/source/firefox-${pkgver}.source.tar.xz{,.asc}
- 0001-Use-remoting-name-for-GDK-application-names.patch
- $pkgname.desktop)
-source+=(https://repo.parabola.nu/other/iceweasel/${pkgname}_${_brandingver}.branding.tar.xz{,.sig}
- 9001-FSDG-always-sync-remote-settings-with-local-dump.patch
- 9002-FSDG-preference-defaults.patch
- 9003-FSDG-misc.patch
- process-json-files.py
- vendor.js.in)
-source_armv7h=(build-arm-libopus.patch)
-source_i686=('avoid-libxul-OOM-python-check.patch'
- 'rust-static-disable-network-test-on-static-libraries.patch'
- 'firefox-93.0_x86_math_private_20211110.patch')
-sha256sums=('c9f127741beabde78b021dc95b1740259d01677d461400682cb30e072126f075'
- 'SKIP'
- '8de6c0ecc70d2763936be6df4b91a3d2e806765bf510f987d6f2ffa2377c3f01'
- '9cdc2602661717712092d28bb494e5b48e518cb930898aca85eaf21f91f7ef58')
-sha256sums+=('d1b9d98cea5356df97fc5c221830de1ced8f826cb39fac9427c407e3eae54c02'
- 'SKIP'
- 'a4e3c3869085cb282cb5a0fcb64e816c0415f25d4792a62c4f1d599d3111b23c'
- 'cb3079a0dc30321183bf8e112532c6f2aad045f68103f8d422c9691137aa770e'
- '39e3a5e1ad137e21f842a44d7e3bd24050292d2b41fe59b4e7c7dfed52a195dd'
- '9386f1c50506cd20ab6d212335d5e4417faeb2aea371dd46f2d107d171e80b83'
- 'c93ce98e1cb64033079343ff1f3037fab6a3bc6d3eb5bc14c5edb70e2d45965d')
-sha256sums_armv7h=('2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9')
-sha256sums_i686=('2f0c81a38c4578f68f5456b618fe84a78974072821488173eb55e0e72287e353'
- '10c5276eab2e87f400a6ec15d7ffbef3b0407ee888dea36f1128927ca55b9041'
- '84836b905d23a6cfdd955b9312bbb794e5329af36963c81572195039c68291fc')
-validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases <release@mozilla.com>
-validpgpkeys+=('BFA8008A8265677063B11BF47171986E4B745536') # Andreas Grapentin
-validpgpkeys+=('3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40') # bill-auger
-
-
-# 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/firefox-${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 ;
- return 1
- fi
-
- popd > /dev/null
-}
-
-prepare() {
- mkdir mozbuild
- cd firefox-$pkgver
-
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1530052
- patch -Np1 -i ../0001-Use-remoting-name-for-GDK-application-names.patch
-
- cat >../mozconfig <<END
-ac_add_options --enable-application=browser
-mk_add_options MOZ_OBJDIR=${PWD@Q}/obj
-
-ac_add_options --prefix=/usr
-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
-ac_add_options --disable-bootstrap
-ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot
-
-# Branding
-ac_add_options --disable-official-branding
-ac_add_options --with-branding=browser/branding/iceweasel
-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=
-
-# System libraries
-ac_add_options --with-system-nspr
-ac_add_options --with-system-nss
-
-# Features
-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)
- sed -i '
- /--enable-hardening/d
- /--enable-optimize/d
- /--enable-rust-simd/d
- s|--with-wasi-sysroot=/usr/share/wasi-sysroot|--without-wasm-sandboxed-libraries|
- ' ../mozconfig
-
- cat >>../mozconfig <<END
-export CC=clang
-export CXX=clang++
-ac_add_options --disable-elf-hack
-
-# https://bugzilla.redhat.com/show_bug.cgi?id=1641623
-ac_add_options --disable-av1
-ac_add_options --enable-optimize="-g0 -O2"
-mk_add_options MOZ_MAKE_FLAGS='-j1'
-END
-
- # mozbuild.configure.options.InvalidOptionError: --disable-eme is not available in this configuration
- # EME is disabled anyway in the built package, but better check if it exists for ARM each new release.
- sed -i 's|ac_add_options --disable-eme||' ../mozconfig
-
- echo "applying build-arm-libopus.patch"
- patch -p1 -i ../build-arm-libopus.patch
- ;;
- i686)
- # disable LTO and use gcc toolchain (clang has issues on IA32)
- # disable SIMD (SSE2 for i686)
- export MOZ_SOURCE_CHANGESET="DEVEDITION_${pkgver//./_}_RELEASE"
- cat >>../mozconfig <<END
-ac_add_options --disable-linker=lld
-ac_add_options --enable-linker=bfd
-ac_add_options --disable-lto
-ac_add_options --disable-rust-simd
-export CC=gcc-10
-export CXX=g++-10
-export AR=gcc-ar-10
-export NM=gcc-nm-10
-export RANLIB=gcc-ranlib-10
-END
-
- # readelf: Error: Unable to seek to 0x801db328 for section headers
- echo "applying avoid-libxul-OOM-python-check.patch"
- patch -p1 -i ../avoid-libxul-OOM-python-check.patch
-
- # test failure in rust code (complaining about network functions) when PGO is used,
- # see https://bugzilla.mozilla.org/show_bug.cgi?id=1565757
- echo "applying rust-static-disable-network-test-on-static-libraries.patch"
- patch -p1 -i ../rust-static-disable-network-test-on-static-libraries.patch
-
- # FIXME: this patch is probably temporary - it comes from mozilla
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1729459
- # /build/iceweasel/src/firefox-96.0.1/modules/fdlibm/src/math_private.h:34:21:
- # error: conflicting declaration ‘typedef __double_t double_t’
- # /usr/include/math.h:156:21: note: previous declaration as ‘typedef long double double_t’
- echo "applying firefox-93.0_x86_math_private_20211110.patch"
- patch -p1 -i ../firefox-93.0_x86_math_private_20211110.patch
- ;;
- x86_64)
- ;;
- *) echo "no [ARCH-SPECIFIC CONFIG] for arch: ${CARCH}" ; return 1 ;
- ;;
- esac
-
-
- ## branding ##
-
- echo "applying parabola branding"
- local brandingsrcdir="${srcdir}"/${pkgname}-${_brandingver/-*}
- local brandingdestdir=browser/branding/${pkgname}
- rm -rf -- ${brandingdestdir}
- cp -aT -- ${brandingsrcdir}/branding ${brandingdestdir}
- cp "${brandingdestdir}"/iceweasel_logo.svg "${brandingdestdir}"/content/aboutlogins.svg
- cp "${brandingdestdir}"/iceweasel_logo.svg "${brandingdestdir}"/content/about-logo.svg
-
- # produce icons
- for i in 16 22 24 32 48 64 128 192 256 384; do
- rsvg-convert -w ${i} -h ${i} "${brandingsrcdir}"/branding/${pkgname}_icon.svg \
- -o "${brandingdestdir}"/default${i}.png
- done
-
- # custom new tab page
- # FIXME: the newtab page (aka "Start Page") has changed significantly
- # the new upstream start page ('activity-streams') is an add-on now
- # it must be forked and customized externally, then copied into the browser tree
- # see: the branding-dev-build/ dir on the '68.0' branch of the branding git repo
- # some of the branding components above and commented out below may no longer be used
- # the following section aims to restore something similar
- # to the previous parabola-branded "start page"
- # once it is working well, all of these comments should be removed
- # and any unused branding components may be deleted from the branding package
- # Put "Start Page" branding images in the source code
- #install -m644 -t browser/base/content/abouthome -- \
- # "${brandingsrcdir}/branding"/{drm-free,gnu_headshadow,parabola-banner}.png
- #install -m644 -t browser/extensions/onboarding/content/img -- \
- # "${brandingsrcdir}/branding/watermark.svg"
-
- # process default Top Sites and their icons
- local tippytopdir=browser/components/newtab/data/content/tippytop
- find ${tippytopdir} -type f \
- -not -name 'wikipedia-org*' \
- -not -name 'top_sites.json' \
- -exec rm -v {} \;
- for image in "${brandingsrcdir}"/tippytop/*.svg; do
- local outname=$(basename -s .svg "${image}")
- local size=$(identify -format '%wx%h' ${tippytopdir}/images/wikipedia-org@2x.png)
- local background=$( [[ "${outname}" == 'gnu' ]] && echo 'white' || echo 'none' )
- magick -density 300 ${image} \
- -gravity center -resize ${size} -extent ${size} \
- "${tippytopdir}/images/${outname}@2x.png"
-
- size=256x256
- magick -density 300 -background ${background} ${image} \
- -gravity center -resize ${size} -extent ${size} \
- -define icon:auto-resize=64,48,32,16 \
- "${tippytopdir}/favicons/${outname}.ico"
- done
-
- # apply branding patches
- export QUILT_PATCHES="${brandingsrcdir}"/patches
- export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
- export QUILT_DIFF_ARGS='--no-timestamps'
- export QUILT_PC="${srcdir}"/.pc
- quilt push -av
-
-
- ## searchengines ##
-
- pushd browser/components/search/extensions
-
- # Patch search-engines configs
- 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
-
- # Delete unused search engine configs
- find -mindepth 1 -maxdepth 1 \
- -not -name ddg \
- -not -name wikipedia \
- -exec rm -frv {} \;
-
- popd
-
-
- ## libre patching ##
-
- # Upstream tarball can contain some ignored cruft,
- # including binaries (for example, python3).
- echo 'Removing files specified in .gitignore...'
- git init && git clean -dfX \
- -e '!ipc/chromium/src/third_party/libevent/evconfig-private.h' \
- -e '!toolkit/crashreporter/google-breakpad/src/third_party/lss/' \
- -e '!third_party/python/**/*.egg-info/'
- rm -rf .git
-
- # Remove test-related networking dumps, because they contain code from
- # some Amazon webpage with no clear licensing, thus nonfree.
- # Also they interfere with checking of Remote Settings patching done later,
- # because communication with RS server has been captured in them too.
- rm python/mozperftest/mozperftest/system/example.zip
- rm testing/mozbase/mozproxy/tests/files/mitm5-linux-firefox-amazon.zip
-
- # Disable/neutralize Remote Settings (as best we can)
- echo "applying 9001-FSDG-always-sync-remote-settings-with-local-dump.patch"
- patch -Np1 --no-backup-if-mismatch -i ../9001-FSDG-always-sync-remote-settings-with-local-dump.patch
-
- # Verify Remote Settings patching
- local settings_server='firefox.settings.services.mozilla.com'
- ! grep -qr $settings_server || { echo 'Remote Settings patching needs rework'; return 1; }
-
- # Disable various components at the source level
- sed -i 's/;1/;0/' toolkit/components/telemetry/components.conf
- sed -Ei 's/((MOZ_SERVICES_HEALTHREPORT|MOZ_NORMANDY).+)True/\1False/' browser/moz.configure
- #sed -i 's/;1/;0/' browser/experiments/Experiments.manifest
- #sed -i '/pocket/d' browser/extensions/moz.build
- #sed -i '/activity-stream/d' browser/extensions/moz.build
-
- python ../process-json-files.py "${srcdir}"/firefox-${pkgver} "${brandingsrcdir}"
-
- echo "applying 9002-FSDG-preference-defaults.patch"
- patch -Np1 --no-backup-if-mismatch -i "${srcdir}"/9002-FSDG-preference-defaults.patch
-
- # Remove remaining non-free bits
- echo "applying 9003-FSDG-misc.patch"
- patch -Np1 --no-backup-if-mismatch -i "${srcdir}"/9003-FSDG-misc.patch
-}
-
-build() {
- cd firefox-$pkgver
-
- ## build env ##
-
- export MOZ_NOSPAM=1
- export MOZBUILD_STATE_PATH="$srcdir/mozbuild"
- export MACH_USE_SYSTEM_PYTHON=1
-
- # LTO needs more open files
- ulimit -n 4096
-
- # clang-{9,10,11} -> error: unknown argument: '-fvar-tracking-assignments'
- CFLAGS="${CFLAGS/-fvar-tracking-assignments/}"
- CXXFLAGS="${CXXFLAGS/-fvar-tracking-assignments/}"
-
-
- ## [ARCH-SPECIFIC BUILD ENV] ##
-
- case ${CARCH} in
- armv7h)
- export MOZ_DEBUG_FLAGS=" "
- export CFLAGS+=" -g0"
- export CXXFLAGS+=" -g0"
- export LDFLAGS+=" -Wl,--no-keep-memory"
- export RUSTFLAGS="-Cdebuginfo=0"
- ;;
- 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"
-
- # libvpx has some hard-coded compiler flags for MMX, SSE, SSE2, use the correct one
- # per CARCH (75.0 uses an intrisic _mm_empty now, which required the corresponding
- # architecture flag to be preset - before it was merely embedding some assembly
- # code with EMMS
- export CFLAGS+=" -mmmx"
- export CXXFLAGS+=" -mmmx"
- ;;
- x86_64)
- ;;
- *) echo "no [ARCH-SPECIFIC BUILD ENV] for arch: ${CARCH}" ; return 1 ;
- ;;
- esac
- export CFLAGS
- export CXXFLAGS
-
-
- ## [ARCH-SPECIFIC BUILD CONFIG] ##
-
- case ${CARCH} in
- 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
-}
-
-package() {
- cd firefox-$pkgver
- DESTDIR="$pkgdir" ./mach install
-
- 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);
-END
-
- # Parabola additions to vendor.js
- cat "${srcdir}"/vendor.js.in >> "${vendorjs}"
-
- local distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini"
- install -Dvm644 /dev/stdin "$distini" <<END
-[Global]
-id=parabola
-version=1.0
-about=Iceweasel for Parabola GNU/Linux-libre
-
-[Preferences]
-app.distributor=parabola
-app.distributor.channel=$pkgname
-app.partner.parabola=parabola
-END
-
- local i
- for i in 16 22 24 32 48 64 128 192 256 384; do
- install -Dvm644 browser/branding/$pkgname/default$i.png \
- "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png"
- done
- install -Dvm644 "browser/branding/$pkgname/${pkgname}_icon.svg" \
- "$pkgdir/usr/share/icons/hicolor/scalable/apps/$pkgname.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
-
-
- ## [ARCH-SPECIFIC INSTALL] ##
-
- case ${CARCH} in
- 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
-}