git: 71caea389e53 - main - www/cas: resurrect^Wreadd the port and update to latest version

From: Alexey Dokuchaev <danfe_at_FreeBSD.org>
Date: Fri, 18 Oct 2024 20:06:32 UTC
The branch main has been updated by danfe:

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

commit 71caea389e5352be8de3179de84d04f39434f757
Author:     Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2024-10-18 20:03:30 +0000
Commit:     Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2024-10-18 20:03:30 +0000

    www/cas: resurrect^Wreadd the port and update to latest version
    
    - Unbreak and update to version 3.8.0 (fetched from GitHub)
    - Drop the options which did not pull additional dependencies
      and simply controlled what would be packaged (this is what
      subpackages are for)
    - Amend the port description based on the debian/control file
---
 www/Makefile                       |  1 +
 www/cas/Makefile                   | 45 ++++++++++++++++++
 www/cas/distinfo                   |  3 ++
 www/cas/files/patch-CMakeLists.txt | 21 +++++++++
 www/cas/pkg-descr                  |  2 +
 www/cas/pkg-plist                  | 93 ++++++++++++++++++++++++++++++++++++++
 6 files changed, 165 insertions(+)

diff --git a/www/Makefile b/www/Makefile
index 1a572f681957..61637308439b 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -91,6 +91,7 @@
     SUBDIR += calamaris-devel
     SUBDIR += caldavzap
     SUBDIR += carbonapi
+    SUBDIR += cas
     SUBDIR += castget
     SUBDIR += castor
     SUBDIR += cgi-lib
diff --git a/www/cas/Makefile b/www/cas/Makefile
new file mode 100644
index 000000000000..40f86bfe4e0d
--- /dev/null
+++ b/www/cas/Makefile
@@ -0,0 +1,45 @@
+PORTNAME=	cas
+PORTVERSION=	3.8.0
+CATEGORIES=	www devel
+
+MAINTAINER=	danfe@FreeBSD.org
+COMMENT=	C++ Application Server
+WWW=		https://github.com/CommunicoPublic/cas
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+LIB_DEPENDS=	libctpp2.so:textproc/ctpp2 \
+		libexpat.so:textproc/expat2 \
+		libpcre.so:devel/pcre
+
+USES=		cmake:insource iconv ssl
+USE_GITHUB=	yes
+GH_ACCOUNT=	CommunicoPublic
+GH_TAGNAME=	4fbf8e3
+USE_LDCONFIG=	yes
+
+.if !defined(WITH_DEBUG)
+CMAKE_OFF+=	DEBUG_MODE
+.endif
+
+OPTIONS_DEFINE=	APACHE EXAMPLES XMLRPC
+OPTIONS_DEFAULT=	APACHE XMLRPC
+OPTIONS_SUB=	yes
+
+APACHE_USES=		apache
+APACHE_CMAKE_OFF=	-DBUILD_APACHE2X_MODULE:BOOL=OFF
+
+EXAMPLES_CMAKE_OFF=	-DINSTALL_EXAMPLE_MODULES:BOOL=OFF
+
+XMLRPC_DESC=		Build cURL-based XMLRPC client
+XMLRPC_LIB_DEPENDS=	libcurl.so:ftp/curl
+XMLRPC_CMAKE_OFF=	-DBUILD_CURL_XMLRPC_CLIENT:BOOL=OFF
+
+post-patch:
+	@${REINPLACE_CMD} -e 's,real_pcre,&8_or_16,' \
+		${WRKSRC}/include/ASPCRE.hpp
+	@${REINPLACE_CMD} -e 's,while (szString,while (*szString,' \
+		${WRKSRC}/src/SAPI/util/ASSAPIUtil.cpp
+
+.include <bsd.port.mk>
diff --git a/www/cas/distinfo b/www/cas/distinfo
new file mode 100644
index 000000000000..388306a3a73a
--- /dev/null
+++ b/www/cas/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1467392942
+SHA256 (CommunicoPublic-cas-3.8.0-4fbf8e3_GH0.tar.gz) = 2d2feaa0cd54c129138bcdcdc70b4b1ab0b16270287bc8b029ad1b91c2d5e369
+SIZE (CommunicoPublic-cas-3.8.0-4fbf8e3_GH0.tar.gz) = 179314
diff --git a/www/cas/files/patch-CMakeLists.txt b/www/cas/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..ece2aca985f5
--- /dev/null
+++ b/www/cas/files/patch-CMakeLists.txt
@@ -0,0 +1,21 @@
+--- CMakeLists.txt.orig	2016-07-01 17:09:02 UTC
++++ CMakeLists.txt
+@@ -36,6 +36,9 @@ SET(CAS_LIB_DIR            "lib"     CACHE STRING "Lib
+ # CAS share dir
+ SET(CAS_SHAREDIR "${CMAKE_INSTALL_PREFIX}/share/cas")
+ 
++# CAS config dir
++SET(CAS_CONFDIR "${CMAKE_INSTALL_PREFIX}/etc/cas")
++
+ # Force linking with libstdc++, need for Solaris
+ SET(FORCE_LBSTDCPP_LINKING "OFF")
+ 
+@@ -949,7 +952,7 @@ IF (INSTALL_CAS_CONFIGS MATCHES "ON")
+     INSTALL(FILES conf/global-config.xml.sample
+                   conf/vhost-config.xml.sample
+                   conf/module-config.xml.sample
+-            DESTINATION ${CAS_SHAREDIR}/conf
++            DESTINATION ${CAS_CONFDIR}
+             PERMISSIONS OWNER_READ OWNER_WRITE
+                         GROUP_READ
+                         WORLD_READ)
diff --git a/www/cas/pkg-descr b/www/cas/pkg-descr
new file mode 100644
index 000000000000..24cd452e0897
--- /dev/null
+++ b/www/cas/pkg-descr
@@ -0,0 +1,2 @@
+CAS is a fast, powerful, and extensible HTTP and XML/JSON/BSON-RPC
+application server, written in C++.
diff --git a/www/cas/pkg-plist b/www/cas/pkg-plist
new file mode 100644
index 000000000000..a6068b5b45bd
--- /dev/null
+++ b/www/cas/pkg-plist
@@ -0,0 +1,93 @@
+bin/cas-config
+bin/cas-globalconf
+bin/cas-hostconf
+bin/cas-regexp
+bin/cas-server
+bin/cas-xmlrpc-parser
+bin/cas-xt
+%%ETCDIR%%/global-config.xml.sample
+%%ETCDIR%%/module-config.xml.sample
+%%ETCDIR%%/vhost-config.xml.sample
+include/cas/ASConfigErrorHandler.hpp
+include/cas/ASCookie.hpp
+include/cas/ASDataFilter.hpp
+include/cas/ASDebugHelper.hpp
+include/cas/ASEventCodes.hpp
+include/cas/ASException.hpp
+include/cas/ASFile.hpp
+include/cas/ASFilePool.hpp
+include/cas/ASGenericConfigHandler.hpp
+include/cas/ASGetOpt.hpp
+include/cas/ASGlobalConfig.hpp
+include/cas/ASHandler.hpp
+include/cas/ASHandlerConfig.hpp
+include/cas/ASHostConfig.hpp
+include/cas/ASLoadableObject.hpp
+include/cas/ASLoader.hpp
+include/cas/ASLocation.hpp
+include/cas/ASLocationURI.hpp
+include/cas/ASLogCodes.hpp
+include/cas/ASLogger.hpp
+include/cas/ASMD5.hpp
+include/cas/ASModule.hpp
+include/cas/ASNetworkRange.hpp
+include/cas/ASObject.hpp
+include/cas/ASObjectLoader.hpp
+include/cas/ASPCRE.hpp
+include/cas/ASPool.hpp
+include/cas/ASPreRequestHandler.hpp
+include/cas/ASPreRequestHandlerConfig.hpp
+include/cas/ASProfiler.hpp
+include/cas/ASRequest.hpp
+include/cas/ASResourceStorage.hpp
+include/cas/ASResponse.hpp
+include/cas/ASResponseCodes.hpp
+include/cas/ASResponseWriter.hpp
+include/cas/ASServer.hpp
+include/cas/ASServerContext.hpp
+include/cas/ASServerManager.hpp
+include/cas/ASSysHeaders.h
+include/cas/ASTemplate.hpp
+include/cas/ASTypes.hpp
+include/cas/ASUtil.hpp
+include/cas/ASView.hpp
+include/cas/ASViewConfig.hpp
+include/cas/ASXMLHandler.hpp
+include/cas/ASXMLParser.hpp
+%%XMLRPC%%include/cas/ASXMLRPCClient.hpp
+include/cas/ASXMLRPCHandler.hpp
+include/cas/STLException.hpp
+include/cas/STLFunctional.hpp
+include/cas/STLMap.hpp
+include/cas/STLPair.hpp
+include/cas/STLString.hpp
+include/cas/STLVector.hpp
+lib/libcas.a
+lib/libcas.so
+lib/libcas.so.3.8
+lib/libcas.so.3.8.0
+%%EXAMPLES%%lib/libexampleclass.so
+%%EXAMPLES%%lib/libexampleclass.so.3.8
+%%EXAMPLES%%lib/libexampleclass.so.3.8.0
+%%APACHE%%libexec/apache24/mod_cas2.so
+libexec/cas/mod_bson_view.so
+libexec/cas/mod_bsonrpc_view.so
+libexec/cas/mod_ctpp_view.so
+%%EXAMPLES%%libexec/cas/mod_example_handler.so
+%%EXAMPLES%%libexec/cas/mod_example_module.so
+%%EXAMPLES%%libexec/cas/mod_example_view.so
+libexec/cas/mod_json_view.so
+libexec/cas/mod_jsonrpc_view.so
+libexec/cas/mod_plain_view.so
+libexec/cas/mod_tabseparated_view.so
+libexec/cas/mod_xml_view.so
+libexec/cas/mod_xmlrpc_view.so
+sbin/cas-fcgid
+%%DATADIR%%/examples/request.json
+%%DATADIR%%/xt/CMakeLists.tmpl
+%%DATADIR%%/xt/ConfigureLibrary.cmake
+%%DATADIR%%/xt/ConfigurePackage.cmake
+%%DATADIR%%/xt/HandlerTemplate.tmpl
+%%DATADIR%%/xt/PreRequestHandlerTemplate.tmpl
+%%DATADIR%%/xt/RenameModule.cmake
+%%DATADIR%%/xt/ViewTemplate.tmpl