diff options
author | lucasew <lucas59356@gmail.com> | 2024-01-01 21:16:58 -0300 |
---|---|---|
committer | lucasew <lucas59356@gmail.com> | 2024-01-10 13:33:40 -0300 |
commit | c1afdf8afcb2ad9f4982f0f1e2e72043058b4564 (patch) | |
tree | 27e3b1ff565238120d68b7728d9ee3c5866adb7e /pkgs/by-name/sh | |
parent | aeca39024902034d198ac955cab5196b3729511c (diff) |
shadershark: init at 0.1
Signed-off-by: lucasew <lucas59356@gmail.com>
Diffstat (limited to 'pkgs/by-name/sh')
-rw-r--r-- | pkgs/by-name/sh/shadershark/package.nix | 63 | ||||
-rwxr-xr-x | pkgs/by-name/sh/shadershark/update.sh | 14 |
2 files changed, 77 insertions, 0 deletions
diff --git a/pkgs/by-name/sh/shadershark/package.nix b/pkgs/by-name/sh/shadershark/package.nix new file mode 100644 index 0000000000000..e27036575be76 --- /dev/null +++ b/pkgs/by-name/sh/shadershark/package.nix @@ -0,0 +1,63 @@ +{ stdenv +, lib +, fetchhg +, libepoxy +, xorg +, libGLU +, glm +, pkg-config +, imagemagick +, makeWrapper +, installShellFiles +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "shadershark"; + version = "0.1"; + + src = fetchhg { + url = "https://hg.globalcode.info/graphics/shader-shark"; + rev = "v${finalAttrs.version}"; + hash = "sha256-AYZWfqMckPKgXNIX9kAAv1mvD3opLi5EUElFsigiF3c="; + }; + + nativeBuildInputs = [ + pkg-config + makeWrapper + installShellFiles + ]; + + buildInputs = [ + libepoxy + xorg.libX11 + libGLU + glm + imagemagick + ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/{bin,share/shadershark} + + install -m755 -D build/shader-shark $out/bin + cp -r shaders textures $out/share/shadershark + + wrapProgram $out/bin/shader-shark \ + --set SHADER_SHARK_DATA_DIR $out/share/shadershark + + installShellCompletion --bash --name shader-shark.bash bash-completion.sh + + runHook postInstall + ''; + + passthru.updateScript = [ ./update.sh finalAttrs.src.url ]; + + meta = with lib; { + mainProgram = "shader-shark"; + description = "OpenGL/X11 application for GNU/Linux consisting of a single window that shows simple 3D scene of a textured rectangle with applied vertex and fragment shaders (GLSL)"; + homepage = "https://graphics.globalcode.info/v_0/shader-shark.xhtml"; + license = licenses.gpl3; + maintainers = [ maintainers.lucasew ]; + platforms = platforms.linux; + }; +}) diff --git a/pkgs/by-name/sh/shadershark/update.sh b/pkgs/by-name/sh/shadershark/update.sh new file mode 100755 index 0000000000000..0bd125caac951 --- /dev/null +++ b/pkgs/by-name/sh/shadershark/update.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env nix-shell +#! nix-shell -i bash -p curl common-updater-scripts + +set -e + +repo_url="$1"; shift + +data="$(curl "$repo_url/tags")" + +rev="$(echo "$data" | grep '/rev/v' | sed 's;.*/rev/v\([^"]*\)[^$]*;\1;' | head -n 1)" +echo "new rev: $rev" + +update-source-version shadershark "$rev" \ + --print-changes |