* [gentoo-commits] repo/proj/guru:dev commit in: media-gfx/glslViewer/, media-gfx/glslViewer/files/
@ 2025-07-05 11:19 Nguyen Dinh Dang Duong
0 siblings, 0 replies; 2+ messages in thread
From: Nguyen Dinh Dang Duong @ 2025-07-05 11:19 UTC (permalink / raw
To: gentoo-commits
commit: 0d0381b6dcf35c112190b82f0693b9d3f49c1d17
Author: Nguyen Dinh Dang Duong <dangduong31205 <AT> gmail <DOT> com>
AuthorDate: Sat Jul 5 11:18:14 2025 +0000
Commit: Nguyen Dinh Dang Duong <dangduong31205 <AT> gmail <DOT> com>
CommitDate: Sat Jul 5 11:18:14 2025 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=0d0381b6
media-gfx/glslViewer: new package, add 3.2.4
Signed-off-by: Nguyen Dinh Dang Duong <dangduong31205 <AT> gmail.com>
media-gfx/glslViewer/Manifest | 1 +
...afe-post-install-MIME-and-desktop-databas.patch | 182 +++++++++++++++++++++
.../files/0002-Install-libvera.so-to-machine.patch | 29 ++++
media-gfx/glslViewer/glslViewer-3.2.4.ebuild | 61 +++++++
media-gfx/glslViewer/metadata.xml | 12 ++
5 files changed, 285 insertions(+)
diff --git a/media-gfx/glslViewer/Manifest b/media-gfx/glslViewer/Manifest
new file mode 100644
index 0000000000..759a213e98
--- /dev/null
+++ b/media-gfx/glslViewer/Manifest
@@ -0,0 +1 @@
+DIST glslViewer-3.2.4.tar.gz 108258877 BLAKE2B 552beedeafed97372f36a307c2ce3f742d4437ae3357cf3fa30c091953bac834aedde5270313f267657317c433b3e5eb2378427a66b5687de3956e99ae65f21b SHA512 20766ad1fe288d4e193849809b5633635b2d3a551cd46c9378f80c8817aeb90180847f2e9540e02f6c5729e0fa7fd51c45b4a1fa5f7e4ed6e397c58ef3e32c47
diff --git a/media-gfx/glslViewer/files/0001-Removed-unsafe-post-install-MIME-and-desktop-databas.patch b/media-gfx/glslViewer/files/0001-Removed-unsafe-post-install-MIME-and-desktop-databas.patch
new file mode 100644
index 0000000000..3a11ad518b
--- /dev/null
+++ b/media-gfx/glslViewer/files/0001-Removed-unsafe-post-install-MIME-and-desktop-databas.patch
@@ -0,0 +1,182 @@
+From 5fe84056dceee18e99cfcc490330475ac2fd7b6c Mon Sep 17 00:00:00 2001
+From: Nguyen Dinh Dang Duong <dangduong31205@gmail.com>
+Date: Sat, 28 Jun 2025 04:31:30 +0700
+Subject: [PATCH 1/2] Removed unsafe post-install MIME and desktop database
+ updates to avoid sandbox violations
+
+Signed-off-by: Nguyen Dinh Dang Duong <dangduong31205@gmail.com>
+---
+ CMakeLists.txt | 55 ++++++++++++++++++++------------------------------
+ 1 file changed, 22 insertions(+), 33 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6df0206..a7b041c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -5,7 +5,7 @@ set(VERSION_MINOR 3)
+ set(VERSION_PATCH 0)
+ set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
+
+-project(glslViewer
++project(glslViewer
+ VERSION ${VERSION}
+ LANGUAGES C CXX )
+
+@@ -13,7 +13,7 @@ set(CMAKE_CXX_STANDARD 14)
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+ set(CMAKE_CXX_EXTENSIONS OFF)
+
+-# The compiled vera
++# The compiled vera
+ add_subdirectory(deps)
+
+ if(MSVC)
+@@ -38,7 +38,7 @@ set(CORE_HEADERS
+ "${PROJECT_SOURCE_DIR}/src/core/tools/tracker.h"
+ )
+
+-set(CORE_SOURCES
++set(CORE_SOURCES
+ "${PROJECT_SOURCE_DIR}/src/core/sandbox.cpp"
+ "${PROJECT_SOURCE_DIR}/src/core/sceneRender.cpp"
+ "${PROJECT_SOURCE_DIR}/src/core/uniforms.cpp"
+@@ -48,7 +48,7 @@ set(CORE_SOURCES
+ "${PROJECT_SOURCE_DIR}/src/core/tools/tracker.cpp"
+ )
+
+-add_executable(glslViewer
++add_executable(glslViewer
+ "${PROJECT_SOURCE_DIR}/src/main.cpp"
+ ${CORE_SOURCES}
+ )
+@@ -63,8 +63,8 @@ target_compile_definitions(glslViewer PRIVATE GLSLVIEWER_VERSION_MAJOR=${VERSION
+ target_compile_definitions(glslViewer PRIVATE GLSLVIEWER_VERSION_MINOR=${VERSION_MINOR})
+ target_compile_definitions(glslViewer PRIVATE GLSLVIEWER_VERSION_PATCH=${VERSION_PATCH})
+
+-if (EMSCRIPTEN)
+-
++if (EMSCRIPTEN)
++
+ set(LFLAGS "${LFLAGS} -s USE_GLFW=3")
+ # set(LFLAGS "${LFLAGS} -s FULL_ES2=1")
+ # set(LFLAGS "${LFLAGS} -s FULL_ES3=1")
+@@ -79,16 +79,16 @@ if (EMSCRIPTEN)
+ set(LFLAGS "${LFLAGS} -s NO_DYNAMIC_EXECUTION=1")
+ # set(LFLAGS "${LFLAGS} -s NO_DISABLE_EXCEPTION_CATCHING")
+
+- # Copy the default index.html
++ # Copy the default index.html
+ file(COPY assets/index.html DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
+
+- # Add examples folder to the .data file system
++ # Add examples folder to the .data file system
+ file(COPY examples DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
+ set(LFLAGS "${LFLAGS} --preload-file examples")
+
+ set_target_properties(glslViewer PROPERTIES LINK_FLAGS "${LFLAGS}")
+ target_link_libraries(glslViewer PRIVATE glfw webxr)
+-
++
+ else()
+ find_package(Curses)
+ if (CURSES_FOUND)
+@@ -97,8 +97,8 @@ else()
+ target_link_libraries(glslViewer PRIVATE ${CURSES_LIBRARY})
+ endif()
+
+- target_compile_definitions(glslViewer PUBLIC
+- SUPPORT_MULTITHREAD_RECORDING
++ target_compile_definitions(glslViewer PUBLIC
++ SUPPORT_MULTITHREAD_RECORDING
+ SUPPORT_OSC
+ )
+
+@@ -139,9 +139,9 @@ else()
+ set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}-${SYSTEM_NAME}-${SYSTEM_ARCH}")
+
+ if (MSVC)
+- target_link_libraries(glslViewer PRIVATE
+- lo_static
+- Ws2_32.lib
++ target_link_libraries(glslViewer PRIVATE
++ lo_static
++ Ws2_32.lib
+ Iphlpapi.lib
+ )
+
+@@ -151,28 +151,17 @@ else()
+ else()
+ target_link_libraries(glslViewer PRIVATE pthread dl lo_static)
+ install(TARGETS glslViewer DESTINATION ${CMAKE_INSTALL_BINDIR})
+-
++
+ if (NOT APPLE)
+ target_link_libraries(glslViewer PRIVATE atomic)
+
+ # Install glslViewer Icon
+ install(FILES "${PROJECT_SOURCE_DIR}/assets/glslViewer.png" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps)
+ install(FILES "${PROJECT_SOURCE_DIR}/assets/glslViewer.desktop" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications)
+-
++
+ # Install supported MIME file types by GlslViewer
+ install(FILES "${PROJECT_SOURCE_DIR}/assets/glslViewer-types.xml" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/mime/packages)
+- find_program(XDG-MIME_EXECUTABLE xdg-mime)
+- install(CODE "execute_process(COMMAND ${XDG-MIME_EXECUTABLE} install --novendor ${CMAKE_INSTALL_FULL_DATAROOTDIR}/mime/packages/glslViewer-types.xml)")
+- install(CODE "execute_process(COMMAND ${XDG-MIME_EXECUTABLE} default ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/glslViewer.desktop model/lst)")
+- install(CODE "execute_process(COMMAND ${XDG-MIME_EXECUTABLE} default ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/glslViewer.desktop model/ply)")
+- install(CODE "execute_process(COMMAND ${XDG-MIME_EXECUTABLE} default ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/glslViewer.desktop model/obj)")
+- install(CODE "execute_process(COMMAND ${XDG-MIME_EXECUTABLE} default ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/glslViewer.desktop model/gltf-binary)")
+- install(CODE "execute_process(COMMAND ${XDG-MIME_EXECUTABLE} default ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/glslViewer.desktop model/gltf+json)")
+- find_program(UPDATE_MIME_DATABASE update-mime-database)
+- install(CODE "execute_process(COMMAND ${UPDATE_MIME_DATABASE} ${CMAKE_INSTALL_FULL_DATAROOTDIR}/mime )")
+- find_program(UPDATE_DESKTOP_DATABASE update-desktop-database)
+- install(CODE "execute_process(COMMAND ${UPDATE_DESKTOP_DATABASE} ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications)")
+-
++
+ # Add a thumbnailer for 3D Models
+ install(FILES "${PROJECT_SOURCE_DIR}/assets/glslViewer.thumbnailer" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/thumbnailers)
+ install(FILES "${PROJECT_SOURCE_DIR}/assets/glslThumbnailer.sh"
+@@ -200,7 +189,7 @@ else()
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS)
+ foreach(DEP ${DEBSRC_PACKAGE_DEPENDS})
+ set(CPACK_DEBIAN_PACKAGE_DEPEND "${CPACK_DEBIAN_PACKAGE_DEPENDS}, ${DEP}")
+- endforeach(DEP ${DEBSRC_PACKAGE_DEPENDS})
++ endforeach(DEP ${DEBSRC_PACKAGE_DEPENDS})
+
+ set(CPACK_DEBIAN_BUILD_DEPENDS)
+ foreach(DEP ${DEBSRC_BUILD_DEPENDS})
+@@ -211,7 +200,7 @@ else()
+ execute_process(
+ COMMAND dpkg --print-architecture
+ OUTPUT_VARIABLE DEB_ARCHITECTURE
+- OUTPUT_STRIP_TRAILING_WHITESPACE
++ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ message(STATUS "package_details.cmake: your architecture is ${DEB_ARCHITECTURE}")
+
+@@ -220,13 +209,13 @@ else()
+ set(CPACK_DEBIAN_PACKAGE_PRIORITY extra )
+ set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Patricio Gonzalez Vivo <patriciogonzalezvivo@gmail.com>")
+ set(CPACK_DEBIAN_DISTRIBUTION_NAME ubuntu )
+- set(CPACK_DEBIAN_DISTRIBUTION_RELEASES bionic focal )
++ set(CPACK_DEBIAN_DISTRIBUTION_RELEASES bionic focal )
+ set(CPACK_DEBIAN_CHANGELOG " * Latest development version.")
+ # set(CPACK_DEBIAN_RESOURCE_FILE_CHANGELOG ${PROJECT_SOURCE_DIR}/changelog)
+ # set(CPACK_DEBIAN_UPDATE_CHANGELOG ON)
+ set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}-${DEB_ARCHITECTURE}")
+ endif()
+-
++
+ endif()
+
+ include(CPack)
+@@ -259,4 +248,4 @@ if (PYTHON_BINDINGS)
+ target_include_directories(PyGlslViewer PUBLIC ${DEPS_FOLDER})
+ target_link_libraries(PyGlslViewer PRIVATE vera pybind11::module)
+
+-endif()
+\ No newline at end of file
++endif()
+--
+2.50.0
+
diff --git a/media-gfx/glslViewer/files/0002-Install-libvera.so-to-machine.patch b/media-gfx/glslViewer/files/0002-Install-libvera.so-to-machine.patch
new file mode 100644
index 0000000000..ae9500eccf
--- /dev/null
+++ b/media-gfx/glslViewer/files/0002-Install-libvera.so-to-machine.patch
@@ -0,0 +1,29 @@
+From d813c82384ebd642376e09d73d6254a244f2b40a Mon Sep 17 00:00:00 2001
+From: Nguyen Dinh Dang Duong <dangduong31205@gmail.com>
+Date: Sat, 28 Jun 2025 04:49:46 +0700
+Subject: [PATCH 2/2] Install libvera.so to machine
+
+`
+---
+ CMakeLists.txt | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a7b041c..03cf64d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -16,6 +16,11 @@ set(CMAKE_CXX_EXTENSIONS OFF)
+ # The compiled vera
+ add_subdirectory(deps)
+
++install(TARGETS vera
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++
+ if(MSVC)
+ add_definitions( -DPLATFORM_WINDOWS )
+ endif()
+--
+2.50.0
+
diff --git a/media-gfx/glslViewer/glslViewer-3.2.4.ebuild b/media-gfx/glslViewer/glslViewer-3.2.4.ebuild
new file mode 100644
index 0000000000..9e2b7f88cb
--- /dev/null
+++ b/media-gfx/glslViewer/glslViewer-3.2.4.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake git-r3
+
+DESCRIPTION="Console-based GLSL live-coding viewer"
+HOMEPAGE="https://github.com/patriciogonzalezvivo/glslViewer"
+EGIT_REPO_URI="https://github.com/patriciogonzalezvivo/glslViewer.git"
+EGIT_COMMIT="7eb6254cb4cedf03f1c78653f90905fe0c3b48fb"
+
+LICENSE="BSD-3-Clause"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="ffmpeg xvfb"
+
+DEPEND="
+ media-libs/glu
+ sys-libs/ncurses
+ ffmpeg? (
+ media-video/ffmpeg
+ )
+ xvfb? (
+ x11-base/xorg-server[xvfb]
+ )
+ x11-misc/shared-mime-info
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ dev-build/cmake
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}/0001-Removed-unsafe-post-install-MIME-and-desktop-databas.patch"
+ "${FILESDIR}/0002-Install-libvera.so-to-machine.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_EXE_LINKER_FLAGS="-ltinfo"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ dodoc README.md
+}
+
+pkg_postinst() {
+ xdg-icon-resource forceupdate || die
+ update-mime-database /usr/share/mime || die
+ update-desktop-database /usr/share/applications || die
+}
+
+pkg_postrm() {
+ update-mime-database /usr/share/mime || die
+ update-desktop-database /usr/share/applications || die
+}
diff --git a/media-gfx/glslViewer/metadata.xml b/media-gfx/glslViewer/metadata.xml
new file mode 100644
index 0000000000..9663296e07
--- /dev/null
+++ b/media-gfx/glslViewer/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+<email>dangduong31205@gmail.com</email>
+<name>Nguyen Dinh Dang Duong</name>
+</maintainer>
+<use>
+<flag name="ffmpeg">Enable ffmpeg/libav-based audio/video codec support</flag>
+<flag name="xvfb">Enable support for thumbnail creation via Xvfb</flag>
+</use>
+</pkgmetadata>
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] repo/proj/guru:dev commit in: media-gfx/glslViewer/, media-gfx/glslViewer/files/
@ 2025-07-10 22:16 Nguyen Dinh Dang Duong
0 siblings, 0 replies; 2+ messages in thread
From: Nguyen Dinh Dang Duong @ 2025-07-10 22:16 UTC (permalink / raw
To: gentoo-commits
commit: 2d54fa9acbeda3b6253f41e1ba97c204d28d0a5a
Author: Nguyen Dinh Dang Duong <dangduong31205 <AT> gmail <DOT> com>
AuthorDate: Thu Jul 10 21:56:39 2025 +0000
Commit: Nguyen Dinh Dang Duong <dangduong31205 <AT> gmail <DOT> com>
CommitDate: Thu Jul 10 22:15:59 2025 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=2d54fa9a
media-gfx/glslViewer: fix 3.2.4
Add dev-libs/vera as dependency and remove the bundled vera.
Add python use flag to enable python bindings, support multiple
python version.
Signed-off-by: Nguyen Dinh Dang Duong <dangduong31205 <AT> gmail.com>
media-gfx/glslViewer/Manifest | 1 +
.../glslViewer/files/0001-Fix-CMakelists.patch | 319 +++++++++++++++++++++
...afe-post-install-MIME-and-desktop-databas.patch | 182 ------------
...getExposure-result-to-float-to-setUniform.patch | 281 ++++++++++++++++++
.../files/0002-Install-libvera.so-to-machine.patch | 29 --
media-gfx/glslViewer/glslViewer-3.2.4.ebuild | 76 ++++-
6 files changed, 664 insertions(+), 224 deletions(-)
diff --git a/media-gfx/glslViewer/Manifest b/media-gfx/glslViewer/Manifest
new file mode 100644
index 0000000000..759a213e98
--- /dev/null
+++ b/media-gfx/glslViewer/Manifest
@@ -0,0 +1 @@
+DIST glslViewer-3.2.4.tar.gz 108258877 BLAKE2B 552beedeafed97372f36a307c2ce3f742d4437ae3357cf3fa30c091953bac834aedde5270313f267657317c433b3e5eb2378427a66b5687de3956e99ae65f21b SHA512 20766ad1fe288d4e193849809b5633635b2d3a551cd46c9378f80c8817aeb90180847f2e9540e02f6c5729e0fa7fd51c45b4a1fa5f7e4ed6e397c58ef3e32c47
diff --git a/media-gfx/glslViewer/files/0001-Fix-CMakelists.patch b/media-gfx/glslViewer/files/0001-Fix-CMakelists.patch
new file mode 100644
index 0000000000..a3375f3426
--- /dev/null
+++ b/media-gfx/glslViewer/files/0001-Fix-CMakelists.patch
@@ -0,0 +1,319 @@
+From e692a65ee828896d6d08f9b8b6e8cb0cb04ee2eb Mon Sep 17 00:00:00 2001
+From: Nguyen Dinh Dang Duong <dangduong31205@gmail.com>
+Date: Thu, 10 Jul 2025 23:00:42 +0700
+Subject: [PATCH 1/2] Fix CMakelists
+
+---
+ CMakeLists.txt | 226 +++++++++++++++++++++++--------------------------
+ 1 file changed, 104 insertions(+), 122 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0a90b18..672e9b9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,12 +13,8 @@ set(CMAKE_CXX_STANDARD 14)
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+ set(CMAKE_CXX_EXTENSIONS OFF)
+
+-# The compiled vera
+-add_subdirectory(deps)
+-
+-if(MSVC)
+- add_definitions( -DPLATFORM_WINDOWS )
+-endif()
++find_package(PkgConfig REQUIRED)
++include_directories(${PROJECT_SOURCE_DIR}/deps)
+
+ if (NO_X11 OR FORCE_GBM)
+ add_compile_options(-std=c++14 -DGLM_FORCE_CXX14 -fpermissive -Wno-psabi -lpthread)
+@@ -38,7 +34,7 @@ set(CORE_HEADERS
+ "${PROJECT_SOURCE_DIR}/src/core/tools/tracker.h"
+ )
+
+-set(CORE_SOURCES
++set(CORE_SOURCES
+ "${PROJECT_SOURCE_DIR}/src/core/sandbox.cpp"
+ "${PROJECT_SOURCE_DIR}/src/core/sceneRender.cpp"
+ "${PROJECT_SOURCE_DIR}/src/core/uniforms.cpp"
+@@ -48,22 +44,24 @@ set(CORE_SOURCES
+ "${PROJECT_SOURCE_DIR}/src/core/tools/tracker.cpp"
+ )
+
+-add_executable(glslViewer
++add_executable(glslViewer
+ "${PROJECT_SOURCE_DIR}/src/main.cpp"
+ ${CORE_SOURCES}
+ )
+
+-
+-include_directories(deps/liblo)
+-target_include_directories(glslViewer PRIVATE deps)
++# Vera
++pkg_check_modules(VERA REQUIRED vera)
++include_directories(${VERA_INCLUDE_DIRS})
++link_libraries(${VERA_LIBRARIES})
+ target_link_libraries(glslViewer PRIVATE vera)
++
+ # target_compile_definitions(vera PUBLIC SUPPORT_PLY_BINARY)
+ target_compile_definitions(glslViewer PRIVATE GLSLVIEWER_VERSION_MAJOR=${VERSION_MAJOR})
+ target_compile_definitions(glslViewer PRIVATE GLSLVIEWER_VERSION_MINOR=${VERSION_MINOR})
+ target_compile_definitions(glslViewer PRIVATE GLSLVIEWER_VERSION_PATCH=${VERSION_PATCH})
+
+-if (EMSCRIPTEN)
+-
++if (EMSCRIPTEN)
++
+ set(LFLAGS "${LFLAGS} -s USE_GLFW=3")
+ # set(LFLAGS "${LFLAGS} -s FULL_ES2=1")
+ # set(LFLAGS "${LFLAGS} -s FULL_ES3=1")
+@@ -78,17 +76,18 @@ if (EMSCRIPTEN)
+ set(LFLAGS "${LFLAGS} -s NO_DYNAMIC_EXECUTION=1")
+ # set(LFLAGS "${LFLAGS} -s NO_DISABLE_EXCEPTION_CATCHING")
+
+- # Copy the default index.html
++ # Copy the default index.html
+ file(COPY assets/index.html DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
+
+- # Add examples folder to the .data file system
++ # Add examples folder to the .data file system
+ file(COPY examples DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
+ set(LFLAGS "${LFLAGS} --preload-file examples")
+
+ set_target_properties(glslViewer PROPERTIES LINK_FLAGS "${LFLAGS}")
+ target_link_libraries(glslViewer PRIVATE glfw webxr)
+-
++
+ else()
++ # Curses
+ find_package(Curses)
+ if (CURSES_FOUND)
+ target_compile_definitions(glslViewer PUBLIC SUPPORT_NCURSES)
+@@ -96,8 +95,28 @@ else()
+ target_link_libraries(glslViewer PRIVATE ${CURSES_LIBRARY})
+ endif()
+
+- target_compile_definitions(glslViewer PUBLIC
+- SUPPORT_MULTITHREAD_RECORDING
++ find_library(TINFO_LIB tinfo)
++ if (TINFO_LIB)
++ target_link_libraries(glslViewer PRIVATE ${TINFO_LIB})
++ endif()
++
++ # OpenGL
++ set(OpenGL_GL_PREFERENCE GLVND)
++ find_package(OpenGL REQUIRED)
++ target_include_directories(glslViewer PRIVATE ${OPENGL_INCLUDE_DIR})
++ target_link_libraries(glslViewer PRIVATE OpenGL::GL)
++
++ # Liblo
++ pkg_check_modules(LIBLO REQUIRED liblo)
++ target_include_directories(glslViewer PRIVATE ${LIBLO_INCLUDE_DIRS})
++ target_link_libraries(glslViewer PRIVATE ${LIBLO_LIBRARIES})
++
++ # Glm
++ find_package(glm REQUIRED)
++ target_include_directories(glslViewer PRIVATE ${GLM_INCLUDE_DIRS})
++
++ target_compile_definitions(glslViewer PUBLIC
++ SUPPORT_MULTITHREAD_RECORDING
+ SUPPORT_OSC
+ )
+
+@@ -127,105 +146,73 @@ else()
+ # set a default system name - use CMake setting (Linux|Windows|...)
+ set(SYSTEM_NAME ${CMAKE_SYSTEM_NAME})
+
+- # for msvc the SYSTEM_NAME is set win32/64 instead of "Windows"
+- if(MSVC)
+- if(CMAKE_CL_64)
+- set(SYSTEM_NAME "win64")
+- else()
+- set(SYSTEM_NAME "win32")
+- endif()
+- endif()
+ set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}-${SYSTEM_NAME}-${SYSTEM_ARCH}")
+
+- if (MSVC)
+- target_link_libraries(glslViewer PRIVATE
+- lo_static
+- Ws2_32.lib
+- Iphlpapi.lib
++ target_link_libraries(glslViewer PRIVATE pthread dl)
++ install(TARGETS glslViewer DESTINATION ${CMAKE_INSTALL_BINDIR})
++
++ if (NOT APPLE)
++ target_link_libraries(glslViewer PRIVATE atomic)
++
++ # Install glslViewer Icon
++ install(FILES "${PROJECT_SOURCE_DIR}/assets/glslViewer.png" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps)
++ install(FILES "${PROJECT_SOURCE_DIR}/assets/glslViewer.desktop" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications)
++
++ # Install supported MIME file types by GlslViewer
++ install(FILES "${PROJECT_SOURCE_DIR}/assets/glslViewer-types.xml" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/mime/packages)
++
++ # Add a thumbnailer for 3D Models
++ install(FILES "${PROJECT_SOURCE_DIR}/assets/glslViewer.thumbnailer" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/thumbnailers)
++ install(FILES "${PROJECT_SOURCE_DIR}/assets/glslThumbnailer.sh"
++ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
++ DESTINATION ${CMAKE_INSTALL_BINDIR}
++ RENAME "glslThumbnailer")
++
++ # Add ScreenSaver script
++ install(FILES "${PROJECT_SOURCE_DIR}/assets/glslScreenSaver.py"
++ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
++ DESTINATION ${CMAKE_INSTALL_BINDIR}
++ RENAME "glslScreenSaver")
++ install(FILES "${PROJECT_SOURCE_DIR}/assets/glslScreenSaver.frag" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/glslViewer")
++ install(FILES "${PROJECT_SOURCE_DIR}/assets/glslScreenSaver.yaml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/glslViewer")
++
++ find_program(XDG-DESKTOP-MENU_EXECUTABLE xdg-desktop-menu)
++ execute_process(COMMAND ${XDG-DESKTOP-MENU_EXECUTABLE} install --novendor ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/glslViewer.desktop)
++
++ # set(CPACK_GENERATOR "DEB")
++ set(DEBSRC_BUILD_DEPENDS debhelper git cmake xorg-dev libgbm-dev libglu1-mesa-dev libavcodec-dev libavfilter-dev libavdevice-dev libavformat-dev libavutil-dev libswscale-dev libv4l-dev libjpeg-dev libpng-dev libtiff-dev)
++ set(DEBSRC_PACKAGE_DEPENDS ffmpeg libavcodec-extra libavfilter-extra xorg-x11-server-Xvfb )
++
++ set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
++
++ set(CPACK_DEBIAN_PACKAGE_DEPENDS)
++ foreach(DEP ${DEBSRC_PACKAGE_DEPENDS})
++ set(CPACK_DEBIAN_PACKAGE_DEPEND "${CPACK_DEBIAN_PACKAGE_DEPENDS}, ${DEP}")
++ endforeach(DEP ${DEBSRC_PACKAGE_DEPENDS})
++
++ set(CPACK_DEBIAN_BUILD_DEPENDS)
++ foreach(DEP ${DEBSRC_BUILD_DEPENDS})
++ set(CPACK_DEBIAN_BUILD_DEPENDS "${CPACK_DEBIAN_BUILD_DEPENDS}, ${DEP}")
++ endforeach(DEP ${DEBSRC_BUILD_DEPENDS})
++
++ # find out and set DEB_ARCHITECTURE
++ execute_process(
++ COMMAND dpkg --print-architecture
++ OUTPUT_VARIABLE DEB_ARCHITECTURE
++ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+-
+- install(TARGETS glslViewer)
+- set(CPACK_GENERATOR "ZIP")
+-
+- else()
+- target_link_libraries(glslViewer PRIVATE pthread dl lo_static)
+- install(TARGETS glslViewer DESTINATION ${CMAKE_INSTALL_BINDIR})
+-
+- if (NOT APPLE)
+- target_link_libraries(glslViewer PRIVATE atomic)
+-
+- # Install glslViewer Icon
+- install(FILES "${PROJECT_SOURCE_DIR}/assets/glslViewer.png" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps)
+- install(FILES "${PROJECT_SOURCE_DIR}/assets/glslViewer.desktop" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications)
+-
+- # Install supported MIME file types by GlslViewer
+- install(FILES "${PROJECT_SOURCE_DIR}/assets/glslViewer-types.xml" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/mime/packages)
+- find_program(XDG-MIME_EXECUTABLE xdg-mime)
+- install(CODE "execute_process(COMMAND ${XDG-MIME_EXECUTABLE} install --novendor ${CMAKE_INSTALL_FULL_DATAROOTDIR}/mime/packages/glslViewer-types.xml)")
+- install(CODE "execute_process(COMMAND ${XDG-MIME_EXECUTABLE} default ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/glslViewer.desktop model/lst)")
+- install(CODE "execute_process(COMMAND ${XDG-MIME_EXECUTABLE} default ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/glslViewer.desktop model/ply)")
+- install(CODE "execute_process(COMMAND ${XDG-MIME_EXECUTABLE} default ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/glslViewer.desktop model/obj)")
+- install(CODE "execute_process(COMMAND ${XDG-MIME_EXECUTABLE} default ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/glslViewer.desktop model/gltf-binary)")
+- install(CODE "execute_process(COMMAND ${XDG-MIME_EXECUTABLE} default ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/glslViewer.desktop model/gltf+json)")
+- find_program(UPDATE_MIME_DATABASE update-mime-database)
+- install(CODE "execute_process(COMMAND ${UPDATE_MIME_DATABASE} ${CMAKE_INSTALL_FULL_DATAROOTDIR}/mime )")
+- find_program(UPDATE_DESKTOP_DATABASE update-desktop-database)
+- install(CODE "execute_process(COMMAND ${UPDATE_DESKTOP_DATABASE} ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications)")
+-
+- # Add a thumbnailer for 3D Models
+- install(FILES "${PROJECT_SOURCE_DIR}/assets/glslViewer.thumbnailer" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/thumbnailers)
+- install(FILES "${PROJECT_SOURCE_DIR}/assets/glslThumbnailer.sh"
+- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
+- DESTINATION ${CMAKE_INSTALL_BINDIR}
+- RENAME "glslThumbnailer")
+-
+- # Add ScreenSaver script
+- install(FILES "${PROJECT_SOURCE_DIR}/assets/glslScreenSaver.py"
+- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
+- DESTINATION ${CMAKE_INSTALL_BINDIR}
+- RENAME "glslScreenSaver")
+- install(FILES "${PROJECT_SOURCE_DIR}/assets/glslScreenSaver.frag" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/glslViewer")
+- install(FILES "${PROJECT_SOURCE_DIR}/assets/glslScreenSaver.yaml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/glslViewer")
+-
+- find_program(XDG-DESKTOP-MENU_EXECUTABLE xdg-desktop-menu)
+- execute_process(COMMAND ${XDG-DESKTOP-MENU_EXECUTABLE} install --novendor ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/glslViewer.desktop)
+-
+- # set(CPACK_GENERATOR "DEB")
+- set(DEBSRC_BUILD_DEPENDS debhelper git cmake xorg-dev libgbm-dev libglu1-mesa-dev libavcodec-dev libavfilter-dev libavdevice-dev libavformat-dev libavutil-dev libswscale-dev libv4l-dev libjpeg-dev libpng-dev libtiff-dev)
+- set(DEBSRC_PACKAGE_DEPENDS ffmpeg libavcodec-extra libavfilter-extra xorg-x11-server-Xvfb )
+-
+- set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
+-
+- set(CPACK_DEBIAN_PACKAGE_DEPENDS)
+- foreach(DEP ${DEBSRC_PACKAGE_DEPENDS})
+- set(CPACK_DEBIAN_PACKAGE_DEPEND "${CPACK_DEBIAN_PACKAGE_DEPENDS}, ${DEP}")
+- endforeach(DEP ${DEBSRC_PACKAGE_DEPENDS})
+-
+- set(CPACK_DEBIAN_BUILD_DEPENDS)
+- foreach(DEP ${DEBSRC_BUILD_DEPENDS})
+- set(CPACK_DEBIAN_BUILD_DEPENDS "${CPACK_DEBIAN_BUILD_DEPENDS}, ${DEP}")
+- endforeach(DEP ${DEBSRC_BUILD_DEPENDS})
+-
+- # find out and set DEB_ARCHITECTURE
+- execute_process(
+- COMMAND dpkg --print-architecture
+- OUTPUT_VARIABLE DEB_ARCHITECTURE
+- OUTPUT_STRIP_TRAILING_WHITESPACE
+- )
+- message(STATUS "package_details.cmake: your architecture is ${DEB_ARCHITECTURE}")
+-
+- set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${DEB_ARCHITECTURE})
+- set(CPACK_DEBIAN_PACKAGE_SECTION graphics)
+- set(CPACK_DEBIAN_PACKAGE_PRIORITY extra )
+- set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Patricio Gonzalez Vivo <patriciogonzalezvivo@gmail.com>")
+- set(CPACK_DEBIAN_DISTRIBUTION_NAME ubuntu )
+- set(CPACK_DEBIAN_DISTRIBUTION_RELEASES bionic focal )
+- set(CPACK_DEBIAN_CHANGELOG " * Latest development version.")
+- # set(CPACK_DEBIAN_RESOURCE_FILE_CHANGELOG ${PROJECT_SOURCE_DIR}/changelog)
+- # set(CPACK_DEBIAN_UPDATE_CHANGELOG ON)
+- set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}-${DEB_ARCHITECTURE}")
+- endif()
+-
++ message(STATUS "package_details.cmake: your architecture is ${DEB_ARCHITECTURE}")
++
++ set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${DEB_ARCHITECTURE})
++ set(CPACK_DEBIAN_PACKAGE_SECTION graphics)
++ set(CPACK_DEBIAN_PACKAGE_PRIORITY extra )
++ set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Patricio Gonzalez Vivo <patriciogonzalezvivo@gmail.com>")
++ set(CPACK_DEBIAN_DISTRIBUTION_NAME ubuntu )
++ set(CPACK_DEBIAN_DISTRIBUTION_RELEASES bionic focal )
++ set(CPACK_DEBIAN_CHANGELOG " * Latest development version.")
++ # set(CPACK_DEBIAN_RESOURCE_FILE_CHANGELOG ${PROJECT_SOURCE_DIR}/changelog)
++ # set(CPACK_DEBIAN_UPDATE_CHANGELOG ON)
++ set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}-${DEB_ARCHITECTURE}")
+ endif()
+
+ include(CPack)
+@@ -233,12 +220,8 @@ else()
+ endif()
+
+ if (PYTHON_BINDINGS)
+- find_package(Python3 3.10 REQUIRED COMPONENTS Interpreter Development)
+-
+- # pybind11
+- set(DEPS_FOLDER "${PROJECT_SOURCE_DIR}/deps")
+- add_subdirectory("${DEPS_FOLDER}/pybind11")
+- include_directories(${pybind11_INCLUDE_DIRS})
++ find_package(Python3 REQUIRED COMPONENTS Interpreter Development)
++ find_package(pybind11 REQUIRED)
+
+ set(PYBIND_INCLUDES
+ "${PROJECT_SOURCE_DIR}/src/python/engine.h"
+@@ -255,7 +238,6 @@ if (PYTHON_BINDINGS)
+ target_compile_definitions(PyGlslViewer PRIVATE GLSLVIEWER_VERSION_MAJOR=${VERSION_MAJOR})
+ target_compile_definitions(PyGlslViewer PRIVATE GLSLVIEWER_VERSION_MINOR=${VERSION_MINOR})
+ target_compile_definitions(PyGlslViewer PRIVATE GLSLVIEWER_VERSION_PATCH=${VERSION_PATCH})
+- target_include_directories(PyGlslViewer PUBLIC ${DEPS_FOLDER})
+ target_link_libraries(PyGlslViewer PRIVATE vera pybind11::module)
+
+-endif()
+\ No newline at end of file
++endif()
+--
+2.50.0
+
diff --git a/media-gfx/glslViewer/files/0001-Removed-unsafe-post-install-MIME-and-desktop-databas.patch b/media-gfx/glslViewer/files/0001-Removed-unsafe-post-install-MIME-and-desktop-databas.patch
deleted file mode 100644
index 3a11ad518b..0000000000
--- a/media-gfx/glslViewer/files/0001-Removed-unsafe-post-install-MIME-and-desktop-databas.patch
+++ /dev/null
@@ -1,182 +0,0 @@
-From 5fe84056dceee18e99cfcc490330475ac2fd7b6c Mon Sep 17 00:00:00 2001
-From: Nguyen Dinh Dang Duong <dangduong31205@gmail.com>
-Date: Sat, 28 Jun 2025 04:31:30 +0700
-Subject: [PATCH 1/2] Removed unsafe post-install MIME and desktop database
- updates to avoid sandbox violations
-
-Signed-off-by: Nguyen Dinh Dang Duong <dangduong31205@gmail.com>
----
- CMakeLists.txt | 55 ++++++++++++++++++++------------------------------
- 1 file changed, 22 insertions(+), 33 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 6df0206..a7b041c 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -5,7 +5,7 @@ set(VERSION_MINOR 3)
- set(VERSION_PATCH 0)
- set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
-
--project(glslViewer
-+project(glslViewer
- VERSION ${VERSION}
- LANGUAGES C CXX )
-
-@@ -13,7 +13,7 @@ set(CMAKE_CXX_STANDARD 14)
- set(CMAKE_CXX_STANDARD_REQUIRED ON)
- set(CMAKE_CXX_EXTENSIONS OFF)
-
--# The compiled vera
-+# The compiled vera
- add_subdirectory(deps)
-
- if(MSVC)
-@@ -38,7 +38,7 @@ set(CORE_HEADERS
- "${PROJECT_SOURCE_DIR}/src/core/tools/tracker.h"
- )
-
--set(CORE_SOURCES
-+set(CORE_SOURCES
- "${PROJECT_SOURCE_DIR}/src/core/sandbox.cpp"
- "${PROJECT_SOURCE_DIR}/src/core/sceneRender.cpp"
- "${PROJECT_SOURCE_DIR}/src/core/uniforms.cpp"
-@@ -48,7 +48,7 @@ set(CORE_SOURCES
- "${PROJECT_SOURCE_DIR}/src/core/tools/tracker.cpp"
- )
-
--add_executable(glslViewer
-+add_executable(glslViewer
- "${PROJECT_SOURCE_DIR}/src/main.cpp"
- ${CORE_SOURCES}
- )
-@@ -63,8 +63,8 @@ target_compile_definitions(glslViewer PRIVATE GLSLVIEWER_VERSION_MAJOR=${VERSION
- target_compile_definitions(glslViewer PRIVATE GLSLVIEWER_VERSION_MINOR=${VERSION_MINOR})
- target_compile_definitions(glslViewer PRIVATE GLSLVIEWER_VERSION_PATCH=${VERSION_PATCH})
-
--if (EMSCRIPTEN)
--
-+if (EMSCRIPTEN)
-+
- set(LFLAGS "${LFLAGS} -s USE_GLFW=3")
- # set(LFLAGS "${LFLAGS} -s FULL_ES2=1")
- # set(LFLAGS "${LFLAGS} -s FULL_ES3=1")
-@@ -79,16 +79,16 @@ if (EMSCRIPTEN)
- set(LFLAGS "${LFLAGS} -s NO_DYNAMIC_EXECUTION=1")
- # set(LFLAGS "${LFLAGS} -s NO_DISABLE_EXCEPTION_CATCHING")
-
-- # Copy the default index.html
-+ # Copy the default index.html
- file(COPY assets/index.html DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
-
-- # Add examples folder to the .data file system
-+ # Add examples folder to the .data file system
- file(COPY examples DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
- set(LFLAGS "${LFLAGS} --preload-file examples")
-
- set_target_properties(glslViewer PROPERTIES LINK_FLAGS "${LFLAGS}")
- target_link_libraries(glslViewer PRIVATE glfw webxr)
--
-+
- else()
- find_package(Curses)
- if (CURSES_FOUND)
-@@ -97,8 +97,8 @@ else()
- target_link_libraries(glslViewer PRIVATE ${CURSES_LIBRARY})
- endif()
-
-- target_compile_definitions(glslViewer PUBLIC
-- SUPPORT_MULTITHREAD_RECORDING
-+ target_compile_definitions(glslViewer PUBLIC
-+ SUPPORT_MULTITHREAD_RECORDING
- SUPPORT_OSC
- )
-
-@@ -139,9 +139,9 @@ else()
- set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}-${SYSTEM_NAME}-${SYSTEM_ARCH}")
-
- if (MSVC)
-- target_link_libraries(glslViewer PRIVATE
-- lo_static
-- Ws2_32.lib
-+ target_link_libraries(glslViewer PRIVATE
-+ lo_static
-+ Ws2_32.lib
- Iphlpapi.lib
- )
-
-@@ -151,28 +151,17 @@ else()
- else()
- target_link_libraries(glslViewer PRIVATE pthread dl lo_static)
- install(TARGETS glslViewer DESTINATION ${CMAKE_INSTALL_BINDIR})
--
-+
- if (NOT APPLE)
- target_link_libraries(glslViewer PRIVATE atomic)
-
- # Install glslViewer Icon
- install(FILES "${PROJECT_SOURCE_DIR}/assets/glslViewer.png" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps)
- install(FILES "${PROJECT_SOURCE_DIR}/assets/glslViewer.desktop" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications)
--
-+
- # Install supported MIME file types by GlslViewer
- install(FILES "${PROJECT_SOURCE_DIR}/assets/glslViewer-types.xml" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/mime/packages)
-- find_program(XDG-MIME_EXECUTABLE xdg-mime)
-- install(CODE "execute_process(COMMAND ${XDG-MIME_EXECUTABLE} install --novendor ${CMAKE_INSTALL_FULL_DATAROOTDIR}/mime/packages/glslViewer-types.xml)")
-- install(CODE "execute_process(COMMAND ${XDG-MIME_EXECUTABLE} default ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/glslViewer.desktop model/lst)")
-- install(CODE "execute_process(COMMAND ${XDG-MIME_EXECUTABLE} default ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/glslViewer.desktop model/ply)")
-- install(CODE "execute_process(COMMAND ${XDG-MIME_EXECUTABLE} default ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/glslViewer.desktop model/obj)")
-- install(CODE "execute_process(COMMAND ${XDG-MIME_EXECUTABLE} default ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/glslViewer.desktop model/gltf-binary)")
-- install(CODE "execute_process(COMMAND ${XDG-MIME_EXECUTABLE} default ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications/glslViewer.desktop model/gltf+json)")
-- find_program(UPDATE_MIME_DATABASE update-mime-database)
-- install(CODE "execute_process(COMMAND ${UPDATE_MIME_DATABASE} ${CMAKE_INSTALL_FULL_DATAROOTDIR}/mime )")
-- find_program(UPDATE_DESKTOP_DATABASE update-desktop-database)
-- install(CODE "execute_process(COMMAND ${UPDATE_DESKTOP_DATABASE} ${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications)")
--
-+
- # Add a thumbnailer for 3D Models
- install(FILES "${PROJECT_SOURCE_DIR}/assets/glslViewer.thumbnailer" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/thumbnailers)
- install(FILES "${PROJECT_SOURCE_DIR}/assets/glslThumbnailer.sh"
-@@ -200,7 +189,7 @@ else()
- set(CPACK_DEBIAN_PACKAGE_DEPENDS)
- foreach(DEP ${DEBSRC_PACKAGE_DEPENDS})
- set(CPACK_DEBIAN_PACKAGE_DEPEND "${CPACK_DEBIAN_PACKAGE_DEPENDS}, ${DEP}")
-- endforeach(DEP ${DEBSRC_PACKAGE_DEPENDS})
-+ endforeach(DEP ${DEBSRC_PACKAGE_DEPENDS})
-
- set(CPACK_DEBIAN_BUILD_DEPENDS)
- foreach(DEP ${DEBSRC_BUILD_DEPENDS})
-@@ -211,7 +200,7 @@ else()
- execute_process(
- COMMAND dpkg --print-architecture
- OUTPUT_VARIABLE DEB_ARCHITECTURE
-- OUTPUT_STRIP_TRAILING_WHITESPACE
-+ OUTPUT_STRIP_TRAILING_WHITESPACE
- )
- message(STATUS "package_details.cmake: your architecture is ${DEB_ARCHITECTURE}")
-
-@@ -220,13 +209,13 @@ else()
- set(CPACK_DEBIAN_PACKAGE_PRIORITY extra )
- set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Patricio Gonzalez Vivo <patriciogonzalezvivo@gmail.com>")
- set(CPACK_DEBIAN_DISTRIBUTION_NAME ubuntu )
-- set(CPACK_DEBIAN_DISTRIBUTION_RELEASES bionic focal )
-+ set(CPACK_DEBIAN_DISTRIBUTION_RELEASES bionic focal )
- set(CPACK_DEBIAN_CHANGELOG " * Latest development version.")
- # set(CPACK_DEBIAN_RESOURCE_FILE_CHANGELOG ${PROJECT_SOURCE_DIR}/changelog)
- # set(CPACK_DEBIAN_UPDATE_CHANGELOG ON)
- set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}-${DEB_ARCHITECTURE}")
- endif()
--
-+
- endif()
-
- include(CPack)
-@@ -259,4 +248,4 @@ if (PYTHON_BINDINGS)
- target_include_directories(PyGlslViewer PUBLIC ${DEPS_FOLDER})
- target_link_libraries(PyGlslViewer PRIVATE vera pybind11::module)
-
--endif()
-\ No newline at end of file
-+endif()
---
-2.50.0
-
diff --git a/media-gfx/glslViewer/files/0002-Cast-getExposure-result-to-float-to-setUniform.patch b/media-gfx/glslViewer/files/0002-Cast-getExposure-result-to-float-to-setUniform.patch
new file mode 100644
index 0000000000..5abbb6f39d
--- /dev/null
+++ b/media-gfx/glslViewer/files/0002-Cast-getExposure-result-to-float-to-setUniform.patch
@@ -0,0 +1,281 @@
+From 9e2959b03e256ec9a3d43e1bcaa4c5ddd595c69c Mon Sep 17 00:00:00 2001
+From: Nguyen Dinh Dang Duong <dangduong31205@gmail.com>
+Date: Thu, 10 Jul 2025 23:25:00 +0700
+Subject: [PATCH 2/2] Cast getExposure() result to float to setUniform
+
+---
+ src/core/uniforms.cpp | 70 +++++++++++++++++++++----------------------
+ 1 file changed, 35 insertions(+), 35 deletions(-)
+
+diff --git a/src/core/uniforms.cpp b/src/core/uniforms.cpp
+index 4182977..3b76f23 100644
+--- a/src/core/uniforms.cpp
++++ b/src/core/uniforms.cpp
+@@ -16,7 +16,7 @@
+
+ std::string UniformData::getType() {
+ if (size == 1) return (bInt ? "int" : "float");
+- else return (bInt ? "ivec" : "vec") + vera::toString(size);
++ else return (bInt ? "ivec" : "vec") + vera::toString(size);
+ }
+
+ void UniformData::set(const UniformValue &_value, size_t _size, bool _int, bool _queue) {
+@@ -27,13 +27,13 @@ void UniformData::set(const UniformValue &_value, size_t _size, bool _int, bool
+ queue.push( _value );
+ else
+ value = _value;
+-
++
+ change = true;
+ }
+
+ void UniformData::parse(const std::vector<std::string>& _command, size_t _start, bool _queue) {;
+ UniformValue candidate;
+- for (size_t i = _start; i < _command.size() && i < 5; i++)
++ for (size_t i = _start; i < _command.size() && i < 5; i++)
+ candidate[i-_start] = vera::toFloat(_command[i]);
+
+ set(candidate, _command.size() - _start, false, _queue);
+@@ -88,14 +88,14 @@ Uniforms::Uniforms() : m_frame(0), m_play(true), m_change(false) {
+ //
+ functions["u_iblLuminance"] = UniformFunction("float", [this](vera::Shader& _shader) {
+ if (activeCamera)
+- _shader.setUniform("u_iblLuminance", 30000.0f * activeCamera->getExposure());
++ _shader.setUniform("u_iblLuminance", 30000.0f * static_cast<float>(activeCamera->getExposure()));
+ },
+- [this]() {
++ [this]() {
+ if (activeCamera)
+ return vera::toString(30000.0f * activeCamera->getExposure());
+ return std::string("");
+ });
+-
++
+ // CAMERA UNIFORMS
+ //
+ functions["u_camera"] = UniformFunction("vec3", [this](vera::Shader& _shader) {
+@@ -112,7 +112,7 @@ Uniforms::Uniforms() : m_frame(0), m_play(true), m_change(false) {
+ if (activeCamera)
+ _shader.setUniform("u_cameraDistance", activeCamera->getDistance());
+ },
+- [this]() {
++ [this]() {
+ if (activeCamera)
+ return vera::toString(activeCamera->getDistance());
+ return std::string("");
+@@ -122,7 +122,7 @@ Uniforms::Uniforms() : m_frame(0), m_play(true), m_change(false) {
+ if (activeCamera)
+ _shader.setUniform("u_cameraNearClip", activeCamera->getNearClip());
+ },
+- [this]() {
++ [this]() {
+ if (activeCamera)
+ return vera::toString(activeCamera->getNearClip());
+ return std::string("");
+@@ -132,9 +132,9 @@ Uniforms::Uniforms() : m_frame(0), m_play(true), m_change(false) {
+ if (activeCamera)
+ _shader.setUniform("u_cameraFarClip", activeCamera->getFarClip());
+ },
+- [this]() {
++ [this]() {
+ if (activeCamera)
+- return vera::toString(activeCamera->getFarClip());
++ return vera::toString(activeCamera->getFarClip());
+ return std::string("");
+ });
+
+@@ -150,9 +150,9 @@ Uniforms::Uniforms() : m_frame(0), m_play(true), m_change(false) {
+
+ functions["u_cameraExposure"] = UniformFunction("float", [this](vera::Shader& _shader) {
+ if (activeCamera)
+- _shader.setUniform("u_cameraExposure", activeCamera->getExposure());
++ _shader.setUniform("u_cameraExposure", static_cast<float>(activeCamera->getExposure()));
+ },
+- [this]() {
++ [this]() {
+ if (activeCamera)
+ return vera::toString(activeCamera->getExposure());
+ return std::string("");
+@@ -162,7 +162,7 @@ Uniforms::Uniforms() : m_frame(0), m_play(true), m_change(false) {
+ if (activeCamera)
+ _shader.setUniform("u_cameraAperture", activeCamera->getAperture());
+ },
+- [this]() {
++ [this]() {
+ if (activeCamera)
+ return vera::toString(activeCamera->getAperture());
+ return std::string("");
+@@ -172,7 +172,7 @@ Uniforms::Uniforms() : m_frame(0), m_play(true), m_change(false) {
+ if (activeCamera)
+ _shader.setUniform("u_cameraShutterSpeed", activeCamera->getShutterSpeed());
+ },
+- [this]() {
++ [this]() {
+ if (activeCamera)
+ return vera::toString(activeCamera->getShutterSpeed());
+ return std::string("");
+@@ -182,7 +182,7 @@ Uniforms::Uniforms() : m_frame(0), m_play(true), m_change(false) {
+ if (activeCamera)
+ _shader.setUniform("u_cameraSensitivity", activeCamera->getSensitivity());
+ },
+- [this]() {
++ [this]() {
+ if (activeCamera)
+ return vera::toString(activeCamera->getSensitivity());
+ return std::string("");
+@@ -192,12 +192,12 @@ Uniforms::Uniforms() : m_frame(0), m_play(true), m_change(false) {
+ if (activeCamera)
+ _shader.setUniform("u_cameraChange", activeCamera->bChange);
+ },
+- [this]() {
++ [this]() {
+ if (activeCamera)
+ return vera::toString(activeCamera->bChange);
+ return std::string("");
+ });
+-
++
+ functions["u_normalMatrix"] = UniformFunction("mat3", [this](vera::Shader& _shader) {
+ if (activeCamera)
+ _shader.setUniform("u_normalMatrix", activeCamera->getNormalMatrix());
+@@ -248,7 +248,7 @@ bool Uniforms::feedTo(vera::Shader *_shader, bool _lights, bool _buffers ) {
+ }
+
+ // Pass user defined uniforms (only if the shader code or scene had changed)
+- // if (m_change)
++ // if (m_change)
+ {
+ for (UniformDataMap::iterator it = data.begin(); it != data.end(); ++it) {
+ _shader->setUniform(it->first, it->second.value.data(), it->second.size);
+@@ -291,7 +291,7 @@ bool Uniforms::feedTo(vera::Shader *_shader, bool _lights, bool _buffers ) {
+
+ for (size_t i = 0; i < doubleBuffers.size(); i++)
+ _shader->setUniformTexture("u_doubleBuffer" + vera::toString(i), doubleBuffers[i]->src, _shader->textureIndex++ );
+-
++
+ for (size_t i = 0; i < floods.size(); i++)
+ _shader->setUniformTexture("u_flood" + vera::toString(i), floods[i].dst, _shader->textureIndex++ );
+ }
+@@ -300,7 +300,7 @@ bool Uniforms::feedTo(vera::Shader *_shader, bool _lights, bool _buffers ) {
+ for (size_t i = 0; i < pyramids.size(); i++)
+ _shader->setUniformTexture("u_pyramid" + vera::toString(i), pyramids[i].getResult(), _shader->textureIndex++ );
+
+-
++
+ if (_lights) {
+ // Pass Light Uniforms
+ if (lights.size() == 1) {
+@@ -318,7 +318,7 @@ bool Uniforms::feedTo(vera::Shader *_shader, bool _lights, bool _buffers ) {
+ }
+ else {
+ // TODO:
+- // - Lights should be pass as structs??
++ // - Lights should be pass as structs??
+
+ for (vera::LightsMap::iterator it = lights.begin(); it != lights.end(); ++it) {
+ std::string name = "u_" + it->first;
+@@ -336,7 +336,7 @@ bool Uniforms::feedTo(vera::Shader *_shader, bool _lights, bool _buffers ) {
+ _shader->setUniformDepthTexture(name + "ShadowMap", it->second->getShadowMap(), _shader->textureIndex++ );
+ }
+ }
+-
++
+ if (activeCubemap) {
+ _shader->setUniformTextureCube("u_cubeMap", (vera::TextureCube*)activeCubemap);
+ _shader->setUniform("u_SH", activeCubemap->SH, 9);
+@@ -372,12 +372,12 @@ void Uniforms::unflagChange() {
+ activeCamera->bChange = false;
+ }
+
+-bool Uniforms::haveChange() {
++bool Uniforms::haveChange() {
+ if (activeCamera)
+ if (activeCamera->bChange)
+ return true;
+-
+- if (functions["u_time"].present ||
++
++ if (functions["u_time"].present ||
+ functions["u_date"].present ||
+ functions["u_delta"].present ||
+ functions["u_mouse"].present)
+@@ -402,7 +402,7 @@ void Uniforms::checkUniforms( const std::string &_vert_src, const std::string &_
+ if ( it->second.present != present ) {
+ it->second.present = present;
+ m_change = true;
+- }
++ }
+ }
+ }
+
+@@ -515,16 +515,16 @@ void Uniforms::setStreamsRestart() {
+ void Uniforms::printAvailableUniforms(bool _non_active) {
+ if (_non_active) {
+ // Print all Native Uniforms (they carry functions)
+- for (UniformFunctionsMap::iterator it= functions.begin(); it != functions.end(); ++it) {
++ for (UniformFunctionsMap::iterator it= functions.begin(); it != functions.end(); ++it) {
+ std::cout << "uniform " << it->second.type << ' ' << it->first << ";";
+- if (it->second.print)
++ if (it->second.print)
+ std::cout << " // " << it->second.print();
+ std::cout << std::endl;
+ }
+ }
+ else {
+ // Print Native Uniforms (they carry functions) that are present on the shader
+- for (UniformFunctionsMap::iterator it= functions.begin(); it != functions.end(); ++it) {
++ for (UniformFunctionsMap::iterator it= functions.begin(); it != functions.end(); ++it) {
+ if (it->second.present) {
+ std::cout<< "uniform " << it->second.type << ' ' << it->first << ";";
+ if (it->second.print)
+@@ -567,7 +567,7 @@ void Uniforms::printDefinedUniforms(bool _csv){
+ std::cout << "uniform " << it->second[frame].getType() << " " << it->first << "; // " << it->second[frame].print() << std::endl;
+ }
+ }
+- }
++ }
+ }
+
+ void Uniforms::addDefine(const std::string& _define, const std::string& _value) {
+@@ -597,7 +597,7 @@ void Uniforms::printBuffers() {
+ std::cout << "uniform sampler2D u_doubleBuffer" << i << ";" << std::endl;
+
+ for (size_t i = 0; i < pyramids.size(); i++)
+- std::cout << "uniform sampler2D u_pyramid" << i << ";" << std::endl;
++ std::cout << "uniform sampler2D u_pyramid" << i << ";" << std::endl;
+
+ if (functions["u_scene"].present)
+ std::cout << "uniform sampler2D u_scene;" << std::endl;
+@@ -642,7 +642,7 @@ bool Uniforms::addCameraPath( const std::string& _filename ) {
+ // );
+
+ while (std::getline(is, line)) {
+- // If line not commented
++ // If line not commented
+ if (line[0] == '#')
+ continue;
+
+@@ -669,9 +669,9 @@ bool Uniforms::addCameraPath( const std::string& _filename ) {
+ // glm::mat4 projection = glm::ortho(0.0f, w, h, 0.0f, near, far);
+ // glm::mat4 ndc = glm::mat4(
+ // fL, 0.0f, 0.0f, 0.0f,
+- // 0.0f, fL, 0.0f, 0.0f,
++ // 0.0f, fL, 0.0f, 0.0f,
+ // cx, cy, 1.0f, 0.0f,
+- // 0.0f, 0.0f, 0.0f, 1.0f
++ // 0.0f, 0.0f, 0.0f, 1.0f
+ // );
+ // frame.projection = projection * ndc;
+
+@@ -681,7 +681,7 @@ bool Uniforms::addCameraPath( const std::string& _filename ) {
+ (w - 2.0f*cx)/w, (h-2.0f*cy)/h, (-far-near)/delta, -1.0f,
+ 0.0f, 0.0f, -2.0f*far*near/delta, 0.0f
+ );
+-
++
+ // frame.projection = glm::mat4(
+ // fL/cx, 0.0f, 0.0f, 0.0f,
+ // 0.0f, fL/cy, 0.0f, 0.0f,
+--
+2.50.0
+
diff --git a/media-gfx/glslViewer/files/0002-Install-libvera.so-to-machine.patch b/media-gfx/glslViewer/files/0002-Install-libvera.so-to-machine.patch
deleted file mode 100644
index ae9500eccf..0000000000
--- a/media-gfx/glslViewer/files/0002-Install-libvera.so-to-machine.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From d813c82384ebd642376e09d73d6254a244f2b40a Mon Sep 17 00:00:00 2001
-From: Nguyen Dinh Dang Duong <dangduong31205@gmail.com>
-Date: Sat, 28 Jun 2025 04:49:46 +0700
-Subject: [PATCH 2/2] Install libvera.so to machine
-
-`
----
- CMakeLists.txt | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a7b041c..03cf64d 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -16,6 +16,11 @@ set(CMAKE_CXX_EXTENSIONS OFF)
- # The compiled vera
- add_subdirectory(deps)
-
-+install(TARGETS vera
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-+
- if(MSVC)
- add_definitions( -DPLATFORM_WINDOWS )
- endif()
---
-2.50.0
-
diff --git a/media-gfx/glslViewer/glslViewer-3.2.4.ebuild b/media-gfx/glslViewer/glslViewer-3.2.4.ebuild
index 606acf7c01..48a132e656 100644
--- a/media-gfx/glslViewer/glslViewer-3.2.4.ebuild
+++ b/media-gfx/glslViewer/glslViewer-3.2.4.ebuild
@@ -3,51 +3,101 @@
EAPI=8
-inherit cmake git-r3
+# pybind11 has not bump python to 3.14 yet
+PYTHON_COMPAT=( python3_{11..13} )
+inherit cmake flag-o-matic python-r1
DESCRIPTION="Console-based GLSL live-coding viewer"
HOMEPAGE="https://github.com/patriciogonzalezvivo/glslViewer"
-EGIT_REPO_URI="https://github.com/patriciogonzalezvivo/glslViewer.git"
-EGIT_COMMIT="7eb6254cb4cedf03f1c78653f90905fe0c3b48fb"
+SRC_URI="https://codeload.github.com/patriciogonzalezvivo/glslViewer/tar.gz/refs/tags/${PV} -> ${P}.tar.gz"
-LICENSE="BSD"
+LICENSE="BSD MIT"
SLOT="0"
-IUSE="ffmpeg xvfb"
+
+IUSE="X ffmpeg xvfb python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
DEPEND="
media-libs/glu
sys-libs/ncurses
+ x11-misc/shared-mime-info
+ dev-libs/lygia
+ media-libs/liblo
+ dev-libs/vera
+ media-libs/glm
ffmpeg? (
media-video/ffmpeg
)
xvfb? (
x11-base/xorg-server[xvfb]
)
- x11-misc/shared-mime-info
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ ')
+ )
"
RDEPEND="${DEPEND}"
-BDEPEND="
- dev-build/cmake
- virtual/pkgconfig
-"
PATCHES=(
- "${FILESDIR}/0001-Removed-unsafe-post-install-MIME-and-desktop-databas.patch"
- "${FILESDIR}/0002-Install-libvera.so-to-machine.patch"
+ "${FILESDIR}/0001-Fix-CMakelists.patch"
+ "${FILESDIR}/0002-Cast-getExposure-result-to-float-to-setUniform.patch"
)
src_configure() {
local mycmakeargs=(
- -DCMAKE_EXE_LINKER_FLAGS="-ltinfo"
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_INSTALL_LIBDIR="$(get_libdir)"
+ -DNO_X11="$(usex X OFF ON)"
+ )
+ append-cxxflags "-DGL_OPENGL -DDRIVER_GLFW"
+ cmake_src_configure
+ if use python; then
+ python_foreach_impl python_configure
+ fi
+}
+
+python_configure() {
+ mkdir -p "${BUILD_DIR}" || die "mkdir failed"
+ pushd "${BUILD_DIR}" > /dev/null || die "pushd failed"
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_INSTALL_LIBDIR="$(get_libdir)"
+ -DNO_X11="$(usex X OFF ON)"
+ -DPYTHON_BINDINGS=ON
+ -DPython3_EXECUTABLE="${PYTHON}"
)
+ append-cxxflags "-DGL_OPENGL -DDRIVER_GLFW"
cmake_src_configure
+ popd >/dev/null || die "popd failed"
+}
+
+src_compile() {
+ cmake_src_compile
+ if use python; then
+ python_foreach_impl python_compile
+ fi
+}
+
+python_compile() {
+ pushd "${BUILD_DIR}" > /dev/null || die "pushd failed"
+ cmake_src_compile
+ popd >/dev/null || die "popd failed"
}
src_install() {
cmake_src_install
+ if use python; then
+ python_foreach_impl python_install
+ fi
dodoc README.md
}
+python_install() {
+ python_domodule "${BUILD_DIR}"/PyGlslViewer*.so || die "failed to install PyGlslViewer module"
+}
+
pkg_postinst() {
xdg-icon-resource forceupdate || die
update-mime-database /usr/share/mime || die
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-07-10 22:16 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-10 22:16 [gentoo-commits] repo/proj/guru:dev commit in: media-gfx/glslViewer/, media-gfx/glslViewer/files/ Nguyen Dinh Dang Duong
-- strict thread matches above, loose matches on Subject: below --
2025-07-05 11:19 Nguyen Dinh Dang Duong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox