| version 1.6, 2025/10/01 02:42:35 |
version 1.17, 2025/11/27 01:31:13 |
|
|
| COMMENT = the programmers solid 3D CAD modeller |
COMMENT = programmers solid 3D CAD modeller |
| |
|
| V = 2025.09.12 |
V = 2025.10.14 |
| DISTNAME = openscad-${V} |
DISTNAME = openscad-${V} |
| |
|
| CATEGORIES = cad |
CATEGORIES = cad |
| |
|
| HOMEPAGE = https://www.openscad.org/ |
HOMEPAGE = https://www.openscad.org/ |
| |
TEST_IS_INTERACTIVE = X11 |
| |
|
| # AGPL-3.0 |
# AGPL-3.0 |
| PERMIT_PACKAGE = Yes |
PERMIT_PACKAGE = Yes |
| |
|
| GH_ACCOUNT = openscad |
GH_ACCOUNT = openscad |
| GH_PROJECT = openscad |
GH_PROJECT = openscad |
| GH_COMMIT = d38a6251a3c95f7455ba3b368a9dd045483e5b5b |
GH_COMMIT = b0f18e9b4d61288b2cd6c659135f7e77def179e0 |
| |
|
| MCAD_COMMIT = 1ea402208c3127ffb443931e9bb1681c191dacca |
MCAD_COMMIT = 1ea402208c3127ffb443931e9bb1681c191dacca |
| SITES.mcad = https://github.com/${GH_ACCOUNT}/MCAD/archive/ |
SITES.mcad = https://github.com/${GH_ACCOUNT}/MCAD/archive/ |
|
|
| |
|
| MODULES = devel/cmake \ |
MODULES = devel/cmake \ |
| lang/python \ |
lang/python \ |
| x11/qt5 |
x11/qt6 |
| |
|
| WANTLIB += ${COMPILER_LIBCXX} 3mf EGL GL GLEW GLU Qt5Concurrent |
WANTLIB += ${COMPILER_LIBCXX} 3mf Clipper2 EGL GL GLEW GLU Qt6Concurrent |
| WANTLIB += Qt5Core Qt5DBus Qt5Gamepad Qt5Gui Qt5Multimedia Qt5Network |
WANTLIB += Qt6Core Qt6Core5Compat Qt6DBus Qt6Gui Qt6Multimedia |
| WANTLIB += Qt5OpenGL Qt5Svg Qt5Widgets boost_program_options-mt |
WANTLIB += Qt6Network Qt6OpenGL Qt6OpenGLWidgets Qt6Svg Qt6Widgets |
| WANTLIB += boost_regex-mt c cairo double-conversion fontconfig |
WANTLIB += boost_atomic-mt boost_filesystem-mt boost_program_options-mt |
| WANTLIB += freetype glib-2.0 gmp gmpxx harfbuzz intl m manifold |
WANTLIB += boost_regex-mt boost_system-mt c cairo double-conversion |
| WANTLIB += mpfr opencsg qscintilla2_qt5 tbb xml2 zip |
WANTLIB += fontconfig freetype glib-2.0 gmp gmpxx harfbuzz intl |
| |
WANTLIB += m manifold mpfr opencsg qscintilla2_qt6 tbb xml2 zip |
| |
|
| # Match devel/boost |
# Match devel/boost |
| COMPILER = base-clang ports-gcc |
COMPILER = base-clang ports-gcc |
|
|
| shells/bash |
shells/bash |
| |
|
| LIB_DEPENDS = archivers/libzip \ |
LIB_DEPENDS = archivers/libzip \ |
| |
cad/clipper2 \ |
| |
cad/lib3mf \ |
| cad/manifold \ |
cad/manifold \ |
| devel/boost \ |
devel/boost \ |
| devel/gettext \ |
devel/gettext \ |
| devel/glib2 \ |
devel/glib2 \ |
| devel/gmp \ |
devel/gmp \ |
| devel/gmp,-cxx \ |
devel/gmp,-cxx \ |
| devel/lib3mf \ |
|
| devel/mpfr \ |
devel/mpfr \ |
| devel/tbb \ |
devel/tbb \ |
| editors/qscintilla \ |
editors/qscintilla,qt6 \ |
| graphics/glew \ |
graphics/glew \ |
| graphics/opencsg \ |
graphics/opencsg \ |
| x11/qt5/qtbase \ |
x11/qt6/qt5compat \ |
| x11/qt5/qtgamepad \ |
x11/qt6/qtbase \ |
| x11/qt5/qtmultimedia \ |
x11/qt6/qtmultimedia \ |
| x11/qt5/qtsvg |
x11/qt6/qtsvg |
| |
|
| RUN_DEPENDS = devel/desktop-file-utils \ |
RUN_DEPENDS = devel/desktop-file-utils \ |
| misc/shared-mime-info \ |
misc/shared-mime-info \ |
|
|
| |
|
| TEST_DEPENDS = graphics/ImageMagick |
TEST_DEPENDS = graphics/ImageMagick |
| |
|
| DEBUG_PACKAGES = ${BUILD_PACKAGES} |
# A test requires this |
| |
TEST_DEPENDS += shells/bash |
| |
|
| |
# The openscad script wrapper breaks debug packages |
| |
#DEBUG_PACKAGES = ${BUILD_PACKAGES} |
| |
|
| # Make about say the "right" thing |
# Make about say the "right" thing |
| CONFIGURE_ARGS += -DOPENSCAD_VERSION=${V} |
CONFIGURE_ARGS += -DOPENSCAD_VERSION=${V} |
| |
|
|
|
| CONFIGURE_ARGS += -DUSE_BUILTIN_CLIPPER2=OFF \ |
CONFIGURE_ARGS += -DUSE_BUILTIN_CLIPPER2=OFF \ |
| -DUSE_BUILTIN_MANIFOLD=OFF |
-DUSE_BUILTIN_MANIFOLD=OFF |
| |
|
| |
# Our QT6 port is more stable |
| |
CONFIGURE_ARGS += -DUSE_QT6=ON |
| |
|
| # It might be faster, but at what cost? |
# It might be faster, but at what cost? |
| #LIB_DEPENDS += devel/mimalloc |
|
| CONFIGURE_ARGS += -DUSE_MIMALLOC=OFF |
CONFIGURE_ARGS += -DUSE_MIMALLOC=OFF |
| |
|
| # We don't have Pillow |
# We don't have Pillow |
|
|
| post-extract: |
post-extract: |
| rmdir ${WRKSRC}/libraries/MCAD |
rmdir ${WRKSRC}/libraries/MCAD |
| cp -a ${WRKDIR}/MCAD-${MCAD_COMMIT} ${WRKSRC}/libraries/MCAD |
cp -a ${WRKDIR}/MCAD-${MCAD_COMMIT} ${WRKSRC}/libraries/MCAD |
| |
#find ${WRKSRC} -type f -exec sed -i '1s,^#!/bin/sh,#!${PREFIX}/bin/bash,' {} + |
| |
|
| # OpenSCAD uses the program_location (see patch-src_openscad_cc) to figure out |
# OpenSCAD uses the program_location (see patch-src_openscad_cc) to |
| # resource paths, but on OpenBSD that doesn't work when launched from the PATH |
# figure out resource paths, but on OpenBSD that doesn't work when |
| # So, add a shell script shim to fix up argv[0] to be absolute so our patch works. |
# launched from the PATH So, add a shell script shim to fix up argv[0] |
| |
# to be absolute so our patch works. |
| post-install: |
post-install: |
| mv ${PREFIX}/bin/openscad ${PREFIX}/libexec/openscad |
mv ${PREFIX}/bin/openscad ${PREFIX}/libexec/openscad |
| ${INSTALL_SCRIPT} /dev/null ${PREFIX}/bin/openscad |
${INSTALL_SCRIPT} /dev/null ${PREFIX}/bin/openscad |
| printf "%s\n%s\n" '#!/bin/sh' 'exec ${TRUEPREFIX}/libexec/openscad "$$@"' \ |
printf "%s\n%s\n" \ |
| |
'#!/bin/sh' \ |
| |
'exec ${TRUEPREFIX}/libexec/openscad "$$@"' \ |
| > ${PREFIX}/bin/openscad |
> ${PREFIX}/bin/openscad |
| ${MODPY_COMPILEALL} ${PREFIX}/share/openscad/libraries/MCAD/ |
${MODPY_COMPILEALL} ${PREFIX}/share/openscad/libraries/MCAD/ |
| |
|