mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
164 lines
7.3 KiB
Tcl
164 lines
7.3 KiB
Tcl
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
|
|
|
|
PortSystem 1.0
|
|
PortGroup qmake5 1.0
|
|
PortGroup boost 1.0
|
|
|
|
name openscad
|
|
subport openscad-devel {}
|
|
|
|
boost.version 1.76
|
|
|
|
if {${subport} eq "openscad"} {
|
|
|
|
conflicts openscad-devel
|
|
version 2021.01
|
|
revision 3
|
|
master_sites http://files.openscad.org
|
|
distfiles ${distname}.src${extract.suffix}
|
|
checksums rmd160 886e111da28bfb78c64ba1bbfaa555c980dad22d \
|
|
sha256 d938c297e7e5f65dbab1461cac472fc60dfeaa4999ea2c19b31a4184f2d70359 \
|
|
size 15817555
|
|
|
|
# Only builds against libc++ now; requires c++14.
|
|
patchfiles-append patch-c++std.pri.diff
|
|
|
|
livecheck.type regex
|
|
livecheck.url [lindex ${master_sites} 0]
|
|
livecheck.regex ${name}-(\[0-9.-\]+).src${extract.suffix}
|
|
|
|
} elseif {${subport} eq "openscad-devel"} {
|
|
PortGroup obsolete 1.0
|
|
|
|
replaced_by openscad
|
|
version 2021.01
|
|
}
|
|
|
|
license GPL-2
|
|
categories science cad
|
|
maintainers {dstrubbe @dstrubbe} openmaintainer
|
|
description Software for creating solid 3D CAD objects
|
|
long_description ${description}. \
|
|
Unlike most free software for creating 3D models (such \
|
|
as the famous application Blender) it does not focus on the \
|
|
artistic aspects of 3D modelling but instead on the CAD \
|
|
aspects. Thus it might be the application you are looking \
|
|
for when you are planning to create 3D models of machine \
|
|
parts but pretty sure is not what you are looking for when \
|
|
you are more interested in creating computer-animated \
|
|
movies. OpenSCAD is not an interactive modeller. Instead \
|
|
it is something like a 3D-compiler that reads in a script \
|
|
file that describes the object and renders the 3D model \
|
|
from this script file. This gives you (the designer) full \
|
|
control over the modelling process and enables you to \
|
|
easily change any step in the modelling process or make \
|
|
designes that are defined by configurable parameters. \
|
|
OpenSCAD provides two main modelling techniques: First \
|
|
there is constructive solid geometry (aka CSG) and second \
|
|
there is extrusion of 2D outlines. As data exchange format \
|
|
for this 2D outlines Autocad DXF files are used. In \
|
|
addition to 2D paths for extrusion it is also possible to \
|
|
read design parameters from DXF files. Besides DXF files \
|
|
OpenSCAD can read and create 3D models in the STL and OFF \
|
|
file formats.
|
|
|
|
homepage http://www.openscad.org/
|
|
|
|
depends_build-append \
|
|
port:bison \
|
|
port:flex \
|
|
path:share/pkgconfig/eigen3.pc:eigen3
|
|
|
|
depends_lib-append port:double-conversion \
|
|
port:eigen3 \
|
|
port:gmp \
|
|
port:mpfr \
|
|
port:glew \
|
|
port:gettext \
|
|
port:libffi \
|
|
port:freetype \
|
|
port:ragel \
|
|
path:lib/pkgconfig/harfbuzz.pc:harfbuzz \
|
|
port:libzip \
|
|
port:libxml2 \
|
|
port:fontconfig \
|
|
port:hidapi \
|
|
port:ossp-uuid \
|
|
port:lib3mf \
|
|
path:lib/pkgconfig/glib-2.0.pc:glib2 \
|
|
port:poppler \
|
|
path:lib/pkgconfig/pixman-1.pc:libpixman \
|
|
path:lib/pkgconfig/cairo.pc:cairo \
|
|
port:cgal4 \
|
|
port:OpenCSG \
|
|
port:qscintilla-qt5 \
|
|
port:qt5-qtmultimedia
|
|
|
|
compiler.cxx_standard 2014
|
|
|
|
configure.env-append \
|
|
OPENSCAD_LIBRARIES=${prefix}
|
|
configure.pre_args-append \
|
|
VERSION=${version} CONFIG-=debug openscad.pro
|
|
post-patch {
|
|
# Let qmake take care of this; we are building for the OS we are on.
|
|
reinplace "s/QMAKE_MACOSX_DEPLOYMENT_TARGET.*//" openscad.pro
|
|
# Grabs ccache if it exists independent of settings; crowbar.
|
|
reinplace "s/ccache/false/" openscad.pro
|
|
}
|
|
|
|
post-destroot {
|
|
# The install location is wrong so we have to move the files to the expected places
|
|
|
|
# Application
|
|
move ${destroot}${prefix}/bin/OpenSCAD.app ${destroot}${applications_dir}
|
|
|
|
# color-schemes -- openscad identifies resource directory by the presence of this folder, so it is required
|
|
move ${destroot}${prefix}/share/openscad/color-schemes ${destroot}${applications_dir}/OpenSCAD.app/Contents/Resources/color-schemes
|
|
|
|
# Examples
|
|
move ${destroot}${prefix}/share/openscad/examples ${destroot}${applications_dir}/OpenSCAD.app/Contents/Resources/examples
|
|
|
|
# fonts
|
|
move ${destroot}${prefix}/share/openscad/fonts ${destroot}${applications_dir}/OpenSCAD.app/Contents/Resources/fonts
|
|
|
|
# locale
|
|
move ${destroot}${prefix}/share/openscad/locale ${destroot}${applications_dir}/OpenSCAD.app/Contents/Resources/locale
|
|
|
|
# Library bitmaps
|
|
file mkdir ${destroot}${applications_dir}/OpenSCAD.app/Contents/Resources/libraries/MCAD/bitmap
|
|
xinstall -m 644 {*}[glob ${destroot}${prefix}/share/openscad/libraries/MCAD/bitmap/*] ${destroot}${applications_dir}/OpenSCAD.app/Contents/Resources/libraries/MCAD/bitmap
|
|
file delete {*}[glob ${destroot}${prefix}/share/openscad/libraries/MCAD/bitmap/*]
|
|
file delete ${destroot}${prefix}/share/openscad/libraries/MCAD/bitmap
|
|
|
|
# Empty directories
|
|
file delete ${destroot}${prefix}/share/openscad/libraries/MCAD/SolidPython
|
|
file delete ${destroot}${prefix}/share/openscad/libraries/MCAD/ThingDoc
|
|
|
|
# Libraries
|
|
xinstall -m 644 {*}[glob ${destroot}${prefix}/share/openscad/libraries/MCAD/*] ${destroot}${applications_dir}/OpenSCAD.app/Contents/Resources/libraries/MCAD
|
|
file delete {*}[glob ${destroot}${prefix}/share/openscad/libraries/MCAD/*]
|
|
|
|
# Delete un-needed files
|
|
file delete ${destroot}${prefix}/share/applications/openscad.desktop
|
|
file delete ${destroot}${prefix}/share/pixmaps/openscad.png
|
|
}
|
|
|
|
# need cmake and ImageMagick dependency, and to set DYLD_LIBRARY_PATH
|
|
# First 194 passed, remaining 1016 failed, with Error: openscad_nogui failed with return code -11
|
|
# Advice from link below did not help unfortunately.
|
|
# https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_on_Linux/UNIX#Test_suite_problems
|
|
# assert tests fail, needs to be enabled as Feature according to http://forum.openscad.org/feedback-let-echo-and-assert-in-expressions-td19111.html
|
|
test.run yes
|
|
pre-test {
|
|
set worksrcdir ${worksrcdir}/tests
|
|
}
|
|
test {
|
|
system -W ${worksrcpath} "chmod -R a+rw ."
|
|
system -W ${worksrcpath} "cmake . -DCOMPARATOR=ncc"
|
|
# or AE, ncc, unspecified, old, diffpng
|
|
system -W ${worksrcpath} "make -j"
|
|
system -W ${worksrcpath} "${prefix}/bin/ctest -C Default --verbose"
|
|
# or All, Default, Heavy, Examples
|
|
}
|