git: 47f90fecad58 - main - biology/libcombine: New port: C++ library for working with the COMBINE archive format

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Fri, 21 Oct 2022 07:05:10 UTC
The branch main has been updated by yuri:

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

commit 47f90fecad58186514d8c977f75c2db2c5252e35
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-10-21 07:04:23 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-10-21 07:05:07 +0000

    biology/libcombine: New port: C++ library for working with the COMBINE archive format
---
 biology/Makefile                                   |  1 +
 biology/libcombine/Makefile                        | 30 +++++++++++++++
 biology/libcombine/distinfo                        |  7 ++++
 .../files/patch-CMakeModules_FindLIBSBML.cmake     | 23 ++++++++++++
 .../files/patch-dev_generated_CMakeLists.txt       | 11 ++++++
 biology/libcombine/pkg-descr                       |  4 ++
 biology/libcombine/pkg-plist                       | 43 ++++++++++++++++++++++
 7 files changed, 119 insertions(+)

diff --git a/biology/Makefile b/biology/Makefile
index 1c570b26ebb9..25ed50f54925 100644
--- a/biology/Makefile
+++ b/biology/Makefile
@@ -80,6 +80,7 @@
     SUBDIR += kmcp
     SUBDIR += lamarc
     SUBDIR += libbigwig
+    SUBDIR += libcombine
     SUBDIR += libgff
     SUBDIR += libgtextutils
     SUBDIR += libneurosim
diff --git a/biology/libcombine/Makefile b/biology/libcombine/Makefile
new file mode 100644
index 000000000000..888059b5caad
--- /dev/null
+++ b/biology/libcombine/Makefile
@@ -0,0 +1,30 @@
+PORTNAME=	libcombine
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.2.19
+CATEGORIES=	biology
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	C++ library for working with the COMBINE archive format
+WWW=		https://sbml.org/software/libsbml/
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE.md
+
+LIB_DEPENDS=	libsbml.so:biology/libsbml
+
+USES=		cmake:testing gnome localbase:ldflags
+USE_GNOME=	libxml2
+USE_LDCONFIG=	yes
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	sbmlteam
+GH_PROJECT=	libCombine
+GH_TUPLE=	fbergmann:zipper:6f54c03:zipper/src/zipper \
+		sebastiandev:minizip:e3a8cb7:zipper_minizip/src/zipper/minizip
+
+CMAKE_OFF=	BUILD_TEST
+CMAKE_TESTING_ON=	BUILD_TEST # tests fail to build, see https://github.com/sbmlteam/libCombine/issues/58
+
+LDFLAGS+=	-lsbml # FindSBML.cmake fails to set this link flag
+
+.include <bsd.port.mk>
diff --git a/biology/libcombine/distinfo b/biology/libcombine/distinfo
new file mode 100644
index 000000000000..935e8183950b
--- /dev/null
+++ b/biology/libcombine/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1666331339
+SHA256 (sbmlteam-libCombine-v0.2.19_GH0.tar.gz) = a9ac562cca70cd8862b3f3cd65c98e8e455896732a8e1d3ee1ff32bf8ec02ac5
+SIZE (sbmlteam-libCombine-v0.2.19_GH0.tar.gz) = 1524012
+SHA256 (fbergmann-zipper-6f54c03_GH0.tar.gz) = 61aba13ecc2cb23617cf6496bc67739820a7b8c203b3dbb0ce9fddd0a68598d6
+SIZE (fbergmann-zipper-6f54c03_GH0.tar.gz) = 124726
+SHA256 (sebastiandev-minizip-e3a8cb7_GH0.tar.gz) = 14492faf0694bf075312626ffba0fe6fcfccb450001db5b01fece2134d69a75d
+SIZE (sebastiandev-minizip-e3a8cb7_GH0.tar.gz) = 85593
diff --git a/biology/libcombine/files/patch-CMakeModules_FindLIBSBML.cmake b/biology/libcombine/files/patch-CMakeModules_FindLIBSBML.cmake
new file mode 100644
index 000000000000..c7d6e386f2c3
--- /dev/null
+++ b/biology/libcombine/files/patch-CMakeModules_FindLIBSBML.cmake
@@ -0,0 +1,23 @@
+--- CMakeModules/FindLIBSBML.cmake.orig	2022-10-21 06:11:59 UTC
++++ CMakeModules/FindLIBSBML.cmake
+@@ -124,9 +124,7 @@ endif (NOT LIBSBML_INCLUDE_DIR)
+ 
+ 
+ find_library(LIBSBML_LIBRARY 
+-    NAMES sbml-static 
+-          sbml
+-          libsbml-static 
++    NAMES sbml
+           libsbml
+     PATHS $ENV{LIBSBML_DIR}/lib
+           $ENV{LIBSBML_DIR}
+@@ -144,8 +142,7 @@ find_library(LIBSBML_LIBRARY 
+ 
+ if (NOT LIBSBML_LIBRARY)
+     find_library(LIBSBML_LIBRARY 
+-        NAMES sbml-static 
+-              sbml)
++        NAMES sbml)
+ endif (NOT LIBSBML_LIBRARY)
+ 
+ if (NOT LIBSBML_LIBRARY)
diff --git a/biology/libcombine/files/patch-dev_generated_CMakeLists.txt b/biology/libcombine/files/patch-dev_generated_CMakeLists.txt
new file mode 100644
index 000000000000..5907bbf5a841
--- /dev/null
+++ b/biology/libcombine/files/patch-dev_generated_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- dev/generated/CMakeLists.txt.orig	2022-10-21 06:12:43 UTC
++++ dev/generated/CMakeLists.txt
+@@ -221,7 +221,7 @@ endif(WITH_SWIG)
+ # Locate libsbml
+ #
+ find_library(LIBSBML_LIBRARY
+-    NAMES libsbml-static.lib sbml-static libsbml.lib sbml
++    NAMES libsbml.lib sbml
+     PATHS ${LIBCOMBINE_DEPENDENCY_DIR}/lib
+     /usr/local/lib          
+           /usr/lib 
diff --git a/biology/libcombine/pkg-descr b/biology/libcombine/pkg-descr
new file mode 100644
index 000000000000..6cee46bab321
--- /dev/null
+++ b/biology/libcombine/pkg-descr
@@ -0,0 +1,4 @@
+LibCombine implements a C++ API library providing support for the Combine
+Archive. The library is written after the likeness of libSBML (and in fact some
+classes have been generated using DEVISER). Thus even thought he core is
+written in C++, the classes can be accessed via SWIG from .NET, Java and Python.
diff --git a/biology/libcombine/pkg-plist b/biology/libcombine/pkg-plist
new file mode 100644
index 000000000000..d453477f9f49
--- /dev/null
+++ b/biology/libcombine/pkg-plist
@@ -0,0 +1,43 @@
+include/combine/combinearchive.h
+include/combine/knownformats.h
+include/combine/omexdescription.h
+include/combine/util.h
+include/combine/vcard.h
+include/omex/CaBase.h
+include/omex/CaConstructorException.h
+include/omex/CaContent.h
+include/omex/CaCrossRef.h
+include/omex/CaError.h
+include/omex/CaErrorLog.h
+include/omex/CaErrorTable.h
+include/omex/CaListOf.h
+include/omex/CaListOfContents.h
+include/omex/CaListOfCrossRefs.h
+include/omex/CaNamespaces.h
+include/omex/CaOmexManifest.h
+include/omex/CaReader.h
+include/omex/CaTypeCodes.h
+include/omex/CaTypes.h
+include/omex/CaVisitor.h
+include/omex/CaWriter.h
+include/omex/common/CaOperationReturnValues.h
+include/omex/common/combinefwd.h
+include/omex/common/common.h
+include/omex/common/extern.h
+include/omex/common/libcombine-config-common.h
+include/omex/common/libcombine-config.h
+include/omex/common/libcombine-namespace.h
+include/omex/common/libcombine-version.h
+lib/cmake/Combine-config-version.cmake
+lib/cmake/Combine-config.cmake
+lib/cmake/Combine-static-config-version.cmake
+lib/cmake/Combine-static-config.cmake
+lib/cmake/Combine-static-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Combine-static-targets.cmake
+lib/cmake/Combine-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Combine-targets.cmake
+lib/libCombine-static.a
+lib/libCombine.so
+lib/libCombine.so.0
+lib/libCombine.so.0.2.19
+share/cmake/Modules/FindLIBCOMBINE.cmake