summaryrefslogtreecommitdiff
path: root/opt/netsurf
diff options
context:
space:
mode:
authorrawnix ports <ports@rawnix.org>2026-09-26 18:19:05 +0000
committerrawnix ports <ports@rawnix.org>2026-09-26 18:19:05 +0000
commitc82e88dd00d1b0b7fcfb4e5628d99611388cef6f (patch)
tree56d864b5a5c6c145edd96178ae219a8f90e191a6 /opt/netsurf
downloadports-c82e88dd00d1b0b7fcfb4e5628d99611388cef6f.tar.gz
sync 2026-09-26 18:19 UTC
1672 files changed, 151396 insertions(+)
Diffstat (limited to 'opt/netsurf')
-rw-r--r--opt/netsurf/.footprint62
-rw-r--r--opt/netsurf/.signature8
-rw-r--r--opt/netsurf/MAKEPKG100
-rw-r--r--opt/netsurf/libressl-3.5.patch23
-rw-r--r--opt/netsurf/utf8proc-header.patch11
5 files changed, 204 insertions, 0 deletions
diff --git a/opt/netsurf/.footprint b/opt/netsurf/.footprint
new file mode 100644
index 0000000..8fa6221
--- /dev/null
+++ b/opt/netsurf/.footprint
@@ -0,0 +1,62 @@
+drwxr-xr-x root/root usr/
+drwxr-xr-x root/root usr/bin/
+-rwxr-xr-x root/root usr/bin/netsurf
+-rwxr-xr-x root/root usr/bin/netsurf-gtk3
+drwxr-xr-x root/root usr/share/
+drwxr-xr-x root/root usr/share/applications/
+-rw-r--r-- root/root usr/share/applications/netsurf.desktop
+drwxr-xr-x root/root usr/share/netsurf/
+-rw-r--r-- root/root usr/share/netsurf/Messages
+-rw-r--r-- root/root usr/share/netsurf/SearchEngines
+-rw-r--r-- root/root usr/share/netsurf/adblock.css
+-rw-r--r-- root/root usr/share/netsurf/ca-bundle.txt
+-rw-r--r-- root/root usr/share/netsurf/cookies.ui
+-rw-r--r-- root/root usr/share/netsurf/credits.html
+-rw-r--r-- root/root usr/share/netsurf/default.css
+-rw-r--r-- root/root usr/share/netsurf/default.ico
+-rw-r--r-- root/root usr/share/netsurf/downloads.ui
+-rw-r--r-- root/root usr/share/netsurf/favicon.png
+-rw-r--r-- root/root usr/share/netsurf/globalhistory.ui
+-rw-r--r-- root/root usr/share/netsurf/hotlist.ui
+-rw-r--r-- root/root usr/share/netsurf/internal.css
+-rw-r--r-- root/root usr/share/netsurf/languages
+-rw-r--r-- root/root usr/share/netsurf/licence.html
+-rw-r--r-- root/root usr/share/netsurf/localhistory.ui
+-rw-r--r-- root/root usr/share/netsurf/netsurf-16x16.xpm
+-rw-r--r-- root/root usr/share/netsurf/netsurf.png
+-rw-r--r-- root/root usr/share/netsurf/netsurf.ui
+-rw-r--r-- root/root usr/share/netsurf/netsurf.xpm
+-rw-r--r-- root/root usr/share/netsurf/options.ui
+-rw-r--r-- root/root usr/share/netsurf/pageinfo.ui
+-rw-r--r-- root/root usr/share/netsurf/password.ui
+-rw-r--r-- root/root usr/share/netsurf/quirks.css
+-rw-r--r-- root/root usr/share/netsurf/tabcontents.ui
+-rw-r--r-- root/root usr/share/netsurf/toolbar.ui
+-rw-r--r-- root/root usr/share/netsurf/viewdata.ui
+-rw-r--r-- root/root usr/share/netsurf/warning.ui
+-rw-r--r-- root/root usr/share/netsurf/welcome.html
+drwxr-xr-x root/root usr/share/netsurf/en/
+-rw-r--r-- root/root usr/share/netsurf/en/Messages
+-rw-r--r-- root/root usr/share/netsurf/en/credits.html
+-rw-r--r-- root/root usr/share/netsurf/en/licence.html
+-rw-r--r-- root/root usr/share/netsurf/en/welcome.html
+drwxr-xr-x root/root usr/share/netsurf/icons/
+-rw-r--r-- root/root usr/share/netsurf/icons/arrow-l.png
+-rw-r--r-- root/root usr/share/netsurf/icons/content.png
+-rw-r--r-- root/root usr/share/netsurf/icons/directory.png
+-rw-r--r-- root/root usr/share/netsurf/icons/directory2.png
+-rw-r--r-- root/root usr/share/netsurf/icons/hotlist-add.png
+-rw-r--r-- root/root usr/share/netsurf/icons/hotlist-rmv.png
+-rw-r--r-- root/root usr/share/netsurf/icons/local-history.png
+-rw-r--r-- root/root usr/share/netsurf/icons/search.png
+-rw-r--r-- root/root usr/share/netsurf/icons/show-cookie.png
+drwxr-xr-x root/root usr/share/netsurf/throbber/
+-rw-r--r-- root/root usr/share/netsurf/throbber/throbber0.png
+-rw-r--r-- root/root usr/share/netsurf/throbber/throbber1.png
+-rw-r--r-- root/root usr/share/netsurf/throbber/throbber2.png
+-rw-r--r-- root/root usr/share/netsurf/throbber/throbber3.png
+-rw-r--r-- root/root usr/share/netsurf/throbber/throbber4.png
+-rw-r--r-- root/root usr/share/netsurf/throbber/throbber5.png
+-rw-r--r-- root/root usr/share/netsurf/throbber/throbber6.png
+-rw-r--r-- root/root usr/share/netsurf/throbber/throbber7.png
+-rw-r--r-- root/root usr/share/netsurf/throbber/throbber8.png
diff --git a/opt/netsurf/.signature b/opt/netsurf/.signature
new file mode 100644
index 0000000..955e53c
--- /dev/null
+++ b/opt/netsurf/.signature
@@ -0,0 +1,8 @@
+RWTZ9IduCSQ/mI2sJG0IpUA8Ya3VyW8djPomQ+VPPNewz18zky0fCU+tDvUNvvkrSsMRnvxRgPzU49OfHTA32pX0a49i1FwpQQo=
+
+SHA256 (MAKEPKG) = b2aefc3e6f0d97d31fa187456c4880da3c8187f73c4c5a844b32d3702908ef34
+SHA256 (.footprint) = 812417b134d0d858c79a5bb71e12366210cae467fd6887a90256668230208328
+SHA256 (netsurf-all-3.11.tar.gz) = 4dea880ff3c2f698bfd62c982b259340f9abcd7f67e6c8eb2b32c61f71644b7b
+SHA256 (libressl-3.5.patch) = 3ca9db3b175a93a6a1dc9be81b6400c0fb3e29c391f8aac6ddff684b92772ac1
+SHA256 (utf8proc-header.patch) = f40f96d523d8a31db165057a37a81911aa12f3c63a616a2c2c37618538885cce
+SHA256 (netsurf#3.11-1.pkg.tar.gz) = 40cf40a2df55ec4e9cc65f3601458cdd5698bacf6edf87bbaa56b02c766c0c27
diff --git a/opt/netsurf/MAKEPKG b/opt/netsurf/MAKEPKG
new file mode 100644
index 0000000..b25cd54
--- /dev/null
+++ b/opt/netsurf/MAKEPKG
@@ -0,0 +1,100 @@
+#!/bin/mkpkg
+# description: Lightweight web browser with its own layout engine
+# url: https://www.netsurf-browser.org/
+
+name=netsurf
+version=3.11
+release=1
+source=(https://download.netsurf-browser.org/netsurf/releases/source-full/netsurf-all-${version}.tar.gz
+ libressl-3.5.patch
+ utf8proc-header.patch)
+depends=(gtk3 curl libjpeg-turbo libpng libwebp utf8proc cairo)
+
+patch() {
+ cd netsurf-all-${version}/netsurf
+ patch -p1 < ../../libressl-3.5.patch
+ patch -p1 < ../../utf8proc-header.patch
+}
+
+sha256sums=(
+ "4dea880ff3c2f698bfd62c982b259340f9abcd7f67e6c8eb2b32c61f71644b7b"
+ "3ca9db3b175a93a6a1dc9be81b6400c0fb3e29c391f8aac6ddff684b92772ac1"
+ "f40f96d523d8a31db165057a37a81911aa12f3c63a616a2c2c37618538885cce"
+)
+
+build() {
+ cd netsurf-all-${version}
+
+ export CC=clang
+ export CXX=clang++
+ export AR=llvm-ar
+ export RANLIB=llvm-ranlib
+ # -fcommon: NetSurf uses tentative definitions that strict clang rejects
+ export CFLAGS="-fcommon"
+
+ # NOTE: NetSurf Makefile does not support parallel builds
+ make TARGET=gtk3 \
+ PREFIX=/usr \
+ NETSURF_GTK_RES_PATH=/usr/share/netsurf \
+ NETSURF_USE_OPENSSL=YES \
+ NETSURF_USE_DUKTAPE=YES \
+ NETSURF_USE_HARU_PDF=NO \
+ NETSURF_USE_VIDEO=NO \
+ NETSURF_USE_NSLOG=NO \
+ NETSURF_USE_BMP=NO \
+ NETSURF_USE_RSVG=NO \
+ CCACHE= \
+ Q=
+
+ make TARGET=gtk3 \
+ PREFIX=/usr \
+ NETSURF_GTK_RES_PATH=/usr/share/netsurf \
+ NETSURF_USE_OPENSSL=YES \
+ NETSURF_USE_DUKTAPE=YES \
+ NETSURF_USE_HARU_PDF=NO \
+ NETSURF_USE_VIDEO=NO \
+ NETSURF_USE_NSLOG=NO \
+ NETSURF_USE_BMP=NO \
+ NETSURF_USE_RSVG=NO \
+ DESTDIR=$PKG \
+ CCACHE= \
+ install
+
+ mkdir -p $PKG/usr/share/applications
+
+ mkdir -p $PKG/usr/bin
+ printf '%s\n' '#!/bin/sh' 'exec torsocks netsurf-gtk3 "$@" 2>/dev/null' \
+ > $PKG/usr/bin/netsurf
+ chmod 755 $PKG/usr/bin/netsurf
+
+ printf '%s\n' \
+ '[Desktop Entry]' \
+ 'Name=NetSurf' \
+ 'Comment=Lightweight web browser' \
+ 'Exec=netsurf-gtk3 %u' \
+ 'Icon=netsurf' \
+ 'MimeType=text/html;x-scheme-handler/http;x-scheme-handler/https;' \
+ 'Terminal=false' \
+ 'Type=Application' \
+ 'Categories=Network;WebBrowser;' \
+ > $PKG/usr/share/applications/netsurf.desktop
+
+ # fix ownership on locale html files installed as unbound/nogroup
+ find $PKG/usr/share/netsurf -name '*.html' \
+ ! -user root -o -name '*.html' ! -group root | \
+ xargs -r chown root:root
+
+ rm -rf $PKG/usr/share/netsurf/de \
+ $PKG/usr/share/netsurf/fr \
+ $PKG/usr/share/netsurf/it \
+ $PKG/usr/share/netsurf/ja \
+ $PKG/usr/share/netsurf/nl \
+ $PKG/usr/share/netsurf/zh_CN
+}
+
+signify() {
+ untrusted comment: public key
+ RWTZ9IduCSQ/mL8337TEUinPwT92xFEUpD92hkS7IxcOnzTt9QdpohT3
+}
+
+# vim: filetype=sh
diff --git a/opt/netsurf/libressl-3.5.patch b/opt/netsurf/libressl-3.5.patch
new file mode 100644
index 0000000..84c6d6e
--- /dev/null
+++ b/opt/netsurf/libressl-3.5.patch
@@ -0,0 +1,23 @@
+--- a/content/fetchers/about/certificate.c
++++ b/content/fetchers/about/certificate.c
+@@ -137,7 +137,8 @@ static nserror free_ns_cert_info(struct ns_cert_info *cinfo)
+ /* OpenSSL 1.0.x, 1.0.2, 1.1.0 and 1.1.1 API all changed
+ * LibreSSL declares its OpenSSL version as 2.1 but only supports 1.0.x API
+ */
+-#if (defined(LIBRESSL_VERSION_NUMBER) || (OPENSSL_VERSION_NUMBER < 0x1010000fL))
++#if (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x3050000fL) || \
++ (OPENSSL_VERSION_NUMBER < 0x1010000fL)
+ /* 1.0.x */
+
+ #if (defined(LIBRESSL_VERSION_NUMBER) || (OPENSSL_VERSION_NUMBER < 0x1000200fL))
+--- a/content/fetchers/curl.c
++++ b/content/fetchers/curl.c
+@@ -98,7 +98,7 @@
+ /* OpenSSL 1.0.x to 1.1.0 certificate reference counting changed
+ * LibreSSL declares its OpenSSL version as 2.1 but only supports the old way
+ */
+-#if (defined(LIBRESSL_VERSION_NUMBER) || (OPENSSL_VERSION_NUMBER < 0x1010000fL))
++#if (OPENSSL_VERSION_NUMBER < 0x1010000fL)
+ static int ns_X509_up_ref(X509 *cert)
+ {
+ cert->references++;
diff --git a/opt/netsurf/utf8proc-header.patch b/opt/netsurf/utf8proc-header.patch
new file mode 100644
index 0000000..aa0edf1
--- /dev/null
+++ b/opt/netsurf/utf8proc-header.patch
@@ -0,0 +1,11 @@
+--- a/utils/idna.c
++++ b/utils/idna.c
+@@ -167,7 +167,7 @@ idna__ace_to_ucs4(const char *ace_label,
+
+ #ifdef WITH_UTF8PROC
+
+-#include <libutf8proc/utf8proc.h>
++#include <utf8proc.h>
+
+ int32_t idna_contexto[] = {
+ /* CONTEXTO codepoints which have a rule defined */