summaryrefslogtreecommitdiff
path: root/nonprism/netsurf/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'nonprism/netsurf/PKGBUILD')
-rw-r--r--nonprism/netsurf/PKGBUILD117
1 files changed, 117 insertions, 0 deletions
diff --git a/nonprism/netsurf/PKGBUILD b/nonprism/netsurf/PKGBUILD
new file mode 100644
index 000000000..83cae2020
--- /dev/null
+++ b/nonprism/netsurf/PKGBUILD
@@ -0,0 +1,117 @@
+# Maintainer (arch): Alexander F. Rødseth <xyproto@archlinux.org>
+# Contributor: Paulo Matias <matiasΘarchlinux-br·org>
+# Contributor: Georgij Kondratjev <smpuj@bk.ru>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: André Silva <emulatorman@hyperbola.info>
+# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
+# Contributor: bill-auger <bill-auger@programmer.net>
+
+
+# parabola changes and rationale:
+# - remove/replace non-privacy remote services
+
+
+pkgname=netsurf
+pkgver=3.11
+pkgrel=1
+pkgrel+=.parabola1
+pkgdesc='Lightweight and fast web browser'
+pkgdesc+=', without non-privacy remote services'
+arch=(x86_64)
+arch+=(armv7h i686)
+url='https://www.netsurf-browser.org/'
+license=(GPL2 MIT)
+depends=(curl gtk3 'libcss>=0.9.2' 'libdom>=0.4.2' 'libhubbub=0.3.8'
+ libjpeg-turbo 'libnsbmp>=0.1.7' 'libnsgif>=1.0.0' 'libnsutils=0.1.1'
+ 'libutf8proc>=2.9.0' 'libwapcaplet>=0.4.3' libwebp)
+# vim is needed only for xxd when building
+makedepends=(check inetutils 'nsgenbind>=0.9' perl-html-parser setconf vim)
+source=("https://git.netsurf-browser.org/netsurf.git/snapshot/netsurf-release/$pkgver.tar.bz2"
+ netsurf.sh)
+source+=(remove_nonprivacy_options.patch)
+b2sums=('9714735389aa752b5e11a13c3e6e4fc456589517e98fe55025725e05e38a52afea377d53703553ec9d94e492c58f7e1b5ed04c7a0c4fb5158c3053eeedfddcdc'
+ 'f0220a0c2c03d567434deeed20f821dc110947e16889aa78e12e3f468a431d2f721b9cff23bd6ed3545323f3ed975ea0941f0ee61c4b09938b8bfb99764f8bc8')
+b2sums+=('5e0dfb2e3f7fae9a9f346d825480c0cda397444e7ec7e1ae0f41ae0cf31aabff8825ec893cd0e2b940dc21e1599b52454f46e9d53a2b0990f53a7b6ceb382af0')
+
+
+prepare() {
+ cd $pkgname-release/$pkgver
+ # Fix compilation issues
+ sed -i 's:libutf8proc/::;s:UTF8PROC_CCC_VIRAMA:UTF8PROC_BIDI_CLASS_EN:' utils/idna.c
+ # Use "netsurf" as the name of the executable in /usr/bin
+ setconf frontends/gtk/res/netsurf-gtk.desktop 'Exec=netsurf %u'
+
+
+ ## parabola patching ##
+
+ # remove/replace non-privacy remote services
+ cd "${srcdir}"/$pkgname-release/$pkgver
+ echo "applying remove_nonprivacy_options.patch"
+ patch -p1 -i "${srcdir}"/remove_nonprivacy_options.patch
+
+ # replace search form URL and "quick links" on the welcome page
+ local welcome_pages=( $(find -name welcome.html) )
+ local search_repl='
+<form method="get" id="search" action="https://html.duckduckgo.com/html/">
+ <div class="websearch">
+ <input type="text" name="q" maxlength="255" placeholder="Search" />
+ <input type="hidden" name="k9" value="b" />
+ <input type="submit" value="Search" name="btnG" />
+ </div>
+</form>'
+ local links_repl='
+<h4 style="text-align: center">Quick links:</h4>
+<div class="links">
+ <ul>
+ <li><a href="https://www.parabola.nu/">Parabola</a></li>
+ <li><a href="https://www.fsf.org/">FSF</a></li>
+ <li><a href="https://www.gnu.org/">GNU</a></li>
+ </ul>
+
+ <ul>
+ <li><a href="https://html.duckduckgo.com/html/">DuckDuckGo</a></li>
+ <li><a href="https://www.wikipedia.org/">Wikipedia</a></li>
+ </ul>
+
+ <ul>
+ <li><a href="https://creativecommons.org/">Creative Commons</a></li>
+ <li><a href="https://www.dictionary.com/">Dictionary.com</a></li>
+ </ul>
+</div>'
+ local search_awk_prog='BEGIN { RS=SUBSEP } { gsub(/<form method="get".*<\/form>/ , repl) ; } 1'
+ local links_awk_prog=' BEGIN { RS=SUBSEP } { gsub(/<div class="links">.*<\/div>/ , repl) ; } 1'
+ local welcome_page
+ for welcome_page in ${welcome_pages[*]}
+ do sed -i '/Download latest NetSurf/d' ${welcome_page}
+ awk -i inplace -v repl="${search_repl}" "${search_awk_prog}" ${welcome_page}
+ awk -i inplace -v repl="${links_repl}" "${links_awk_prog}" ${welcome_page}
+ case "${welcome_page}" in
+ */en/welcome.html ) sed -i 's|www.wikipedia.org|en.wikipedia.org|' ${welcome_page} ;;
+ */de/welcome.html ) sed -i 's|www.wikipedia.org|de.wikipedia.org|' ${welcome_page} ;;
+ */it/welcome.html ) sed -i 's|www.wikipedia.org|it.wikipedia.org|' ${welcome_page} ;;
+ */ja/welcome.html ) sed -i 's|www.wikipedia.org|ja.wikipedia.org|' ${welcome_page} ;;
+ */nl/welcome.html ) sed -i 's|www.wikipedia.org|nl.wikipedia.org|' ${welcome_page} ;;
+ */zh_CN/welcome.html) sed -i 's|www.wikipedia.org|zh.wikipedia.org|' ${welcome_page} ;;
+ esac
+ done
+
+ # patching checks
+ local err_msg="ERROR: search engines patching needs re-working"
+ ! grep -i google ${welcome_pages[*]} || ! echo "$err_msg" || return 1
+}
+
+build() {
+ export CFLAGS+=' -Os -funroll-loops -w'
+ make -C $pkgname-release/$pkgver INCLUDEDIR=include LIBDIR=lib \
+ NETSURF_UA_FORMAT_STRING='"Mozilla/5.0 (Arch Linux; %s) NetSurf/%d.%d"' \
+ PREFIX=/usr TARGET=gtk3
+}
+
+package() {
+ make -C $pkgname-release/$pkgver DESTDIR="$pkgdir" INCLUDEDIR=include LIBDIR=lib PREFIX=/usr TARGET=gtk3 install
+ install -Dm755 $pkgname.sh "$pkgdir/usr/bin/$pkgname"
+ cd $pkgname-release/$pkgver
+ install -Dm644 frontends/gtk/res/$pkgname.xpm "$pkgdir/usr/share/pixmaps/$pkgname.xpm"
+ install -Dm644 frontends/gtk/res/$pkgname-gtk.desktop "$pkgdir/usr/share/applications/$pkgname.desktop"
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}