nur-packages

My NUR packages
git clone git://git.sikmir.ru/nur-packages
Log | Files | Refs | README | LICENSE

commit 832cafd900ef6f4453bd5f5ef4e3cf8d7317bc26
parent f4eff0654ca69214d219e44a03b958152ef08e21
Author: Nikolay Korotkiy <sikmir@disroot.org>
Date:   Mon, 29 Dec 2025 03:37:13 +0400

Add RRS

Diffstat:
Apkgs/by-name/rr/rrs/package.nix | 93+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apkgs/by-name/vs/vsgimgui/package.nix | 47+++++++++++++++++++++++++++++++++++++++++++++++
Apkgs/by-name/vs/vsgxchange/package.nix | 46++++++++++++++++++++++++++++++++++++++++++++++
Apkgs/by-name/vu/vulkanscenegraph/package.nix | 53+++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 239 insertions(+), 0 deletions(-)

diff --git a/pkgs/by-name/rr/rrs/package.nix b/pkgs/by-name/rr/rrs/package.nix @@ -0,0 +1,93 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + copyDesktopItems, + makeDesktopItem, + makeWrapper, + pkg-config, + qt6, + glslang, + openal, + sfml, + vulkanscenegraph, + vsgimgui, + vsgxchange, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "rrs"; + version = "1.8.0"; + + src = fetchFromGitHub { + owner = "maisvendoo"; + repo = "RRS"; + tag = "v${finalAttrs.version}"; + hash = "sha256-4CSTMC0z/uddZ0PF2bY15Jq7d7eZCiCDTIxjYPw2OZs="; + }; + + postPatch = '' + substituteInPlace filesystem/src/filesystem.cpp \ + --replace-fail "QDir::currentPath().toStdString()" "\"$out/bin\"" \ + --replace-fail "getLevelUpDirectory(workDir, 1)" "\"$out/\"" + ''; + + nativeBuildInputs = [ + cmake + copyDesktopItems + makeWrapper + pkg-config + qt6.wrapQtAppsHook + ]; + + buildInputs = [ + qt6.qtbase + qt6.qtserialbus + glslang + openal + sfml + vulkanscenegraph + vsgimgui + vsgxchange + ]; + + desktopItems = [ + (makeDesktopItem { + name = "rrs-launcher"; + type = "Application"; + desktopName = "Russian Railway Simulator"; + icon = "RRS_logo"; + exec = "launcher"; + terminal = false; + categories = [ + "Simulation" + ]; + }) + ]; + + noAuditTmpdir = true; + + postInstall = '' + cp -r /build/source/{bin,lib,modules,plugins} $out + cp -r $src/{cfg,data,docs,fonts,routes,themes} $out + install -Dm644 $src/launcher/resources/images/RRS_logo.png -t $out/share/icons/hicolor/48x48/apps + ''; + + postFixup = '' + for f in $out/bin/*; do + wrapProgram $f \ + --prefix LD_LIBRARY_PATH : $out/lib + done + ''; + + meta = { + description = "Russian Railway Simulator"; + homepage = "https://github.com/maisvendoo/RRS"; + license = lib.licenses.gpl2; + maintainers = [ lib.maintainers.sikmir ]; + platforms = lib.platforms.linux; + skip.ci = stdenv.isDarwin; + mainProgram = "launcher"; + }; +}) diff --git a/pkgs/by-name/vs/vsgimgui/package.nix b/pkgs/by-name/vs/vsgimgui/package.nix @@ -0,0 +1,47 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + glslang, + libxcb, + vulkan-headers, + vulkan-loader, + vulkanscenegraph, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "vsgimgui"; + version = "0.7.0"; + + src = fetchFromGitHub { + owner = "vsg-dev"; + repo = "vsgImGui"; + tag = "v${finalAttrs.version}"; + hash = "sha256-GRHTpMTqK9UgvINZG2oN9zTh0lnBtNw0JdwB4ZT47gk="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + glslang + libxcb + vulkan-headers + vulkan-loader + vulkanscenegraph + ]; + + meta = { + description = "Integration of VulkanSceneGraph with ImGui"; + homepage = "https://github.com/vsg-dev/vsgImGui"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.sikmir ]; + platforms = lib.platforms.linux; + skip.ci = stdenv.isDarwin; + }; +}) diff --git a/pkgs/by-name/vs/vsgxchange/package.nix b/pkgs/by-name/vs/vsgxchange/package.nix @@ -0,0 +1,46 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + glslang, + libxcb, + vulkan-headers, + vulkan-loader, + vulkanscenegraph, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "vsgxchange"; + version = "1.1.8"; + + src = fetchFromGitHub { + owner = "vsg-dev"; + repo = "vsgXchange"; + tag = "v${finalAttrs.version}"; + hash = "sha256-R/6D81SN7Po8tsx1vEjQHj79MjVwpEDHswMmiekeuMs="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + glslang + libxcb + vulkan-headers + vulkan-loader + vulkanscenegraph + ]; + + meta = { + description = "Utility library for converting data+materials to/from VulkanSceneGraph"; + homepage = "https://github.com/vsg-dev/vsgXchange"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.sikmir ]; + platforms = lib.platforms.linux; + skip.ci = stdenv.isDarwin; + }; +}) diff --git a/pkgs/by-name/vu/vulkanscenegraph/package.nix b/pkgs/by-name/vu/vulkanscenegraph/package.nix @@ -0,0 +1,53 @@ +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + glslang, + libxcb, + vulkan-headers, + vulkan-loader, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "vulkanscenegraph"; + version = "1.1.12"; + + src = fetchFromGitHub { + owner = "vsg-dev"; + repo = "VulkanSceneGraph"; + tag = "v${finalAttrs.version}"; + hash = "sha256-DdTfn8URLJkF5Nhkl8ZCq+brKK/T+9FipaeTON4Dsfw="; + }; + + patches = [ + # make it compatible with glslang 16.x + (fetchpatch { + url = "https://github.com/vsg-dev/VulkanSceneGraph/commit/313865d420bba7bb3327460c367c7526f566a74e.patch"; + hash = "sha256-hytv79AE70S/yBiI+n9RHGbHmYZW5388BiFh9l1auzU="; + }) + ]; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + glslang + libxcb + vulkan-headers + vulkan-loader + ]; + + meta = { + description = "Vulkan & C++17 based Scene Graph Project"; + homepage = "http://www.vulkanscenegraph.org"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.sikmir ]; + platforms = lib.platforms.linux; + skip.ci = stdenv.isDarwin; + }; +})