(address . guix-patches@gnu.org)(name . Paul A. Patience)(address . paul@apatience.com)
* gnu/packages/graphics.scm (asli): New variable.
---
gnu/packages/graphics.scm | 67 +++++++++++++++++++++++++++++++++++++++
1 file changed, 67 insertions(+)
Toggle diff (82 lines)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index c193be1efb..bae1ba1f99 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -31,6 +31,7 @@
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022 Tobias Kortkamp <tobias.kortkamp@gmail.com>
+;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2120,3 +2121,69 @@ (define-public azpainter
@end itemize
")
(license license:gpl3+)))
+
+(define-public asli
+ (package
+ (name "asli")
+ (version "0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tpms-lattice/ASLI")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "02hwdavpsy3vmivd6prp03jn004ykrl11lbkvksy5i2zm38zbknr"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Remove bundled libraries except ALGLIB, TetGen and yaml-cpp, which
+ ;; are statically linked, and KU Leuven's mTT, which is an obscure
+ ;; (i.e., unfindable by searching online for “mTT KU Leuven”), BSD-3
+ ;; licensed, header-only library.
+ ;;
+ ;; AdaptTools and mmg are missing from Guix, but anyway they are
+ ;; unused because mmg support is disabled (-DMMG_MESH=OFF).
+ #~(begin
+ (delete-file-recursively "libs/AdaptTools")
+ (delete-file-recursively "libs/CGAL")
+ (delete-file-recursively "libs/eigen")
+ (delete-file-recursively "libs/mmg")))))
+ (build-system cmake-build-system)
+ (native-inputs
+ ;; Header-only library
+ (list cgal))
+ (inputs
+ (list boost
+ eigen
+ gmp
+ mpfr
+ tbb-2020))
+ (arguments
+ (list #:tests? #f ; No tests
+ #:configure-flags
+ #~(list "-DCGAL_ACTIVATE_CONCURRENT_MESH_3=ON"
+ "-DMMG_MESH=OFF" ; Build fails when enabled (the default)
+ (string-append "-DEIGEN3_INCLUDE_DIR="
+ #$(this-package-input "eigen")
+ "/include/eigen3"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'install ; No install phase
+ (lambda _
+ (with-directory-excursion "../source/bin"
+ (install-file "ASLI" (string-append #$output "/bin"))
+ ;; The manual is included in the repository.
+ ;; Building it requires -DASLI_DOC=ON, but this is marked
+ ;; as unsupported (presumably for users).
+ (install-file "docs/ASLI [User Manual].pdf"
+ (string-append #$output "/share/doc/"
+ #$name "-" #$version))))))))
+ (home-page "http://www.biomech.ulg.ac.be/ASLI/")
+ (synopsis "Create lattice infills with varying unit cell type, size and feature")
+ (description "ASLI (A Simple Lattice Infiller) is a command-line tool that
+allows users to fill any 3D geometry with a functionally graded lattice. The
+lattice infill is constructed out of unit cells, described by implicit
+functions, whose type, size and feature can be varied locally to obtain the
+desired local properties.")
+ (license license:agpl3+)))
--
2.37.0