@@ -1356,6 +1356,7 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-2.29-supported-locales.patch \
%D%/packages/patches/glibc-supported-locales.patch \
%D%/packages/patches/glslang-install-static-libs.patch \
+ %D%/packages/patches/glvis-fix-cmake-install.patch \
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
%D%/packages/patches/gmp-faulty-test.patch \
%D%/packages/patches/gnash-fix-giflib-version.patch \
@@ -31,7 +31,7 @@
;;; Copyright © 2022, 2023 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>
+;;; Copyright © 2022-2024 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2022 dan <i@dan.games>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2023 David Thompson <dthompson2@worcester.edu>
@@ -111,6 +111,7 @@ (define-module (gnu packages graphics)
#:use-module (gnu packages pulseaudio) ; libsndfile, libsamplerate
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
+ #:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
@@ -123,6 +124,7 @@ (define-module (gnu packages graphics)
#:use-module (gnu packages upnp)
#:use-module (gnu packages version-control)
#:use-module (gnu packages video)
+ #:use-module (gnu packages vim)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
@@ -2859,6 +2861,46 @@ (define-public f3d
options.")
(license license:bsd-3)))
+(define-public glvis
+ (package
+ (name "glvis")
+ (version "4.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/GLVis/glvis")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1fb50vfw5dm12lhw8dw6jnwlyk8gh5281y5xbb92w7m92309f8iy"))
+ (patches (search-patches "glvis-fix-cmake-install.patch"))))
+ (build-system cmake-build-system)
+ (arguments
+ ;; Tests require data from https://github.com/GLVis/data.
+ (list #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; The glvis-keygen script itself is already executable, and
+ ;; the .sh extension leaks implementation details.
+ (add-after 'unpack 'fix-script-reference
+ (lambda _
+ (substitute* "glvis.cpp"
+ ((" bash glvis-keygen\\.sh ") " glvis-keygen "))))
+ (add-after 'install 'fix-script-name
+ (lambda _
+ (with-directory-excursion (string-append #$output "/bin")
+ (rename-file "glvis-keygen.sh" "glvis-keygen")))))))
+ (native-inputs
+ (list xxd))
+ (inputs
+ (list fontconfig freetype glew glm libpng mfem sdl2))
+ (home-page "https://glvis.org/")
+ (synopsis "Finite element visualizer")
+ (description "GLVis is an OpenGL tool for visualizing finite element meshes
+and functions.")
+ (license license:bsd-3)))
+
(define-public gpaint
(package
(name "gpaint")
new file mode 100644
@@ -0,0 +1,32 @@
+From 3983c1988d586f79c421f657f06f4f22dd7a9eb2 Mon Sep 17 00:00:00 2001
+From: "Paul A. Patience" <paul@apatience.com>
+Date: Tue, 9 Apr 2024 11:18:14 -0400
+Subject: [PATCH] Don't install app and code in full installation
+
+---
+ CMakeLists.txt | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b940ec0..387cdb9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -331,12 +331,14 @@ if(NOT EMSCRIPTEN)
+ MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/share/Info.cmake.plist.in)
+ target_link_libraries(app PRIVATE glvis glvis_logo)
+ install(TARGETS app
++ EXCLUDE_FROM_ALL
+ RUNTIME DESTINATION .
+ BUNDLE DESTINATION .)
+ install(CODE [[
+ include (BundleUtilities)
+ fixup_bundle("${CMAKE_INSTALL_PREFIX}/GLVis.app" "" "")
+- ]] COMPONENT RUNTIME)
++ ]] COMPONENT RUNTIME
++ EXCLUDE_FROM_ALL)
+
+ endif(NOT EMSCRIPTEN)
+
+--
+2.41.0
+