public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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