summaryrefslogtreecommitdiff
path: root/gnu/packages/engineering.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/engineering.scm')
-rw-r--r--gnu/packages/engineering.scm69
1 files changed, 69 insertions, 0 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 7f5409c8356..c1c1b18ed36 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -65,6 +65,7 @@
65 #:use-module (gnu packages glib) 65 #:use-module (gnu packages glib)
66 #:use-module (gnu packages gnome) 66 #:use-module (gnu packages gnome)
67 #:use-module (gnu packages gperf) 67 #:use-module (gnu packages gperf)
68 #:use-module (gnu packages graphics)
68 #:use-module (gnu packages groff) 69 #:use-module (gnu packages groff)
69 #:use-module (gnu packages gtk) 70 #:use-module (gnu packages gtk)
70 #:use-module (gnu packages guile) 71 #:use-module (gnu packages guile)
@@ -89,6 +90,7 @@
89 #:use-module (gnu packages tex) 90 #:use-module (gnu packages tex)
90 #:use-module (gnu packages version-control) 91 #:use-module (gnu packages version-control)
91 #:use-module (gnu packages wxwidgets) 92 #:use-module (gnu packages wxwidgets)
93 #:use-module (gnu packages xml)
92 #:use-module (gnu packages xorg)) 94 #:use-module (gnu packages xorg))
93 95
94(define-public librecad 96(define-public librecad
@@ -2145,3 +2147,70 @@ well as conversion and validation tools for input and output data. The
2145specification can be downloaded at @url{http://3mf.io/specification/}.") 2147specification can be downloaded at @url{http://3mf.io/specification/}.")
2146 (home-page "https://3mf.io/") 2148 (home-page "https://3mf.io/")
2147 (license license:bsd-2))) 2149 (license license:bsd-2)))
2150
2151(define-public openscad
2152 (package
2153 (name "openscad")
2154 (version "2019.05")
2155 (source
2156 (origin
2157 (method url-fetch)
2158 (uri (string-append "https://files.openscad.org/openscad-" version
2159 ".src.tar.gz"))
2160 (sha256
2161 (base32
2162 "0nbgk5q5pgnw53la0kccdcpz2f4xf6d6076rkn0q08z57hkc85ha"))))
2163 (build-system cmake-build-system)
2164 (inputs
2165 `(("boost" ,boost)
2166 ("cgal" ,cgal)
2167 ("double-conversion" ,double-conversion)
2168 ("eigen" ,eigen)
2169 ("fontconfig" ,fontconfig)
2170 ("glew" ,glew)
2171 ("gmp" ,gmp)
2172 ("harfbuzz" ,harfbuzz)
2173 ("lib3mf" ,lib3mf)
2174 ("libxml2" ,libxml2)
2175 ("libzip" ,libzip)
2176 ("mpfr" ,mpfr)
2177 ("opencsg" ,opencsg)
2178 ("qscintilla" ,qscintilla)
2179 ("qtbase" ,qtbase)
2180 ("qtmultimedia" ,qtmultimedia)))
2181 (native-inputs
2182 `(("bison" ,bison)
2183 ("flex" ,flex)
2184 ("gettext" ,gettext-minimal)
2185 ("pkg-config" ,pkg-config)
2186 ("which" ,which)
2187 ;; the following are only needed for tests
2188 ("imagemagick" ,imagemagick)
2189 ("ps" ,procps)
2190 ("python" ,python)
2191 ("xvfb" ,xorg-server)))
2192 (arguments
2193 `(#:phases
2194 (modify-phases %standard-phases
2195 (replace 'configure
2196 (lambda* (#:key outputs #:allow-other-keys)
2197 (invoke "qmake"
2198 (string-append "PREFIX=" (assoc-ref outputs "out")))
2199 #t))
2200 (replace 'check
2201 (lambda _
2202 (with-directory-excursion "tests"
2203 (invoke "cmake" ".")
2204 (invoke "make")
2205 (invoke "ctest"))
2206 ;; strip python test files since lib dir ends up in out/share
2207 (for-each delete-file
2208 (find-files "libraries/MCAD" ".*\\.py"))
2209 #t)))))
2210 (synopsis "Script-based 3D modeling application")
2211 (description
2212 "OpenSCAD is a 3D Computer-aided Design (CAD) application. Unlike an
2213interactive modeler, OpenSCAD generates 3D models from a script, giving you
2214full programmatic control over your models.")
2215 (home-page "https://www.openscad.org/")
2216 (license license:gpl2+)))