Tue Jan 31 18:53:46 2023 UTC ()
Import net/gnunet as gnunet version 0.19.2

Imported from wip/gnunet

GNUnet is a framework for secure peer-to-peer networking that does not
use any centralized or otherwise trusted services.

A first service implemented on top of the networking layer allows
anonymous censorship-resistant file-sharing.

GNUnet uses a simple, excess-based economic model to allocate
resources.

Peers in GNUnet monitor each others behavior with respect to resource
usage; peers that contribute to the network are rewarded with better
service.


(nikita)
diff -r1.1500 -r1.1501 pkgsrc/net/Makefile
diff -r0 -r1.1 pkgsrc/net/gnunet/DESCR
diff -r0 -r1.1 pkgsrc/net/gnunet/Makefile
diff -r0 -r1.1 pkgsrc/net/gnunet/PLIST
diff -r0 -r1.1 pkgsrc/net/gnunet/PLIST.conversations
diff -r0 -r1.1 pkgsrc/net/gnunet/PLIST.doc
diff -r0 -r1.1 pkgsrc/net/gnunet/PLIST.experimental
diff -r0 -r1.1 pkgsrc/net/gnunet/PLIST.mysql
diff -r0 -r1.1 pkgsrc/net/gnunet/PLIST.perl
diff -r0 -r1.1 pkgsrc/net/gnunet/PLIST.pgsql
diff -r0 -r1.1 pkgsrc/net/gnunet/PLIST.sqlite3
diff -r0 -r1.1 pkgsrc/net/gnunet/buildlink3.mk
diff -r0 -r1.1 pkgsrc/net/gnunet/distinfo
diff -r0 -r1.1 pkgsrc/net/gnunet/options.mk
diff -r0 -r1.1 pkgsrc/net/gnunet/files/README.pkgsrc.txt
diff -r0 -r1.1 pkgsrc/net/gnunet/files/gnunet.conf
diff -r0 -r1.1 pkgsrc/net/gnunet/files/gnunet.in
diff -r0 -r1.1 pkgsrc/net/gnunet/files/gnunet_user.conf
diff -r0 -r1.1 pkgsrc/net/gnunet/files/gnunetuser.in
diff -r0 -r1.1 pkgsrc/net/gnunet/patches/patch-src_include_gnunet_common.h
diff -r0 -r1.1 pkgsrc/net/gnunet/patches/patch-src_setu_gnunet-service-setu.c

cvs diff -r1.1500 -r1.1501 pkgsrc/net/Makefile (expand / switch to unified diff)

--- pkgsrc/net/Makefile 2023/01/30 10:29:31 1.1500
+++ pkgsrc/net/Makefile 2023/01/31 18:53:46 1.1501
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.1500 2023/01/30 10:29:31 wiz Exp $ 1# $NetBSD: Makefile,v 1.1501 2023/01/31 18:53:46 nikita Exp $
2# 2#
3 3
4COMMENT= Networking tools 4COMMENT= Networking tools
5 5
6SUBDIR+= 3proxy 6SUBDIR+= 3proxy
7SUBDIR+= 6tunnel 7SUBDIR+= 6tunnel
8SUBDIR+= DarwinStreamingServer 8SUBDIR+= DarwinStreamingServer
9SUBDIR+= GeoIP 9SUBDIR+= GeoIP
10SUBDIR+= Geomyidae 10SUBDIR+= Geomyidae
11SUBDIR+= IglooFTP 11SUBDIR+= IglooFTP
12SUBDIR+= ORBit2 12SUBDIR+= ORBit2
13SUBDIR+= R-pbdZMQ 13SUBDIR+= R-pbdZMQ
14SUBDIR+= R-pingr 14SUBDIR+= R-pingr
@@ -190,26 +190,27 @@ SUBDIR+= gini @@ -190,26 +190,27 @@ SUBDIR+= gini
190SUBDIR+= gitso 190SUBDIR+= gitso
191SUBDIR+= gkrellm-multiping 191SUBDIR+= gkrellm-multiping
192SUBDIR+= gkrellm-snmp 192SUBDIR+= gkrellm-snmp
193SUBDIR+= gkrellm-wireless 193SUBDIR+= gkrellm-wireless
194SUBDIR+= glib-networking 194SUBDIR+= glib-networking
195SUBDIR+= gnapfetch 195SUBDIR+= gnapfetch
196SUBDIR+= gnet 196SUBDIR+= gnet
197SUBDIR+= gnet1 197SUBDIR+= gnet1
198SUBDIR+= gnetcat 198SUBDIR+= gnetcat
199SUBDIR+= gnome-nettool 199SUBDIR+= gnome-nettool
200SUBDIR+= gnome-online-accounts 200SUBDIR+= gnome-online-accounts
201SUBDIR+= gnome-vfs-smb 201SUBDIR+= gnome-vfs-smb
202SUBDIR+= gnugk 202SUBDIR+= gnugk
 203SUBDIR+= gnunet
203SUBDIR+= go-dnstap 204SUBDIR+= go-dnstap
204SUBDIR+= go-net 205SUBDIR+= go-net
205SUBDIR+= go-websocket 206SUBDIR+= go-websocket
206SUBDIR+= gofish 207SUBDIR+= gofish
207SUBDIR+= gopher 208SUBDIR+= gopher
208SUBDIR+= grilo 209SUBDIR+= grilo
209SUBDIR+= grilo-plugins 210SUBDIR+= grilo-plugins
210SUBDIR+= grive2 211SUBDIR+= grive2
211SUBDIR+= grpc 212SUBDIR+= grpc
212SUBDIR+= gsnmp 213SUBDIR+= gsnmp
213SUBDIR+= gssdp 214SUBDIR+= gssdp
214SUBDIR+= gssdp12 215SUBDIR+= gssdp12
215SUBDIR+= gst-plugins0.10-mms 216SUBDIR+= gst-plugins0.10-mms

File Added: pkgsrc/net/gnunet/DESCR
GNUnet is a framework for secure peer-to-peer networking that does not
use any centralized or otherwise trusted services.

A first service implemented on top of the networking layer allows
anonymous censorship-resistant file-sharing.

GNUnet uses a simple, excess-based economic model to allocate
resources.

Peers in GNUnet monitor each others behavior with respect to resource
usage; peers that contribute to the network are rewarded with better
service.

File Added: pkgsrc/net/gnunet/Makefile
# $NetBSD: Makefile,v 1.1 2023/01/31 18:53:46 nikita Exp $

DISTNAME=		gnunet-0.19.2
CATEGORIES=		net
MASTER_SITES=		${MASTER_SITE_GNU:=gnunet/}

MAINTAINER=		nikita@NetBSD.org
HOMEPAGE=		https://gnunet.org/
COMMENT=		Framework for secure P2P networking
LICENSE=		gnu-agpl-v3

USE_TOOLS+=		msgfmt pkg-config gmake
USE_LANGUAGES=		c
GNU_CONFIGURE=		yes
USE_LIBTOOL=		yes
TEST_TARGET=		check

PTHREAD_OPTS=		require native
LDFLAGS+=		-lpthread -lintl

CHECK_PORTABILITY_SKIP+=	contrib/packages/fedora_10/dns2gns.sh

.include "../../mk/bsd.prefs.mk"
.include "options.mk"

BUILD_DEFS+=		VARBASE

CONFIGURE_ARGS+=	--localstatedir=${VARBASE}
CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR}
CONFIGURE_ARGS+=	--with-extractor=${BUILDLINK_PREFIX.libextractor}
CONFIGURE_ARGS+=	--with-jansson=${BUILDLINK_PREFIX.jansson}
CONFIGURE_ARGS+=	--with-jose=${BUILDLINK_PREFIX.jose}/lib
CONFIGURE_ARGS+=	--with-libgcrypt-prefix=${BUILDLINK_PREFIX.libgcrypt}
CONFIGURE_ARGS+=	--with-microhttpd=${BUILDLINK_PREFIX.libmicrohttpd}
CONFIGURE_ARGS+=	--without-zbar


GNUNET_LOG_DIR=		${VARBASE}/chroot/gnunet/cache
GNUNET_DIR=		${VARBASE}/chroot/gnunet
GNUNET_USER=		gnunet
GNUNET_GROUP=		gnunet
GNUNETDNS_GROUP=	gnunetdns
PKG_SYSCONFSUBDIR=	gnunet

PKG_GROUPS+=		${GNUNET_GROUP}
PKG_GROUPS+=		${GNUNETDNS_GROUP}
PKG_USERS+=		${GNUNET_USER}:${GNUNET_GROUP}
PKG_GECOS.gnunet=	GNUnet System user
PKG_HOME.gnunet=	${GNUNET_DIR}

RCD_SCRIPTS=			gnunet gnunetuser
RCD_SCRIPT_SRC.gnunet=		${FILESDIR}/gnunet.in
RCD_SCRIPT_SRC.gnunetuser=	${FILESDIR}/gnunetuser.in

OWN_DIRS_PERMS+=	${PKG_HOME.gnunet} ${GNUNET_USER} ${GNUNET_GROUP} 0700
OWN_DIRS_PERMS+=	${GNUNET_LOG_DIR} ${GNUNET_USER} ${GNUNET_GROUP} 0755
OWN_DIRS_PERMS+=	${GNUNET_DIR}/data ${GNUNET_USER} ${GNUNET_GROUP} 0700

MAKE_DIRS+=		${GNUNET_DIR}
MAKE_DIRS+=		${GNUNET_DIR}/data
AUTO_MKDIRS=		YES

FILES_SUBST+=		PKG_HOME=${GNUNET_DIR}

EGDIR=			${PREFIX}/share/examples/${PKGBASE}
CONF_FILES+=		${EGDIR}/gnunet.conf ${PKG_SYSCONFDIR}/gnunet.conf
CONF_FILES+=		${EGDIR}/gnunet_user.conf ${PKG_SYSCONFDIR}/gnunet_user.conf

post-extract:
	${CP} ${FILESDIR}/gnunet.conf ${WRKSRC}/gnunet.conf
	${CP} ${FILESDIR}/gnunet_user.conf ${WRKSRC}/gnunet_user.conf
	${CP} ${FILESDIR}/README.pkgsrc.txt ${WRKSRC}/README.pkgsrc.txt

SUBST_CLASSES+=			sysconfdir
SUBST_STAGE.sysconfdir=		pre-configure
SUBST_MESSAGE.sysconfdir=	Fixing paths in gnunet.conf
SUBST_FILES.sysconfdir=		gnunet.conf
SUBST_SED.sysconfdir+=		-e 's,^DEFAULTCONFIG.*,DEFAULTCONFIG = ${PKG_SYSCONFDIR}/gnunet.conf,g'
SUBST_SED.sysconfdir+=		-e 's,^GNUNET_DATA_HOME.*,GNUNET_DATA_HOME = ${GNUNET_DIR}/data,g'
SUBST_SED.sysconfdir+=		-e 's,^GNUNET_RUNTIME_DIR.*,GNUNET_RUNTIME_DIR = ${GNUNET_DIR},g'
SUBST_SED.sysconfdir+=		-e 's,^GNUNET_HOME.*,GNUNET_HOME = ${GNUNET_DIR},g'

post-configure:
	${MKDIR} ${DESTDIR}${EGDIR}
	${INSTALL_DATA} ${WRKSRC}/gnunet.conf ${DESTDIR}${EGDIR}/gnunet.conf
	${INSTALL_DATA} ${WRKSRC}/gnunet_user.conf ${DESTDIR}${EGDIR}/gnunet_user.conf
	${MKDIR} ${DESTDIR}/share/doc/gnunet/
	${INSTALL_DATA} ${WRKSRC}/README.pkgsrc.txt ${DESTDIR}/share/doc/gnunet/README.pkgsrc.txt

# All helpers have to be suid. fs helper must not be suid.
# Some helpers and functionalities are only supported on
# some Operating Systems so far.
SPECIAL_PERMS+=	${PREFIX}/lib/gnunet/libexec/gnunet-helper-testbed ${SETUID_ROOT_PERMS}

# \todo: I have not build this on Linux or FreeBSD.
.if ${OPSYS} == "Linux"
SPECIAL_PERMS+=	${PREFIX}/lib/gnunet/libexec/gnunet-helper-dns ${REAL_ROOT_USER} ${GNUNETDNS_GROUP} 4750
SPECIAL_PERMS+=	${PREFIX}/lib/gnunet/libexec/gnunet-service-dns ${GNUNET_USER} ${GNUNETDNS_GROUP} 2750
SPECIAL_PERMS+=	${PREFIX}/lib/gnunet/libexec/gnunet-helper-exit ${SETUID_ROOT_PERMS}
SPECIAL_PERMS+=	${PREFIX}/lib/gnunet/libexec/gnunet-helper-transport-bluetooth ${SETUID_ROOT_PERMS}
SPECIAL_PERMS+=	${PREFIX}/lib/gnunet/libexec/gnunet-helper-transport-wlan ${SETUID_ROOT_PERMS}
.endif

SPECIAL_PERMS+=	${PREFIX}/lib/gnunet/libexec/gnunet-helper-vpn ${SETUID_ROOT_PERMS}

.if ${OPSYS} == "Linux" || ${OPSYS} == "FreeBSD"
SPECIAL_PERMS+=	${PREFIX}/lib/gnunet/libexec/gnunet-helper-nat-client ${SETUID_ROOT_PERMS}
SPECIAL_PERMS+=	${PREFIX}/lib/gnunet/libexec/gnunet-helper-nat-server ${SETUID_ROOT_PERMS}
.endif

# openssl is currently required by:
# src/transport/gnunet-transport-certificate-creation
# src/gns/gnunet-gns-proxy-setup-ca

.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../devel/gmp/buildlink3.mk"
.include "../../devel/nss/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../devel/libextractor/buildlink3.mk"
.include "../../devel/libgsf/buildlink3.mk"
.include "../../devel/libltdl/buildlink3.mk"
.include "../../net/miniupnpc/buildlink3.mk"
.include "../../security/gnutls/buildlink3.mk"
.include "../../security/libgcrypt/buildlink3.mk"
.include "../../security/libsodium/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../textproc/jansson/buildlink3.mk"
.include "../../textproc/jose/buildlink3.mk"
.include "../../textproc/libunistring/buildlink3.mk"
.include "../../www/curl/buildlink3.mk"
.include "../../www/libmicrohttpd/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/net/gnunet/PLIST
@comment $NetBSD: PLIST,v 1.1 2023/01/31 18:53:46 nikita Exp $
bin/gnunet-arm
bin/gnunet-ats
bin/gnunet-auto-share
bin/gnunet-base32
bin/gnunet-bugreport
bin/gnunet-cadet
bin/gnunet-config
bin/gnunet-core
bin/gnunet-datastore
bin/gnunet-dht-get
bin/gnunet-dht-hello
bin/gnunet-dht-monitor
bin/gnunet-dht-put
bin/gnunet-did
bin/gnunet-directory
bin/gnunet-download
bin/gnunet-ecc
bin/gnunet-fs
bin/gnunet-gns
bin/gnunet-gns-proxy-setup-ca
bin/gnunet-identity
bin/gnunet-messenger
bin/gnunet-namecache
bin/gnunet-namestore
bin/gnunet-namestore-dbtool
bin/gnunet-namestore-zonefile
bin/gnunet-nat
bin/gnunet-nat-auto
bin/gnunet-nat-server
bin/gnunet-nse
bin/gnunet-peerinfo
bin/gnunet-publish
bin/gnunet-reclaim
bin/gnunet-resolver
bin/gnunet-revocation
bin/gnunet-scalarproduct
bin/gnunet-scrypt
bin/gnunet-search
bin/gnunet-statistics
bin/gnunet-testbed-profiler
bin/gnunet-testing
bin/gnunet-transport
bin/gnunet-transport-certificate-creation
bin/gnunet-unindex
bin/gnunet-uri
bin/gnunet-vpn
bin/gnunet-zoneimport
include/gnunet/compat.h
include/gnunet/gettext.h
include/gnunet/gnu_name_system_record_types.h
include/gnunet/gnunet_abd_service.h
include/gnunet/gnunet_applications.h
include/gnunet/gnunet_arm_service.h
include/gnunet/gnunet_ats_application_service.h
include/gnunet/gnunet_ats_plugin.h
include/gnunet/gnunet_ats_service.h
include/gnunet/gnunet_ats_transport_service.h
include/gnunet/gnunet_bandwidth_lib.h
include/gnunet/gnunet_bio_lib.h
include/gnunet/gnunet_block_group_lib.h
include/gnunet/gnunet_block_lib.h
include/gnunet/gnunet_block_plugin.h
include/gnunet/gnunet_buffer_lib.h
include/gnunet/gnunet_cadet_service.h
include/gnunet/gnunet_child_management_lib.h
include/gnunet/gnunet_client_lib.h
include/gnunet/gnunet_common.h
include/gnunet/gnunet_config.h
include/gnunet/gnunet_configuration_lib.h
include/gnunet/gnunet_consensus_service.h
include/gnunet/gnunet_constants.h
include/gnunet/gnunet_container_lib.h
include/gnunet/gnunet_conversation_service.h
include/gnunet/gnunet_core_service.h
include/gnunet/gnunet_crypto_lib.h
include/gnunet/gnunet_curl_lib.h
include/gnunet/gnunet_datacache_lib.h
include/gnunet/gnunet_datacache_plugin.h
include/gnunet/gnunet_datastore_plugin.h
include/gnunet/gnunet_datastore_service.h
include/gnunet/gnunet_db_lib.h
include/gnunet/gnunet_dht_block_types.h
include/gnunet/gnunet_dht_service.h
include/gnunet/gnunet_dhtu_plugin.h
include/gnunet/gnunet_disk_lib.h
include/gnunet/gnunet_dns_service.h
include/gnunet/gnunet_dnsparser_lib.h
include/gnunet/gnunet_dnsstub_lib.h
include/gnunet/gnunet_error_codes.h
include/gnunet/gnunet_fragmentation_lib.h
include/gnunet/gnunet_friends_lib.h
include/gnunet/gnunet_fs_service.h
include/gnunet/gnunet_getopt_lib.h
include/gnunet/gnunet_gns_service.h
include/gnunet/gnunet_gnsrecord_json_lib.h
include/gnunet/gnunet_gnsrecord_lib.h
include/gnunet/gnunet_gnsrecord_plugin.h
include/gnunet/gnunet_hello_lib.h
include/gnunet/gnunet_hello_uri_lib.h
include/gnunet/gnunet_helper_lib.h
include/gnunet/gnunet_identity_service.h
include/gnunet/gnunet_json_lib.h
include/gnunet/gnunet_load_lib.h
include/gnunet/gnunet_messenger_service.h
include/gnunet/gnunet_mhd_compat.h
include/gnunet/gnunet_microphone_lib.h
include/gnunet/gnunet_mq_lib.h
include/gnunet/gnunet_mst_lib.h
include/gnunet/gnunet_my_lib.h
include/gnunet/gnunet_mysql_compat.h
include/gnunet/gnunet_mysql_lib.h
include/gnunet/gnunet_namecache_plugin.h
include/gnunet/gnunet_namecache_service.h
include/gnunet/gnunet_namestore_plugin.h
include/gnunet/gnunet_namestore_service.h
include/gnunet/gnunet_nat_auto_service.h
include/gnunet/gnunet_nat_service.h
include/gnunet/gnunet_nc_lib.h
include/gnunet/gnunet_network_lib.h
include/gnunet/gnunet_nse_service.h
include/gnunet/gnunet_nt_lib.h
include/gnunet/gnunet_op_lib.h
include/gnunet/gnunet_os_lib.h
include/gnunet/gnunet_peer_lib.h
include/gnunet/gnunet_peerinfo_service.h
include/gnunet/gnunet_peerstore_plugin.h
include/gnunet/gnunet_peerstore_service.h
include/gnunet/gnunet_plugin_lib.h
include/gnunet/gnunet_pq_lib.h
include/gnunet/gnunet_program_lib.h
include/gnunet/gnunet_protocols.h
include/gnunet/gnunet_reclaim_lib.h
include/gnunet/gnunet_reclaim_plugin.h
include/gnunet/gnunet_reclaim_service.h
include/gnunet/gnunet_regex_service.h
include/gnunet/gnunet_resolver_service.h
include/gnunet/gnunet_rest_lib.h
include/gnunet/gnunet_rest_plugin.h
include/gnunet/gnunet_revocation_service.h
include/gnunet/gnunet_rps_service.h
include/gnunet/gnunet_scalarproduct_service.h
include/gnunet/gnunet_scheduler_lib.h
include/gnunet/gnunet_secretsharing_service.h
include/gnunet/gnunet_service_lib.h
include/gnunet/gnunet_set_service.h
include/gnunet/gnunet_seti_service.h
include/gnunet/gnunet_setu_service.h
include/gnunet/gnunet_signal_lib.h
include/gnunet/gnunet_signatures.h
include/gnunet/gnunet_socks.h
include/gnunet/gnunet_speaker_lib.h
include/gnunet/gnunet_sq_lib.h
include/gnunet/gnunet_statistics_service.h
include/gnunet/gnunet_strings_lib.h
include/gnunet/gnunet_testbed_logger_service.h
include/gnunet/gnunet_testbed_service.h
include/gnunet/gnunet_testing_barrier.h
include/gnunet/gnunet_testing_lib.h
include/gnunet/gnunet_testing_netjail_lib.h
include/gnunet/gnunet_testing_ng_lib.h
include/gnunet/gnunet_testing_plugin.h
include/gnunet/gnunet_time_lib.h
include/gnunet/gnunet_transport_application_service.h
include/gnunet/gnunet_transport_communication_service.h
include/gnunet/gnunet_transport_core_service.h
include/gnunet/gnunet_transport_hello_service.h
include/gnunet/gnunet_transport_manipulation_service.h
include/gnunet/gnunet_transport_monitor_service.h
include/gnunet/gnunet_transport_plugin.h
include/gnunet/gnunet_transport_service.h
include/gnunet/gnunet_tun_lib.h
include/gnunet/gnunet_uri_lib.h
include/gnunet/gnunet_util_lib.h
include/gnunet/gnunet_vpn_service.h
lib/gnunet/libexec/gnunet-bcd
lib/gnunet/libexec/gnunet-cmds-helper
lib/gnunet/libexec/gnunet-communicator-tcp
lib/gnunet/libexec/gnunet-communicator-udp
lib/gnunet/libexec/gnunet-communicator-unix
lib/gnunet/libexec/gnunet-daemon-exit
lib/gnunet/libexec/gnunet-daemon-hostlist
lib/gnunet/libexec/gnunet-daemon-pt
lib/gnunet/libexec/gnunet-daemon-regexprofiler
lib/gnunet/libexec/gnunet-daemon-testbed-blacklist
lib/gnunet/libexec/gnunet-daemon-topology
lib/gnunet/libexec/gnunet-dns2gns
lib/gnunet/libexec/gnunet-gns-proxy
lib/gnunet/libexec/gnunet-helper-fs-publish
lib/gnunet/libexec/gnunet-helper-testbed
lib/gnunet/libexec/gnunet-namestore-fcfsd
lib/gnunet/libexec/gnunet-rest-server
lib/gnunet/libexec/gnunet-service-arm
lib/gnunet/libexec/gnunet-service-ats
lib/gnunet/libexec/gnunet-service-cadet
lib/gnunet/libexec/gnunet-service-consensus
lib/gnunet/libexec/gnunet-service-core
lib/gnunet/libexec/gnunet-service-datastore
lib/gnunet/libexec/gnunet-service-dht
lib/gnunet/libexec/gnunet-service-dns
lib/gnunet/libexec/gnunet-service-fs
lib/gnunet/libexec/gnunet-service-gns
lib/gnunet/libexec/gnunet-service-identity
lib/gnunet/libexec/gnunet-service-messenger
lib/gnunet/libexec/gnunet-service-namecache
lib/gnunet/libexec/gnunet-service-namestore
lib/gnunet/libexec/gnunet-service-nat
lib/gnunet/libexec/gnunet-service-nat-auto
lib/gnunet/libexec/gnunet-service-nse
lib/gnunet/libexec/gnunet-service-peerinfo
lib/gnunet/libexec/gnunet-service-peerstore
lib/gnunet/libexec/gnunet-service-reclaim
lib/gnunet/libexec/gnunet-service-regex
lib/gnunet/libexec/gnunet-service-resolver
lib/gnunet/libexec/gnunet-service-revocation
lib/gnunet/libexec/gnunet-service-scalarproduct-alice
lib/gnunet/libexec/gnunet-service-scalarproduct-bob
lib/gnunet/libexec/gnunet-service-scalarproduct-ecc-alice
lib/gnunet/libexec/gnunet-service-scalarproduct-ecc-bob
lib/gnunet/libexec/gnunet-service-secretsharing
lib/gnunet/libexec/gnunet-service-set
lib/gnunet/libexec/gnunet-service-seti
lib/gnunet/libexec/gnunet-service-setu
lib/gnunet/libexec/gnunet-service-statistics
lib/gnunet/libexec/gnunet-service-testbed
lib/gnunet/libexec/gnunet-service-testbed-logger
lib/gnunet/libexec/gnunet-service-tng
lib/gnunet/libexec/gnunet-service-transport
lib/gnunet/libexec/gnunet-service-vpn
lib/gnunet/libexec/gnunet-service-zonemaster
lib/gnunet/libexec/gnunet-suidfix
lib/gnunet/libexec/gnunet-timeout
lib/gnunet/libgnunet_plugin_ats_proportional.la
lib/gnunet/libgnunet_plugin_block_consensus.la
lib/gnunet/libgnunet_plugin_block_dht.la
lib/gnunet/libgnunet_plugin_block_dns.la
lib/gnunet/libgnunet_plugin_block_fs.la
lib/gnunet/libgnunet_plugin_block_gns.la
lib/gnunet/libgnunet_plugin_block_regex.la
lib/gnunet/libgnunet_plugin_block_revocation.la
lib/gnunet/libgnunet_plugin_block_set_test.la
lib/gnunet/libgnunet_plugin_block_seti_test.la
lib/gnunet/libgnunet_plugin_block_setu_test.la
lib/gnunet/libgnunet_plugin_block_test.la
lib/gnunet/libgnunet_plugin_datacache_heap.la
lib/gnunet/libgnunet_plugin_datastore_heap.la
lib/gnunet/libgnunet_plugin_dhtu_gnunet.la
lib/gnunet/libgnunet_plugin_dhtu_ip.la
lib/gnunet/libgnunet_plugin_gnsrecord_dns.la
lib/gnunet/libgnunet_plugin_gnsrecord_gns.la
lib/gnunet/libgnunet_plugin_gnsrecord_messenger.la
lib/gnunet/libgnunet_plugin_gnsrecord_reclaim.la
lib/gnunet/libgnunet_plugin_reclaim_attribute_basic.la
lib/gnunet/libgnunet_plugin_reclaim_credential_jwt.la
lib/gnunet/libgnunet_plugin_rest_config.la
lib/gnunet/libgnunet_plugin_rest_copying.la
lib/gnunet/libgnunet_plugin_rest_gns.la
lib/gnunet/libgnunet_plugin_rest_identity.la
lib/gnunet/libgnunet_plugin_rest_namestore.la
lib/gnunet/libgnunet_plugin_rest_openid_connect.la
lib/gnunet/libgnunet_plugin_rest_peerinfo.la
lib/gnunet/libgnunet_plugin_rest_reclaim.la
lib/gnunet/libgnunet_plugin_transport_http_client.la
lib/gnunet/libgnunet_plugin_transport_http_server.la
lib/gnunet/libgnunet_plugin_transport_https_client.la
lib/gnunet/libgnunet_plugin_transport_https_server.la
lib/gnunet/libgnunet_plugin_transport_tcp.la
lib/gnunet/libgnunet_plugin_transport_unix.la
lib/gnunet/libgnunet_plugin_utiltest.la
lib/gnunet/libgnunet_test_transport_plugin_cmd_nat_upnp.la
lib/gnunet/libgnunet_test_transport_plugin_cmd_simple_send.la
lib/gnunet/libgnunet_test_transport_plugin_cmd_simple_send_broadcast.la
lib/gnunet/libgnunet_test_transport_plugin_cmd_simple_send_dv.la
lib/gnunet/libgnunet_test_transport_plugin_cmd_udp_backchannel.la
lib/libgnunetarm.la
lib/libgnunetats.la
lib/libgnunetblock.la
lib/libgnunetblockgroup.la
lib/libgnunetcadet.la
lib/libgnunetconsensus.la
lib/libgnunetcore.la
lib/libgnunetcurl.la
lib/libgnunetdatacache.la
lib/libgnunetdatastore.la
lib/libgnunetdht.la
lib/libgnunetdid.la
lib/libgnunetdns.la
lib/libgnunetfragmentation.la
lib/libgnunetfriends.la
lib/libgnunetfs.la
lib/libgnunetgns.la
lib/libgnunetgnsrecord.la
lib/libgnunetgnsrecordjson.la
lib/libgnunethello.la
lib/libgnunetidentity.la
lib/libgnunetjson.la
lib/libgnunetmessenger.la
lib/libgnunetnamecache.la
lib/libgnunetnamestore.la
lib/libgnunetnatauto.la
lib/libgnunetnatnew.la
lib/libgnunetnse.la
lib/libgnunetnt.la
lib/libgnunetpeerinfo.la
lib/libgnunetpeerstore.la
lib/libgnunetreclaim.la
lib/libgnunetregex.la
lib/libgnunetregexblock.la
lib/libgnunetrest.la
lib/libgnunetrevocation.la
lib/libgnunetscalarproduct.la
lib/libgnunetsecretsharing.la
lib/libgnunetset.la
lib/libgnunetseti.la
lib/libgnunetsetu.la
lib/libgnunetstatistics.la
lib/libgnunettestbed.la
lib/libgnunettestbedlogger.la
lib/libgnunettesting.la
lib/libgnunettestingdhtu.la
lib/libgnunettransport.la
lib/libgnunettransportapplication.la
lib/libgnunettransportcommunicator.la
lib/libgnunettransportcore.la
lib/libgnunettransportmonitor.la
lib/libgnunettransporttesting.la
lib/libgnunettransporttesting2.la
lib/libgnunetutil.la
lib/libgnunetvpn.la
lib/pkgconfig/gnunetarm.pc
lib/pkgconfig/gnunetats.pc
lib/pkgconfig/gnunetblock.pc
lib/pkgconfig/gnunetcadet.pc
lib/pkgconfig/gnunetconsensus.pc
lib/pkgconfig/gnunetconversation.pc
lib/pkgconfig/gnunetcore.pc
lib/pkgconfig/gnunetdatacache.pc
lib/pkgconfig/gnunetdatastore.pc
lib/pkgconfig/gnunetdht.pc
lib/pkgconfig/gnunetdns.pc
lib/pkgconfig/gnunetenv.pc
lib/pkgconfig/gnunetfragmentation.pc
lib/pkgconfig/gnunetfs.pc
lib/pkgconfig/gnunetgns.pc
lib/pkgconfig/gnunethello.pc
lib/pkgconfig/gnunetidentity.pc
lib/pkgconfig/gnunetmicrophone.pc
lib/pkgconfig/gnunetmysql.pc
lib/pkgconfig/gnunetnamestore.pc
lib/pkgconfig/gnunetnat.pc
lib/pkgconfig/gnunetnse.pc
lib/pkgconfig/gnunetpeerinfo.pc
lib/pkgconfig/gnunetregex.pc
lib/pkgconfig/gnunetrevocation.pc
lib/pkgconfig/gnunetrps.pc
lib/pkgconfig/gnunetscalarproduct.pc
lib/pkgconfig/gnunetset.pc
lib/pkgconfig/gnunetspeaker.pc
lib/pkgconfig/gnunetstatistics.pc
lib/pkgconfig/gnunettestbed.pc
lib/pkgconfig/gnunettesting.pc
lib/pkgconfig/gnunettransport.pc
lib/pkgconfig/gnunetutil.pc
lib/pkgconfig/gnunetvpn.pc
man/man1/gnunet-arm.1
man/man1/gnunet-ats.1
man/man1/gnunet-auto-share.1
man/man1/gnunet-base32.1
man/man1/gnunet-bcd.1
man/man1/gnunet-bugreport.1
man/man1/gnunet-cadet.1
man/man1/gnunet-config.1
man/man1/gnunet-conversation-test.1
man/man1/gnunet-conversation.1
man/man1/gnunet-core.1
man/man1/gnunet-datastore.1
man/man1/gnunet-directory.1
man/man1/gnunet-dns2gns.1
man/man1/gnunet-download.1
man/man1/gnunet-ecc.1
man/man1/gnunet-fs.1
man/man1/gnunet-gns-proxy-setup-ca.1
man/man1/gnunet-gns-proxy.1
man/man1/gnunet-gns.1
man/man1/gnunet-identity.1
man/man1/gnunet-namecache.1
man/man1/gnunet-namestore-dbtool.1
man/man1/gnunet-namestore-fcfsd.1
man/man1/gnunet-namestore-zonefile.1
man/man1/gnunet-namestore.1
man/man1/gnunet-nat-auto.1
man/man1/gnunet-nat-server.1
man/man1/gnunet-nat.1
man/man1/gnunet-nse.1
man/man1/gnunet-peerinfo.1
man/man1/gnunet-publish.1
man/man1/gnunet-qr.1
man/man1/gnunet-reclaim.1
man/man1/gnunet-resolver.1
man/man1/gnunet-revocation.1
man/man1/gnunet-scalarproduct.1
man/man1/gnunet-scrypt.1
man/man1/gnunet-search.1
man/man1/gnunet-statistics.1
man/man1/gnunet-testbed-profiler.1
man/man1/gnunet-testing-run-service.1
man/man1/gnunet-timeout.1
man/man1/gnunet-transport-certificate-creation.1
man/man1/gnunet-transport.1
man/man1/gnunet-unindex.1
man/man1/gnunet-uri.1
man/man1/gnunet-vpn.1
man/man1/gnunet-zoneimport.1
man/man5/gnunet.conf.5
share/aclocal/gnunet.m4
share/applications/gnunet-uri.desktop
share/doc/gnunet/COPYING
share/doc/gnunet/README
share/gnunet/config.d/arm.conf
share/gnunet/config.d/ats.conf
share/gnunet/config.d/cadet.conf
share/gnunet/config.d/communicator-unix.conf
share/gnunet/config.d/consensus.conf
share/gnunet/config.d/core.conf
share/gnunet/config.d/datacache.conf
share/gnunet/config.d/datastore.conf
share/gnunet/config.d/dht.conf
share/gnunet/config.d/dhtu.conf
share/gnunet/config.d/dns.conf
share/gnunet/config.d/exit.conf
share/gnunet/config.d/fs.conf
share/gnunet/config.d/gns.conf
share/gnunet/config.d/hostlist.conf
share/gnunet/config.d/identity.conf
share/gnunet/config.d/messenger.conf
share/gnunet/config.d/namecache.conf
share/gnunet/config.d/namestore.conf
share/gnunet/config.d/nat-auto.conf
share/gnunet/config.d/nat.conf
share/gnunet/config.d/nse.conf
share/gnunet/config.d/peerinfo.conf
share/gnunet/config.d/peerstore.conf
share/gnunet/config.d/pt.conf
share/gnunet/config.d/reclaim.conf
share/gnunet/config.d/regex.conf
share/gnunet/config.d/resolver.conf
share/gnunet/config.d/rest.conf
share/gnunet/config.d/revocation.conf
share/gnunet/config.d/scalarproduct.conf
share/gnunet/config.d/secretsharing.conf
share/gnunet/config.d/set.conf
share/gnunet/config.d/seti.conf
share/gnunet/config.d/setu.conf
share/gnunet/config.d/statistics.conf
share/gnunet/config.d/template.conf
share/gnunet/config.d/testbed-logger.conf
share/gnunet/config.d/testbed.conf
share/gnunet/config.d/testing.conf
share/gnunet/config.d/tlds.conf
share/gnunet/config.d/topology.conf
share/gnunet/config.d/transport.conf
share/gnunet/config.d/util.conf
share/gnunet/config.d/vpn.conf
share/gnunet/config.d/zonemaster.conf
share/gnunet/def.tex
share/gnunet/fcfsd-forbidden.html
share/gnunet/fcfsd-index.html
share/gnunet/fcfsd-notfound.html
share/gnunet/gns-bcd-forbidden.html
share/gnunet/gns-bcd-internal-error.html
share/gnunet/gns-bcd-invalid-key.html
share/gnunet/gns-bcd-not-found.html
share/gnunet/gns-bcd-png.tex
share/gnunet/gns-bcd-simple.html
share/gnunet/gns-bcd-simple.tex
share/gnunet/gns-bcd.html
share/gnunet/gns-bcd.tex
share/gnunet/gnunet-gns-proxy-ca.template
share/gnunet/gnunet-logo-dark-only-text.svg
share/gnunet/gnunet-logo-dark-text.svg
share/gnunet/gnunet-logo.png
share/gnunet/hellos/Y924NSHMMZ1N1SQCE5TXF93ED6S6JY311K0QT86G9WJC68F6XVZ0
share/gnunet/netjail_core.sh
share/gnunet/netjail_exec.sh
share/gnunet/netjail_start.sh
share/gnunet/netjail_stop.sh
share/gnunet/services/openrc/gnunet.initd
share/gnunet/services/systemd/gnunet-user.service
share/gnunet/services/systemd/gnunet.service
share/gnunet/services/systemd/sysusers-gnunet.conf
share/gnunet/services/systemd/tmpfiles-gnunet.conf
share/gnunet/testing_hostkeys.ecc
share/gnunet/topo.sh
share/locale/de/LC_MESSAGES/gnunet.mo
share/locale/es/LC_MESSAGES/gnunet.mo
share/locale/fr/LC_MESSAGES/gnunet.mo
share/locale/it/LC_MESSAGES/gnunet.mo
share/locale/sr/LC_MESSAGES/gnunet.mo
share/locale/sv/LC_MESSAGES/gnunet.mo
share/locale/vi/LC_MESSAGES/gnunet.mo
share/locale/zh_CN/LC_MESSAGES/gnunet.mo

File Added: pkgsrc/net/gnunet/PLIST.conversations
@comment $NetBSD: PLIST.conversations,v 1.1 2023/01/31 18:53:46 nikita Exp $
bin/gnunet-conversation
bin/gnunet-conversation-test
lib/gnunet/libexec/gnunet-helper-audio-playback
lib/gnunet/libexec/gnunet-helper-audio-record
lib/gnunet/libexec/gnunet-service-conversation
lib/gnunet/libgnunet_plugin_gnsrecord_conversation.la
lib/libgnunetconversation.la
lib/libgnunetmicrophone.la
lib/libgnunetspeaker.la
share/gnunet/config.d/conversation.conf

File Added: pkgsrc/net/gnunet/PLIST.doc
@comment $NetBSD: PLIST.doc,v 1.1 2023/01/31 18:53:46 nikita Exp $
info/gnunet.info
man/man1/gnunet-dht-get.1
man/man1/gnunet-dht-hello.1
man/man1/gnunet-dht-monitor.1
man/man1/gnunet-dht-put.1
man/man1/gnunet-did.1
man/man1/gnunet-messenger.1
man/man1/gnunet-testing.1
share/doc/gnunet/html/.buildinfo
share/doc/gnunet/html/_images/ascension_ssd.png
share/doc/gnunet/html/_images/daemon_lego_block.png
share/doc/gnunet/html/_images/gnunet-gtk-0-10-fs-publish-editing.png
share/doc/gnunet/html/_images/gnunet-gtk-0-10-fs-publish-select.png
share/doc/gnunet/html/_images/gnunet-gtk-0-10-fs-publish-with-file.png
share/doc/gnunet/html/_images/gnunet-gtk-0-10-fs-publish.png
share/doc/gnunet/html/_images/messenger_room.png
share/doc/gnunet/html/_images/service_lego_block.png
share/doc/gnunet/html/_images/service_stack.png
share/doc/gnunet/html/_images/tng.png
share/doc/gnunet/html/_sources/about.rst.txt
share/doc/gnunet/html/_sources/developers/contributing.rst.txt
share/doc/gnunet/html/_sources/developers/doxygen.rst.txt
share/doc/gnunet/html/_sources/developers/index.rst.txt
share/doc/gnunet/html/_sources/developers/repo.rst.txt
share/doc/gnunet/html/_sources/developers/rest/config.rst.txt
share/doc/gnunet/html/_sources/developers/rest/configuration.rst.txt
share/doc/gnunet/html/_sources/developers/rest/conventions.rst.txt
share/doc/gnunet/html/_sources/developers/rest/gns.rst.txt
share/doc/gnunet/html/_sources/developers/rest/identity.rst.txt
share/doc/gnunet/html/_sources/developers/rest/index.rst.txt
share/doc/gnunet/html/_sources/developers/rest/namestore.rst.txt
share/doc/gnunet/html/_sources/developers/rest/peerinfo.rst.txt
share/doc/gnunet/html/_sources/developers/style.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/apps.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/ats/ats.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/cadet/cadet.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/core/core.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/corestack.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/deps.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/dht/dht.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/fs/fs.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/gns/gns.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/gnsstack.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/hostlist/hostlist.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/identity/identity.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/index.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/messenger/messenger.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/namecache/namecache.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/namestore/namestore.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/nse/nse.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/peerinfo/peerinfo.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/peerstore/peerstore.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/regex/regex.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/rest/rest.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/revocation/revocation.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/rps/rps.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/set/set.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/seti/seti.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/setops.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/setu/setu.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/stability.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/statistics/statistics.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/transport-ng/transport-ng.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/transport/transport.rst.txt
share/doc/gnunet/html/_sources/developers/subsystems/vpnstack.rst.txt
share/doc/gnunet/html/_sources/developers/tutorial.rst.txt
share/doc/gnunet/html/_sources/developers/util/index.rst.txt
share/doc/gnunet/html/_sources/faq.rst.txt
share/doc/gnunet/html/_sources/gana/gnu_name_system_record_flags.rst.txt
share/doc/gnunet/html/_sources/gana/gnu_name_system_record_types.rst.txt
share/doc/gnunet/html/_sources/gana/gnunet_dht_block_types.rst.txt
share/doc/gnunet/html/_sources/gana/gnunet_error_codes.rst.txt
share/doc/gnunet/html/_sources/gana/gnunet_signatures.rst.txt
share/doc/gnunet/html/_sources/gana/index.rst.txt
share/doc/gnunet/html/_sources/gana/intro.rst.txt
share/doc/gnunet/html/_sources/gana/tlds.rst.txt
share/doc/gnunet/html/_sources/guis/fs-gtk.rst.txt
share/doc/gnunet/html/_sources/guis/gtk.rst.txt
share/doc/gnunet/html/_sources/guis/index.rst.txt
share/doc/gnunet/html/_sources/index.rst.txt
share/doc/gnunet/html/_sources/installing.rst.txt
share/doc/gnunet/html/_sources/livingstandards.rst.txt
share/doc/gnunet/html/_sources/users/configuration.rst.txt
share/doc/gnunet/html/_sources/users/fs.rst.txt
share/doc/gnunet/html/_sources/users/gns.rst.txt
share/doc/gnunet/html/_sources/users/index.rst.txt
share/doc/gnunet/html/_sources/users/messenger.rst.txt
share/doc/gnunet/html/_sources/users/reclaim.rst.txt
share/doc/gnunet/html/_sources/users/start.rst.txt
share/doc/gnunet/html/_sources/users/vpn.rst.txt
share/doc/gnunet/html/_static/_sphinx_javascript_frameworks_compat.js
share/doc/gnunet/html/_static/basic.css
share/doc/gnunet/html/_static/css/badge_only.css
share/doc/gnunet/html/_static/css/custom.css
share/doc/gnunet/html/_static/css/theme.css
share/doc/gnunet/html/_static/doctools.js
share/doc/gnunet/html/_static/documentation_options.js
share/doc/gnunet/html/_static/file.png
share/doc/gnunet/html/_static/gnunet-blue.png
share/doc/gnunet/html/_static/jquery-3.6.0.js
share/doc/gnunet/html/_static/jquery.js
share/doc/gnunet/html/_static/js/badge_only.js
share/doc/gnunet/html/_static/js/theme.js
share/doc/gnunet/html/_static/language_data.js
share/doc/gnunet/html/_static/minus.png
share/doc/gnunet/html/_static/plus.png
share/doc/gnunet/html/_static/pygments.css
share/doc/gnunet/html/_static/searchtools.js
share/doc/gnunet/html/_static/underscore-1.13.1.js
share/doc/gnunet/html/_static/underscore.js
share/doc/gnunet/html/about.html
share/doc/gnunet/html/developers/contributing.html
share/doc/gnunet/html/developers/doxygen.html
share/doc/gnunet/html/developers/index.html
share/doc/gnunet/html/developers/repo.html
share/doc/gnunet/html/developers/rest/config.html
share/doc/gnunet/html/developers/rest/configuration.html
share/doc/gnunet/html/developers/rest/conventions.html
share/doc/gnunet/html/developers/rest/gns.html
share/doc/gnunet/html/developers/rest/identity.html
share/doc/gnunet/html/developers/rest/index.html
share/doc/gnunet/html/developers/rest/namestore.html
share/doc/gnunet/html/developers/rest/peerinfo.html
share/doc/gnunet/html/developers/style.html
share/doc/gnunet/html/developers/subsystems/apps.html
share/doc/gnunet/html/developers/subsystems/ats/ats.html
share/doc/gnunet/html/developers/subsystems/cadet/cadet.html
share/doc/gnunet/html/developers/subsystems/core/core.html
share/doc/gnunet/html/developers/subsystems/corestack.html
share/doc/gnunet/html/developers/subsystems/deps.html
share/doc/gnunet/html/developers/subsystems/dht/dht.html
share/doc/gnunet/html/developers/subsystems/fs/fs.html
share/doc/gnunet/html/developers/subsystems/gns/gns.html
share/doc/gnunet/html/developers/subsystems/gnsstack.html
share/doc/gnunet/html/developers/subsystems/hostlist/hostlist.html
share/doc/gnunet/html/developers/subsystems/identity/identity.html
share/doc/gnunet/html/developers/subsystems/index.html
share/doc/gnunet/html/developers/subsystems/messenger/messenger.html
share/doc/gnunet/html/developers/subsystems/namecache/namecache.html
share/doc/gnunet/html/developers/subsystems/namestore/namestore.html
share/doc/gnunet/html/developers/subsystems/nse/nse.html
share/doc/gnunet/html/developers/subsystems/peerinfo/peerinfo.html
share/doc/gnunet/html/developers/subsystems/peerstore/peerstore.html
share/doc/gnunet/html/developers/subsystems/regex/regex.html
share/doc/gnunet/html/developers/subsystems/rest/rest.html
share/doc/gnunet/html/developers/subsystems/revocation/revocation.html
share/doc/gnunet/html/developers/subsystems/rps/rps.html
share/doc/gnunet/html/developers/subsystems/set/set.html
share/doc/gnunet/html/developers/subsystems/seti/seti.html
share/doc/gnunet/html/developers/subsystems/setops.html
share/doc/gnunet/html/developers/subsystems/setu/setu.html
share/doc/gnunet/html/developers/subsystems/stability.html
share/doc/gnunet/html/developers/subsystems/statistics/statistics.html
share/doc/gnunet/html/developers/subsystems/transport-ng/transport-ng.html
share/doc/gnunet/html/developers/subsystems/transport/transport.html
share/doc/gnunet/html/developers/subsystems/vpnstack.html
share/doc/gnunet/html/developers/tutorial.html
share/doc/gnunet/html/developers/util/index.html
share/doc/gnunet/html/faq.html
share/doc/gnunet/html/gana/gnu_name_system_record_flags.html
share/doc/gnunet/html/gana/gnu_name_system_record_types.html
share/doc/gnunet/html/gana/gnunet_dht_block_types.html
share/doc/gnunet/html/gana/gnunet_error_codes.html
share/doc/gnunet/html/gana/gnunet_signatures.html
share/doc/gnunet/html/gana/index.html
share/doc/gnunet/html/gana/intro.html
share/doc/gnunet/html/gana/tlds.html
share/doc/gnunet/html/genindex.html
share/doc/gnunet/html/guis/fs-gtk.html
share/doc/gnunet/html/guis/gtk.html
share/doc/gnunet/html/guis/index.html
share/doc/gnunet/html/index.html
share/doc/gnunet/html/installing.html
share/doc/gnunet/html/livingstandards.html
share/doc/gnunet/html/objects.inv
share/doc/gnunet/html/search.html
share/doc/gnunet/html/searchindex.js
share/doc/gnunet/html/users/configuration.html
share/doc/gnunet/html/users/fs.html
share/doc/gnunet/html/users/gns.html
share/doc/gnunet/html/users/index.html
share/doc/gnunet/html/users/messenger.html
share/doc/gnunet/html/users/reclaim.html
share/doc/gnunet/html/users/start.html
share/doc/gnunet/html/users/vpn.html

File Added: pkgsrc/net/gnunet/PLIST.experimental
@comment $NetBSD: PLIST.experimental,v 1.1 2023/01/31 18:53:46 nikita Exp $
bin/gnunet-abd
bin/gnunet-auction-create
bin/gnunet-auction-info
bin/gnunet-auction-join
bin/gnunet-rps
lib/gnunet/libexec/gnunet-service-abd
lib/gnunet/libexec/gnunet-service-auction
lib/gnunet/libexec/gnunet-service-rps
lib/gnunet/libgnunet_plugin_gnsrecord_abd.la
lib/gnunet/libgnunet_plugin_namecache_flat.la
lib/gnunet/libgnunet_plugin_peerstore_flat.la
lib/gnunet/libgnunet_plugin_transport_udp.la
lib/libgnunetabd.la
lib/libgnunetrps.la
share/gnunet/config.d/abd.conf
share/gnunet/config.d/auction.conf
share/gnunet/config.d/rps.conf

File Added: pkgsrc/net/gnunet/PLIST.mysql
@comment $NetBSD: PLIST.mysql,v 1.1 2023/01/31 18:53:46 nikita Exp $
lib/gnunet/libgnunet_plugin_datastore_mysql.la
lib/libgnunetmy.la
lib/libgnunetmysql.la

File Added: pkgsrc/net/gnunet/Attic/PLIST.perl
@comment $NetBSD: PLIST.perl,v 1.1 2023/01/31 18:53:46 nikita Exp $
bin/gnunet-logread
bin/gnunet-logread-ipc
bin/gnunet-logread-ipc-sdedit

File Added: pkgsrc/net/gnunet/PLIST.pgsql
@comment $NetBSD: PLIST.pgsql,v 1.1 2023/01/31 18:53:46 nikita Exp $
lib/gnunet/libgnunet_plugin_datacache_postgres.la
lib/gnunet/libgnunet_plugin_datastore_postgres.la
lib/gnunet/libgnunet_plugin_namecache_postgres.la
lib/gnunet/libgnunet_plugin_namestore_postgres.la
lib/libgnunetpq.la
share/gnunet/sql/versioning.sql

File Added: pkgsrc/net/gnunet/PLIST.sqlite3
@comment $NetBSD: PLIST.sqlite3,v 1.1 2023/01/31 18:53:46 nikita Exp $
lib/gnunet/libexec/gnunet-daemon-latency-logger
lib/gnunet/libexec/gnunet-daemon-testbed-underlay
lib/gnunet/libgnunet_plugin_datacache_sqlite.la
lib/gnunet/libgnunet_plugin_datastore_sqlite.la
lib/gnunet/libgnunet_plugin_namecache_sqlite.la
lib/gnunet/libgnunet_plugin_namestore_sqlite.la
lib/gnunet/libgnunet_plugin_peerstore_sqlite.la
lib/libgnunetsq.la
share/gnunet/sql/datacache-0001.sql
share/gnunet/sql/datacache-drop.sql
share/gnunet/sql/datastore-0001.sql
share/gnunet/sql/datastore-drop.sql
share/gnunet/sql/namecache-0001.sql
share/gnunet/sql/namecache-drop.sql
share/gnunet/sql/namestore-0001.sql
share/gnunet/sql/namestore-drop.sql

File Added: pkgsrc/net/gnunet/buildlink3.mk
# $NetBSD: buildlink3.mk,v 1.1 2023/01/31 18:53:46 nikita Exp $

BUILDLINK_TREE+=	gnunet

.if !defined(GNUNET_BUILDLINK3_MK)
GNUNET_BUILDLINK3_MK:=

BUILDLINK_API_DEPENDS.gnunet+=	gnunet>=0.19.2
BUILDLINK_PKGSRCDIR.gnunet?=	../../net/gnunet

pkgbase:= gnunet
.include "../../mk/pkg-build-options.mk"

.if ${PKG_BUILD_OPTIONS.gnunet:Mtests}
.include "../../lang/python/tool.mk"
.endif

.if ${PKG_BUILD_OPTIONS.gnunet:Midn}
.include "../../devel/libidn2/buildlink3.mk"
.else
.include "../../devel/libidn/buildlink3.mk"
.endif

.if ${PKG_BUILD_OPTIONS.gnunet:Msqlite3}
.include "../../databases/sqlite3/buildlink3.mk"
.endif

.if ${PKG_BUILD_OPTIONS.gnunet:Mmysql}
.include "../../databases/mysql80-client/buildlink3.mk"
.endif

.if ${PKG_BUILD_OPTIONS.gnunet:Mpgsql}
.include "../../mk/pgsql.buildlink3.mk"
.endif

.if ${PKG_BUILD_OPTIONS.gnunet:Maudio}
.  if ${PKG_BUILD_OPTIONS.gnunet:Mopus}
.include "../../audio/libopus/buildlink3.mk"
.  endif

.  if ${PKG_BUILD_OPTIONS.gnunet:Mogg}
.include "../../multimedia/libogg/buildlink3.mk"
.  endif

.  if ${PKG_BUILD_OPTIONS.gnunet:Mgstreamer}
.include "../../multimedia/gstreamer1/buildlink3.mk"
.include "../../multimedia/gst-plugins1-base/buildlink3.mk"
.  endif

.  if ${PKG_BUILD_OPTIONS.gnunet:Mpulseaudio}
.include "../../audio/pulseaudio/buildlink3.mk"
.  endif
.endif

#.if ${PKG_BUILD_OPTIONS.gnunet:Mzbar}
#.include "../../graphics/zbar/buildlink3.mk"
#.endif

.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../devel/gmp/buildlink3.mk"
.include "../../devel/libextractor/buildlink3.mk"
.include "../../devel/libgsf/buildlink3.mk"
.include "../../devel/libltdl/buildlink3.mk"
.include "../../devel/nss/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../security/gnutls/buildlink3.mk"
.include "../../security/libgcrypt/buildlink3.mk"
.include "../../security/libsodium/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../textproc/jansson/buildlink3.mk"
.include "../../textproc/jose/buildlink3.mk"
.include "../../textproc/libunistring/buildlink3.mk"
.include "../../www/curl/buildlink3.mk"
.include "../../www/libmicrohttpd/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"

#.if ${OPSYS} == "Linux" && ${PKG_BUILD_OPTIONS.gnunet:Mbluez}
#.include "../../wip/bluez-libs/buildlink3.mk"
#.endif

.endif # GNUNET_BUILDLINK3_MK

BUILDLINK_TREE+=	-gnunet

File Added: pkgsrc/net/gnunet/distinfo
$NetBSD: distinfo,v 1.1 2023/01/31 18:53:46 nikita Exp $

BLAKE2s (gnunet-0.19.2.tar.gz) = d0cbea9dc08a81639bf2dc5c7a4c6cb710752a421b1c90aa646592f4e2806f0f
SHA512 (gnunet-0.19.2.tar.gz) = 916224b771fef679b857502aabbaac9948588d8c2094e0f6144fccfefd6a21a777f569288958862efd89606882985c180c40713573d74413897c3742068bb47c
Size (gnunet-0.19.2.tar.gz) = 9003040 bytes
SHA1 (patch-src_include_gnunet_common.h) = 44a0f31cd3d7fa4df5491cf9cf2efa31e695cdb9
SHA1 (patch-src_setu_gnunet-service-setu.c) = 2e6c8eb895544fe79e27edec85e37379ec9b3783

File Added: pkgsrc/net/gnunet/options.mk
# $NetBSD: options.mk,v 1.1 2023/01/31 18:53:46 nikita Exp $

PKG_OPTIONS_VAR=		PKG_OPTIONS.gnunet

PKG_SUPPORTED_OPTIONS+=		doc idn mysql pgsql tests
PKG_SUPPORTED_OPTIONS+=		experimental pulseaudio
PKG_SUPPORTED_OPTIONS+=		opus ogg sqlite3 audio
PKG_SUPPORTED_OPTIONS+=		gstreamer perl verbose-logging

PKG_SUGGESTED_OPTIONS+=		audio gstreamer opus ogg
PKG_SUGGESTED_OPTIONS+=		idn doc sqlite3

# bluez is still in pkgsrc-wip, and I should test this
# before claiming bluez from pkgsrc-wip on Linux works.
# However, this is a supported option for GNUnet.
# gnunet-qr needs zbar with video support. v4l2 only works
# on Linux. v4l2 on NetBSD needs some work for zbar maybe?
# Furthermore we need to start building zbar with video support
# for this to work on any system.
#.if ${OPSYS} == "Linux"
#PKG_SUPPORTED_OPTIONS+=		bluez zbar
# outdated package, update the package in wip
# PKG_SUGGESTED_OPTIONS+=		bluez
#PKG_SUGGESTED_OPTIONS+=		zbar
#.endif

# We use several PLIST files, as the build process is
# rather lengthy, and keeping it in one file for every
# option is not easy on the one doing the updates.
PLIST_SRC=			PLIST

.include "../../mk/bsd.options.mk"

.if ${PKG_OPTIONS:Mtests}
.include "../../lang/python/tool.mk"
PYTHON_FOR_BUILD_ONLY=	yes
CONFIGURE_ARGS+=	--enable-testruns
.else
CONFIGURE_ARGS+=	--disable-testruns
.endif

# \XXX: 7 MB in size, but useful (although we could strip off some files).
.if ${PKG_OPTIONS:Mdoc}
.include "../../lang/python/tool.mk"
TOOL_DEPENDS+=		${PYPKGPREFIX}-sphinx-[0-9]*:../../textproc/py-sphinx
BUILD_DEPENDS+=		${PYPKGPREFIX}-sphinx-rtd-theme-[0-9]*:../../textproc/py-sphinx-rtd-theme
BUILD_DEPENDS+=		${PYPKGPREFIX}-docutils>=0.12:../../textproc/py-docutils
CONFIGURE_ARGS+=	--enable-documentation
PLIST_SRC+=		PLIST.doc
INFO_FILES=yes
.else
CONFIGURE_ARGS+=	--disable-documentation
.endif

# idn is mandatory but idn or idn2 can be used with a preference for
# idn2.
.if ${PKG_OPTIONS:Midn}
.include "../../devel/libidn2/buildlink3.mk"
CONFIGURE_ARGS+=	--with-libidn=${BUILDLINK_PREFIX.libidn2}
.else
.include "../../devel/libidn/buildlink3.mk"
CONFIGURE_ARGS+=	--with-libidn=${BUILDLINK_PREFIX.libidn}
.endif

# database support - they don't exclude other databases,
# you can have mysql, pgsql, and the default all built in.
# ideally we would check for at least sqlite3 existing, but
# the build won't build when you have none of them.
.if ${PKG_OPTIONS:Msqlite3}
.include "../../databases/sqlite3/buildlink3.mk"
CONFIGURE_ARGS+=	--with-sqlite3=${BUILDLINK_PREFIX.sqlite3}
PLIST_SRC+=		PLIST.sqlite3
.else
CONFIGURE_ARGS+=	--without-sqlite3
.endif

# \todo: does not build at the moment
.if ${PKG_OPTIONS:Mmysql}
.include "../../databases/mysql80-client/buildlink3.mk"
CONFIGURE_ARGS+=	--with-mysql=${BUILDLINK_PREFIX.mysql-client}
CONFIGURE_ENV+=		MYSQL_LIBDIR=${BUILDLINK_PREFIX.mysql-client}/lib
PLIST_SRC+=		PLIST.mysql
.else
CONFIGURE_ARGS+=	--without-mysql
.endif

.if ${PKG_OPTIONS:Mpgsql}
.include "../../mk/pgsql.buildlink3.mk"
CONFIGURE_ARGS+=	--with-postgresql=yes
PLIST_SRC+=		PLIST.pgsql
.else
CONFIGURE_ARGS+=	--without-postgresql
.endif

.if ${PKG_OPTIONS:Mexperimental}
CONFIGURE_ARGS+=	--enable-experimental
PLIST_SRC+=		PLIST.experimental
.  if ${PKG_OPTIONS:Mverbose-logging}
CONFIGURE_ARGS+=	--enable-logging=verbose
.  endif
.else
CONFIGURE_ARGS+=	--disable-experimental
.endif

# conversation submodule. if gstreamer + opus + ogg
# exists, pulseaudio is not necessary. gnunet-gtk
# conditionally builds a binary if the conversation
# submodule is build by gnunet.
.if ${PKG_OPTIONS:Maudio}
.  if ${PKG_OPTIONS:Mopus}
.include "../../audio/libopus/buildlink3.mk"
CONFIGURE_ARGS+=	--with-opus=${BUILDLINK_PREFIX.libopus}
PLIST_SRC+=		PLIST.conversations
.  else
CONFIGURE_ARGS+=	--without-opus
.  endif

.  if ${PKG_OPTIONS:Mogg}
.include "../../multimedia/libogg/buildlink3.mk"
CONFIGURE_ARGS+=	--with-ogg=${BUILDLINK_PREFIX.libogg}
PLIST_SRC+=		PLIST.conversations
.  else
CONFIGURE_ARGS+=	--without-ogg
.  endif

.  if ${PKG_OPTIONS:Mgstreamer}
.include "../../multimedia/gstreamer1/buildlink3.mk"
.include "../../multimedia/gst-plugins1-base/buildlink3.mk"
PLIST_SRC+=		PLIST.conversations
.  endif

.  if ${PKG_OPTIONS:Mpulseaudio}
.include "../../audio/pulseaudio/buildlink3.mk"
CONFIGURE_ARGS+=	--with-pulse=${BUILDLINK_PREFIX.pulseaudio}
PLIST_SRC+=		PLIST.conversations
.  else
CONFIGURE_ARGS+=	--without-pulse
.  endif
.endif

#.if ${PKG_OPTIONS:Mzbar}
#.include "../../graphics/zbar/buildlink3.mk"
#CONFIGURE_ARGS+=	--with-zbar=${BUILDLINK_PREFIX.zbar}
#PLIST.zbar=		yes
#.else
#CONFIGURE_ARGS+=	--without-zbar
#.endif

# FIXME: It would be good to provide a build of gnunet against
# 'gnutls build against libdane/unbound' iff unbound is selected,
# causing consequentially a build of gnutls with this setting.
# Since gnunet does build against either of these and gnutls
# without libdane is more common in pkgsrc, this should be
# an option. The conditional below doesn't work.
# .if !empty(PKG_OPTIONS:Munbound) && empty(PKG_BUILD_OPTIONS.gnutls:Munbound)
# PKG_FAIL_REASON+=	"Requires the unbound option enabled in gnutls"
# .endif

# \XXX: last time I tried to build it on Linux, bluez failed to build
#.if ${OPSYS} == "Linux" && ${PKG_OPTIONS:Mbluez}
# Do we need more for bluez?
#.include "../../wip/bluez-libs/buildlink3.mk"
#CONFIGURE_ARGS+=	--with-libbluetooth=${BUILDLINK_PREFIX.bluez-libs}
#PLIST.bluez=		yes
#.endif

# \todo: there are files which only exist on Linux, only on FreeBSD,
# and on both of them.  I have neither of them. If you do, please
# create the appropriate PLIST files with content.

# Fix the perl path
.if ${PKG_OPTIONS:Mperl}
USE_TOOLS+=		perl:run
PLIST_SRC+=		PLIST.perl
CONFIGURE_ARGS+=	--with-gnunet-logread
REPLACE_INTERPRETER+=	envperl
REPLACE.envperl.old=	.*@PERLEXE@
REPLACE.envperl.new=	${PERL5}
REPLACE_FILES.envperl=	contrib/scripts/gnunet-logread/gnunet-logread-ipc-sdedit.in
REPLACE_FILES.envperl=	contrib/scripts/gnunet-logread/gnunet-logread.in
.endif

File Added: pkgsrc/net/gnunet/files/README.pkgsrc.txt
===========================================================================
$NetBSD: README.pkgsrc.txt,v 1.1 2023/01/31 18:53:46 nikita Exp $

To enable this package, put the following into your /etc/rc.conf:

	gnunet=YES

and ensure that

	${RCD_SCRIPTS_DIR}/gnunet start

is run at the appropriate time.
Each GNUnet user should be added to the ${GNUNET_GROUP}.

Each GNUnet user must add a ~/.config/gnunet.conf file
with these lines:

[arm]
START_SYSTEM_SERVICES = NO
START_USER_SERVICES = YES


Finally, each user in this multi-user setup, must start
gnunet with "gnunet-arm -s".

You can achieve this (for one user) with this in your /etc/rc.conf:

        gnunetuser=YES
        gnunetuser_user=name
        gnunetuser_user_home="/home/name"

if your user name is "name", and

	${RCD_SCRIPTS_DIR}/gnunetuser start

Read the documentation (info gnunet) and provided example
files as well as the man pages to learn how to customize
your peer configuration. An online documentation is
provided at https://docs.gnunet.org/ as well as offline at
${PREFIX}/share/doc/gnunet/html/index.html.
===========================================================================

File Added: pkgsrc/net/gnunet/files/gnunet.conf
[PATHS]
DEFAULTCONFIG = /usr/pkg/etc/gnunet/gnunet.conf
GNUNET_DATA_HOME = @GNUNET_DIR@/data
GNUNET_HOME = @GNUNET_DIR@

[arm]
START_SYSTEM_SERVICES = YES
START_USER_SERVICES = NO

[ats]
WAN_QUOTA_IN = unlimited
WAN_QUOTA_OUT = unlimited

[hostlist]
OPTIONS = -b -e

[transport-http_client]
# Hostname or IP of proxy server
#PROXY = 127.0.0.1
# Valid values: HTTP, SOCKS4, SOCKS5, SOCKS4A, SOCKS5_HOSTNAME
#PROXY_TYPE = SOCKS5
# Enable tunneling proxy request instead of having proxy server evaluate it
#PROXY_HTTP_TUNNELING = NO

[transport-https_client]
#PROXY = 127.0.0.1
#PROXY_TYPE = SOCKS5

# how to do exits and hidden services
[exit]
#IMMEDIATE_START = YES
#DNS_RESOLVER = 10.0.1.1
#EXIT_DNS = YES
#EXIT_IPV4 = YES
#EXIT_RANGE_IPV4_POLICY = 169.254.0.0/16;

#[http.gnunet.]
# example for a "public" service with no shared secret
# instead of "http" i could have put "www" or "whatever"
#TCP_REDIRECTS = 80:169.254.86.1:80

[ohaithisisoursharedsecret.gnunet.]
# multiport configuration as would be used with 'psyced'
#TCP_REDIRECTS = 23:169.254.86.1:2323;4404:169.254.86.1:4404;6667:169.254.86.1:6667

# client side, server needs to offer exit instead
#[vpn]
#IMMEDIATE_START = NO

# network size estimation:
# do not calculate proof-of-work on test installations
#[nse]
#WORKBITS = 0

File Added: pkgsrc/net/gnunet/files/gnunet.in
#!@RCD_SCRIPTS_SHELL@
#
# PROVIDE: gnunet
# REQUIRE: DAEMON NETWORKING LOGIN
# KEYWORD: shutdown
#
# You will need to set some variables in /etc/rc.conf to start gnunet:
#
# gnunet=YES

if [ -f /etc/rc.subr ]
then
	. /etc/rc.subr
fi

name="gnunet"
rcvar=${name}
command="@PREFIX@/lib/gnunet/libexec/gnunet-service-arm"
command_args="-c @PKG_SYSCONFDIR@/gnunet.conf -d -l @VARBASE@/chroot/gnunet/cache/gnunet-%Y-%m-%d.log"
required_files="@PKG_SYSCONFDIR@/gnunet.conf"
pidfile="/tmp/gnunet-gnunet-runtime/gnunet-service-arm.sock"
: ${gnunet_user:=gnunet}
: ${gnunet_group:=gnunet}
: ${gnunet_home:=@VARBASE@/chroot/gnunet}
: ${gnunetdns_group:=gnunetdns}
start_cmd="gnunet_start"
start_precmd="gnunet_precmd"
stop_cmd="gnunet_stop"

# XXX: We need to export PATH with appended /usr/pkg/{sbin,bin} to get
# the upnpc binary and others.
# We can not use export here.
check_path="@SU@ -m ${gnunet_user} -c '${PATH}'"
case "$check_path" in
*@PREFIX@/bin*|*@PREFIX@/sbin*)
	;;
*)
	PATH=${PATH}:@PREFIX@/bin:@PREFIX@/sbin
	;;
esac

gnunet_env="PATH=${PATH} HOME=${gnunet_home} USER=${gnunet_user} TMP=/tmp GNUNET_PREFIX=@PREFIX@ GNUNET_CACHE_HOME=${gnunet_home}/cache"

check_pidfile()
{
	pid=$(pgrep -U "${gnunet_user}" "${command}"$)
	echo -n "${pid}"
}

gnunet_precmd()
{
	if [ ! -f ${required_files} ]; then
		warn "${required_files} does not exist."
		return 1
	fi
}

gnunet_start()
{
	@ECHO@ "Starting ${name}."
	doit="@SU@ -m ${gnunet_user} -c '${gnunet_env} ${command} ${command_args}'"
	eval $doit
}

gnunet_stop()
{
	echo "Stopping ${name}."
	doit="@SU@ -m ${gnunet_user} -c '${gnunet_env} ${command} ${command_args} -e'"
	eval $doit
}


if [ -f /etc/rc.subr -a -f /etc/rc.conf -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]; then
	# newer NetBSD
	load_rc_config $name
	run_rc_command "$1"
else
	# old NetBSD, Solaris and illumos, Linux, etc.
	pidfile="${gnunet_home}/${name}.pid"
	cmd=${1:-start}
	case ${cmd} in
	restart)
		( $0 stop )
		sleep 5
		$0 start
		;;
	stop)
		echo "Stopping ${name}."
		check_pidfile
		! [ -n ${pid} ] && eval ${stop_cmd}
		;;
	start)
		echo "Starting ${name}."
		eval ${start_precmd}
		eval ${start_cmd}
		;;
	*)
		echo 1>&2 "Usage: $0 [start|stop|restart]"
		exit 1
		;;
	esac
	exit 0
fi

File Added: pkgsrc/net/gnunet/files/gnunet_user.conf
# Use this file as a ~/.config/gnunet.conf if you do not
# create it yourself.
[arm]
START_SYSTEM_SERVICES = NO
START_USER_SERVICES = YES

File Added: pkgsrc/net/gnunet/files/gnunetuser.in
#!@RCD_SCRIPTS_SHELL@
#
# PROVIDE: gnunetuser
# REQUIRE: DAEMON NETWORKING LOGIN gnunet
# KEYWORD: shutdown
#
# You will need to set some variables in /etc/rc.conf to start gnunet:
#
# gnunetuser=YES
# gnunetuser_user=name                  # your account name
# gnunetuser_user_home="/home/name"     # your home location

if [ -f /etc/rc.subr ]
then
	. /etc/rc.subr
fi

name="gnunetuser"
rcvar=${name}
command="@PREFIX@/bin/gnunet-arm"

: ${gnunetuser_user_home:=/home/nowhere}
: ${gnunetuser_user:=noone}

if [ -f /etc/rc.subr -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]; then
	load_rc_config $name
elif [ -f /etc/rc.conf ]; then
	. /etc/rc.conf
fi

command_args="-c ${gnunetuser_user_home}/.config/gnunet.conf"
required_files="${gnunetuser_user_home}/.config/gnunet.conf"
pidfile="/tmp/gnunet-${gnunetuser_user}-runtime/gnunet-service-arm.sock"

start_cmd="gnunet_start"
start_precmd="gnunet_precmd"
restart_cmd="gnunet_restart"
stop_cmd="gnunet_stop"

gnunet_env="HOME=${gnunetuser_user_home} USER=${gnunetuser_user} TMP=/tmp GNUNET_PREFIX=@PREFIX@"

check_pidfile()
{
	pid=$(pgrep -U "$gnunetuser_user" "${command}"$)
	echo -n "${pid}"
}

gnunet_precmd()
{
	if [ ! -f ${required_files} ]; then
		warn "${required_files} does not exist."
		warn "You have to create a gnunet user config first."
		return 1
	fi
}

gnunet_start()
{
	@ECHO@ "Starting ${name}."
	doit="@SU@ -m ${gnunetuser_user} -c '${gnunet_env} ${command} ${command_args} -s'"
	eval $doit
}

gnunet_restart()
{
	@ECHO@ "Restarting ${name}."
	doit="@SU@ -m ${gnunetuser_user} -c '${gnunet_env} ${command} ${command_args} -r'"
	eval $doit
}

# stopping this is broken (with one service hanging around until you KILL it).
gnunet_stop()
{
	@ECHO@ "Stopping ${name}."
	doit="@SU@ -m ${gnunetuser_user} -c '${gnunet_env} ${command} ${command_args} -e'"
	pkill -f gnunet-rest-server
	kill -9 $(pgrep -f gnunet-rest-server)
	eval $doit
}

if [ -f /etc/rc.subr -a -f /etc/rc.conf -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]; then
	# newer NetBSD
	load_rc_config $name
	run_rc_command "$1"
else
	# old NetBSD, Solaris and illumos, Linux, etc.
	cmd=${1:-start}
	case ${cmd} in
	restart)
		( $0 stop )
		sleep 5
		$0 start
		;;
	stop)
		echo "Stopping ${name}."
		check_pidfile
		! [ -n ${pid} ] && eval ${stop_cmd}
		;;
	start)
		echo "Starting ${name}."
		eval ${start_precmd}
		eval ${start_cmd}
		;;
	*)
		echo 1>&2 "Usage: $0 [start|stop|restart]"
		exit 1
		;;
	esac
	exit 0
fi

File Added: pkgsrc/net/gnunet/patches/patch-src_include_gnunet_common.h
$NetBSD: patch-src_include_gnunet_common.h,v 1.1 2023/01/31 18:53:46 nikita Exp $

Patch adopted from Debian.
Defining BYTE_SWAP_* on big endian systems to fix FTBFS.
Authored by Gianfranco Costamagna <locutusofborg@debian.org>.

--- src/include/gnunet_common.h.orig
+++ src/include/gnunet_common.h
@@ -178,6 +178,15 @@ enum GNUNET_GenericReturnValue
 #define GNUNET_le64toh(x) (x)
 #endif
 #if __BYTE_ORDER == __BIG_ENDIAN
+#ifdef HAVE_BYTESWAP_H
+#define BYTE_SWAP_16(x) bswap_16 (x)
+#define BYTE_SWAP_32(x) bswap_32 (x)
+#define BYTE_SWAP_64(x) bswap_64 (x)
+#else
+#define BYTE_SWAP_16(x) __bswap_16 (x)
+#define BYTE_SWAP_32(x) __bswap_32 (x)
+#define BYTE_SWAP_64(x) __bswap_64 (x)
+#endif
 #define GNUNET_htobe16(x) (x)
 #define GNUNET_htole16(x) BYTE_SWAP_16 (x)
 #define GNUNET_be16toh(x) (x)

File Added: pkgsrc/net/gnunet/patches/patch-src_setu_gnunet-service-setu.c
$NetBSD: patch-src_setu_gnunet-service-setu.c,v 1.1 2023/01/31 18:53:46 nikita Exp $

Crudely fix NetBSD's missing log2l.

--- src/setu/gnunet-service-setu.c.orig	2022-03-18 23:02:08.123202128 +0100
+++ src/setu/gnunet-service-setu.c	2022-03-18 23:03:42.434385369 +0100
@@ -38,6 +38,10 @@
 #include "gnunet_setu_service.h"
 #include "setu.h"
 
+#ifdef __NetBSD__
+#define log2l log2
+#endif
+
 #define LOG(kind, ...) GNUNET_log_from (kind, "setu", __VA_ARGS__)
 
 /**