# Maintainer (arch): Jan Alexander Steffens (heftig) # Contributor: Ionut Biru # Contributor: Jakub Schmidtke # Maintainer (aur): Figue # Contributor: fauno # Contributor: evr # Contributor: Muhammad 'MJ' Jassim # Contributor: vando # Contributor: André Silva # Contributor: Henry Jensen # Contributor: Luke Shumaker # Contributor: Márcio Silva # Maintainer: Andreas Grapentin # Contributor: bill-auger # Contributor: grizzlyuser # NOTE: icecat (60.7 < V <= 78.9) are not upstream releases # upstream releases would normally have '-gnu' appended to $_upstream_ver # 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 _mozilla_ver=${_upstream_ver%-*} pkgver=${_upstream_ver//-/_} pkgrel=1 _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=(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 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) 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.patch.gz) sha256sums=('6f777cbea1066ba10db64967d55b9204e14bbea9a7836c4bf7e7a1e642f97716' 'SKIP' 'e00dbf01803cdd36fd9e1c0c018c19bb6f97e43016ea87062e6134bdc172bc7d' '33dd309eeb99ec730c97ba844bf6ce6c7840f7d27da19c82389cdefee8c20208' 'e0eaec8ddd24bbebf4956563ebc6d7a56f8dada5835975ee4d320dd3d0c9c442' 'c7f867ccee684939c9f0a9c30ea69127077bbe43af545a03f09dfbbdc02545a9') validpgpkeys=('3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40') # bill-auger prepare() { cd "${srcdir}"/$pkgname-${_mozilla_ver}/ # https://bugzilla.mozilla.org/show_bug.cgi?id=1530052 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 "${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 printf '%b' " \e[1;36m->\e[0m\033[1m Starting build...\n" cat >./mozconfig < error: unknown argument: '-fvar-tracking-assignments' 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/}" ./mach build #./mach buildsymbols } package () { cd "${srcdir}"/$pkgname-${_mozilla_ver}/ # 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" <\e[0m\033[1m Finishing...\n" install -m755 -d ${pkgdir}/usr/share/applications install -m755 -d ${pkgdir}/usr/share/pixmaps 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/ }