(address . guix-patches@gnu.org)(name . Myles English)(address . myles@tdma.co)
* gnu/packages/game-development.scm (solvespace): New variable and
dependencies on gnu package modules.
---
gnu/packages/engineering.scm | 70 ++++++++++++++++++++++++++++++++++++
1 file changed, 70 insertions(+)
Toggle diff (101 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 7d48414889..7fc06a6730 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2018, 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Tim Stahel <swedneck@swedneck.xyz>
+;;; Copyright © 2019 Myles English <myles@tdma.co>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -80,6 +81,7 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages serialization)
#:use-module (gnu packages swig)
#:use-module (gnu packages tcl)
#:use-module (gnu packages texinfo)
@@ -87,6 +89,8 @@
#:use-module (gnu packages tex)
#:use-module (gnu packages version-control)
#:use-module (gnu packages wxwidgets)
+ #:use-module (gnu packages web)
+ #:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define-public librecad
@@ -2062,3 +2066,69 @@ purpose circuit simulator and can perform DC and transient analyses, fourier
analysis and AC analysis. The engine is designed to do true mixed-mode
simulation.")
(license license:gpl3+)))
+
+(define-public solvespace-3
+ (let ((commit "5df53fc59e7f31e265fabd4c15e6601bd3032833")
+ (revision "1"))
+ (package
+ (name "solvespace")
+ (version (git-version "3.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/solvespace/solvespace.git")
+ (commit commit)
+ (recursive? #t)))
+ (sha256
+ (base32
+ "0kps2rgakdrbm9f6gwkb7za5ikkc4m6y2x162y3c53ixg5snmlr1"))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; delete some recursive submodules in order to use guix packages
+ (delete-file-recursively "extlib/zlib")
+ (delete-file-recursively "extlib/libpng")
+ (delete-file-recursively "extlib/freetype")
+ ;; pixman only needed for tests?
+ (delete-file-recursively "extlib/pixman")
+ (delete-file-recursively "extlib/cairo")
+ (delete-file-recursively "extlib/flatbuffers")
+ #t))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "-DCMAKE_BUILD_TYPE=Release"
+ (string-append
+ "-DFLATC="
+ (assoc-ref %build-inputs "flatbuffers") "/bin/flatc"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-git-commit-hash
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "CMakeLists.txt"
+ (("include\\(GetGitCommitHash\\)")
+ "#include(GetGitCommitHash)")
+ (("\\# set\\(GIT_COMMIT_HASH
+ 0000000000000000000000000000000000000000\\)")
+ (string-append "set(GIT_COMMIT_HASH " ,commit ")"))
+ (("message\\(STATUS \\\"Using in-tree flatbuffers\\\"\\)")
+ "message(STATUS \"Using guix flatbuffers\")")
+ (("add_subdirectory\\(extlib/flatbuffers EXCLUDE_FROM_ALL\\)")
+ "#add_subdirectory(extlib/flatbuffers EXCLUDE_FROM_ALL)"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("git" ,git)
+ ("json-c" ,json-c)
+ ("glu" ,glu)
+ ("gtkmm" ,gtkmm)
+ ("flatbuffers" ,flatbuffers)))
+ (home-page "http://solvespace.com")
+ (synopsis "Parametric 2D/3D CAD tool")
+ (description "Parametric 2D/3D computer aided design (CAD) tool and
+constraint-based parametric modeler with simple mechanical simulation
+capabilities.")
+ (license license:gpl3+))))
--
2.22.0