summaryrefslogtreecommitdiff
path: root/gnu/packages/graphics.scm
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2022-09-08 21:12:52 +0200
committerMarius Bakke <marius@gnu.org>2022-09-08 21:12:52 +0200
commit884548b476f2ee27c01cb0c9ad93c0cf9d33fa5e (patch)
tree20650b3917b1292470ecc4ded13fbb04e5dbfa6d /gnu/packages/graphics.scm
parent0e305798454c558ab6e722cf66ba351c326a1a8d (diff)
parentfa894b3f4db835bd0bb52b32c7ec412e72b7e03a (diff)
Merge branch 'staging' into core-updates
Diffstat (limited to 'gnu/packages/graphics.scm')
-rw-r--r--gnu/packages/graphics.scm172
1 files changed, 100 insertions, 72 deletions
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index c7ee19d7e6..5b3b7b0087 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -61,6 +61,7 @@
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages documentation)
@@ -88,6 +89,7 @@
#:use-module (gnu packages logging)
#:use-module (gnu packages llvm)
#:use-module (gnu packages lua)
+ #:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages mp3)
#:use-module (gnu packages multiprecision)
@@ -208,7 +210,7 @@ framebuffer graphics, audio output and input event.")
("opengl" ,mesa)
("png" ,libpng)
("sdl" ,sdl)
- ("svg" ,librsvg)
+ ("svg" ,(librsvg-for-system))
("tiff" ,libtiff)
("tslib" ,tslib)
("vdpau" ,libvdpau)
@@ -734,6 +736,12 @@ many more.")
(sha256
(base32 "1nyld18mf220ghm1vidnfnn0rdns9z5i4l9s66xgd0kfdgarb31f"))))
(build-system cmake-build-system)
+ (arguments
+ ;; XXX: On i686-linux, tests fail due to rounding issues (excess
+ ;; precision), as was discussed and patched long ago:
+ ;; <https://issues.guix.gnu.org/22049>. It seems the relevant fixes
+ ;; didn't make it upstream, so skip tests.
+ (list #:tests? (not (target-x86-32?))))
(home-page "https://github.com/AcademySoftwareFoundation/Imath")
(synopsis "Library of math operations for computer graphics")
(description
@@ -1148,13 +1156,15 @@ with strong support for multi-part, multi-channel use cases.")
#t))
,@(if (not (target-64bit?))
`((add-after 'change-directory 'disable-broken-test
- ;; This test fails on i686. Upstream developers suggest that
- ;; this test is broken on i686 and can be safely disabled:
- ;; https://github.com/openexr/openexr/issues/67#issuecomment-21169748
(lambda _
(substitute* "IlmImfTest/main.cpp"
- ((".*testOptimizedInterleavePatterns.*") ""))
- #t)))
+ ;; This test fails on i686. Upstream developers suggest
+ ;; that this test is broken on i686 and can be safely
+ ;; disabled:
+ ;; https://github.com/openexr/openexr/issues/67#issuecomment-21169748
+ ((".*testOptimizedInterleavePatterns.*") "")
+ ;; This one fails similarly on i686.
+ ((".*testCompression.*") "")))))
'()))))
(native-inputs
(list pkg-config))
@@ -2269,71 +2279,89 @@ a tetrahedral mesh, isovalue discretization and Lagrangian movement;
(license license:lgpl3+)))
(define-public f3d
- ;; There have been many improvements since the last tagged version (1.2.1,
- ;; released in December 2021), including support for the Alembic file
- ;; format.
- (let ((commit "9cc79b65ed750b178f58012dbba091aa24722dab")
- (revision "0"))
- (package
- (name "f3d")
- (version (git-version "1.2.1" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/f3d-app/f3d")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "041gqi2wfny2br4j68vhifg0bd18kbl0qsaallkz7yywk47njxfi"))))
- (build-system cmake-build-system)
- (arguments
- (list
- ;; Many tests require files supplied by git-lfs.
- ;; Also, some tests segfault (after an exception?) but the tested
- ;; behavior, i.e., when the program is run manually, does not (for
- ;; example, TestNonExistentConfigFile and TestInvalidConfigFile).
- ;; Upstream is aware of occasionally flaky tests (see
- ;; https://github.com/f3d-app/f3d/issues/92) but the tests run in CI
- ;; seem to be passing.
- ;; Anyway, the program runs and is able to open at least STL files
- ;; without issue.
- #:tests? #f
- #:configure-flags
- #~(list "-DBUILD_TESTING=OFF"
- "-DF3D_MODULE_ALEMBIC=ON"
- "-DF3D_MODULE_ASSIMP=ON"
- "-DF3D_MODULE_OCCT=ON"
- ;; Prefer Guix's versioned documentation directory to F3D's
- ;; unversioned one.
- (string-append "-DCMAKE_INSTALL_DOCDIR=" #$output
- "/share/doc/" #$name "-" #$version))))
- (inputs
- (list alembic
- assimp
- double-conversion
- eigen
- expat
- fontconfig
- freetype
- glew
- hdf5
- imath
- jsoncpp
- libjpeg-turbo
- libpng
- libtiff
- libx11
- lz4
- netcdf
- opencascade-occt
- vtk
- zlib))
- (home-page "https://f3d-app.github.io/f3d/")
- (synopsis "VTK based 3D viewer")
- (description "F3D (pronounced @samp{/fɛd/}) is a VTK-based 3D viewer, it
-has simple interaction mechanisms and is fully controllable using arguments on
-the command line. It supports a range of file formats (including animated
+ (package
+ (name "f3d")
+ (version "1.3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/f3d-app/f3d")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hdfgwf5d24ykab634xg4vv9r09nh96ss7hhnqnh5nmw4abhxzg7"))
+ (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)
+ ;; 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
+ (list
+ ;; Many tests require files supplied by git-lfs.
+ ;; Also, some tests segfault (after an exception?) but the tested
+ ;; behavior, i.e., when the program is run manually, does not (for
+ ;; example, TestNonExistentConfigFile and TestInvalidConfigFile).
+ ;; Upstream is aware of occasionally flaky tests [1], but the tests
+ ;; run in CI seem to be passing.
+ ;; Anyway, the program runs and is able to open at least STL files
+ ;; without issue.
+ ;;
+ ;; [1]: https://github.com/f3d-app/f3d/issues/92
+ #:tests? #f
+ #:configure-flags
+ #~(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_FILES=ON"
+ "-DF3D_INSTALL_THUMBNAILER_FILES=ON"
+ "-DF3D_MODULE_ALEMBIC=ON"
+ "-DF3D_MODULE_ASSIMP=ON"
+ "-DF3D_MODULE_EXTERNAL_RENDERING=ON"
+ "-DF3D_MODULE_OCCT=ON")))
+ (native-inputs
+ (list cxxopts
+ help2man
+ json-modern-cxx))
+ (inputs
+ (list alembic
+ assimp
+ double-conversion
+ eigen
+ expat
+ fontconfig
+ freetype
+ glew
+ hdf5
+ imath
+ jsoncpp
+ libjpeg-turbo
+ libpng
+ libtiff
+ libx11
+ lz4
+ netcdf
+ opencascade-occt
+ vtk
+ zlib))
+ (home-page "https://f3d-app.github.io/f3d/")
+ (synopsis "VTK-based 3D viewer")
+ (description "F3D (pronounced @samp{/fɛd/}) is a VTK-based 3D viewer with
+simple interaction mechanisms and which is fully controllable using arguments
+on the command line. It supports a range of file formats (including animated
glTF, STL, STEP, PLY, OBJ, FBX), and provides numerous rendering and texturing
options.")
- (license license:bsd-3))))
+ (license license:bsd-3)))