summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/netsurf/PKGBUILD81
-rw-r--r--libre/netsurf/netsurf.sh10
-rw-r--r--libre/netsurf/openssl.patch72
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