git: c97e0a5de96f - main - www/pacparser: Add new port

From: Emanuel Haupt <ehaupt_at_FreeBSD.org>
Date: Sat, 19 Aug 2023 08:56:03 UTC
The branch main has been updated by ehaupt:

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

commit c97e0a5de96f513a7dae3810e95915e3b90461af
Author:     Emanuel Haupt <ehaupt@FreeBSD.org>
AuthorDate: 2023-08-19 08:55:52 +0000
Commit:     Emanuel Haupt <ehaupt@FreeBSD.org>
CommitDate: 2023-08-19 08:55:52 +0000

    www/pacparser: Add new port
    
    Pacparser is a library to parse proxy auto-config (PAC) files. Proxy
    auto-config files are a vastly used proxy configuration method these
    days. Web browsers can use a PAC file to determine which proxy server to
    use or whether to go direct for a given URL. PAC files are written in
    JavaScript and can be programmed to return different proxy methods
    depending upon URL, source IP address, protocol, time of the day etc.
    PAC files introduce a lot of possibilities.
---
 www/Makefile            |  3 ++-
 www/pacparser/Makefile  | 54 +++++++++++++++++++++++++++++++++++++++++++++++++
 www/pacparser/distinfo  |  3 +++
 www/pacparser/pkg-descr |  7 +++++++
 www/pacparser/pkg-plist | 25 +++++++++++++++++++++++
 5 files changed, 91 insertions(+), 1 deletion(-)

diff --git a/www/Makefile b/www/Makefile
index d2d427b33d77..3a5281422b2f 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -1326,6 +1326,7 @@
     SUBDIR += p5-pQuery
     SUBDIR += p5-webservice-validator-css-w3c
     SUBDIR += p5-webservice-validator-html-w3c
+    SUBDIR += pacparser
     SUBDIR += payara
     SUBDIR += pear-HTML_AJAX
     SUBDIR += pear-HTML_TagCloud
@@ -1855,8 +1856,8 @@
     SUBDIR += qt6-httpserver
     SUBDIR += qt6-webchannel
     SUBDIR += qt6-webengine
-    SUBDIR += qt6-webview
     SUBDIR += qt6-websockets
+    SUBDIR += qt6-webview
     SUBDIR += quark
     SUBDIR += qutebrowser
     SUBDIR += radicale
diff --git a/www/pacparser/Makefile b/www/pacparser/Makefile
new file mode 100644
index 000000000000..aaacfc8feaa8
--- /dev/null
+++ b/www/pacparser/Makefile
@@ -0,0 +1,54 @@
+PORTNAME=	pacparser
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.4.2.20230816
+CATEGORIES=	www
+
+MAINTAINER=	ehaupt@FreeBSD.org
+COMMENT=	Library to parse proxy auto-config (PAC) files
+WWW=		https://github.com/manugarg/pacparser
+
+LICENSE=	LGPL3
+LICENSE_FILE=	${WRKSRC}/../COPYING
+
+BUILD_DEPENDS=	bash:shells/bash
+
+USES=		gmake
+USE_GITHUB=	yes
+GH_ACCOUNT=	manugarg
+GH_TAGNAME=	e29c1a3
+USE_LDCONFIG=	yes
+
+MAKE_ENV+=	NO_INTERNET=\#
+MAKE_JOBS_UNSAFE=	yes
+
+WRKSRC_SUBDIR=	src
+
+PLIST_SUB=	VER=${PORTVERSION}
+PORTDOCS=	*
+
+OPTIONS_DEFINE=		DOCS PYTHON
+OPTIONS_DEFAULT=	PYTHON
+
+PYTHON_BUILD_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR}
+PYTHON_USES=		python
+PYTHON_MAKE_ENV+=	PYTHON=${PYTHON_CMD}
+
+PYTHON_ALL_TARGET=	all pymod
+PYTHON_INSTALL_TARGET=	install install-pymod
+
+PYTHON_PLIST_SUB=	PYBIND=""
+PYTHON_PLIST_SUB_OFF=	PYBIND="@comment "
+
+post-patch-PYTHON-on:
+	@${REINPLACE_CMD} \
+		-e "s|version=pacparser_version()|version=\"${DISTVERSION}\"|" \
+		${WRKSRC}/pymod/setup.py
+
+post-install:
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/pactester
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libpacparser.so.1
+
+post-install-PYTHON-on:
+	${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/pacparser/_pacparser.cpython-*.so
+
+.include <bsd.port.mk>
diff --git a/www/pacparser/distinfo b/www/pacparser/distinfo
new file mode 100644
index 000000000000..f26af5112a95
--- /dev/null
+++ b/www/pacparser/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1692258769
+SHA256 (manugarg-pacparser-v1.4.2.20230816-e29c1a3_GH0.tar.gz) = 654bac4383cfbbacaa3a42e0d460e94e35ac90d7488b4fe6538d314d16e0f61d
+SIZE (manugarg-pacparser-v1.4.2.20230816-e29c1a3_GH0.tar.gz) = 904050
diff --git a/www/pacparser/pkg-descr b/www/pacparser/pkg-descr
new file mode 100644
index 000000000000..e1bf2d53abc2
--- /dev/null
+++ b/www/pacparser/pkg-descr
@@ -0,0 +1,7 @@
+Pacparser is a library to parse proxy auto-config (PAC) files. Proxy
+auto-config files are a vastly used proxy configuration method these
+days. Web browsers can use a PAC file to determine which proxy server to
+use or whether to go direct for a given URL. PAC files are written in
+JavaScript and can be programmed to return different proxy methods
+depending upon URL, source IP address, protocol, time of the day etc.
+PAC files introduce a lot of possibilities.
diff --git a/www/pacparser/pkg-plist b/www/pacparser/pkg-plist
new file mode 100644
index 000000000000..58905f53844e
--- /dev/null
+++ b/www/pacparser/pkg-plist
@@ -0,0 +1,25 @@
+bin/pactester
+include/pacparser.h
+lib/libpacparser.so
+lib/libpacparser.so.1
+share/man/man1/pactester.1.gz
+share/man/man3/pacparser.3.gz
+share/man/man3/pacparser_cleanup.3.gz
+share/man/man3/pacparser_enable_microsoft_extensions.3.gz
+share/man/man3/pacparser_error_printer.3.gz
+share/man/man3/pacparser_find_proxy.3.gz
+share/man/man3/pacparser_init.3.gz
+share/man/man3/pacparser_just_find_proxy.3.gz
+share/man/man3/pacparser_parse_pac.3.gz
+share/man/man3/pacparser_parse_pac_file.3.gz
+share/man/man3/pacparser_parse_pac_string.3.gz
+share/man/man3/pacparser_set_error_printer.3.gz
+share/man/man3/pacparser_setmyip.3.gz
+share/man/man3/pacparser_version.3.gz
+%%PYBIND%%%%PYTHON_SITELIBDIR%%/pacparser-%%VER%%-py%%PYTHON_VER%%.egg-info/PKG-INFO
+%%PYBIND%%%%PYTHON_SITELIBDIR%%/pacparser-%%VER%%-py%%PYTHON_VER%%.egg-info/SOURCES.txt
+%%PYBIND%%%%PYTHON_SITELIBDIR%%/pacparser-%%VER%%-py%%PYTHON_VER%%.egg-info/dependency_links.txt
+%%PYBIND%%%%PYTHON_SITELIBDIR%%/pacparser-%%VER%%-py%%PYTHON_VER%%.egg-info/top_level.txt
+%%PYBIND%%%%PYTHON_SITELIBDIR%%/pacparser/__init__.py
+%%PYBIND%%%%PYTHON_SITELIBDIR%%/pacparser/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYBIND%%%%PYTHON_SITELIBDIR%%/pacparser/_pacparser%%PYTHON_EXT_SUFFIX%%.so