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>
This commit is contained in:
		
							parent
							
								
									8ba5075192
								
							
						
					
					
						commit
						75febb00a5
					
				
					 1 changed files with 46 additions and 18 deletions
				
			
		| 
						 | 
					@ -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))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue