git: d63e1e73f569 - main - textproc/py-deepsearch-glm: New port: Graph Language Models
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 03 Jul 2026 06:31:16 UTC
The branch main has been updated by yuri:
URL: https://cgit.FreeBSD.org/ports/commit/?id=d63e1e73f569601f958f98d364953eda41fa88d0
commit d63e1e73f569601f958f98d364953eda41fa88d0
Author: Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-07-03 04:48:52 +0000
Commit: Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-07-03 06:31:10 +0000
textproc/py-deepsearch-glm: New port: Graph Language Models
---
textproc/Makefile | 1 +
textproc/py-deepsearch-glm/Makefile | 76 ++++++++++++++++++++++++++++++++++++
textproc/py-deepsearch-glm/distinfo | 19 +++++++++
textproc/py-deepsearch-glm/pkg-descr | 9 +++++
4 files changed, 105 insertions(+)
diff --git a/textproc/Makefile b/textproc/Makefile
index afb7a8b4b0ba..00141e881994 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -1370,6 +1370,7 @@
SUBDIR += py-custom_inherit
SUBDIR += py-cyclonedx-python-lib
SUBDIR += py-dbfread
+ SUBDIR += py-deepsearch-glm
SUBDIR += py-dialect
SUBDIR += py-dict2xml
SUBDIR += py-diff-match-patch
diff --git a/textproc/py-deepsearch-glm/Makefile b/textproc/py-deepsearch-glm/Makefile
new file mode 100644
index 000000000000..9b7bb21c16ca
--- /dev/null
+++ b/textproc/py-deepsearch-glm/Makefile
@@ -0,0 +1,76 @@
+PORTNAME= deepsearch-glm
+PORTVERSION= 1.0.0
+CATEGORIES= textproc python
+MASTER_SITES= PYPI \
+ https://codeload.github.com/PeterStaar-IBM/fastText/tar.gz/9d5b2a2b364f49ed2707ff3be48a0f1ba6d86022?dummy=/:fasttext \
+ https://codeload.github.com/PCRE2Project/pcre2/tar.gz/pcre2-10.44?dummy=/:pcre2 \
+ https://codeload.github.com/emilk/loguru/tar.gz/4adaa185883e3c04da25913579c451d3c32cfac1?dummy=/:loguru \
+ https://codeload.github.com/fmtlib/fmt/tar.gz/10.2.1?dummy=/:fmt \
+ https://codeload.github.com/google/sentencepiece/tar.gz/v0.2.0?dummy=/:sentencepiece \
+ https://codeload.github.com/jarro2783/cxxopts/tar.gz/v3.2.0?dummy=/:cxxopts \
+ https://codeload.github.com/nemtrif/utfcpp/tar.gz/v4.0.5?dummy=/:utfcpp \
+ https://codeload.github.com/nlohmann/json/tar.gz/v3.11.3?dummy=/:json
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= deepsearch_glm-${PORTVERSION}
+# External dependencies from GitHub (cmake ExternalProject/FetchContent)
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
+ PeterStaar-IBM-fastText-9d5b2a2b364f49ed2707ff3be48a0f1ba6d86022_GH0.tar.gz:fasttext \
+ PCRE2Project-pcre2-pcre2-10.44_GH0.tar.gz:pcre2 \
+ emilk-loguru-4adaa185883e3c04da25913579c451d3c32cfac1_GH0.tar.gz:loguru \
+ fmtlib-fmt-10.2.1_GH0.tar.gz:fmt \
+ google-sentencepiece-v0.2.0_GH0.tar.gz:sentencepiece \
+ jarro2783-cxxopts-v3.2.0_GH0.tar.gz:cxxopts \
+ nemtrif-utfcpp-v4.0.5_GH0.tar.gz:utfcpp \
+ nlohmann-json-v3.11.3_GH0.tar.gz:json
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Graph Language Models
+WWW= https://pypi.org/project/deepsearch-glm/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pybind11>0:devel/py-pybind11@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}poetry-core>0:devel/py-poetry-core@${PY_FLAVOR}
+
+USES= cmake:indirect python
+USE_PYTHON= pep517 concurrent autoplist
+
+post-extract:
+ @${REINPLACE_CMD} -e 's/ resolv//g' ${WRKSRC}/cmake/os_opts.cmake
+ @${REINPLACE_CMD} -e 's|^build = "build\.py"|build = "build_script.py"|' ${WRKSRC}/pyproject.toml
+ @${MV} ${WRKSRC}/build.py ${WRKSRC}/build_script.py
+# Extract external dependencies to locations cmake ExternalProject expects
+ @${MKDIR} ${WRKSRC}/build/extlib_fasttext/src/extlib_fasttext
+ @${TAR} -C ${WRKSRC}/build/extlib_fasttext/src/extlib_fasttext -xf ${DISTDIR}/PeterStaar-IBM-fastText-9d5b2a2b364f49ed2707ff3be48a0f1ba6d86022_GH0.tar.gz --strip-components 1
+ @${MKDIR} ${WRKSRC}/build/extlib_pcre2/src/extlib_pcre2
+ @${TAR} -C ${WRKSRC}/build/extlib_pcre2/src/extlib_pcre2 -xf ${DISTDIR}/PCRE2Project-pcre2-pcre2-10.44_GH0.tar.gz --strip-components 1
+ @${MKDIR} ${WRKSRC}/build/_deps/logurugitrepo-src
+ @${TAR} -C ${WRKSRC}/build/_deps/logurugitrepo-src -xf ${DISTDIR}/emilk-loguru-4adaa185883e3c04da25913579c451d3c32cfac1_GH0.tar.gz --strip-components 1
+ @${MKDIR} ${WRKSRC}/build/extlib_fmt/src/extlib_fmt
+ @${TAR} -C ${WRKSRC}/build/extlib_fmt/src/extlib_fmt -xf ${DISTDIR}/fmtlib-fmt-10.2.1_GH0.tar.gz --strip-components 1
+ @${MKDIR} ${WRKSRC}/build/extlib_sentencepiece/src/extlib_sentencepiece
+ @${TAR} -C ${WRKSRC}/build/extlib_sentencepiece/src/extlib_sentencepiece -xf ${DISTDIR}/google-sentencepiece-v0.2.0_GH0.tar.gz --strip-components 1
+ @${MKDIR} ${WRKSRC}/build/extlib_cxxopts/src/extlib_cxxopts
+ @${TAR} -C ${WRKSRC}/build/extlib_cxxopts/src/extlib_cxxopts -xf ${DISTDIR}/jarro2783-cxxopts-v3.2.0_GH0.tar.gz --strip-components 1
+ @${MKDIR} ${WRKSRC}/build/extlib_utf8/src/extlib_utf8
+ @${TAR} -C ${WRKSRC}/build/extlib_utf8/src/extlib_utf8 -xf ${DISTDIR}/nemtrif-utfcpp-v4.0.5_GH0.tar.gz --strip-components 1
+ @${MKDIR} ${WRKSRC}/build/extlib_json/src/extlib_json
+ @${TAR} -C ${WRKSRC}/build/extlib_json/src/extlib_json -xf ${DISTDIR}/nlohmann-json-v3.11.3_GH0.tar.gz --strip-components 1
+# Patch cmake files to skip git downloads - use pre-extracted sources
+ @${REINPLACE_CMD} -e '/UPDATE_COMMAND ""/d' \
+ -e 's|GIT_REPOSITORY .*|DOWNLOAD_COMMAND ""|' \
+ -e 's|GIT_TAG .*|UPDATE_COMMAND ""|' \
+ ${WRKSRC}/cmake/extlib_fmt.cmake \
+ ${WRKSRC}/cmake/extlib_json.cmake \
+ ${WRKSRC}/cmake/extlib_cxxopts.cmake \
+ ${WRKSRC}/cmake/extlib_pcre2.cmake \
+ ${WRKSRC}/cmake/extlib_fasttext.cmake \
+ ${WRKSRC}/cmake/extlib_utf8.git.cmake \
+ ${WRKSRC}/cmake/extlib_sentencepiece.cmake
+# Patch loguru FetchContent to use pre-extracted source
+ @${REINPLACE_CMD} -e 's|GIT_REPOSITORY .*|SOURCE_DIR "${WRKSRC}/build/_deps/logurugitrepo-src"|' \
+ -e '/GIT_TAG .*/d' \
+ ${WRKSRC}/cmake/extlib_loguru.cmake
+
+.include <bsd.port.mk>
diff --git a/textproc/py-deepsearch-glm/distinfo b/textproc/py-deepsearch-glm/distinfo
new file mode 100644
index 000000000000..34dcce8055a4
--- /dev/null
+++ b/textproc/py-deepsearch-glm/distinfo
@@ -0,0 +1,19 @@
+TIMESTAMP = 1783053469
+SHA256 (deepsearch_glm-1.0.0.tar.gz) = e8dce88ac519a693c260f28bd3c4ec409811e65ade84fb508f6c6e37ca065e62
+SIZE (deepsearch_glm-1.0.0.tar.gz) = 2401014
+SHA256 (PeterStaar-IBM-fastText-9d5b2a2b364f49ed2707ff3be48a0f1ba6d86022_GH0.tar.gz) = 3bbbee9dc713371ab39d5b1eb3dc60980e26aaaa76ae3e3d58364f3f11fdaa41
+SIZE (PeterStaar-IBM-fastText-9d5b2a2b364f49ed2707ff3be48a0f1ba6d86022_GH0.tar.gz) = 4038103
+SHA256 (PCRE2Project-pcre2-pcre2-10.44_GH0.tar.gz) = 07a002e8216382a96f722bc4a831f3d77457fe3e9e62a6dff250a2dd0e9c5e6d
+SIZE (PCRE2Project-pcre2-pcre2-10.44_GH0.tar.gz) = 2930559
+SHA256 (emilk-loguru-4adaa185883e3c04da25913579c451d3c32cfac1_GH0.tar.gz) = 1424f3ce814fa413e5fbdf2949994d455e3914560f958d2931ba869349a686a8
+SIZE (emilk-loguru-4adaa185883e3c04da25913579c451d3c32cfac1_GH0.tar.gz) = 253860
+SHA256 (fmtlib-fmt-10.2.1_GH0.tar.gz) = 1250e4cc58bf06ee631567523f48848dc4596133e163f02615c97f78bab6c811
+SIZE (fmtlib-fmt-10.2.1_GH0.tar.gz) = 854665
+SHA256 (google-sentencepiece-v0.2.0_GH0.tar.gz) = 9970f0a0afee1648890293321665e5b2efa04eaec9f1671fcf8048f456f5bb86
+SIZE (google-sentencepiece-v0.2.0_GH0.tar.gz) = 11980811
+SHA256 (jarro2783-cxxopts-v3.2.0_GH0.tar.gz) = 9f43fa972532e5df6c5fd5ad0f5bac606cdec541ccaf1732463d8070bbb7f03b
+SIZE (jarro2783-cxxopts-v3.2.0_GH0.tar.gz) = 160534
+SHA256 (nemtrif-utfcpp-v4.0.5_GH0.tar.gz) = ffc668a310e77607d393f3c18b32715f223da1eac4c4d6e0579a11df8e6b59cf
+SIZE (nemtrif-utfcpp-v4.0.5_GH0.tar.gz) = 34139
+SHA256 (nlohmann-json-v3.11.3_GH0.tar.gz) = 0d8ef5af7f9794e3263480193c491549b2ba6cc74bb018906202ada498a79406
+SIZE (nlohmann-json-v3.11.3_GH0.tar.gz) = 8053705
diff --git a/textproc/py-deepsearch-glm/pkg-descr b/textproc/py-deepsearch-glm/pkg-descr
new file mode 100644
index 000000000000..583b793ee63c
--- /dev/null
+++ b/textproc/py-deepsearch-glm/pkg-descr
@@ -0,0 +1,9 @@
+deepsearch-glm is a specialized Python library developed by IBM to create
+and deploy fast Graph Language Models. It enables advanced data extraction
+and structural document understanding at scale.
+
+Key Capabilities
+* Entity Extraction: Automatically isolates key domain terms from text.
+* Relationship Mapping: Identifies connections between data points.
+* Advanced NLP: Applies semantic parsing directly on raw documents.
+* Docling Integration: Pairs natively with structured document tools.