git: 09a34a638f0b - main - www/linux-vieb: Add new port

From: Nicola Vitale <nivit_at_FreeBSD.org>
Date: Mon, 26 Aug 2024 14:15:06 UTC
The branch main has been updated by nivit:

URL: https://cgit.FreeBSD.org/ports/commit/?id=09a34a638f0bc5bef01b39bebbc561136dece477

commit 09a34a638f0bc5bef01b39bebbc561136dece477
Author:     Nicola Vitale <nivit@FreeBSD.org>
AuthorDate: 2024-08-26 13:59:24 +0000
Commit:     Nicola Vitale <nivit@FreeBSD.org>
CommitDate: 2024-08-26 13:59:24 +0000

    www/linux-vieb: Add new port
    
    Vieb is the Vim Inspired Electron Browser.
    
    Features:
    
        - Free, open source, fast and secure
        - Local first adblocking, auto-complete, AMP protection, custom redirects
          and more, all without web requests
        - Privacy with strict permission system, navigator overrides, custom
          useragent, custom WebRTC policy and more
        - Accessible with custom themes, full interface & fontsize scaling, page
          zooming, spellcheck and mouse support
        - Security settings with permissions, cache usage, cookie management,
          (auto-)download settings and more
        - Window splitting with buffer, split, Vexplore and Ctrl-w bindings, for
          multi-window browsing
        - Map commands for completely custom keyboard sequences, keystrokes,
          commands and actions
        - And much, much more...
    
    https://vieb.dev/
---
 www/Makefile                            |  1 +
 www/linux-vieb/Makefile                 | 56 +++++++++++++++++++++
 www/linux-vieb/distinfo                 |  5 ++
 www/linux-vieb/files/linux-vieb.desktop |  9 ++++
 www/linux-vieb/files/linux-vieb.in      | 11 +++++
 www/linux-vieb/pkg-descr                | 18 +++++++
 www/linux-vieb/pkg-message              | 13 +++++
 www/linux-vieb/pkg-plist                | 86 +++++++++++++++++++++++++++++++++
 8 files changed, 199 insertions(+)

diff --git a/www/Makefile b/www/Makefile
index 18b0c06a4a41..141803a55fcc 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -321,6 +321,7 @@
     SUBDIR += linux-c7-qtwebkit
     SUBDIR += linux-chrome
     SUBDIR += linux-rl9-libnghttp2
+    SUBDIR += linux-vieb
     SUBDIR += linux-widevine-cdm
     SUBDIR += litmus
     SUBDIR += ljdeps
diff --git a/www/linux-vieb/Makefile b/www/linux-vieb/Makefile
new file mode 100644
index 000000000000..6f13c6eded08
--- /dev/null
+++ b/www/linux-vieb/Makefile
@@ -0,0 +1,56 @@
+PORTNAME=	vieb
+DISTVERSION=	12.0.0
+CATEGORIES=	www linux
+MASTER_SITES=	https://github.com/Jelmerro/Vieb/releases/download/${DISTVERSION}/ \
+		LOCAL/nivit/${PORTNAME}/:images
+PKGNAMEPREFIX=	linux-
+DISTFILES=	vieb-${DISTVERSION}${EXTRACT_SUFX} \
+		${PORTNAME}-images-${DISTVERSION}${EXTRACT_SUFX}:images
+
+MAINTAINER=	nivit@FreeBSD.org
+COMMENT=	Vim Inspired Electron Browser (Linux version)
+WWW=		https://vieb.dev/
+
+LICENSE=	AGPLv3 BSD3CLAUSE CC-BY-2.5 CC-BY-3.0 GPLv3+ LGPL21 MIT MPL11
+LICENSE_COMB=	multi
+
+ONLY_FOR_ARCHS=	amd64
+
+RUN_DEPENDS=	pulseaudio:audio/pulseaudio
+
+USES=		desktop-file-utils linux:rl9
+USE_LINUX=	alsa-plugins-oss alsa-plugins-pulseaudio alsalib at-spi2-atk \
+		atk ca-certificates cups-libs dbuslibs devtools gtk3 libdrm \
+		libsigsegv nss opus
+
+DATADIR=	${PREFIX}/share/${PKGBASE}
+
+NO_BUILD=	yes
+SUB_FILES=	${PKGBASE}
+SUB_LIST=	LINUXBASE=${LINUXBASE}
+
+STRIP_CMD=	${LINUXBASE}/usr/bin/strip
+STRIP_FILES=	chrome-sandbox libvulkan.so.1
+
+do-install:
+	@${MKDIR} ${STAGEDIR}${DATADIR}
+	(cd ${WRKSRC} && \
+		${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR} \
+			"-not ( -regex \./LICENSE.* )")
+	${INSTALL_SCRIPT} ${WRKDIR}/${PKGBASE} \
+		${STAGEDIR}${LOCALBASE}/bin/${PKGBASE}
+	${INSTALL_DATA} ${FILESDIR}/${PKGBASE}.desktop \
+		${STAGEDIR}${DESKTOPDIR}/
+	(cd ${STAGEDIR}${DATADIR} && \
+		${STRIP_CMD} ${STRIP_FILES})
+.for size in 16 32 48 64 128 256 512 1024
+	${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${size}x${size}/apps
+	cd ${WRKDIR}/${PORTNAME}-images-${DISTVERSION} && \
+	${INSTALL_DATA} icons/${size}x${size}.png \
+		${STAGEDIR}${PREFIX}/share/icons/hicolor/${size}x${size}/apps/${PORTNAME}.png
+.endfor
+	${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps
+	cd ${WRKDIR}/${PORTNAME}-images-${DISTVERSION} && \
+	${INSTALL_DATA} ${PORTNAME}.svg ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps
+
+.include <bsd.port.mk>
diff --git a/www/linux-vieb/distinfo b/www/linux-vieb/distinfo
new file mode 100644
index 000000000000..d52bfac042ce
--- /dev/null
+++ b/www/linux-vieb/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1724341740
+SHA256 (vieb-12.0.0.tar.gz) = 091a5339123c60fbc42f68a129a85e90e2ee2061219d7aada2c5f03b238226ca
+SIZE (vieb-12.0.0.tar.gz) = 103234982
+SHA256 (vieb-images-12.0.0.tar.gz) = 2bfcc02f33492396b869a8e5d215b1904fdf028fc4f5f85876fbd9a9f1972e0d
+SIZE (vieb-images-12.0.0.tar.gz) = 969961
diff --git a/www/linux-vieb/files/linux-vieb.desktop b/www/linux-vieb/files/linux-vieb.desktop
new file mode 100644
index 000000000000..1ae0d57f6c26
--- /dev/null
+++ b/www/linux-vieb/files/linux-vieb.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Categories=Network;WebBrowser;
+Comment=Vieb Inspired Electron Browser (Linux version)
+Exec=linux-vieb
+Icon=vieb
+MimeType=text/html;text/xml;application/xhtml+xml;application/xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;
+Name=Vieb (Linux version)
+Terminal=false
+Type=Application
diff --git a/www/linux-vieb/files/linux-vieb.in b/www/linux-vieb/files/linux-vieb.in
new file mode 100644
index 000000000000..e13f9809daad
--- /dev/null
+++ b/www/linux-vieb/files/linux-vieb.in
@@ -0,0 +1,11 @@
+#!%%LINUXBASE%%/bin/bash
+
+export ELECTRON_IS_DEV=0
+export LIBGL_DRI3_DISABLE=1
+export NODE_ENV=production
+
+if [ "$DBUS_SESSION_BUS_ADDRESS" = "" ]; then
+    export DBUS_SESSION_BUS_ADDRESS="autolaunch:"
+fi
+
+exec -a "$0" "%%DATADIR%%/vieb" --no-sandbox "$@"
diff --git a/www/linux-vieb/pkg-descr b/www/linux-vieb/pkg-descr
new file mode 100644
index 000000000000..92e564a84081
--- /dev/null
+++ b/www/linux-vieb/pkg-descr
@@ -0,0 +1,18 @@
+Vieb is the Vim Inspired Electron Browser.
+
+Features:
+
+    - Free, open source, fast and secure
+    - Local first adblocking, auto-complete, AMP protection, custom redirects
+      and more, all without web requests
+    - Privacy with strict permission system, navigator overrides, custom
+      useragent, custom WebRTC policy and more
+    - Accessible with custom themes, full interface & fontsize scaling, page
+      zooming, spellcheck and mouse support
+    - Security settings with permissions, cache usage, cookie management,
+      (auto-)download settings and more
+    - Window splitting with buffer, split, Vexplore and Ctrl-w bindings, for
+      multi-window browsing
+    - Map commands for completely custom keyboard sequences, keystrokes,
+      commands and actions
+    - And much, much more...
diff --git a/www/linux-vieb/pkg-message b/www/linux-vieb/pkg-message
new file mode 100644
index 000000000000..64f2c473dc24
--- /dev/null
+++ b/www/linux-vieb/pkg-message
@@ -0,0 +1,13 @@
+[
+{ type: install
+  message: <<EOM
+
+If the user's directory is located in /usr/home and doesn't exists the link
+/home, then create one with the command:
+
+  ln -s /usr/home /home
+
+Vieb uses pulseaudio(1), so you have to start the relative server.
+EOM
+}
+]
diff --git a/www/linux-vieb/pkg-plist b/www/linux-vieb/pkg-plist
new file mode 100644
index 000000000000..fd60f68f46c5
--- /dev/null
+++ b/www/linux-vieb/pkg-plist
@@ -0,0 +1,86 @@
+bin/linux-vieb
+share/applications/linux-vieb.desktop
+share/icons/hicolor/1024x1024/apps/vieb.png
+share/icons/hicolor/128x128/apps/vieb.png
+share/icons/hicolor/16x16/apps/vieb.png
+share/icons/hicolor/256x256/apps/vieb.png
+share/icons/hicolor/32x32/apps/vieb.png
+share/icons/hicolor/48x48/apps/vieb.png
+share/icons/hicolor/512x512/apps/vieb.png
+share/icons/hicolor/64x64/apps/vieb.png
+share/icons/hicolor/scalable/apps/vieb.svg
+%%DATADIR%%/chrome_100_percent.pak
+%%DATADIR%%/chrome_200_percent.pak
+%%DATADIR%%/icudtl.dat
+%%DATADIR%%/libEGL.so
+%%DATADIR%%/libGLESv2.so
+%%DATADIR%%/libffmpeg.so
+%%DATADIR%%/libvk_swiftshader.so
+%%DATADIR%%/libvulkan.so.1
+%%DATADIR%%/locales/af.pak
+%%DATADIR%%/locales/am.pak
+%%DATADIR%%/locales/ar.pak
+%%DATADIR%%/locales/bg.pak
+%%DATADIR%%/locales/bn.pak
+%%DATADIR%%/locales/ca.pak
+%%DATADIR%%/locales/cs.pak
+%%DATADIR%%/locales/da.pak
+%%DATADIR%%/locales/de.pak
+%%DATADIR%%/locales/el.pak
+%%DATADIR%%/locales/en-GB.pak
+%%DATADIR%%/locales/en-US.pak
+%%DATADIR%%/locales/es-419.pak
+%%DATADIR%%/locales/es.pak
+%%DATADIR%%/locales/et.pak
+%%DATADIR%%/locales/fa.pak
+%%DATADIR%%/locales/fi.pak
+%%DATADIR%%/locales/fil.pak
+%%DATADIR%%/locales/fr.pak
+%%DATADIR%%/locales/gu.pak
+%%DATADIR%%/locales/he.pak
+%%DATADIR%%/locales/hi.pak
+%%DATADIR%%/locales/hr.pak
+%%DATADIR%%/locales/hu.pak
+%%DATADIR%%/locales/id.pak
+%%DATADIR%%/locales/it.pak
+%%DATADIR%%/locales/ja.pak
+%%DATADIR%%/locales/kn.pak
+%%DATADIR%%/locales/ko.pak
+%%DATADIR%%/locales/lt.pak
+%%DATADIR%%/locales/lv.pak
+%%DATADIR%%/locales/ml.pak
+%%DATADIR%%/locales/mr.pak
+%%DATADIR%%/locales/ms.pak
+%%DATADIR%%/locales/nb.pak
+%%DATADIR%%/locales/nl.pak
+%%DATADIR%%/locales/pl.pak
+%%DATADIR%%/locales/pt-BR.pak
+%%DATADIR%%/locales/pt-PT.pak
+%%DATADIR%%/locales/ro.pak
+%%DATADIR%%/locales/ru.pak
+%%DATADIR%%/locales/sk.pak
+%%DATADIR%%/locales/sl.pak
+%%DATADIR%%/locales/sr.pak
+%%DATADIR%%/locales/sv.pak
+%%DATADIR%%/locales/sw.pak
+%%DATADIR%%/locales/ta.pak
+%%DATADIR%%/locales/te.pak
+%%DATADIR%%/locales/th.pak
+%%DATADIR%%/locales/tr.pak
+%%DATADIR%%/locales/uk.pak
+%%DATADIR%%/locales/ur.pak
+%%DATADIR%%/locales/vi.pak
+%%DATADIR%%/locales/zh-CN.pak
+%%DATADIR%%/locales/zh-TW.pak
+%%DATADIR%%/resources.pak
+%%DATADIR%%/resources/app.asar
+%%DATADIR%%/snapshot_blob.bin
+%%DATADIR%%/v8_context_snapshot.bin
+%%DATADIR%%/vk_swiftshader_icd.json
+@mode 4555
+%%DATADIR%%/chrome-sandbox
+@mode
+@mode 555
+%%DATADIR%%/vieb
+%%DATADIR%%/chrome_crashpad_handler
+@mode