git: 6e8e595fb971 - main - net/netpeek: Add new port

From: Bernhard Froehlich <decke_at_FreeBSD.org>
Date: Mon, 29 Sep 2025 05:48:31 UTC
The branch main has been updated by decke:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6e8e595fb97170ed42e602cea66b74eb777f04ff

commit 6e8e595fb97170ed42e602cea66b74eb777f04ff
Author:     Yusuf Yaman <nxjoseph@protonmail.com>
AuthorDate: 2025-09-29 05:46:11 +0000
Commit:     Bernhard Froehlich <decke@FreeBSD.org>
CommitDate: 2025-09-29 05:46:11 +0000

    net/netpeek: Add new port
    
    Modern local network scanner for GNOME
    
    PR:             289186
    Event:          EuroBSDCon 2025
---
 net/Makefile                            |  1 +
 net/netpeek/Makefile                    | 26 ++++++++++++++++++++++++++
 net/netpeek/distinfo                    |  3 +++
 net/netpeek/files/patch-meson.build     | 11 +++++++++++
 net/netpeek/files/patch-src_meson.build |  8 ++++++++
 net/netpeek/files/patch-src_netpeek.in  | 13 +++++++++++++
 net/netpeek/pkg-descr                   | 10 ++++++++++
 net/netpeek/pkg-plist                   | 18 ++++++++++++++++++
 8 files changed, 90 insertions(+)

diff --git a/net/Makefile b/net/Makefile
index ce40b0d4c568..2308403db114 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -533,6 +533,7 @@
     SUBDIR += netembryo
     SUBDIR += nethogs
     SUBDIR += netmap
+    SUBDIR += netpeek
     SUBDIR += netpipes
     SUBDIR += netscript
     SUBDIR += netsed
diff --git a/net/netpeek/Makefile b/net/netpeek/Makefile
new file mode 100644
index 000000000000..e33fdccb7820
--- /dev/null
+++ b/net/netpeek/Makefile
@@ -0,0 +1,26 @@
+PORTNAME=	netpeek
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.2.4
+CATEGORIES=	net gnome python
+
+MAINTAINER=	nxjoseph@protonmail.com
+COMMENT=	Modern local network scanner for GNOME
+WWW=		https://github.com/zingytomato/netpeek \
+		https://flathub.org/apps/io.github.zingytomato.netpeek
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}python-nmap>=0:security/py-python-nmap@${PY_FLAVOR}
+
+USES=		gettext-tools gnome meson pkgconfig python:build,run
+USE_GITHUB=	yes
+GH_ACCOUNT=	ZingyTomato
+GH_PROJECT=	NetPeek
+USE_GNOME=	glib20 gtk40
+
+post-patch:
+	${REINPLACE_CMD} 's,python3,python${PYTHON_VER},g' \
+		${WRKSRC}/src/meson.build
+
+.include <bsd.port.mk>
diff --git a/net/netpeek/distinfo b/net/netpeek/distinfo
new file mode 100644
index 000000000000..ae083e64ac08
--- /dev/null
+++ b/net/netpeek/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1756969182
+SHA256 (ZingyTomato-NetPeek-v0.2.4_GH0.tar.gz) = 8596db72d90ef33abf36a9c9b32f24a28317b742d919bd733db5b55b030b6550
+SIZE (ZingyTomato-NetPeek-v0.2.4_GH0.tar.gz) = 954360
diff --git a/net/netpeek/files/patch-meson.build b/net/netpeek/files/patch-meson.build
new file mode 100644
index 000000000000..87ae61226043
--- /dev/null
+++ b/net/netpeek/files/patch-meson.build
@@ -0,0 +1,11 @@
+--- meson.build.orig	2025-08-30 12:13:40 UTC
++++ meson.build
+@@ -11,8 +11,3 @@ subdir('po')
+ subdir('src')
+ subdir('po')
+ 
+-gnome.post_install(
+-     glib_compile_schemas: true,
+-    gtk_update_icon_cache: true,
+-  update_desktop_database: true,
+-)
diff --git a/net/netpeek/files/patch-src_meson.build b/net/netpeek/files/patch-src_meson.build
new file mode 100644
index 000000000000..75c8d95d7fd9
--- /dev/null
+++ b/net/netpeek/files/patch-src_meson.build
@@ -0,0 +1,8 @@
+--- src/meson.build.orig	2025-08-07 14:23:19 UTC
++++ src/meson.build
+@@ -1,4 +1,4 @@
+-pkgdatadir = get_option('prefix') / get_option('datadir') / meson.project_name()
++pkgdatadir = get_option('prefix') / get_option('datadir')
+ moduledir = pkgdatadir / 'netpeek'
+ gnome = import('gnome')
+ 
diff --git a/net/netpeek/files/patch-src_netpeek.in b/net/netpeek/files/patch-src_netpeek.in
new file mode 100644
index 000000000000..384805f12f20
--- /dev/null
+++ b/net/netpeek/files/patch-src_netpeek.in
@@ -0,0 +1,13 @@
+--- src/netpeek.in.orig	2025-08-30 12:38:25 UTC
++++ src/netpeek.in
+@@ -31,8 +31,8 @@ signal.signal(signal.SIGINT, signal.SIG_DFL)
+ 
+ sys.path.insert(1, pkgdatadir)
+ signal.signal(signal.SIGINT, signal.SIG_DFL)
+-locale.bindtextdomain('netpeek', localedir)
+-locale.textdomain('netpeek')
++gettext.bindtextdomain('netpeek', localedir)
++gettext.textdomain('netpeek')
+ gettext.install('netpeek', localedir)
+ 
+ if __name__ == '__main__':
diff --git a/net/netpeek/pkg-descr b/net/netpeek/pkg-descr
new file mode 100644
index 000000000000..54508cc794a5
--- /dev/null
+++ b/net/netpeek/pkg-descr
@@ -0,0 +1,10 @@
+A modern libadwaita-based network scanner for GNOME
+that helps you discover devices on your local network.
+
+Features:
+o Fast Network Scanning: Discover active devices on your network
+o Port Scanning: Shows open ports on discovered devices
+o Modern UI: Built with GTK4 and Libadwaita
+o Multi-threaded: Fast concurrent scanning
+o Flexible Input: Supports CIDR notation, IP ranges, and single IPs
+o Automatic IP Detection: Instantly finds your local IP range
diff --git a/net/netpeek/pkg-plist b/net/netpeek/pkg-plist
new file mode 100644
index 000000000000..ee258fe4e240
--- /dev/null
+++ b/net/netpeek/pkg-plist
@@ -0,0 +1,18 @@
+bin/netpeek
+share/applications/io.github.zingytomato.netpeek.desktop
+share/dbus-1/services/io.github.zingytomato.netpeek.service
+share/glib-2.0/schemas/io.github.zingytomato.netpeek.gschema.xml
+share/icons/hicolor/scalable/apps/io.github.zingytomato.netpeek.svg
+share/icons/hicolor/symbolic/apps/io.github.zingytomato.netpeek-symbolic.svg
+share/locale/es/LC_MESSAGES/netpeek.mo
+share/locale/nl/LC_MESSAGES/netpeek.mo
+share/locale/ru/LC_MESSAGES/netpeek.mo
+share/metainfo/io.github.zingytomato.netpeek.metainfo.xml
+%%DATADIR%%.gresource
+%%DATADIR%%/__init__.py
+%%DATADIR%%/app.py
+%%DATADIR%%/netpeek.py
+%%DATADIR%%/pages.py
+%%DATADIR%%/scanner.py
+%%DATADIR%%/widgets.py
+%%DATADIR%%/window.py