diff options
author | superherointj <5861043+superherointj@users.noreply.github.com> | 2024-08-11 19:07:47 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-11 19:07:47 -0300 |
commit | 94dc66045b7209b883288589a8bd54e823096f4e (patch) | |
tree | 7287d6aa16ebd702dfd55dfebe97f24865da1083 /pkgs/by-name/pi | |
parent | 312b0ceec0c26cd0a7aca896556da188c1834422 (diff) | |
parent | 9a8324dc235a9317906be381d44216516f2ff917 (diff) |
Merge pull request #330914 from felschr/pixelorama-1.0
pixelorama: 0.11.4 -> 1.0.1
Diffstat (limited to 'pkgs/by-name/pi')
-rw-r--r-- | pkgs/by-name/pi/pixelorama/package.nix | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/pkgs/by-name/pi/pixelorama/package.nix b/pkgs/by-name/pi/pixelorama/package.nix new file mode 100644 index 0000000000000..dfe9abf9632ff --- /dev/null +++ b/pkgs/by-name/pi/pixelorama/package.nix @@ -0,0 +1,102 @@ +{ + lib, + stdenv, + alsa-lib, + autoPatchelfHook, + fetchFromGitHub, + godot_4, + godot_4-export-templates, + libGL, + libpulseaudio, + libX11, + libXcursor, + libXext, + libXi, + libXrandr, + nix-update-script, + udev, + vulkan-loader, +}: + +let + preset = + if stdenv.isLinux then + if stdenv.is64bit then "Linux/X11 64-bit" else "Linux/X11 32-bit" + else if stdenv.isDarwin then + "Mac OSX" + else + throw "unsupported platform"; + + godot_version_folder = lib.replaceStrings [ "-" ] [ "." ] godot_4.version; +in +stdenv.mkDerivation (finalAttrs: { + pname = "pixelorama"; + version = "1.0.1"; + + src = fetchFromGitHub { + owner = "Orama-Interactive"; + repo = "Pixelorama"; + rev = "v${finalAttrs.version}"; + hash = "sha256-lfim5ZiykOhI1kgsu0ni2frUVHPRIPJdrGx6TuUQcSY="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoPatchelfHook + godot_4 + ]; + + runtimeDependencies = map lib.getLib [ + alsa-lib + libGL + libpulseaudio + libX11 + libXcursor + libXext + libXi + libXrandr + udev + vulkan-loader + ]; + + buildPhase = '' + runHook preBuild + + export HOME=$(mktemp -d) + mkdir -p $HOME/.local/share/godot/export_templates + ln -s "${godot_4-export-templates}" "$HOME/.local/share/godot/export_templates/${godot_version_folder}" + mkdir -p build + godot4 --headless --export-release "${preset}" ./build/pixelorama + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + install -D -m 755 -t $out/libexec ./build/pixelorama + install -D -m 644 -t $out/libexec ./build/pixelorama.pck + install -D -m 644 -t $out/share/applications ./Misc/Linux/com.orama_interactive.Pixelorama.desktop + install -D -m 644 -T ./assets/graphics/icons/icon.png $out/share/icons/hicolor/256x256/apps/pixelorama.png + install -d -m 755 $out/bin + ln -s $out/libexec/pixelorama $out/bin/pixelorama + + runHook postInstall + ''; + + passthru.updateScript = nix-update-script { }; + + meta = with lib; { + homepage = "https://orama-interactive.itch.io/pixelorama"; + description = "Free & open-source 2D sprite editor, made with the Godot Engine!"; + changelog = "https://github.com/Orama-Interactive/Pixelorama/blob/${finalAttrs.src.rev}/CHANGELOG.md"; + license = licenses.mit; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; + maintainers = with maintainers; [ felschr ]; + mainProgram = "pixelorama"; + }; +}) |