me
/
guix
Archived
1
0
Fork 0

gnu: f3d: Update to 1.3.0-pre-0.46df21f.

* gnu/packages/graphics.scm (f3d): Update to 1.3.0-pre-0.46df21f.
[source](modules, snippet): New fields.
[arguments]<#:configure-flags>: Generate manual page, install various
resource files, and enable the now-optional external rendering feature.
[native-inputs]: New field.
[synopsis]: Add hyphen.
[description]: Reword.

Signed-off-by: Christopher Baines <mail@cbaines.net>
master
Paul A. Patience 2022-09-02 19:03:12 +00:00 committed by Christopher Baines
parent 8ba5075192
commit 75febb00a5
No known key found for this signature in database
GPG Key ID: 5E28A33B0B84F577
1 changed files with 46 additions and 18 deletions

View File

@ -61,6 +61,7 @@
#:use-module (gnu packages cdrom) #:use-module (gnu packages cdrom)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crypto) #:use-module (gnu packages crypto)
#:use-module (gnu packages datastructures) #:use-module (gnu packages datastructures)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
@ -88,6 +89,7 @@
#:use-module (gnu packages logging) #:use-module (gnu packages logging)
#:use-module (gnu packages llvm) #:use-module (gnu packages llvm)
#:use-module (gnu packages lua) #:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages mp3) #:use-module (gnu packages mp3)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
@ -2307,11 +2309,14 @@ a tetrahedral mesh, isovalue discretization and Lagrangian movement;
;; There have been many improvements since the last tagged version (1.2.1, ;; There have been many improvements since the last tagged version (1.2.1,
;; released in December 2021), including support for the Alembic file ;; released in December 2021), including support for the Alembic file
;; format. ;; format.
(let ((commit "9cc79b65ed750b178f58012dbba091aa24722dab") (let ((commit "46df21fe9409349917af5e6f7d1cb931f4c68e59")
(revision "0")) (revision "0"))
(package (package
(name "f3d") (name "f3d")
(version (git-version "1.2.1" revision commit)) ;; F3D has not actually been tagged as 1.3.0-pre, but upstream commit
;; 401d4d27b2094568378c07f400fbad48b7af3168 updated the version string
;; to 1.3.0.
(version (git-version "1.3.0-pre" revision commit))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2320,29 +2325,52 @@ a tetrahedral mesh, isovalue discretization and Lagrangian movement;
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "041gqi2wfny2br4j68vhifg0bd18kbl0qsaallkz7yywk47njxfi")))) (base32 "0x0jw9vqf1b8pxh84xpr47hzcjynk07dp8q7r2xihh9cd00kglp1"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file "application/cxxopts.hpp")
(delete-file "application/json.hpp")
(substitute* "application/F3DOptionsParser.cxx"
(("^#include \"cxxopts\\.hpp\"")
"#include <cxxopts.hpp>")
(("^#include \"json\\.hpp\"")
"#include <nlohmann/json.hpp>"))))))
(build-system cmake-build-system) (build-system cmake-build-system)
;; The package cannot easily be split into out and lib outputs because
;; VTK's vtkModule.cmake complains, and also the CMake files in
;; /lib/cmake/f3d expect the f3d executable and library to be available,
;; as they set up targets for both of them.
(arguments (arguments
(list (list
;; Many tests require files supplied by git-lfs. ;; Many tests require files supplied by git-lfs.
;; Also, some tests segfault (after an exception?) but the tested ;; Also, some tests segfault (after an exception?) but the tested
;; behavior, i.e., when the program is run manually, does not (for ;; behavior, i.e., when the program is run manually, does not (for
;; example, TestNonExistentConfigFile and TestInvalidConfigFile). ;; example, TestNonExistentConfigFile and TestInvalidConfigFile).
;; Upstream is aware of occasionally flaky tests (see ;; Upstream is aware of occasionally flaky tests [1], but the tests
;; https://github.com/f3d-app/f3d/issues/92) but the tests run in CI ;; run in CI seem to be passing.
;; seem to be passing.
;; Anyway, the program runs and is able to open at least STL files ;; Anyway, the program runs and is able to open at least STL files
;; without issue. ;; without issue.
;;
;; [1]: https://github.com/f3d-app/f3d/issues/92
#:tests? #f #:tests? #f
#:configure-flags #:configure-flags
#~(list "-DBUILD_TESTING=OFF" #~(list (string-append "-DCMAKE_INSTALL_DOCDIR=" #$output
"/share/doc/" #$name "-" #$version)
"-DBUILD_TESTING=OFF"
"-DF3D_GENERATE_MAN=ON"
"-DF3D_INSTALL_DEFAULT_CONFIGURATION_FILE=ON"
"-DF3D_INSTALL_DEFAULT_CONFIGURATION_FILE_IN_PREFIX=ON"
"-DF3D_INSTALL_MIME_TYPES_FILE=ON"
"-DF3D_INSTALL_THUMBNAILER_FILES=ON"
"-DF3D_MODULE_ALEMBIC=ON" "-DF3D_MODULE_ALEMBIC=ON"
"-DF3D_MODULE_ASSIMP=ON" "-DF3D_MODULE_ASSIMP=ON"
"-DF3D_MODULE_OCCT=ON" "-DF3D_MODULE_EXTERNAL_RENDERING=ON"
;; Prefer Guix's versioned documentation directory to F3D's "-DF3D_MODULE_OCCT=ON")))
;; unversioned one. (native-inputs
(string-append "-DCMAKE_INSTALL_DOCDIR=" #$output (list cxxopts
"/share/doc/" #$name "-" #$version)))) help2man
json-modern-cxx))
(inputs (inputs
(list alembic (list alembic
assimp assimp
@ -2365,10 +2393,10 @@ a tetrahedral mesh, isovalue discretization and Lagrangian movement;
vtk vtk
zlib)) zlib))
(home-page "https://f3d-app.github.io/f3d/") (home-page "https://f3d-app.github.io/f3d/")
(synopsis "VTK based 3D viewer") (synopsis "VTK-based 3D viewer")
(description "F3D (pronounced @samp{/fɛd/}) is a VTK-based 3D viewer, it (description "F3D (pronounced @samp{/fɛd/}) is a VTK-based 3D viewer
has simple interaction mechanisms and is fully controllable using arguments on with simple interaction mechanisms and which is fully controllable using
the command line. It supports a range of file formats (including animated arguments on the command line. It supports a range of file formats (including
glTF, STL, STEP, PLY, OBJ, FBX), and provides numerous rendering and texturing animated glTF, STL, STEP, PLY, OBJ, FBX), and provides numerous rendering and
options.") texturing options.")
(license license:bsd-3)))) (license license:bsd-3))))