From f0f242ec4e9fc096c38619a2f5bf063721796c5f Mon Sep 17 00:00:00 2001 From: RoGreat Date: Wed, 31 Dec 2025 21:29:37 -0600 Subject: [PATCH] pascube: 1.5.1 -> 1.7.0 --- pkgs/by-name/pa/pascube/package.nix | 67 ++++++++++++----------------- 1 file changed, 27 insertions(+), 40 deletions(-) diff --git a/pkgs/by-name/pa/pascube/package.nix b/pkgs/by-name/pa/pascube/package.nix index 2d8a1684bce2..61582ef04c47 100644 --- a/pkgs/by-name/pa/pascube/package.nix +++ b/pkgs/by-name/pa/pascube/package.nix @@ -1,47 +1,46 @@ { - autoPatchelfHook, - copyDesktopItems, + clangStdenv, fetchFromGitHub, fpc, lazarus-qt6, lib, - libGLU, - makeDesktopItem, + libx11, + makeWrapper, nix-update-script, qt6Packages, - stdenv, + SDL2, + vulkan-loader, + zlib, }: -stdenv.mkDerivation (finalAttrs: { +clangStdenv.mkDerivation (finalAttrs: { pname = "pascube"; - version = "1.5.1"; + version = "1.7.0"; src = fetchFromGitHub { owner = "benjamimgois"; repo = "pascube"; - tag = "v${finalAttrs.version}"; - hash = "sha256-djkrMgX3RTTXSLISYpBfdyCIh3/WWODxd473M53iFKE="; + tag = finalAttrs.version; + hash = "sha256-qKjOA5/l2trQC238WheeOzqbpltjkwksqzMtcfw7ci0="; }; nativeBuildInputs = [ - autoPatchelfHook - copyDesktopItems fpc lazarus-qt6 + makeWrapper qt6Packages.wrapQtAppsHook ]; buildInputs = [ qt6Packages.libqtpas qt6Packages.qtbase - ]; - - runtimeDependencies = [ - libGLU + SDL2 ]; buildPhase = '' runHook preBuild + clang -c -O3 -D linux -fverbose-asm -fno-builtin \ + pasvulkan/src/lzma_c/LzmaDec.c -o pasvulkan/src/lzma_c/lzmadec_linux_x86_64.o HOME=$(mktemp -d) lazbuild \ --lazarusdir=${lazarus-qt6}/share/lazarus \ --widgetset=qt6 \ @@ -52,45 +51,33 @@ stdenv.mkDerivation (finalAttrs: { installPhase = '' runHook preInstall install -Dm755 pascube $out/bin/pascube + wrapProgram $out/bin/pascube --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + libx11 + SDL2 + vulkan-loader + zlib + ] + } + mkdir -p $out/share/pascube + cp -a assets $out/share/pascube + install -Dm644 data/pascube.desktop $out/share/applications/pascube.desktop for sz in 128x128 256x256 512x512; do install -Dm644 "data/icons/''${sz}/pascube.png" \ "$out/share/icons/hicolor/''${sz}/apps/pascube.png" done - install -Dm644 "data/skybox.png" "$out/share/pascube/skybox.png" runHook postInstall ''; - desktopItems = [ - (makeDesktopItem { - name = "pascube"; - desktopName = "pasCube"; - comment = finalAttrs.meta.description; - exec = finalAttrs.meta.mainProgram; - icon = "pascube"; - terminal = false; - categories = [ - "Graphics" - "Education" - "Qt" - ]; - }) - ]; - - preFixup = '' - qtWrapperArgs+=( - --set QT_QPA_PLATFORM xcb - ) - ''; - passthru.updateScript = nix-update-script { }; meta = { description = "Simple OpenGL spinning cube written in Pascal"; homepage = "https://github.com/benjamimgois/pascube"; - changelog = "https://github.com/benjamimgois/pascube/releases/tag/v${finalAttrs.version}"; + changelog = "https://github.com/benjamimgois/pascube/releases/tag/${finalAttrs.version}"; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ RoGreat ]; mainProgram = "pascube"; - platforms = lib.platforms.linux; + platforms = [ "x86_64-linux" ]; }; })