diff options
| author | Yuri Victorovich <yuri@FreeBSD.org> | 2026-10-02 21:44:12 +0000 |
|---|---|---|
| committer | Yuri Victorovich <yuri@FreeBSD.org> | 2026-10-02 21:52:07 +0000 |
| commit | bba96c42a29fc0191b9513dde1e0ff90f8ddcc5b (patch) | |
| tree | 6ad669e25d50c20d900df2827384d56949bcf8a1 | |
| parent | 01d50ef76d862f37ca03ebb473fe5bfcb9f90cff (diff) | |
science/rdkit: update 2025_09_2 → 2026.03.6
also:
- fixed many tests and upstreamed fixes (their testsuite is in a disarray,
we shouldn't really be fixing people's tests, but anyways)
- discovered and fixed wrong clang detection in the code, reported
upstream
- fixed wrongfully excluded code that caused plist issues
- fixed compiler crash on 16 (by using llvm:23)
25 files changed, 435 insertions, 61 deletions
diff --git a/science/py-MDAnalysis/Makefile b/science/py-MDAnalysis/Makefile index 81b0482018d6..faf8d18e360e 100644 --- a/science/py-MDAnalysis/Makefile +++ b/science/py-MDAnalysis/Makefile @@ -1,6 +1,6 @@ PORTNAME= MDAnalysis DISTVERSION= 2.10.0 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= science python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} diff --git a/science/py-qcengine/Makefile b/science/py-qcengine/Makefile index cd280060110e..e8e383ecf7f8 100644 --- a/science/py-qcengine/Makefile +++ b/science/py-qcengine/Makefile @@ -1,6 +1,6 @@ PORTNAME= qcengine DISTVERSION= 0.51.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= science python # chemistry MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} diff --git a/science/rdkit/Makefile b/science/rdkit/Makefile index 21b4790500fe..fc5ef4a16f62 100644 --- a/science/rdkit/Makefile +++ b/science/rdkit/Makefile @@ -1,17 +1,14 @@ PORTNAME= rdkit DISTVERSIONPREFIX= Release_ -DISTVERSION= 2025_09_2 -PORTREVISION= 4 +DISTVERSION= 2026_03_6 CATEGORIES= science MASTER_SITES= https://github.com/schrodinger/maeparser/archive/:maeparser \ https://github.com/schrodinger/coordgenlibs/archive/:coordgen \ https://codeload.github.com/Glysade/chemdraw/tar.gz/refs/tags/:chemdraw \ - https://github.com/Tencent/rapidjson/archive/:rapidjson \ LOCAL/yuri/:font # unstable, changing font file: https://fonts.google.com/download?family=Comic%20Neue&dummy=/:font DISTFILES= v${MAEPARSER_VERSION}.tar.gz:maeparser \ v${COORDGEN_VERSION}.tar.gz:coordgen \ v${CHEMDRAW_VERSION}:chemdraw \ - v${RAPIDJSON_VERSION}.tar.gz:rapidjson \ ComicNeue-Regular.ttf:font DIST_SUBDIR= ${PORTNAME}-${PORTVERSION} EXTRACT_ONLY= ${DISTFILES:C/:.*//:Nv*:N*.ttf} @@ -24,15 +21,13 @@ WWW= https://www.rdkit.org/ \ LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/license.txt -BROKEN_FreeBSD_16_amd64= clang crashes, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272652 -BROKEN_FreeBSD_16_aarch64= clang crashes, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272652 - BUILD_DEPENDS= catch>0:devel/catch \ flex:textproc/flex LIB_DEPENDS= libboost_thread.so:devel/boost-libs \ + libexpat.so:textproc/expat2 \ libfreetype.so:print/freetype2 -USES= bison:build cmake:testing compiler:c++11-lang eigen:3 gnome pkgconfig python +USES= bison:build cmake:testing compiler:c++11-lang eigen:3 gnome llvm:23 pkgconfig python # llvm:23 is needed to avoid compiler crash on 16 with the base compiler, just use it for rdkit for now USE_GNOME= cairo USE_LDCONFIG= yes @@ -43,8 +38,7 @@ GH_TUPLE+= ncbi:pubchem-align3d:daefab3:align3d/External/pubchem_shape/pubchem-a MAEPARSER_VERSION= 1.3.3 COORDGEN_VERSION= 3.0.2 -CHEMDRAW_VERSION= 1.0.11 -RAPIDJSON_VERSION= 1.1.0 +CHEMDRAW_VERSION= 1.0.14 CMAKE_ON= RDK_BUILD_CAIRO_SUPPORT CMAKE_OFF= RDK_INSTALL_INTREE RDK_USE_FLEXBISON \ @@ -98,8 +92,6 @@ PLIST_SUB+= LITTLE_ENDIAN="" .endif post-extract: - #@${MKDIR} ${WRKSRC}/External/rapidjson-1.1.0 - #@cd ${WRKSRC}/External/rapidjson-1.1.0 && ${LN} -s ${LOCALBASE}/include/rapidjson include @cd ${WRKSRC}/Data/Fonts && ${CP} ${DISTDIR}/${DIST_SUBDIR}/ComicNeue-Regular.ttf . @${CP} ${WRKSRC}/better_enums/enum.h ${WRKSRC}/Code/RDGeneral @@ -114,17 +106,10 @@ post-patch: @${REINPLACE_CMD} \ -e 's|https://codeload.github.com/Glysade/chemdraw/tar.gz/refs/tags/|file://${DISTDIR}/${DIST_SUBDIR}/|g' \ ${WRKSRC}/External/ChemDraw/CMakeLists.txt - @${REINPLACE_CMD} \ - -e 's|https://github.com/Tencent/rapidjson/archive/|file://${DISTDIR}/${DIST_SUBDIR}/|g' \ - ${WRKSRC}/Code/GraphMol/MolInterchange/CMakeLists.txt - -pre-build: - @${REINPLACE_CMD} \ - -e 's|const SizeType length;|SizeType length;|g' \ - ${WRKSRC}/External/rapidjson/rapidjson-1.1.0/include/rapidjson/document.h post-install: - @${RM} -f ${STAGEDIR}${PREFIX}/lib/libexpat.a + @${RM} -f ${STAGEDIR}${PREFIX}/lib/libexpat.a \ + ${STAGEDIR}${PREFIX}/lib/libexpatpp.a post-install-PGSQL-on: @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/postgresql/rdkit.so @@ -132,5 +117,15 @@ post-install-PGSQL-on: # many tests fail, see https://github.com/rdkit/rdkit/issues/7779 # tests as of 2025_09_1: 65% tests passed, 24 tests failed out of 68 # tests as of 2025_09_2: 63% tests passed, 26 tests failed out of 70 +# tests as of 2026_03_6: 89% tests passed, 8 tests failed out of 73 + +# RDKit has a lot of issues with tests - many typeinfo objects are +# duplicated in different shared libraries which causes mis-matches +# in exception propagation. +# We fixed a lot of tests, still 8 tests are failing, but they are not critical and can be ignored for now. +# All patches related to tests are upstreamed: https://github.com/rdkit/rdkit/pull/9665 +# These fixes increase tests pass rate from 65% to 89%. + +# remaining test failures reported here: https://github.com/rdkit/rdkit/issues/9666 .include <bsd.port.mk> diff --git a/science/rdkit/distinfo b/science/rdkit/distinfo index 2dd40d607202..ea1b216a3048 100644 --- a/science/rdkit/distinfo +++ b/science/rdkit/distinfo @@ -1,19 +1,17 @@ -TIMESTAMP = 1762809861 -SHA256 (rdkit-2025.09.2/v1.3.3.tar.gz) = 78e7571a779ea4952e752ecef57c62fb26463947e29ef7f4b31b11988d88ca07 -SIZE (rdkit-2025.09.2/v1.3.3.tar.gz) = 39896 -SHA256 (rdkit-2025.09.2/v3.0.2.tar.gz) = f67697434f7fec03bca150a6d84ea0e8409f6ec49d5aab43badc5833098ff4e3 -SIZE (rdkit-2025.09.2/v3.0.2.tar.gz) = 166817 -SHA256 (rdkit-2025.09.2/v1.0.11) = 405869fc8b3f73395047bc7c54e1da62ef66c08d48bd71af66e47ec9cbe86814 -SIZE (rdkit-2025.09.2/v1.0.11) = 1043261 -SHA256 (rdkit-2025.09.2/v1.1.0.tar.gz) = bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e -SIZE (rdkit-2025.09.2/v1.1.0.tar.gz) = 1019402 -SHA256 (rdkit-2025.09.2/ComicNeue-Regular.ttf) = 4f0f67d826565ed55f91ca6512e5562d0f2a39030fc7208519354438bc783ff6 -SIZE (rdkit-2025.09.2/ComicNeue-Regular.ttf) = 21915 -SHA256 (rdkit-2025.09.2/rdkit-rdkit-Release_2025_09_2_GH0.tar.gz) = db3254e88ef17cac7bb8480e6da9d1e69dfe180c21774b11637d8a17b5a98fb9 -SIZE (rdkit-2025.09.2/rdkit-rdkit-Release_2025_09_2_GH0.tar.gz) = 82911180 -SHA256 (rdkit-2025.09.2/rareylab-RingDecomposerLib-v1.1.3_rdkit_GH0.tar.gz) = 944b5816712a48bbf88aa25d4300ce11871ddf6e971218eac08f90ed2192f715 -SIZE (rdkit-2025.09.2/rareylab-RingDecomposerLib-v1.1.3_rdkit_GH0.tar.gz) = 137931 -SHA256 (rdkit-2025.09.2/ncbi-pubchem-align3d-daefab3_GH0.tar.gz) = d7814a00a39f6a798bc1611d0f7bbd1abc91d754309527a9038a0dad42d848c0 -SIZE (rdkit-2025.09.2/ncbi-pubchem-align3d-daefab3_GH0.tar.gz) = 112376 -SHA256 (rdkit-2025.09.2/aantron-better-enums-520d8ee_GH0.tar.gz) = 29ef26e79eb489b3ef71f85f904f3f1173ffefc6c853219bee7520188805eca5 -SIZE (rdkit-2025.09.2/aantron-better-enums-520d8ee_GH0.tar.gz) = 136592 +TIMESTAMP = 1790937224 +SHA256 (rdkit-2026.03.6/v1.3.3.tar.gz) = 78e7571a779ea4952e752ecef57c62fb26463947e29ef7f4b31b11988d88ca07 +SIZE (rdkit-2026.03.6/v1.3.3.tar.gz) = 39896 +SHA256 (rdkit-2026.03.6/v3.0.2.tar.gz) = f67697434f7fec03bca150a6d84ea0e8409f6ec49d5aab43badc5833098ff4e3 +SIZE (rdkit-2026.03.6/v3.0.2.tar.gz) = 166817 +SHA256 (rdkit-2026.03.6/v1.0.14) = bedd75643b9bfaee1663fc41814370ac9329c8d0934e970179929cb355a82aff +SIZE (rdkit-2026.03.6/v1.0.14) = 530904 +SHA256 (rdkit-2026.03.6/ComicNeue-Regular.ttf) = 4f0f67d826565ed55f91ca6512e5562d0f2a39030fc7208519354438bc783ff6 +SIZE (rdkit-2026.03.6/ComicNeue-Regular.ttf) = 21915 +SHA256 (rdkit-2026.03.6/rdkit-rdkit-Release_2026_03_6_GH0.tar.gz) = d4d20b3b140237084694518aab34fdba6929d44bd7f720bce69329516abef663 +SIZE (rdkit-2026.03.6/rdkit-rdkit-Release_2026_03_6_GH0.tar.gz) = 84044449 +SHA256 (rdkit-2026.03.6/rareylab-RingDecomposerLib-v1.1.3_rdkit_GH0.tar.gz) = 944b5816712a48bbf88aa25d4300ce11871ddf6e971218eac08f90ed2192f715 +SIZE (rdkit-2026.03.6/rareylab-RingDecomposerLib-v1.1.3_rdkit_GH0.tar.gz) = 137931 +SHA256 (rdkit-2026.03.6/ncbi-pubchem-align3d-daefab3_GH0.tar.gz) = d7814a00a39f6a798bc1611d0f7bbd1abc91d754309527a9038a0dad42d848c0 +SIZE (rdkit-2026.03.6/ncbi-pubchem-align3d-daefab3_GH0.tar.gz) = 112376 +SHA256 (rdkit-2026.03.6/aantron-better-enums-520d8ee_GH0.tar.gz) = 29ef26e79eb489b3ef71f85f904f3f1173ffefc6c853219bee7520188805eca5 +SIZE (rdkit-2026.03.6/aantron-better-enums-520d8ee_GH0.tar.gz) = 136592 diff --git a/science/rdkit/files/patch-CMakeLists.txt b/science/rdkit/files/patch-CMakeLists.txt index 4d7146e3b2c3..aa0c37570a79 100644 --- a/science/rdkit/files/patch-CMakeLists.txt +++ b/science/rdkit/files/patch-CMakeLists.txt @@ -1,23 +1,45 @@ ---- CMakeLists.txt.orig 2025-09-30 06:13:45 UTC +-- fix arch detection on FreeBSD +-- fix clang detection, see https://github.com/rdkit/rdkit/issues/9662 +-- prevent fetch of aantron:better-enums, use GH_TUPLE instead +-- correct docs directory + +--- CMakeLists.txt.orig 2026-08-28 02:56:41 UTC +++ CMakeLists.txt -@@ -81,12 +81,12 @@ if(NOT MSVC) - - if(NOT MSVC) - if(RDK_OPTIMIZE_POPCNT) -- if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64)") -- message("RDK_OPTIMIZE_POPCNT is not available on aarch64 or arm64") -- elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(ppc64|powerpc64)") -+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(ppc64|powerpc64)") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mpopcntd") -- else() -+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(i386|amd64|x86_64)") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mpopcnt") -+ else() -+ message("RDK_OPTIMIZE_POPCNT is not available on your architecture") - endif() +@@ -97,16 +97,29 @@ if(NOT MSVC AND RDK_OPTIMIZE_POPCNT) + if(NOT MSVC AND RDK_OPTIMIZE_POPCNT) + if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(ppc64|powerpc64)") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mpopcntd") +- elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|i*86)") ++ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(amd64|x86_64|i*86)") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mpopcnt") + else() + message(STATUS "POPCNT hardware flag not supported or not required for ${CMAKE_SYSTEM_PROCESSOR} architecture") endif() endif() -@@ -179,15 +179,7 @@ endif() + +-# Detect clang, which masquerades as gcc. CMake 2.6 doesn't know how to +-# detect it. +-string(REGEX MATCH "clang" CMAKE_COMPILER_IS_CLANG "${CMAKE_C_COMPILER}") ++# Run the compiler with --version and capture the output ++execute_process( ++ COMMAND ${CMAKE_C_COMPILER} --version ++ OUTPUT_VARIABLE COMPILER_VERSION_OUTPUT ++ ERROR_VARIABLE COMPILER_VERSION_ERROR ++ RESULT_VARIABLE COMPILER_VERSION_RESULT ++) ++ ++# Corrected regex condition using MATCHES ++if("${COMPILER_VERSION_OUTPUT}" MATCHES "clang") ++ set(CMAKE_COMPILER_IS_CLANG TRUE) ++else() ++ set(CMAKE_COMPILER_IS_CLANG FALSE) ++endif() ++message(STATUS "YURI CMAKE_COMPILER_IS_CLANG: ${CMAKE_COMPILER_IS_CLANG}") ++ + # Detect emcc + string(REGEX MATCH "Emscripten" CMAKE_COMPILER_IS_EMCC "${CMAKE_SYSTEM_NAME}") + +@@ -192,15 +205,7 @@ endif() FetchContent_MakeAvailable(Catch2) endif() @@ -33,7 +55,7 @@ if(RDK_INSTALL_INTREE) set(RDKit_BinDir "${CMAKE_SOURCE_DIR}/bin") set(RDKit_LibDir "${CMAKE_SOURCE_DIR}/lib") -@@ -535,12 +527,14 @@ if(NOT RDK_INSTALL_INTREE) +@@ -550,12 +555,14 @@ if(NOT RDK_INSTALL_INTREE) COMPONENT data PATTERN ".svn" EXCLUDE ) diff --git a/science/rdkit/files/patch-Code_GraphMol_Atom.cpp b/science/rdkit/files/patch-Code_GraphMol_Atom.cpp new file mode 100644 index 000000000000..fbc9d31706d1 --- /dev/null +++ b/science/rdkit/files/patch-Code_GraphMol_Atom.cpp @@ -0,0 +1,21 @@ +-- Fix cross-DLL Boost.Python exception translation on FreeBSD. +-- Move exported exception-class destructors out-of-line so the Itanium ABI +-- emits a single typeinfo/vtable instance per class in its owning shared +-- library. Without this each shared module has its own local typeinfo copy +-- and catch-by-derived-type in Python exception translators fails. + +--- Code/GraphMol/Atom.cpp.orig 2026-08-28 02:56:41 UTC ++++ Code/GraphMol/Atom.cpp +@@ -23,6 +23,12 @@ namespace RDKit { + + namespace RDKit { + ++MolSanitizeException::~MolSanitizeException() noexcept = default; ++AtomSanitizeException::~AtomSanitizeException() noexcept = default; ++AtomValenceException::~AtomValenceException() noexcept = default; ++AtomKekulizeException::~AtomKekulizeException() noexcept = default; ++KekulizeException::~KekulizeException() noexcept = default; ++ + bool isAromaticAtom(const Atom &atom) { + if (atom.getIsAromatic()) { + return true; diff --git a/science/rdkit/files/patch-Code_GraphMol_CMakeLists.txt b/science/rdkit/files/patch-Code_GraphMol_CMakeLists.txt new file mode 100644 index 000000000000..e17f5deba854 --- /dev/null +++ b/science/rdkit/files/patch-Code_GraphMol_CMakeLists.txt @@ -0,0 +1,14 @@ +-- remove restriction on clang compiler for SLN build, see https://github.com/rdkit/rdkit/issues/9664 +-- the code was just skipped for clang for no obvious reason + +--- Code/GraphMol/CMakeLists.txt.orig 2026-08-28 02:56:41 UTC ++++ Code/GraphMol/CMakeLists.txt +@@ -110,7 +110,7 @@ endif (RDK_BUILD_MOLINTERCHANGE_SUPPORT) + add_subdirectory(MolInterchange) + endif (RDK_BUILD_MOLINTERCHANGE_SUPPORT) + +-if (RDK_BUILD_SLN_SUPPORT AND NOT CMAKE_COMPILER_IS_CLANG) ++if (RDK_BUILD_SLN_SUPPORT) + if (CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS_EQUAL 4.8) + message("Skipping SLN build with gcc version <= 4.8") + else () diff --git a/science/rdkit/files/patch-Code_GraphMol_ChemReactions_Reaction.cpp b/science/rdkit/files/patch-Code_GraphMol_ChemReactions_Reaction.cpp new file mode 100644 index 000000000000..d0996de2f621 --- /dev/null +++ b/science/rdkit/files/patch-Code_GraphMol_ChemReactions_Reaction.cpp @@ -0,0 +1,27 @@ +-- Fix cross-DLL Boost.Python exception translation on FreeBSD. +-- Move exported exception-class destructors out-of-line so the Itanium ABI +-- emits a single typeinfo/vtable instance per class in its owning shared +-- library. Without this each shared module has its own local typeinfo copy +-- and catch-by-derived-type in Python exception translators fails. + +--- Code/GraphMol/ChemReactions/Reaction.cpp.orig 2026-08-28 02:56:41 UTC ++++ Code/GraphMol/ChemReactions/Reaction.cpp +@@ -33,6 +33,7 @@ + // + + #include <GraphMol/ChemReactions/Reaction.h> ++#include <GraphMol/ChemReactions/ReactionParser.h> + #include <GraphMol/ChemReactions/ReactionPickler.h> + #include <GraphMol/Substruct/SubstructMatch.h> + #include <GraphMol/QueryOps.h> +@@ -45,6 +46,10 @@ namespace RDKit { + #include "GraphMol/ChemReactions/ReactionRunner.h" + + namespace RDKit { ++ ++ChemicalReactionException::~ChemicalReactionException() noexcept = default; ++ChemicalReactionParserException::~ChemicalReactionParserException() noexcept = ++ default; + + std::vector<MOL_SPTR_VECT> ChemicalReaction::runReactants( + const MOL_SPTR_VECT reactants, unsigned int maxProducts) const { diff --git a/science/rdkit/files/patch-Code_GraphMol_ChemReactions_Reaction.h b/science/rdkit/files/patch-Code_GraphMol_ChemReactions_Reaction.h new file mode 100644 index 000000000000..4108852d2118 --- /dev/null +++ b/science/rdkit/files/patch-Code_GraphMol_ChemReactions_Reaction.h @@ -0,0 +1,17 @@ +-- Fix cross-DLL Boost.Python exception translation on FreeBSD. +-- Move exported exception-class destructors out-of-line so the Itanium ABI +-- emits a single typeinfo/vtable instance per class in its owning shared +-- library. Without this each shared module has its own local typeinfo copy +-- and catch-by-derived-type in Python exception translators fails. + +--- Code/GraphMol/ChemReactions/Reaction.h.orig 2026-08-28 02:56:41 UTC ++++ Code/GraphMol/ChemReactions/Reaction.h +@@ -55,7 +55,7 @@ class RDKIT_CHEMREACTIONS_EXPORT ChemicalReactionExcep + explicit ChemicalReactionException(const std::string msg) : _msg(msg) {} + //! get the error message + const char *what() const noexcept override { return _msg.c_str(); } +- ~ChemicalReactionException() noexcept override = default; ++ ~ChemicalReactionException() noexcept override; + + private: + std::string _msg; diff --git a/science/rdkit/files/patch-Code_GraphMol_ChemReactions_ReactionParser.h b/science/rdkit/files/patch-Code_GraphMol_ChemReactions_ReactionParser.h new file mode 100644 index 000000000000..9cb22c488821 --- /dev/null +++ b/science/rdkit/files/patch-Code_GraphMol_ChemReactions_ReactionParser.h @@ -0,0 +1,17 @@ +-- Fix cross-DLL Boost.Python exception translation on FreeBSD. +-- Move exported exception-class destructors out-of-line so the Itanium ABI +-- emits a single typeinfo/vtable instance per class in its owning shared +-- library. Without this each shared module has its own local typeinfo copy +-- and catch-by-derived-type in Python exception translators fails. + +--- Code/GraphMol/ChemReactions/ReactionParser.h.orig 2026-08-28 02:56:41 UTC ++++ Code/GraphMol/ChemReactions/ReactionParser.h +@@ -62,7 +62,7 @@ class RDKIT_CHEMREACTIONS_EXPORT ChemicalReactionParse + : _msg(std::move(msg)) {} + //! get the error message + const char *what() const noexcept override { return _msg.c_str(); } +- ~ChemicalReactionParserException() noexcept override = default; ++ ~ChemicalReactionParserException() noexcept override; + + private: + std::string _msg; diff --git a/science/rdkit/files/patch-Code_GraphMol_Conformer.cpp b/science/rdkit/files/patch-Code_GraphMol_Conformer.cpp new file mode 100644 index 000000000000..512fe16c92d8 --- /dev/null +++ b/science/rdkit/files/patch-Code_GraphMol_Conformer.cpp @@ -0,0 +1,17 @@ +-- Fix cross-DLL Boost.Python exception translation on FreeBSD. +-- Move exported exception-class destructors out-of-line so the Itanium ABI +-- emits a single typeinfo/vtable instance per class in its owning shared +-- library. Without this each shared module has its own local typeinfo copy +-- and catch-by-derived-type in Python exception translators fails. + +--- Code/GraphMol/Conformer.cpp.orig 2026-08-28 02:56:41 UTC ++++ Code/GraphMol/Conformer.cpp +@@ -12,6 +12,8 @@ namespace RDKit { + + namespace RDKit { + ++ConformerException::~ConformerException() noexcept = default; ++ + void Conformer::setOwningMol(ROMol *mol) { + PRECONDITION(mol, ""); + dp_mol = mol; diff --git a/science/rdkit/files/patch-Code_GraphMol_Conformer.h b/science/rdkit/files/patch-Code_GraphMol_Conformer.h new file mode 100644 index 000000000000..e6b9f5a6967d --- /dev/null +++ b/science/rdkit/files/patch-Code_GraphMol_Conformer.h @@ -0,0 +1,17 @@ +-- Fix cross-DLL Boost.Python exception translation on FreeBSD. +-- Move exported exception-class destructors out-of-line so the Itanium ABI +-- emits a single typeinfo/vtable instance per class in its owning shared +-- library. Without this each shared module has its own local typeinfo copy +-- and catch-by-derived-type in Python exception translators fails. + +--- Code/GraphMol/Conformer.h.orig 2026-08-28 02:56:41 UTC ++++ Code/GraphMol/Conformer.h +@@ -31,7 +31,7 @@ class RDKIT_GRAPHMOL_EXPORT ConformerException : publi + ConformerException(std::string msg) : _msg(std::move(msg)) {} + //! get the error message + const char *what() const noexcept override { return _msg.c_str(); } +- ~ConformerException() noexcept override = default; ++ ~ConformerException() noexcept override; + + private: + std::string _msg; diff --git a/science/rdkit/files/patch-Code_GraphMol_Depictor_RDDepictor.cpp b/science/rdkit/files/patch-Code_GraphMol_Depictor_RDDepictor.cpp new file mode 100644 index 000000000000..0857e1704ed8 --- /dev/null +++ b/science/rdkit/files/patch-Code_GraphMol_Depictor_RDDepictor.cpp @@ -0,0 +1,17 @@ +-- Fix cross-DLL Boost.Python exception translation on FreeBSD. +-- Move exported exception-class destructors out-of-line so the Itanium ABI +-- emits a single typeinfo/vtable instance per class in its owning shared +-- library. Without this each shared module has its own local typeinfo copy +-- and catch-by-derived-type in Python exception translators fails. + +--- Code/GraphMol/Depictor/RDDepictor.cpp.orig 2026-08-28 02:56:41 UTC ++++ Code/GraphMol/Depictor/RDDepictor.cpp +@@ -38,6 +38,8 @@ bool preferCoordGen = false; + + bool preferCoordGen = false; + ++DepictException::~DepictException() noexcept = default; ++ + namespace DepictorLocal { + + constexpr auto ISQRT2 = 0.707107; diff --git a/science/rdkit/files/patch-Code_GraphMol_Depictor_RDDepictor.h b/science/rdkit/files/patch-Code_GraphMol_Depictor_RDDepictor.h new file mode 100644 index 000000000000..536f1e32f637 --- /dev/null +++ b/science/rdkit/files/patch-Code_GraphMol_Depictor_RDDepictor.h @@ -0,0 +1,17 @@ +-- Fix cross-DLL Boost.Python exception translation on FreeBSD. +-- Move exported exception-class destructors out-of-line so the Itanium ABI +-- emits a single typeinfo/vtable instance per class in its owning shared +-- library. Without this each shared module has its own local typeinfo copy +-- and catch-by-derived-type in Python exception translators fails. + +--- Code/GraphMol/Depictor/RDDepictor.h.orig 2026-08-28 02:56:41 UTC ++++ Code/GraphMol/Depictor/RDDepictor.h +@@ -33,7 +33,7 @@ class RDKIT_DEPICTOR_EXPORT DepictException : public s + DepictException(const char *msg) : _msg(msg) {} + DepictException(const std::string msg) : _msg(msg) {} + const char *what() const noexcept override { return _msg.c_str(); } +- ~DepictException() noexcept override = default; ++ ~DepictException() noexcept override; + + private: + std::string _msg; diff --git a/science/rdkit/files/patch-Code_GraphMol_SanitException.h b/science/rdkit/files/patch-Code_GraphMol_SanitException.h new file mode 100644 index 000000000000..f535d69cb9e7 --- /dev/null +++ b/science/rdkit/files/patch-Code_GraphMol_SanitException.h @@ -0,0 +1,53 @@ +-- Fix cross-DLL Boost.Python exception translation on FreeBSD. +-- Move exported exception-class destructors out-of-line so the Itanium ABI +-- emits a single typeinfo/vtable instance per class in its owning shared +-- library. Without this each shared module has its own local typeinfo copy +-- and catch-by-derived-type in Python exception translators fails. + +--- Code/GraphMol/SanitException.h.orig 2026-08-28 02:56:41 UTC ++++ Code/GraphMol/SanitException.h +@@ -32,7 +32,7 @@ class RDKIT_GRAPHMOL_EXPORT MolSanitizeException : pub + MolSanitizeException(const MolSanitizeException &other) + : d_msg(other.d_msg) {} + const char *what() const noexcept override { return d_msg.c_str(); } +- ~MolSanitizeException() noexcept override {} ++ ~MolSanitizeException() noexcept override; + virtual MolSanitizeException *copy() const { + return new MolSanitizeException(*this); + } +@@ -52,7 +52,7 @@ class RDKIT_GRAPHMOL_EXPORT AtomSanitizeException + AtomSanitizeException(const AtomSanitizeException &other) + : MolSanitizeException(other), d_atomIdx(other.d_atomIdx) {} + unsigned int getAtomIdx() const { return d_atomIdx; } +- ~AtomSanitizeException() noexcept override {} ++ ~AtomSanitizeException() noexcept override; + MolSanitizeException *copy() const override { + return new AtomSanitizeException(*this); + } +@@ -71,7 +71,7 @@ class RDKIT_GRAPHMOL_EXPORT AtomValenceException + : AtomSanitizeException(msg, atomIdx) {} + AtomValenceException(const AtomValenceException &other) + : AtomSanitizeException(other) {} +- ~AtomValenceException() noexcept override {} ++ ~AtomValenceException() noexcept override; + MolSanitizeException *copy() const override { + return new AtomValenceException(*this); + } +@@ -87,7 +87,7 @@ class RDKIT_GRAPHMOL_EXPORT AtomKekulizeException + : AtomSanitizeException(msg, atomIdx) {} + AtomKekulizeException(const AtomKekulizeException &other) + : AtomSanitizeException(other) {} +- ~AtomKekulizeException() noexcept override {} ++ ~AtomKekulizeException() noexcept override; + MolSanitizeException *copy() const override { + return new AtomKekulizeException(*this); + } +@@ -105,7 +105,7 @@ class RDKIT_GRAPHMOL_EXPORT KekulizeException : public + const std::vector<unsigned int> &getAtomIndices() const { + return d_atomIndices; + } +- ~KekulizeException() noexcept override {} ++ ~KekulizeException() noexcept override; + MolSanitizeException *copy() const override { + return new KekulizeException(*this); + } diff --git a/science/rdkit/files/patch-Code_RDGeneral_BadFileException.h b/science/rdkit/files/patch-Code_RDGeneral_BadFileException.h new file mode 100644 index 000000000000..8785f84f6e20 --- /dev/null +++ b/science/rdkit/files/patch-Code_RDGeneral_BadFileException.h @@ -0,0 +1,17 @@ +-- Fix cross-DLL Boost.Python exception translation on FreeBSD. +-- Move exported exception-class destructors out-of-line so the Itanium ABI +-- emits a single typeinfo/vtable instance per class in its owning shared +-- library. Without this each shared module has its own local typeinfo copy +-- and catch-by-derived-type in Python exception translators fails. + +--- Code/RDGeneral/BadFileException.h.orig 2026-08-28 02:56:41 UTC ++++ Code/RDGeneral/BadFileException.h +@@ -29,7 +29,7 @@ class RDKIT_RDGENERAL_EXPORT BadFileException : public + : std::runtime_error("BadFileException"), _msg(std::move(msg)) {} + //! get the error message + const char *what() const noexcept override { return _msg.c_str(); } +- ~BadFileException() noexcept override = default; ++ ~BadFileException() noexcept override; + + private: + std::string _msg; diff --git a/science/rdkit/files/patch-Code_RDGeneral_CMakeLists.txt b/science/rdkit/files/patch-Code_RDGeneral_CMakeLists.txt index 590aeb419ef9..e8c7282ec65c 100644 --- a/science/rdkit/files/patch-Code_RDGeneral_CMakeLists.txt +++ b/science/rdkit/files/patch-Code_RDGeneral_CMakeLists.txt @@ -1,3 +1,5 @@ +-- prevent fetch of aantron:better-enums, use GH_TUPLE instead + --- Code/RDGeneral/CMakeLists.txt.orig 2025-04-15 16:44:12 UTC +++ Code/RDGeneral/CMakeLists.txt @@ -5,11 +5,6 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/RDConfig.h. diff --git a/science/rdkit/files/patch-Code_RDGeneral_Exceptions.h b/science/rdkit/files/patch-Code_RDGeneral_Exceptions.h new file mode 100644 index 000000000000..bfc7ddf6d7b0 --- /dev/null +++ b/science/rdkit/files/patch-Code_RDGeneral_Exceptions.h @@ -0,0 +1,35 @@ +-- Fix cross-DLL Boost.Python exception translation on FreeBSD. +-- Move exported exception-class destructors out-of-line so the Itanium ABI +-- emits a single typeinfo/vtable instance per class in its owning shared +-- library. Without this each shared module has its own local typeinfo copy +-- and catch-by-derived-type in Python exception translators fails. + +--- Code/RDGeneral/Exceptions.h.orig 2026-08-28 02:56:41 UTC ++++ Code/RDGeneral/Exceptions.h +@@ -28,7 +28,7 @@ class RDKIT_RDGENERAL_EXPORT IndexErrorException : pub + + const char *what() const noexcept override { return _msg.c_str(); } + +- ~IndexErrorException() noexcept override = default; ++ ~IndexErrorException() noexcept override; + + private: + int _idx; +@@ -45,7 +45,7 @@ class RDKIT_RDGENERAL_EXPORT ValueErrorException : pub + ValueErrorException(const char *msg) + : std::runtime_error("ValueErrorException"), _value(msg) {} + const char *what() const noexcept override { return _value.c_str(); } +- ~ValueErrorException() noexcept override = default; ++ ~ValueErrorException() noexcept override; + + private: + std::string _value; +@@ -68,7 +68,7 @@ class RDKIT_RDGENERAL_EXPORT KeyErrorException : publi + + const char *what() const noexcept override { return _msg.c_str(); } + +- ~KeyErrorException() noexcept override = default; ++ ~KeyErrorException() noexcept override; + + private: + std::string _key; diff --git a/science/rdkit/files/patch-Code_RDGeneral_FileParseException.h b/science/rdkit/files/patch-Code_RDGeneral_FileParseException.h new file mode 100644 index 000000000000..888bd1888bd8 --- /dev/null +++ b/science/rdkit/files/patch-Code_RDGeneral_FileParseException.h @@ -0,0 +1,17 @@ +-- Fix cross-DLL Boost.Python exception translation on FreeBSD. +-- Move exported exception-class destructors out-of-line so the Itanium ABI +-- emits a single typeinfo/vtable instance per class in its owning shared +-- library. Without this each shared module has its own local typeinfo copy +-- and catch-by-derived-type in Python exception translators fails. + +--- Code/RDGeneral/FileParseException.h.orig 2026-08-28 02:56:41 UTC ++++ Code/RDGeneral/FileParseException.h +@@ -26,7 +26,7 @@ class RDKIT_RDGENERAL_EXPORT FileParseException : publ + : std::runtime_error("FileParseException"), _msg(msg) {} + //! get the error message + const char *what() const noexcept override { return _msg.c_str(); } +- ~FileParseException() noexcept override = default; ++ ~FileParseException() noexcept override; + + private: + std::string _msg; diff --git a/science/rdkit/files/patch-Code_RDGeneral_Invariant.cpp b/science/rdkit/files/patch-Code_RDGeneral_Invariant.cpp new file mode 100644 index 000000000000..4bfe8896993c --- /dev/null +++ b/science/rdkit/files/patch-Code_RDGeneral_Invariant.cpp @@ -0,0 +1,15 @@ +-- Fix cross-DLL Boost.Python exception translation on FreeBSD. +-- Move exported exception-class destructors out-of-line so the Itanium ABI +-- emits a single typeinfo/vtable instance per class in its owning shared +-- library. Without this each shared module has its own local typeinfo copy +-- and catch-by-derived-type in Python exception translators fails. + +--- Code/RDGeneral/Invariant.cpp.orig 2026-08-28 02:56:41 UTC ++++ Code/RDGeneral/Invariant.cpp +@@ -72,4 +72,6 @@ std::string Invariant::toUserString() const { + return stringRep; + } + ++Invariant::~Invariant() noexcept = default; ++ + }; // namespace Invar diff --git a/science/rdkit/files/patch-Code_RDGeneral_Invariant.h b/science/rdkit/files/patch-Code_RDGeneral_Invariant.h new file mode 100644 index 000000000000..6d92aaa6ad53 --- /dev/null +++ b/science/rdkit/files/patch-Code_RDGeneral_Invariant.h @@ -0,0 +1,17 @@ +-- Fix cross-DLL Boost.Python exception translation on FreeBSD. +-- Move exported exception-class destructors out-of-line so the Itanium ABI +-- emits a single typeinfo/vtable instance per class in its owning shared +-- library. Without this each shared module has its own local typeinfo copy +-- and catch-by-derived-type in Python exception translators fails. + +--- Code/RDGeneral/Invariant.h.orig 2026-08-28 02:56:41 UTC ++++ Code/RDGeneral/Invariant.h +@@ -65,7 +65,7 @@ class RDKIT_RDGENERAL_EXPORT Invariant : public std::r + prefix_d(prefix), + file_dp(file), + line_d(line) {} +- ~Invariant() noexcept override = default; ++ ~Invariant() noexcept override; + + const char *what() const noexcept override { return mess_d.c_str(); } + diff --git a/science/rdkit/files/patch-Code_RDGeneral_RDGeneralExceptions.cpp b/science/rdkit/files/patch-Code_RDGeneral_RDGeneralExceptions.cpp new file mode 100644 index 000000000000..1dfbe81cd3a9 --- /dev/null +++ b/science/rdkit/files/patch-Code_RDGeneral_RDGeneralExceptions.cpp @@ -0,0 +1,21 @@ +-- Fix cross-DLL Boost.Python exception translation on FreeBSD. +-- Move exported exception-class destructors out-of-line so the Itanium ABI +-- emits a single typeinfo/vtable instance per class in its owning shared +-- library. Without this each shared module has its own local typeinfo copy +-- and catch-by-derived-type in Python exception translators fails. + +--- Code/RDGeneral/RDGeneralExceptions.cpp.orig 2026-08-28 02:56:41 UTC ++++ Code/RDGeneral/RDGeneralExceptions.cpp +@@ -16,3 +16,12 @@ + #include "BadFileException.h" + #include "Exceptions.h" + #include "FileParseException.h" ++ ++IndexErrorException::~IndexErrorException() noexcept = default; ++ValueErrorException::~ValueErrorException() noexcept = default; ++KeyErrorException::~KeyErrorException() noexcept = default; ++ ++namespace RDKit { ++BadFileException::~BadFileException() noexcept = default; ++FileParseException::~FileParseException() noexcept = default; ++} // namespace RDKit diff --git a/science/rdkit/pkg-plist b/science/rdkit/pkg-plist index 3cd23f7e900b..5d2061665681 100644 --- a/science/rdkit/pkg-plist +++ b/science/rdkit/pkg-plist @@ -61,6 +61,7 @@ include/rdkit/ForceField/UFF/PositionConstraint.h include/rdkit/ForceField/UFF/TorsionAngle.h include/rdkit/ForceField/UFF/TorsionConstraint.h include/rdkit/ForceField/UFF/Utils.h +include/rdkit/GaussianShape.h include/rdkit/Geometry/Grid3D.h include/rdkit/Geometry/GridUtils.h include/rdkit/Geometry/Transform.h @@ -168,6 +169,7 @@ include/rdkit/GraphMol/Fingerprints/MorganFingerprints.h include/rdkit/GraphMol/Fingerprints/MorganGenerator.h include/rdkit/GraphMol/Fingerprints/RDKitFPGenerator.h include/rdkit/GraphMol/Fingerprints/TopologicalTorsionGenerator.h +include/rdkit/GraphMol/ForceFieldHelpers/CrystalFF/PlanarityContribs.h include/rdkit/GraphMol/ForceFieldHelpers/CrystalFF/TorsionAngleContribs.h include/rdkit/GraphMol/ForceFieldHelpers/CrystalFF/TorsionAngleM6.h include/rdkit/GraphMol/ForceFieldHelpers/CrystalFF/TorsionPreferences.h @@ -202,6 +204,7 @@ include/rdkit/GraphMol/MolDraw2D/MolDraw2D.h include/rdkit/GraphMol/MolDraw2D/MolDraw2DCairo.h include/rdkit/GraphMol/MolDraw2D/MolDraw2DHelpers.h include/rdkit/GraphMol/MolDraw2D/MolDraw2DJS.h +include/rdkit/GraphMol/MolDraw2D/MolDraw2DSGroupData.h include/rdkit/GraphMol/MolDraw2D/MolDraw2DSVG.h include/rdkit/GraphMol/MolDraw2D/MolDraw2DUtils.h include/rdkit/GraphMol/MolDraw2D/MolDraw2Dwx.h @@ -275,19 +278,23 @@ include/rdkit/GraphMol/SmilesParse/SmilesWrite.h include/rdkit/GraphMol/StereoGroup.h include/rdkit/GraphMol/Subgraphs/SubgraphUtils.h include/rdkit/GraphMol/Subgraphs/Subgraphs.h +include/rdkit/GraphMol/Subset.h include/rdkit/GraphMol/SubstanceGroup.h include/rdkit/GraphMol/Substruct/SubstructMatch.h include/rdkit/GraphMol/Substruct/SubstructUtils.h include/rdkit/GraphMol/SubstructLibrary/PatternFactory.h include/rdkit/GraphMol/SubstructLibrary/SubstructLibrary.h include/rdkit/GraphMol/SubstructLibrary/SubstructLibrarySerialization.h +include/rdkit/GraphMol/SynthonSpaceSearch/ProgressBar.h include/rdkit/GraphMol/SynthonSpaceSearch/SearchResults.h include/rdkit/GraphMol/SynthonSpaceSearch/Synthon.h include/rdkit/GraphMol/SynthonSpaceSearch/SynthonSet.h +include/rdkit/GraphMol/SynthonSpaceSearch/SynthonShapeInput.h include/rdkit/GraphMol/SynthonSpaceSearch/SynthonSpace.h include/rdkit/GraphMol/SynthonSpaceSearch/SynthonSpaceFingerprintSearcher.h include/rdkit/GraphMol/SynthonSpaceSearch/SynthonSpaceRascalSearcher.h include/rdkit/GraphMol/SynthonSpaceSearch/SynthonSpaceSearcher.h +include/rdkit/GraphMol/SynthonSpaceSearch/SynthonSpaceShapeSearcher.h include/rdkit/GraphMol/SynthonSpaceSearch/SynthonSpaceSubstructureSearcher.h include/rdkit/GraphMol/TautomerQuery/TautomerQuery.h include/rdkit/GraphMol/Trajectory/Snapshot.h @@ -302,6 +309,7 @@ include/rdkit/Numerics/Conrec.h include/rdkit/Numerics/EigenSolvers/PowerEigenSolver.h include/rdkit/Numerics/Matrix.h include/rdkit/Numerics/Optimizer/BFGSOpt.h +include/rdkit/Numerics/Optimizer/BFGSOpt_SVE.h include/rdkit/Numerics/SquareMatrix.h include/rdkit/Numerics/SymmMatrix.h include/rdkit/Numerics/Vector.h @@ -361,6 +369,8 @@ include/rdkit/RDGeneral/utils.h include/rdkit/RDGeneral/versions.h include/rdkit/RDStreams/streams.h include/rdkit/RingDecomposerLib.h +include/rdkit/ShapeInput.h +include/rdkit/ShapeOverlayOptions.h %%LITTLE_ENDIAN%%include/rdkit/SimDivPickers/DistPicker.h %%LITTLE_ENDIAN%%include/rdkit/SimDivPickers/HierarchicalClusterPicker.h %%LITTLE_ENDIAN%%include/rdkit/SimDivPickers/LeaderPicker.h @@ -442,6 +452,9 @@ lib/libRDKitForceFieldHelpers.so.1.%%SHLIB_VER%% lib/libRDKitFragCatalog.so lib/libRDKitFragCatalog.so.1 lib/libRDKitFragCatalog.so.1.%%SHLIB_VER%% +lib/libRDKitGaussianShape.so +lib/libRDKitGaussianShape.so.1 +lib/libRDKitGaussianShape.so.1.%%SHLIB_VER%% lib/libRDKitGeneralizedSubstruct.so lib/libRDKitGeneralizedSubstruct.so.1 lib/libRDKitGeneralizedSubstruct.so.1.%%SHLIB_VER%% @@ -739,6 +752,7 @@ lib/libRDKitmaeparser.so.1.%%SHLIB_VER%% %%PYTHON%%%%PYTHON_SITELIBDIR%%/rdkit/Chem/rdRascalMCES.so %%PYTHON%%%%PYTHON_SITELIBDIR%%/rdkit/Chem/rdReducedGraphs.so %%PYTHON%%%%PYTHON_SITELIBDIR%%/rdkit/Chem/rdSLNParse.so +%%PYTHON%%%%PYTHON_SITELIBDIR%%/rdkit/Chem/rdGaussianShape.so %%PYTHON%%%%PYTHON_SITELIBDIR%%/rdkit/Chem/rdShapeAlign.so %%PYTHON%%%%PYTHON_SITELIBDIR%%/rdkit/Chem/rdShapeHelpers.so %%PYTHON%%%%PYTHON_SITELIBDIR%%/rdkit/Chem/rdSubstructLibrary.so @@ -1050,6 +1064,7 @@ lib/libRDKitmaeparser.so.1.%%SHLIB_VER%% %%DATADIR%%/Contrib/FreeWilson/data/CHEMBL2321810.smi %%DATADIR%%/Contrib/FreeWilson/data/CHEMBL2321810_act.csv %%DATADIR%%/Contrib/FreeWilson/data/CHEMBL2321810_scaffold.mol +%%DATADIR%%/Contrib/FreeWilson/data/cmet_ligands.sdf %%DATADIR%%/Contrib/FreeWilson/freewilson.py %%DATADIR%%/Contrib/FreeWilson/pytest.ini %%DATADIR%%/Contrib/FreeWilson/requirements.txt @@ -1200,7 +1215,9 @@ lib/libRDKitmaeparser.so.1.%%SHLIB_VER%% %%PYTHON%%%%DATADIR%%/Scripts/create_deb_packages.sh %%PYTHON%%%%DATADIR%%/Scripts/gen_rdkit_stubs/__init__.py %%PYTHON%%%%DATADIR%%/Scripts/gen_rdkit_stubs/__main__.py +%%PYTHON%%%%DATADIR%%/Scripts/gen_rdkit_stubs/patch/rdkit/Chem/__init__.pyi.diff %%PYTHON%%%%DATADIR%%/Scripts/gen_rdkit_stubs/patch/rdkit/Chem/inchi.pyi.diff +%%PYTHON%%%%DATADIR%%/Scripts/gen_rdkit_stubs/patch/rdkit/Chem/rdchem.pyi.diff %%PYTHON%%%%DATADIR%%/Scripts/gen_rdkit_stubs/worker.py %%PYTHON%%%%DATADIR%%/Scripts/patch_rdkit_docstrings/__init__.py %%PYTHON%%%%DATADIR%%/Scripts/patch_rdkit_docstrings/__main__.py diff --git a/science/votca/Makefile b/science/votca/Makefile index ace01eb71cf5..2779cd25c67b 100644 --- a/science/votca/Makefile +++ b/science/votca/Makefile @@ -1,7 +1,7 @@ PORTNAME= votca DISTVERSIONPREFIX= v DISTVERSION= 2026 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= science MAINTAINER= yuri@FreeBSD.org diff --git a/textproc/py-docling-metrics-chemistry/Makefile b/textproc/py-docling-metrics-chemistry/Makefile index 618cfb0770f1..91742bbfff9e 100644 --- a/textproc/py-docling-metrics-chemistry/Makefile +++ b/textproc/py-docling-metrics-chemistry/Makefile @@ -1,5 +1,6 @@ PORTNAME= docling-metrics-chemistry DISTVERSION= 0.10.0 +PORTREVISION= 1 CATEGORIES= textproc python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} |
