diff options
-rw-r--r-- | libre/netsurf/PKGBUILD | 81 | ||||
-rw-r--r-- | libre/netsurf/netsurf.sh | 10 | ||||
-rw-r--r-- | libre/netsurf/openssl.patch | 72 |
3 files changed, 49 insertions, 114 deletions
diff --git a/libre/netsurf/PKGBUILD b/libre/netsurf/PKGBUILD index 79fce9607..55ccff56a 100644 --- a/libre/netsurf/PKGBUILD +++ b/libre/netsurf/PKGBUILD @@ -3,46 +3,48 @@ # Contributor (Arch): Paulo Matias <matiasΘarchlinux-br·org> # Contributor (Arch): Georgij Kondratjev <smpuj@bk.ru> # Contributor (Arch): Daniel J Griffiths <ghost1227@archlinux.us> -# Maintainer: André Silva <emulatorman@hyperbola.info> +# Maintainer (Hyperbola): André Silva <emulatorman@hyperbola.info> +# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe> pkgname=netsurf -pkgver=3.6 -pkgrel=3.parabola1 +pkgver=3.7 +pkgrel=2.parabola1 pkgdesc='Lightweight and fast web browser, without non-privacy search engines' arch=('x86_64' 'i686' 'armv7h') url='http://www.netsurf-browser.org/' license=('MIT' 'GPL2') replaces=(${pkgname}-libre) conflicts=(${pkgname}-libre) -depends=('libmng' 'librsvg' 'curl' 'lcms' 'desktop-file-utils' - 'libnsbmp>=0.1.4' 'libnsgif>=0.1.4' 'libcss>=0.6.1' - 'libdom>=0.3.1' 'libnsutils>=0.0.3' 'libutf8proc>=1.3.1' - 'gtk3' 'duktape') -makedepends=('re2c' 'netsurf-buildsystem' 'perl-html-parser' 'nsgenbind>=0.3' - 'inetutils' 'libutf8proc>1.3.1' 'git' 'setconf' 'check' 'gtk3' - 'duktape') -# git.netsurf-browser.org has an invalid https certificate -source=("git://git.netsurf-browser.org/netsurf.git#commit=c56ecfd924b16d15bf74385c4d556a6b7002e8a6" - 'openssl.patch' +depends=('curl' 'desktop-file-utils' 'duktape>=2.2.0' 'gtk3' 'lcms' + 'libcss>=0.7.0' 'libdom>=0.3.2' 'libmng' 'libnsbmp>=0.1.4' + 'libnsgif>=0.1.4' 'libnsutils>=0.0.3' 'librsvg' 'libutf8proc>=1.3.1') +makedepends=('check' 'git' 'inetutils' 'netsurf-buildsystem' 'nsgenbind>=0.5' + 'perl-html-parser' 're2c' 'setconf') +# invalid HTTPS cert +source=("http://download.netsurf-browser.org/netsurf/releases/source-full/netsurf-all-$pkgver.tar.gz" 'netsurf.sh' 'remove_nonprivacy_options.patch') -sha256sums=('SKIP' - '0601ca86e59a40aa6feaaab9db0e79c4952b018c724f7255279d902a79d090d9' - 'f2e2f61f1864da57cafa74ffdbefac2f9e1d55d9627e82ef923d4931684c5c49' +sha256sums=('0b3e78f04728238e4867f2d6505522e777ebafcd0ed02e1e50860885e00a5879' + '1f1b495af685e611fe4d121c6d48ed63d6dfe0c69bd5637c41cd71b42429fa85' '61bec340c47a089b1b5c33d3ae330a340999a1e40be7fc8768fa572c6ca3b617') prepare() { - cd "$pkgname" + cd "$pkgname-all-$pkgver/$pkgname" - patch -p1 -i "$srcdir/openssl.patch" - sed 's:netsurf-gtk:netsurf:' -i frontends/gtk/res/netsurf-gtk.desktop - sed 's:libutf8proc/::' -i utils/idna.c - sed 's:UTF8PROC_CCC_VIRAMA:UTF8PROC_BIDI_CLASS_EN:' -i utils/idna.c - sed 's:utf8proc_normalise:utf8proc_reencode:' -i utils/idna.c + # Fix compilation issues + sed -i 's:libutf8proc/::;s:UTF8PROC_CCC_VIRAMA:UTF8PROC_BIDI_CLASS_EN:' \ + utils/idna.c - setconf Makefile.defaults NETSURF_USE_DUKTAPE YES - setconf Makefile.defaults NETSURF_UA_FORMAT_STRING \ - '"NetSurf/%d.%d (%s; Parabola GNU/Linux-libre)"' + # Use "netsurf" as the name of the executable in /usr/bin + setconf frontends/gtk/res/netsurf-gtk.desktop 'Exec=netsurf %u' + + # Set build configuration in Makefile.defaults + for opt in \ + NETSURF_UA_FORMAT_STRING='"NetSurf/%d.%d (%s; Arch Linux)"' \ + NETSURF_USE_DUKTAPE=YES + do + setconf Makefile.defaults "$opt" + done # remove non-privacy search engines sed -i '\|Google|d @@ -106,11 +108,11 @@ prepare() { sed -i 's|Google|DuckDuckGo HTML| ' frontends/amiga/dist/NetSurf.guide # patch and remove anything that's left - patch -p1 -i ../remove_nonprivacy_options.patch + patch -p1 -i ../../remove_nonprivacy_options.patch } build() { - make -C "$pkgname" \ + CFLAGS="$CFLAGS -w" make -C "$pkgname-all-$pkgver/$pkgname" \ NETSURF_GTK_MAJOR=3 \ TARGET=gtk \ LIBDIR=lib \ @@ -119,23 +121,28 @@ build() { } package() { - cd "$pkgname" + make -C "$pkgname-all-$pkgver/$pkgname" \ + TARGET=gtk \ + NETSURF_GTK_MAJOR=3 \ + LIBDIR=lib \ + INCLUDEDIR=include \ + DESTDIR="$pkgdir" \ + PREFIX=/usr \ + install - make install LIBDIR=lib INCLUDEDIR=include PREFIX=/usr TARGET=gtk \ - NETSURF_GTK_MAJOR=3 DESTDIR="$pkgdir" + # Launch script + install -Dm755 $pkgname.sh "$pkgdir/usr/bin/$pkgname" - # Launcher script - install -Dm755 "../$pkgname.sh" "$pkgdir/usr/bin/$pkgname" + cd "$pkgname-all-$pkgver/$pkgname" # Desktop icon and shortcut - install -Dm644 "frontends/gtk/res/$pkgname.xpm" \ + install -Dm644 frontends/gtk/res/$pkgname.xpm \ "$pkgdir/usr/share/pixmaps/$pkgname.xpm" - install -Dm644 "frontends/gtk/res/$pkgname-gtk.desktop" \ + install -Dm644 frontends/gtk/res/$pkgname-gtk.desktop \ "$pkgdir/usr/share/applications/$pkgname.desktop" # License - install -Dm644 COPYING \ - "$pkgdir/usr/share/licenses/$pkgname/COPYING" + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" } -# vim:set ts=2 sw=2 et: +# vim: ts=2 sw=2 et: diff --git a/libre/netsurf/netsurf.sh b/libre/netsurf/netsurf.sh index da2254763..e4e532434 100644 --- a/libre/netsurf/netsurf.sh +++ b/libre/netsurf/netsurf.sh @@ -1,7 +1,7 @@ #!/bin/sh -shortname=`echo $LANG | cut -b1-2` -if [[ -d /usr/share/netsurf/$shortname ]]; then - /usr/bin/netsurf-gtk3 "$@" -else - LANG=en /usr/bin/netsurf-gtk3 "$@" +shortlang=`echo $LANG | cut -b1-2` +if [ ! -d "/usr/share/netsurf/$shortlang" ]; then + # Use /usr/share/netsurf/en + export LANG=en_US.UTF-8 fi +/usr/bin/netsurf-gtk3 "$@" diff --git a/libre/netsurf/openssl.patch b/libre/netsurf/openssl.patch deleted file mode 100644 index 2d914dd36..000000000 --- a/libre/netsurf/openssl.patch +++ /dev/null @@ -1,72 +0,0 @@ -From e8a9e3744523671228fef385ce7e1e11f93283b0 Mon Sep 17 00:00:00 2001 -From: Vincent Sanders <vince@kyllikki.org> -Date: Sun, 20 Nov 2016 12:14:36 +0000 -Subject: fix openSSL 1.1.0 X509 certificate handling - ---- -diff --git a/content/fetchers/curl.c b/content/fetchers/curl.c -index 66970ef..7ddf512 100644 ---- a/content/fetchers/curl.c -+++ b/content/fetchers/curl.c -@@ -128,6 +128,26 @@ static char fetch_error_buffer[CURL_ERROR_SIZE]; - static char fetch_proxy_userpwd[100]; - - -+/* OpenSSL 1.0.x to 1.1.0 certificate reference counting changed */ -+#if (OPENSSL_VERSION_NUMBER < 0x1010000fL) -+static int ns_X509_up_ref(X509 *cert) -+{ -+ cert->references++; -+ return 1; -+} -+ -+static void ns_X509_free(X509 *cert) -+{ -+ cert->references--; -+ if (cert->references == 0) { -+ X509_free(cert); -+ } -+} -+#else -+#define ns_X509_up_ref X509_up_ref -+#define ns_X509_free X509_free -+#endif -+ - /** - * Initialise a cURL fetcher. - */ -@@ -438,7 +458,7 @@ fetch_curl_verify_callback(int verify_ok, X509_STORE_CTX *x509_ctx) - */ - if (!fetch->cert_data[depth].cert) { - fetch->cert_data[depth].cert = X509_STORE_CTX_get_current_cert(x509_ctx); -- fetch->cert_data[depth].cert->references++; -+ ns_X509_up_ref(fetch->cert_data[depth].cert); - fetch->cert_data[depth].err = X509_STORE_CTX_get_error(x509_ctx); - } - -@@ -815,10 +835,7 @@ static void fetch_curl_free(void *vf) - } - - for (i = 0; i < MAX_CERTS && f->cert_data[i].cert; i++) { -- f->cert_data[i].cert->references--; -- if (f->cert_data[i].cert->references == 0) { -- X509_free(f->cert_data[i].cert); -- } -+ ns_X509_free(f->cert_data[i].cert); - } - - free(f); -@@ -986,10 +1003,7 @@ curl_start_cert_validate(struct curl_fetch_info *f, - X509_get_pubkey(certs[depth].cert)); - - /* and clean up */ -- certs[depth].cert->references--; -- if (certs[depth].cert->references == 0) { -- X509_free(certs[depth].cert); -- } -+ ns_X509_free(certs[depth].cert); - } - - msg.type = FETCH_CERT_ERR; --- -cgit v0.9.0.3-65-g4555 |