From ccbc5c1282e114d123e9cf06cf96a9a5fd6735dc Mon Sep 17 00:00:00 2001 From: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Date: Sun, 23 Feb 2025 02:43:46 +0100 Subject: [PATCH] gpupad: init at 2.4.0 --- .../gp/gpupad/glslang-use-combined-lib.patch | 15 +++++ pkgs/by-name/gp/gpupad/package.nix | 63 +++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 pkgs/by-name/gp/gpupad/glslang-use-combined-lib.patch create mode 100644 pkgs/by-name/gp/gpupad/package.nix diff --git a/pkgs/by-name/gp/gpupad/glslang-use-combined-lib.patch b/pkgs/by-name/gp/gpupad/glslang-use-combined-lib.patch new file mode 100644 index 000000000000..945712009db1 --- /dev/null +++ b/pkgs/by-name/gp/gpupad/glslang-use-combined-lib.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a05c447..20a5c98 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -276,8 +276,8 @@ endif() + + # link glslang + find_package(glslang CONFIG REQUIRED) +-target_link_libraries(${PROJECT_NAME} PRIVATE glslang::OSDependent glslang::glslang +- glslang::MachineIndependent glslang::GenericCodeGen glslang::glslang-default-resource-limits ++target_link_libraries(${PROJECT_NAME} PRIVATE glslang::glslang ++ glslang::glslang-default-resource-limits + glslang::SPVRemapper glslang::SPIRV) + + # link SPIRV-Cross diff --git a/pkgs/by-name/gp/gpupad/package.nix b/pkgs/by-name/gp/gpupad/package.nix new file mode 100644 index 000000000000..7b076839a3d5 --- /dev/null +++ b/pkgs/by-name/gp/gpupad/package.nix @@ -0,0 +1,63 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + + glslang, + imath, + ktx-tools, + openimageio, + qt6Packages, + spdlog, + spirv-cross, + vulkan-memory-allocator, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "gpupad"; + version = "2.4.0"; + + src = fetchFromGitHub { + owner = "houmain"; + repo = "gpupad"; + tag = finalAttrs.version; + hash = "sha256-yCoLvocfqYOwbsGn2r3+2iThDZCkRAUrNI71fIH7XXU="; + fetchSubmodules = true; + }; + + patches = [ + # the current version of glslang no longer separates its libs into sublibs + ./glslang-use-combined-lib.patch + ]; + + strictDeps = true; + + nativeBuildInputs = [ + cmake + qt6Packages.wrapQtAppsHook + ]; + + buildInputs = [ + glslang + imath # needed for openimageio + ktx-tools + openimageio + qt6Packages.qtbase + qt6Packages.qtdeclarative + qt6Packages.qtmultimedia + spdlog + spirv-cross + vulkan-memory-allocator + ]; + + meta = { + description = "Flexible GLSL and HLSL shader editor and IDE"; + homepage = "https://github.com/houmain/gpupad"; + changelog = "https://github.com/houmain/gpupad/blob/${finalAttrs.src.rev}/CHANGELOG.md"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ tomasajt ]; + mainProgram = "gpupad"; + platforms = lib.platforms.linux; + }; +})