git: 909c172b80a5 - main - security/beidconnect: New port, version 2.10

From: Tijl Coosemans <tijl_at_FreeBSD.org>
Date: Sat, 23 Mar 2024 11:29:51 UTC
The branch main has been updated by tijl:

URL: https://cgit.FreeBSD.org/ports/commit/?id=909c172b80a5c0fe633b2185b49c09a6977675e1

commit 909c172b80a5c0fe633b2185b49c09a6977675e1
Author:     Tijl Coosemans <tijl@FreeBSD.org>
AuthorDate: 2024-03-19 20:42:59 +0000
Commit:     Tijl Coosemans <tijl@FreeBSD.org>
CommitDate: 2024-03-23 11:28:22 +0000

    security/beidconnect: New port, version 2.10
    
    BeIDConnect is a browser extension to sign documents with a Belgian eID
    card.
---
 security/Makefile                               |  1 +
 security/beidconnect/Makefile                   | 30 +++++++++++++++++++++++++
 security/beidconnect/distinfo                   |  3 +++
 security/beidconnect/files/patch-linux_Makefile | 26 +++++++++++++++++++++
 security/beidconnect/pkg-descr                  | 10 +++++++++
 security/beidconnect/pkg-plist                  |  3 +++
 6 files changed, 73 insertions(+)

diff --git a/security/Makefile b/security/Makefile
index 646803f0dea2..e050b2c879b5 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -51,6 +51,7 @@
     SUBDIR += bearssl
     SUBDIR += beecrypt
     SUBDIR += beid
+    SUBDIR += beidconnect
     SUBDIR += belier
     SUBDIR += bfbtester
     SUBDIR += binwalk
diff --git a/security/beidconnect/Makefile b/security/beidconnect/Makefile
new file mode 100644
index 000000000000..e77d705a4be9
--- /dev/null
+++ b/security/beidconnect/Makefile
@@ -0,0 +1,30 @@
+PORTNAME=	beidconnect
+DISTVERSION=	2.10
+CATEGORIES=	security
+
+MAINTAINER=	tijl@FreeBSD.org
+COMMENT=	Belgian eID digital signature browser extension backend
+WWW=		https://github.com/Fedict/fts-beidconnect
+
+LICENSE=	MIT
+
+BUILD_DEPENDS=	${LOCALBASE}/include/boost/property_tree/ptree.hpp:devel/boost-libs
+LIB_DEPENDS=	libpcsclite.so:devel/pcsc-lite
+
+USES=		gmake localbase pkgconfig
+USE_GITHUB=	yes
+GH_ACCOUNT=	Fedict
+GH_PROJECT=	fts-beidconnect
+
+ALL_TARGET=	beidconnect
+BUILD_WRKSRC=	${WRKSRC}/linux
+INSTALL_WRKSRC=	${WRKSRC}/linux
+
+post-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/etc/chromium/native-messaging-hosts
+	${MKDIR} ${STAGEDIR}${PREFIX}/lib/mozilla/native-messaging-hosts
+	${STAGEDIR}${PREFIX}/bin/beidconnect -setup ${PREFIX}/bin \
+		${STAGEDIR}${PREFIX}/etc/chromium/native-messaging-hosts \
+		${STAGEDIR}${PREFIX}/lib/mozilla/native-messaging-hosts
+
+.include <bsd.port.mk>
diff --git a/security/beidconnect/distinfo b/security/beidconnect/distinfo
new file mode 100644
index 000000000000..daae3777bb16
--- /dev/null
+++ b/security/beidconnect/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1710861679
+SHA256 (Fedict-fts-beidconnect-2.10_GH0.tar.gz) = 59f99e378b17aa85331f5082a4ab5dd5c2dfced1962b1a5fde4e53d385dd9080
+SIZE (Fedict-fts-beidconnect-2.10_GH0.tar.gz) = 1696103
diff --git a/security/beidconnect/files/patch-linux_Makefile b/security/beidconnect/files/patch-linux_Makefile
new file mode 100644
index 000000000000..febdd7405820
--- /dev/null
+++ b/security/beidconnect/files/patch-linux_Makefile
@@ -0,0 +1,26 @@
+--- linux/Makefile.orig	2023-11-13 21:45:08 UTC
++++ linux/Makefile
+@@ -1,16 +1,19 @@
++CFLAGS ?= -O2
++CXXFLAGS ?= -O2
+ PLDFLAGS = $(shell pkg-config --libs libpcsclite)
+ PCFLAGS = $(shell pkg-config --cflags libpcsclite)
++PREFIX ?= /usr
+ beidconnect: asn1.o BEIDCard.o CardFactory.o CardReader.o CertChainRequestHandler.o comm.o hash.o InfoRequestHandler.o log.o main.o native.o ReaderList.o Request.o RequestHandler.o SCard.o SignRequestHandler.o UserCertsRequestHandler.o util.o VersionRequestHandler.o VirtualCard.o VirtualReader.o x509Util.o crypto.o setup.o test.o IDRequestHandler.o
+ 	$(CXX) $^ $(PLDFLAGS) $(LDFLAGS) -o $@
+ 
+ %.o: ../common/%.cpp
+-	$(CXX) -c -O2 -std=gnu++11 $(CXXFLAGS) $(PCFLAGS) -fPIE -I../common -o $@ $<
++	$(CXX) -c -std=gnu++11 $(CXXFLAGS) $(PCFLAGS) -fPIE -I../common -o $@ $<
+ %.o: ../common/%.c
+-	$(CC) -c -O2 -std=gnu99 $(CFLAGS) $(PCFLAGS) -fPIE -I../common -o $@ $<
++	$(CC) -c -std=gnu99 $(CFLAGS) $(PCFLAGS) -fPIE -I../common -o $@ $<
+ 
+ install:
+-	install -d $(DESTDIR)/usr/bin
+-	install -m 755 beidconnect $(DESTDIR)/usr/bin/
++	install -d $(DESTDIR)$(PREFIX)/bin
++	install -m 755 beidconnect $(DESTDIR)$(PREFIX)/bin/
+ 
+ clean:
+ 	rm -f *.o beidconnect
diff --git a/security/beidconnect/pkg-descr b/security/beidconnect/pkg-descr
new file mode 100644
index 000000000000..0d630809d2b3
--- /dev/null
+++ b/security/beidconnect/pkg-descr
@@ -0,0 +1,10 @@
+BeIDConnect is a browser extension to sign documents with a Belgian eID
+card.
+
+Only belgium.be and fgov.be websites can make use of the BeIDConnect
+extension to create an electronic signature.  These websites are
+operated by institutions of the Belgian federal government.
+
+This package only contains the backend that connects with your card
+reader.  The extension itself has to be installed through your web
+browser.
diff --git a/security/beidconnect/pkg-plist b/security/beidconnect/pkg-plist
new file mode 100644
index 000000000000..29b2db6a0aaa
--- /dev/null
+++ b/security/beidconnect/pkg-plist
@@ -0,0 +1,3 @@
+bin/beidconnect
+etc/chromium/native-messaging-hosts/be.bosa.beidconnect.json
+lib/mozilla/native-messaging-hosts/be.bosa.beidconnect.json