mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: Add pythonscad.
* gnu/packages/engineering.scm (pythonscad): New variable. Change-Id: Ib559ba4f10c0db685520ce1fa3417975c85ba0a6 Signed-off-by: Andreas Enge <andreas@enge.fr>
This commit is contained in:
parent
93a5cc0226
commit
795069e4d2
1 changed files with 66 additions and 0 deletions
|
@ -3438,6 +3438,72 @@ models in the STL and OFF file formats.")
|
||||||
(home-page "https://openscad.org/")
|
(home-page "https://openscad.org/")
|
||||||
(license license:gpl2+))))
|
(license license:gpl2+))))
|
||||||
|
|
||||||
|
(define-public pythonscad
|
||||||
|
(let ((commit "e2641ca1a208a9a54a034a8818a9774ad4d5867c")
|
||||||
|
(version "0.0.0")
|
||||||
|
(revision "0"))
|
||||||
|
(package
|
||||||
|
(inherit openscad)
|
||||||
|
(name "pythonscad")
|
||||||
|
(version (git-version version revision commit))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/pythonscad/pythonscad")
|
||||||
|
(commit commit)
|
||||||
|
;; Needed for libraries/MCAD, a library specific to OpenSCAD
|
||||||
|
;; which is included as a submodule. All other libraries are
|
||||||
|
;; deleted in the patch-source build phase.
|
||||||
|
(recursive? #t)))
|
||||||
|
(sha256
|
||||||
|
(base32 "1i6yajamdrha2kpgyhn7jn6dv35qmgq0zsqv8cdzdqg5142v66ay"))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
(snippet #~(begin
|
||||||
|
;; Delete all unbundled libraries to replace them with
|
||||||
|
;; guix packages.
|
||||||
|
(delete-file-recursively "submodules")
|
||||||
|
(substitute* "CMakeLists.txt"
|
||||||
|
;; Remove bundled libraries from cmake.
|
||||||
|
(("add_subdirectory\\(submodules\\)")
|
||||||
|
""))))
|
||||||
|
(file-name (git-file-name name version))))
|
||||||
|
(arguments
|
||||||
|
(substitute-keyword-arguments (package-arguments openscad)
|
||||||
|
((#:configure-flags flags
|
||||||
|
'())
|
||||||
|
#~(append #$flags
|
||||||
|
(list "-DENABLE_LIBFIVE=ON" "-DUSE_BUILTIN_LIBFIVE=OFF"
|
||||||
|
(string-append "-DPYTHON_VERSION="
|
||||||
|
#$(version-major+minor
|
||||||
|
(package-version python))))))
|
||||||
|
((#:phases phases)
|
||||||
|
#~(modify-phases #$phases
|
||||||
|
(replace 'patch-source
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(substitute* "CMakeLists.txt"
|
||||||
|
;; Fix detection of EGL (see
|
||||||
|
;; https://github.com/openscad/openscad/issues/5880).
|
||||||
|
(("target_link_libraries\\(OpenSCAD PRIVATE OpenGL::EGL\\)")
|
||||||
|
"find_package(ECM REQUIRED NO_MODULE)
|
||||||
|
list(APPEND CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
|
||||||
|
find_package(EGL REQUIRED)
|
||||||
|
target_link_libraries(OpenSCAD PRIVATE EGL::EGL)")
|
||||||
|
;; Use the system sanitizers-cmake module.
|
||||||
|
(("\\$\\{CMAKE_SOURCE_DIR\\}/submodules/sanitizers-cmake/cmake")
|
||||||
|
(string-append (assoc-ref inputs "sanitizers-cmake")
|
||||||
|
"/share/sanitizers-cmake/cmake")))))))))
|
||||||
|
(inputs (modify-inputs (package-inputs openscad)
|
||||||
|
(append curl libfive)))
|
||||||
|
(synopsis "Script-based 3D modeling app whith Python support")
|
||||||
|
(description
|
||||||
|
"PythonSCAD is a programmatic 3D modeling application. It allows you
|
||||||
|
to turn simple code into 3D models suitable for 3D printing. It is a fork of
|
||||||
|
OpenSCAD which not only adds support for using Python as a native language,
|
||||||
|
but also adds new features and improves existing ones.")
|
||||||
|
(home-page "https://pythonscad.org/")
|
||||||
|
(license license:gpl2+))))
|
||||||
|
|
||||||
(define-public emacs-scad-mode
|
(define-public emacs-scad-mode
|
||||||
(package
|
(package
|
||||||
(name "emacs-scad-mode")
|
(name "emacs-scad-mode")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue