From 455da8f458ce91c1ff1de3ecf2de14232f66b358 Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Wed, 14 Aug 2024 08:48:45 +0300 Subject: gnu: asli: Update to 0.1-1.4f4ba14. * gnu/packages/graphics.scm (asli): Update to the commit 4f4ba142ea7db6eecfdb546538c88a38680a83c5 to allow build with CGAL v5.6. * gnu/packages/patches/asli-use-system-libs.patch: Update. Change-Id: I623099a34d96180fe6aa4c161cfa895597a45304 --- gnu/packages/graphics.scm | 138 ++++++++++++------------ gnu/packages/patches/asli-use-system-libs.patch | 55 ++++++---- 2 files changed, 102 insertions(+), 91 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 47951e55f9..56c53211c1 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -2852,78 +2852,80 @@ a game.") (license license:zlib)))) (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")) - (patches (search-patches "asli-use-system-libs.patch")) - (modules '((guix build utils))) - (snippet - ;; Remove bundled libraries except (the ones missing from Guix 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. - #~(begin - ;;(delete-file-recursively "libs/AdaptTools") ; Missing from Guix - (delete-file-recursively "libs/CGAL") - ;;(delete-file-recursively "libs/alglib") ; Missing from Guix - (delete-file-recursively "libs/eigen") - (delete-file-recursively "libs/mmg") - ;;(delete-file-recursively "libs/tetgen") ; Missing from Guix - (delete-file-recursively "libs/yaml"))))) - (build-system cmake-build-system) - (inputs - (list boost - cgal - eigen - gmp - `(,mmg "lib") - mpfr - tbb-2020 - yaml-cpp)) - (arguments - (list #:tests? #f ; No tests - #:configure-flags - #~(list "-DCGAL_ACTIVATE_CONCURRENT_MESH_3=ON" - (string-append "-DEIGEN3_INCLUDE_DIR=" - #$(this-package-input "eigen") - "/include/eigen3") - (string-append "-DMMG_INCLUDE_DIR=" - (ungexp (this-package-input "mmg") "lib") - "/include") - (string-append "-DMMG_LIBRARY_DIR=" - (ungexp (this-package-input "mmg") "lib") - "/lib")) - #: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). - ;; Besides, some of the LaTeX packages it uses are - ;; missing from Guix, for example emptypage, fvextra and - ;; menukeys. - (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 + ;; Use the newer version of ASLI that allows build with CGAL v5.6. + (let ((commit "4f4ba142ea7db6eecfdb546538c88a38680a83c5") + (revision "1")) + (package + (name "asli") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tpms-lattice/ASLI") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "122xxnj3dckmg6mh07x490564b2z9gd38cd0wc5zz3p4nshcq7wy")) + (patches (search-patches "asli-use-system-libs.patch")) + (modules '((guix build utils))) + (snippet + ;; Remove bundled libraries except (the ones missing from Guix 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. + #~(begin + ;;(delete-file-recursively "libs/AdaptTools") ; Missing from Guix + (delete-file-recursively "libs/CGAL") + ;;(delete-file-recursively "libs/alglib") ; Missing from Guix + (delete-file-recursively "libs/eigen") + (delete-file-recursively "libs/mmg") + (delete-file-recursively "libs/yaml"))))) + (build-system cmake-build-system) + (inputs + (list boost + cgal + eigen + gmp + `(,mmg "lib") + mpfr + tbb-2020 + yaml-cpp)) + (arguments + (list #:tests? #f ; No tests + #:configure-flags + #~(list "-DCGAL_ACTIVATE_CONCURRENT_MESH_3=ON" + (string-append "-DEIGEN3_INCLUDE_DIR=" + #$(this-package-input "eigen") + "/include/eigen3") + (string-append "-DMMG_INCLUDE_DIR=" + (ungexp (this-package-input "mmg") "lib") + "/include") + (string-append "-DMMG_LIBRARY_DIR=" + (ungexp (this-package-input "mmg") "lib") + "/lib")) + #: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). + ;; Besides, some of the LaTeX packages it uses are + ;; missing from Guix, for example emptypage, fvextra and + ;; menukeys. + (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+))) + (license license:agpl3+)))) (define-public f3d (package diff --git a/gnu/packages/patches/asli-use-system-libs.patch b/gnu/packages/patches/asli-use-system-libs.patch index 6c4518e04e..82e49addb6 100644 --- a/gnu/packages/patches/asli-use-system-libs.patch +++ b/gnu/packages/patches/asli-use-system-libs.patch @@ -1,12 +1,20 @@ -Adjust CMakeLists.txt to use system-provided mmg and yaml-cpp libraries. +From edfff0027c3cdacbbc0f288078366058f598544d Mon Sep 17 00:00:00 2001 +From: "Artyom V. Poptsov" +Date: Wed, 14 Aug 2024 07:57:20 +0300 +Subject: [PATCH] CMakeLists.txt: Adjust to use system libraries. + +* CMakeLists.txt: Adjust to use system-provided mmg and yaml-cpp libraries. +--- + CMakeLists.txt | 38 ++++++-------------------------------- + 1 file changed, 6 insertions(+), 32 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index b11c5ba..702423e 100755 +index ca2a01f9..c6eff22f 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -122,28 +122,8 @@ if(MMG_MESH) - add_definitions(-DMMG_MESH) +@@ -113,28 +113,8 @@ endif() + # Mmg and its components # MMG - set(MMG_PREFIX mmg3d) - set(MMG_PREFIX_DIR ${CMAKE_CURRENT_BINARY_DIR}/${MMG_PREFIX}) @@ -19,7 +27,7 @@ index b11c5ba..702423e 100755 - INSTALL_DIR ${MMG_INSTALL_DIR} - - CMAKE_ARGS(-DCMAKE_BUILD_TYPE=Release -DBUILD=MMG3D -DLIBMMG3D_STATIC=ON -- -DLIBMMG3D_SHARED=OFF -DCMAKE_INSTALL_PREFIX=) +- -DLIBMMG3D_SHARED=OFF -DUSE_ELAS=OFF -DUSE_VTK=OFF -DCMAKE_INSTALL_PREFIX=) - - BUILD_COMMAND make - INSTALL_COMMAND make install @@ -35,8 +43,8 @@ index b11c5ba..702423e 100755 # MshMet set(MSHMET_PREFIX mshmet) -@@ -192,14 +172,8 @@ target_include_directories(tet PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/libs/tetgen) - target_compile_definitions(tet PUBLIC TETLIBRARY) # -DTETLIBRARY: flag to compile tetgen as a library +@@ -174,14 +154,8 @@ target_include_directories(alg PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/libs/alglib/sr + include_directories(${CMAKE_CURRENT_SOURCE_DIR}/libs/mTT/include) # yaml -file(GLOB yaml_SRC CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libs/yaml/src/*.cpp) # Using file GLOB is not recomended! @@ -52,21 +60,22 @@ index b11c5ba..702423e 100755 # Compile options for debuging if(CMAKE_BUILD_TYPE MATCHES Debug) -@@ -259,7 +233,7 @@ if(MARCH_NATIVE) - endif() +@@ -218,7 +192,7 @@ endif() # Create entries for C++ files in "ASLI" routine --target_link_libraries(ASLI PUBLIC alg tet yaml) -+target_link_libraries(ASLI PUBLIC alg tet ${YAML_CPP_LIBRARIES}) - if(NOT MSVC) - target_link_libraries(ASLI PUBLIC stdc++fs) - endif() -@@ -272,7 +246,7 @@ if(CGAL_MESH) - endif() - - if(MMG_MESH) -- add_dependencies(ASLI ${MMG_PREFIX} ${MSHMET_PREFIX}) -+ add_dependencies(ASLI ${MSHMET_PREFIX}) - target_link_libraries(ASLI PUBLIC ${MMG3D_LIBRARIES} ${MSHMET_LIBRARIES}) - if(SCOTCH_FOUND) - target_link_libraries(ASLI PUBLIC ${SCOTCH_LIBRARIES} scotch) + add_dependencies(ASLI ${MMG_PREFIX} ${MSHMET_PREFIX}) +-target_link_libraries(ASLI PUBLIC alg yaml ++target_link_libraries(ASLI PUBLIC alg ${YAML_CPP_LIBRARIES} + CGAL::CGAL CGAL::Eigen_support + ${MMG3D_LIBRARIES} ${MSHMET_LIBRARIES} + ) +@@ -301,4 +275,4 @@ if(MSYS AND ASLI_DLL) + $ + ) + endif() +-endif() +\ No newline at end of file ++endif() +-- +2.45.2 + -- cgit v1.2.3