diff --git a/deskutils/mybee-qt/Makefile b/deskutils/mybee-qt/Makefile index 77f1ebb8bde8..1b56fed56291 100644 --- a/deskutils/mybee-qt/Makefile +++ b/deskutils/mybee-qt/Makefile @@ -1,47 +1,47 @@ PORTNAME= mybee-qt DISTVERSION= 25.02.1 +PORTREVISION= 1 CATEGORIES= deskutils MAINTAINER= fbsd-ports@convectix.com COMMENT= GUI to interact with CBSD and MyBee appliances WWW= https://github.com/myb-project LICENSE= MIT BUILD_DEPENDS= curl:ftp/curl \ - cmake:devel/cmake \ xfreerdp:net/freerdp LIB_DEPENDS= libvncserver.so:net/libvncserver \ libfreerdp2.so:net/freerdp \ libturbojpeg.so:graphics/libjpeg-turbo \ libwinpr2.so:net/freerdp \ libssh.so:security/libssh \ libz-ng.so:archivers/zlib-ng RUN_DEPENDS= xfreerdp:net/freerdp -USES= gl gmake qmake qt:6 +USES= cmake:indirect gl gmake qmake qt:6 USE_GITHUB= yes GH_ACCOUNT= myb-project #GH_TAGNAME= 6955032 USE_GL= gl USE_QT= 5compat base multimedia tools:build PLIST_FILES= bin/mybee-qt OPTIONS_DEFINE= TRACE_SYSTEMPROCESS OPTIONS_SUB= yes TRACE_SYSTEMPROCESS_DESC= Trace system process (debug) .include .if ${PORT_OPTIONS:MTRACE_SYSTEMPROCESS} MAKE_ENV+= TRACE_SYSTEMPROCESS=true .endif do-install: @${MKDIR} ${STAGEDIR}${PREFIX}/bin ${INSTALL_PROGRAM} ${WRKSRC}/src/mybee-qt \ ${STAGEDIR}${PREFIX}/bin .include diff --git a/devel/py-cmeel-eigen/Makefile b/devel/py-cmeel-eigen/Makefile index dee29871f29d..ec8005f35c47 100644 --- a/devel/py-cmeel-eigen/Makefile +++ b/devel/py-cmeel-eigen/Makefile @@ -1,28 +1,28 @@ PORTNAME= cmeel-eigen DISTVERSION= 3.4.1 +PORTREVISION= 1 CATEGORIES= devel MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= cmeel_eigen-${DISTVERSION} MAINTAINER= yuri@FreeBSD.org COMMENT= Eigen C++ linear algebra headers packaged for the cmeel ecosystem WWW= https://github.com/cmake-wheel/cmeel-eigen LICENSE= MPL20 LICENSE_FILE= ${WRKSRC}/eigen/COPYING.MPL2 -BUILD_DEPENDS= cmake:devel/cmake \ - ${PYTHON_PKGNAMEPREFIX}cmeel>0:devel/py-cmeel@${PY_FLAVOR} \ +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cmeel>0:devel/py-cmeel@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cmeel>0:devel/py-cmeel@${PY_FLAVOR} -USES= python +USES= cmake:indirect python USE_PYTHON= pep517 autoplist MAKE_ENV+= CMEEL_RUN_TESTS=0 NO_ARCH= yes .include diff --git a/devel/py-cmeel/Makefile b/devel/py-cmeel/Makefile index 232ae640856a..c69801de0259 100644 --- a/devel/py-cmeel/Makefile +++ b/devel/py-cmeel/Makefile @@ -1,25 +1,25 @@ PORTNAME= cmeel DISTVERSION= 0.60.1 +PORTREVISION= 1 CATEGORIES= devel MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= yuri@FreeBSD.org COMMENT= Python build backend for CMake projects (cmeel) WWW= https://github.com/cmake-wheel/cmeel LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} -RUN_DEPENDS= cmake:devel/cmake \ - ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} -USES= python shebangfix +USES= cmake:indirect,run python shebangfix USE_PYTHON= pep517 autoplist SHEBANG_FILES= cmeel/release.py NO_ARCH= yes .include diff --git a/graphics/py-opencv-python-headless/Makefile b/graphics/py-opencv-python-headless/Makefile index b4e0f4787c0e..d21db5929680 100644 --- a/graphics/py-opencv-python-headless/Makefile +++ b/graphics/py-opencv-python-headless/Makefile @@ -1,52 +1,51 @@ PORTNAME= opencv-python-headless DISTVERSION= 4.13.0.92 PORTREVISION= 2 CATEGORIES= graphics MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= yuri@FreeBSD.org COMMENT= Wrapper package for OpenCV python bindings WWW= https://github.com/opencv/opencv-python LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE.txt BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}scikit-build>=0.14.0:devel/py-scikit-build@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}numpy>0:math/py-numpy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pip>0:devel/py-pip@${PY_FLAVOR} \ - cmake:devel/cmake + ${PYTHON_PKGNAMEPREFIX}pip>0:devel/py-pip@${PY_FLAVOR} LIB_DEPENDS= libavif.so:graphics/libavif \ libwebp.so:graphics/webp \ libpng16.so:graphics/png \ libtiff.so:graphics/tiff \ libopenjp2.so:graphics/openjpeg \ libavcodec.so:multimedia/ffmpeg \ libopenblas.so:math/openblas -USES= gnome gstreamer jpeg python +USES= cmake:indirect gnome gstreamer jpeg python USE_GNOME= glib20 USE_GSTREAMER1= yes USE_PYTHON= pep517 autoplist pytest USE_GITHUB= yes GH_ACCOUNT= opencv GH_PROJECT= opencv-python GH_TAGNAME= 92 GH_TUPLE= opencv:opencv:b4c5ec4042f097e2a5b386b9d413ec7333d0a184:opencv/opencv \ opencv:opencv_contrib:d99ad2a188210cc35067c2e60076eed7c2442bc3:opencv_contrib/opencv_contrib MAKE_ENV= ENABLE_HEADLESS=1 \ OPENCV_PYTHON_PACKAGE_NAME=opencv-python-headless TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} TEST_WRKSRC= ${WRKSRC}/opencv/modules/python CONFLICTS_INSTALL= opencv # opencv has the same python bindings bundled in post-patch: @${PRINTF} 'opencv_version = "${DISTVERSION}"\ncontrib = False\nheadless = True\nrolling = False\nci_build = False' \ > ${WRKSRC}/cv2/version.py .include diff --git a/math/octave-forge-joystick/Makefile b/math/octave-forge-joystick/Makefile index 962b78472279..6a00b865f3a6 100644 --- a/math/octave-forge-joystick/Makefile +++ b/math/octave-forge-joystick/Makefile @@ -1,26 +1,25 @@ PORTNAME= octave-forge-joystick DISTVERSIONPREFIX= v DISTVERSION= 0.0.5 +PORTREVISION= 1 CATEGORIES= math MAINTAINER= stephen@FreeBSD.org COMMENT= Octave-forge package ${OCTAVE_PKGNAME} WWW= https://packages.octave.org/ LICENSE= GPLv3 LICENSE_FILE= ${WRKDIR}/${OCTAVE_SRC}/COPYING -BUILD_DEPENDS+= cmake:devel/cmake # Required by configure. - LIB_DEPENDS+= libSDL2.so:devel/sdl20 -USES= octave autoreconf +USES= cmake:indirect octave autoreconf USE_GITHUB= yes GH_ACCOUNT= gnu-octave GH_PROJECT= octave-joystick GNU_CONFIGURE= yes OCTAVE_SRC= ${GH_PROJECT}-${DISTVERSION} .include diff --git a/misc/openclaw/Makefile b/misc/openclaw/Makefile index d9d96a21ef7c..a0d8cf21c86e 100644 --- a/misc/openclaw/Makefile +++ b/misc/openclaw/Makefile @@ -1,187 +1,187 @@ PORTNAME= openclaw DISTVERSION= 2026.4.29 +PORTREVISION= 1 CATEGORIES= misc # machine-learning PKGNAMESUFFIX= -ai-gateway DISTFILES= ${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} DIST_SUBDIR= ${PORTNAME} MAINTAINER= yuri@FreeBSD.org COMMENT= Multi-channel AI gateway with extensible messaging integrations WWW= https://github.com/openclaw/openclaw LICENSE= MIT FETCH_DEPENDS= curl:ftp/curl \ jq:textproc/jq \ npm:www/npm \ ${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss -BUILD_DEPENDS= cmake:devel/cmake \ - npm:www/npm \ +BUILD_DEPENDS= npm:www/npm \ vips>=8.17.2:graphics/vips RUN_DEPENDS= vips>=8.17.2:graphics/vips -USES= nodejs:run pkgconfig python:build +USES= cmake:indirect nodejs:run pkgconfig python:build USE_RC_SUBR= ${PORTNAME} OPTIONS_DEFINE= EXTEND_AI_TIMEOUT EXTEND_TYPING_TTL_TIMEOUT SKILL_DEPENDENCIES OPTIONS_DEFAULT= EXTEND_AI_TIMEOUT EXTEND_TYPING_TTL_TIMEOUT SKILL_DEPENDENCIES EXTEND_AI_TIMEOUT_DESC= Set AI endpoint request timeout to 24 hours for slow models EXTEND_TYPING_TTL_TIMEOUT_DESC= Set typing indicator TTL to 5 hours for slow LLM responses SKILL_DEPENDENCIES_DESC= Install dependencies for all supported skills # SKILL_DEPENDENCIES installs a lot of dependencies, but they are referenced in the SKILL.md files and can be used any time given the right request, # therefore we keep it ON by default. Users can disable it if they want to save space and don't mind manually installing dependencies for skills they want to use. SKILL_DEPENDENCIES_RUN_DEPENDS= blogwatcher:misc/blogwatcher \ blu:audio/blucli \ camsnap:misc/camsnap \ clawhub:misc/clawhub \ curl:ftp/curl \ eightctl:misc/eightctl \ ffmpeg:multimedia/ffmpeg \ gh:devel/gh \ git:devel/git \ goplaces:misc/goplaces \ grizzly:misc/grizzly \ jq:textproc/jq \ memo:misc/memo \ nano-pdf:textproc/nano-pdf \ op:security/op \ rg:textproc/ripgrep \ sag:audio/sag \ songsee:audio/songsee \ sonos:misc/sonoscli \ spotify_player:audio/spotify-player \ tmux:sysutils/tmux \ wacli:misc/wacli \ whisper:misc/py-openai-whisper PACKAGE_NAME= openclaw NODE_ARCH= ${ARCH:S/amd64/x64/:S/aarch64/arm64/:S/i386/ia32/:S/powerpc64le/ppc64le/:S/powerpc64/ppc64/:C/armv[67]/arm/} # modeled after electron.mk PLIST_SUB= NODE_ARCH=${NODE_ARCH} FETCH_SCRIPT= ${PORTSDIR}/Tools/scripts/npmjs-fetch-with-dependencies.sh # Binary NodeJS modules that require building for the target platform: # - sharp: Fast image processing library for reading, manipulating, and encoding images # - koffi: C foreign function interface (FFI) for calling native libraries # - node-addon-api: Helper library for building native Node.js modules dep_sharp_npm_name= sharp dep_sharp_version= 0.34.5 dep_koffi_npm_name= koffi dep_koffi_version= 2.16.1 dep_node_addon_api_npm_name= node-addon-api dep_node_addon_api_version= 8.5.0 DISTFILES+= sharp-${dep_sharp_version}${EXTRACT_SUFX} \ koffi-${dep_koffi_version}${EXTRACT_SUFX} \ node-addon-api-${dep_node_addon_api_version}${EXTRACT_SUFX} DD= ${DISTDIR}/${DIST_SUBDIR} do-fetch: @${MKDIR} ${DD} @if ! [ -f ${DD}/${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} ]; then \ ${SETENV} TMPDIR=${WRKDIR} LOCALBASE=${LOCALBASE} npm_config_force=true ${FETCH_SCRIPT} \ ${PACKAGE_NAME} ${DISTVERSION} \ ${FILESDIR}/package-lock.json \ ${DD}/${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX}; \ fi @if ! [ -f ${DD}/sharp-${dep_sharp_version}${EXTRACT_SUFX} ]; then \ ${SETENV} TMPDIR=${WRKDIR} LOCALBASE=${LOCALBASE} ${FETCH_SCRIPT} \ ${dep_sharp_npm_name} ${dep_sharp_version} \ ${FILESDIR}/package-lock-sharp.json \ ${DD}/sharp-${dep_sharp_version}${EXTRACT_SUFX}; \ fi @if ! [ -f ${DD}/koffi-${dep_koffi_version}${EXTRACT_SUFX} ]; then \ ${SETENV} TMPDIR=${WRKDIR} LOCALBASE=${LOCALBASE} ${FETCH_SCRIPT} \ ${dep_koffi_npm_name} ${dep_koffi_version} \ ${FILESDIR}/package-lock-koffi.json \ ${DD}/koffi-${dep_koffi_version}${EXTRACT_SUFX}; \ fi @if ! [ -f ${DD}/node-addon-api-${dep_node_addon_api_version}${EXTRACT_SUFX} ]; then \ ${SETENV} TMPDIR=${WRKDIR} LOCALBASE=${LOCALBASE} ${FETCH_SCRIPT} \ ${dep_node_addon_api_npm_name} ${dep_node_addon_api_version} \ ${FILESDIR}/package-lock-node-addon-api.json \ ${DD}/node-addon-api-${dep_node_addon_api_version}${EXTRACT_SUFX}; \ fi post-extract: # Move node-addon-api into sharp's node_modules for building @${MV} \ ${WRKDIR}/${dep_node_addon_api_npm_name}-${dep_node_addon_api_version}/node_modules/${dep_node_addon_api_npm_name} \ ${WRKDIR}/${dep_sharp_npm_name}-${dep_sharp_version}/node_modules/${dep_sharp_npm_name}/node_modules/node-addon-api do-build: @${ECHO_MSG} "====> Building sharp for FreeBSD..." @cd ${WRKDIR}/sharp-${dep_sharp_version}/node_modules/${dep_sharp_npm_name}/src && \ ${SETENV} HOME=${WRKDIR} PYTHON=${PYTHON_CMD} CXXFLAGS="-I${LOCALBASE}/include" \ node-gyp configure build --nodedir=${LOCALBASE} && \ ${MKDIR} ${WRKSRC}/node_modules/openclaw/node_modules/@img/sharp-freebsd-${NODE_ARCH} && \ ${CP} build/Release/sharp-freebsd-${NODE_ARCH}.node \ ${WRKSRC}/node_modules/openclaw/node_modules/@img/sharp-freebsd-${NODE_ARCH}/sharp.node @${ECHO_MSG} "====> Building koffi for FreeBSD..." @cd ${WRKDIR}/${dep_koffi_npm_name}-${dep_koffi_version}/node_modules/${dep_koffi_npm_name} && \ ${SETENV} HOME=${WRKDIR} PYTHON=${PYTHON_CMD} \ node src/cnoke/cnoke.js build -P . -D src/koffi && \ ${MKDIR} ${WRKSRC}/node_modules/openclaw/node_modules/koffi/build/koffi/freebsd_${NODE_ARCH} && \ ${CP} $$(${FIND} ${WRKDIR}/${dep_koffi_npm_name}-${dep_koffi_version}/node_modules/${dep_koffi_npm_name}/build/koffi/freebsd_${NODE_ARCH} -name "koffi.node" -type f | ${HEAD} -1) \ ${WRKSRC}/node_modules/openclaw/node_modules/koffi/build/koffi/freebsd_${NODE_ARCH}/koffi.node do-install: # install node_modules @${MKDIR} ${STAGEDIR}${PREFIX}/lib @cd ${WRKSRC} && \ ${COPYTREE_SHARE} node_modules ${STAGEDIR}${PREFIX}/lib # remove *.node binaries for non-FreeBSD platforms @${FIND} ${STAGEDIR}${PREFIX}/lib/node_modules \ -name "*.node" ! -path "*freebsd*" -delete # update shebang ${REINPLACE_CMD} -i '' \ -e "s|#!/usr/bin/env node|#!${PREFIX}/bin/node|" \ ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME}/openclaw.mjs # set exec bit @${CHMOD} +x \ ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME}/openclaw.mjs # create wrapper script @${MKDIR} ${STAGEDIR}${PREFIX}/bin @${ECHO_CMD} '#!/bin/sh' > ${STAGEDIR}${PREFIX}/bin/openclaw @${ECHO_CMD} 'exec ${PREFIX}/lib/node_modules/${PACKAGE_NAME}/openclaw.mjs "$$@"' \ >> ${STAGEDIR}${PREFIX}/bin/openclaw @${CHMOD} +x ${STAGEDIR}${PREFIX}/bin/openclaw post-patch-EXTEND_AI_TIMEOUT-on: @${FIND} ${WRKSRC}/node_modules/${PACKAGE_NAME}/dist -name "*.js" \ -exec ${GREP} -q "DEFAULT_GUARDED_HTTP_TIMEOUT_MS = 6e4" {} \; \ -exec ${REINPLACE_CMD} \ -e 's/DEFAULT_GUARDED_HTTP_TIMEOUT_MS = 6e4/DEFAULT_GUARDED_HTTP_TIMEOUT_MS = 86400000/' {} \; @${FIND} ${WRKSRC}/node_modules/${PACKAGE_NAME}/dist -name "*.js" \ -exec ${GREP} -q "DEFAULT_LLM_IDLE_TIMEOUT_MS = 120 \* 1e3" {} \; \ -exec ${REINPLACE_CMD} \ -e 's/DEFAULT_LLM_IDLE_TIMEOUT_MS = 120 \* 1e3/DEFAULT_LLM_IDLE_TIMEOUT_MS = 0/' {} \; @${FIND} ${WRKSRC}/node_modules/${PACKAGE_NAME}/dist -name "*.js" \ -exec ${GREP} -q "new Agent(withHttp1OnlyDispatcherOptions(options))" {} \; \ -exec ${REINPLACE_CMD} \ -e 's/new Agent(withHttp1OnlyDispatcherOptions(options))/new Agent({ ...withHttp1OnlyDispatcherOptions(options), headersTimeout: 86400000, bodyTimeout: 86400000 })/' {} \; post-patch-EXTEND_TYPING_TTL_TIMEOUT-on: @${FIND} ${WRKSRC}/node_modules/${PACKAGE_NAME}/dist -name "*.js" \ -exec ${GREP} -q "typingTtlMs = 2 \* 6e4" {} \; \ -exec ${REINPLACE_CMD} \ -e 's/typingTtlMs = 2 \* 6e4/typingTtlMs = 18000000/' {} \; post-install: # remove empty directories in STAGEDIR @${FIND} ${STAGEDIR}${PREFIX}/lib/node_modules -type d -empty -delete # remove lancedb plugin to ensure it is never enabled at runtime # not to be removed until https://github.com/lancedb/lancedb/issues/3338 is resolved and the plugin can be safely re-enabled @${RM} -r ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME}/dist/extensions/memory-lancedb @${RM} ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME}/docs/plugins/memory-lancedb.md @${FIND} ${STAGEDIR}${PREFIX}/lib/node_modules -type d -empty -delete # autoplist: 32k+ files with randomizing strings in names warrant autoplist @cd ${STAGEDIR}${PREFIX} && \ ${FIND} * -type f -or -type l >> ${TMPPLIST} .include diff --git a/textproc/py-docling-parse/Makefile b/textproc/py-docling-parse/Makefile index 4b312b30448b..05468bc4b05e 100644 --- a/textproc/py-docling-parse/Makefile +++ b/textproc/py-docling-parse/Makefile @@ -1,38 +1,38 @@ PORTNAME= docling-parse DISTVERSION= 7.8.0 +PORTREVISION= 1 CATEGORIES= textproc python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSION} MAINTAINER= yuri@FreeBSD.org COMMENT= Simple package to extract text with coordinates from programmatic PDFs WWW= https://github.com/docling-project/docling-parse LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pybind11>=2.13.6:devel/py-pybind11@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} \ - cmake>=3.27.0:devel/cmake \ cxxopts>=3.3.1:devel/cxxopts \ loguru>=2.1.0:devel/loguru \ nlohmann-json>=3.12.0:devel/nlohmann-json \ utf8cpp>=4.1.1:devel/utf8cpp LIB_DEPENDS= libblend2d.so:graphics/blend2d \ libfreetype.so:print/freetype2 \ libjpeg.so:graphics/jpeg-turbo \ liblcms2.so:graphics/lcms2 \ libopenjp2.so:graphics/openjpeg \ libqpdf.so:print/qpdf RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docling-core>=2.85.0:textproc/py-docling-core@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pillow>=10.0.0:graphics/py-pillow@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLAVOR} -USES= python localbase pkgconfig +USES= cmake:indirect python localbase pkgconfig USE_PYTHON= autoplist concurrent pep517 MAKE_ENV= USE_SYSTEM_DEPS=ON .include