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 <dangduong31...@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 <dangduong31...@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 
<patriciogonzalezv...@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 <dangduong31...@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>dangduong31...@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>

Reply via email to