From 46abca1fc7af38266045efe23132d43440750813 Mon Sep 17 00:00:00 2001 From: Thierry Thomas Date: Mon, 1 Jun 2026 11:57:47 +0200 Subject: [PATCH] cad/qcadjsapi: new port required by cad/qcad Remark: maintainer set to mr, because it has to be maintained with QCAD. PR: 295682 Approved by: mr (maintainer) --- cad/Makefile | 1 + cad/qcadjsapi/Makefile | 48 ++++++++++++++++++++++++ cad/qcadjsapi/distinfo | 3 ++ cad/qcadjsapi/files/patch-CMakeLists.txt | 9 +++++ cad/qcadjsapi/pkg-descr | 4 ++ 5 files changed, 65 insertions(+) create mode 100644 cad/qcadjsapi/Makefile create mode 100644 cad/qcadjsapi/distinfo create mode 100644 cad/qcadjsapi/files/patch-CMakeLists.txt create mode 100644 cad/qcadjsapi/pkg-descr diff --git a/cad/Makefile b/cad/Makefile index 76a381c20076..08b30ec8afe0 100644 --- a/cad/Makefile +++ b/cad/Makefile @@ -125,6 +125,7 @@ SUBDIR += py-vunit-hdl SUBDIR += python-gdsii SUBDIR += qcad + SUBDIR += qcadjsapi SUBDIR += qcsxcad SUBDIR += qelectrotech SUBDIR += qflow diff --git a/cad/qcadjsapi/Makefile b/cad/qcadjsapi/Makefile new file mode 100644 index 000000000000..5b22822eb7e6 --- /dev/null +++ b/cad/qcadjsapi/Makefile @@ -0,0 +1,48 @@ +PORTNAME= qcadjsapi +DISTVERSIONPREFIX= v +DISTVERSION= 3.32.9.0 +CATEGORIES= cad + +MAINTAINER= mr@FreeBSD.org +COMMENT= QJSEngine bindings for QCAD +WWW= https://www.ribbonsoft.com/qcad.html + +LICENSE= MIT + +BUILD_DEPENDS= ${NONEXISTENT}:cad/qcad:build \ + ${NONEXISTENT}:cad/qtjsapi:build +LIB_DEPENDS= libOpenNURBS.so:graphics/opennurbs \ + libqtjsapi.so:cad/qtjsapi \ + libcups.so:print/cups +RUN_DEPENDS= qcad>0:cad/qcad + +USES= compiler:c++17-lang cmake gl localbase:ldflags qt:6 + +USE_GITHUB= yes +GH_ACCOUNT= qcad + +CFLAGS+= -DON_SIZEOF_WCHAR_T=4 -fPIC + +USE_QT= 5compat base declarative svg tools +USE_GL= opengl + +PLIST_FILES= share/qcad/plugins/libqcadjsapi.so + +.include + +.if ${ARCH} != "sparc64" && ${ARCH} != "powerpc" && ${ARCH} != powerpc64 +CFLAGS+= -DON_LITTLE_ENDIAN +.else +CFLAGS+= -DON_BIG_ENDIAN +.endif + +post-extract: + ${LN} -sf `${MAKE} -C ${.CURDIR}/../../cad/qcad/ -V WRKSRC` ${WRKDIR}/qcad + ${LN} -sf `${MAKE} -C ${.CURDIR}/../../cad/qtjsapi/ -V WRKSRC` ${WRKDIR}/qtjsapi + +do-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/share/qcad/plugins + ${INSTALL_LIB} ${WRKDIR}/qcad/plugins/libqcadjsapi.so \ + ${STAGEDIR}${PREFIX}/share/qcad/plugins + +.include diff --git a/cad/qcadjsapi/distinfo b/cad/qcadjsapi/distinfo new file mode 100644 index 000000000000..23deadcbf7d8 --- /dev/null +++ b/cad/qcadjsapi/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1779901205 +SHA256 (qcad-qcadjsapi-v3.32.9.0_GH0.tar.gz) = 896de5c92c51000241028b4a1ee5d8353c706bec04b4389c76d0c94dd9c1a885 +SIZE (qcad-qcadjsapi-v3.32.9.0_GH0.tar.gz) = 3454095 diff --git a/cad/qcadjsapi/files/patch-CMakeLists.txt b/cad/qcadjsapi/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..1102c2c111e2 --- /dev/null +++ b/cad/qcadjsapi/files/patch-CMakeLists.txt @@ -0,0 +1,9 @@ +--- CMakeLists.txt.orig 2026-05-05 14:30:13 UTC ++++ CMakeLists.txt +@@ -145,5 +145,5 @@ target_link_libraries(qcadjsapi PRIVATE + qcadspatialindex + qcadstemmer + qtjsapi +- opennurbs ++ OpenNURBS + ) diff --git a/cad/qcadjsapi/pkg-descr b/cad/qcadjsapi/pkg-descr new file mode 100644 index 000000000000..5c516d034ca5 --- /dev/null +++ b/cad/qcadjsapi/pkg-descr @@ -0,0 +1,4 @@ +QJSEngine bindings for the QCAD API. + +It uses the Qt Script based qtscriptgenerator for Qt 5 which was made +obsolete when the Qt Script module was declared deprecated.