media-gfx/glslViewer: new package, add 3.2.4

Signed-off-by: Nguyen Dinh Dang Duong <dangduong31205@gmail.com>
This commit is contained in:
Nguyen Dinh Dang Duong
2025-07-05 18:18:14 +07:00
parent 51f6473d3d
commit 0d0381b6dc
5 changed files with 285 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST glslViewer-3.2.4.tar.gz 108258877 BLAKE2B 552beedeafed97372f36a307c2ce3f742d4437ae3357cf3fa30c091953bac834aedde5270313f267657317c433b3e5eb2378427a66b5687de3956e99ae65f21b SHA512 20766ad1fe288d4e193849809b5633635b2d3a551cd46c9378f80c8817aeb90180847f2e9540e02f6c5729e0fa7fd51c45b4a1fa5f7e4ed6e397c58ef3e32c47

View File

@@ -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

View File

@@ -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

View File

@@ -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
}

View File

@@ -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>