shadershark: init at 0.1

Signed-off-by: lucasew <lucas59356@gmail.com>
This commit is contained in:
lucasew 2024-01-01 21:16:58 -03:00
parent aeca390249
commit c1afdf8afc
2 changed files with 77 additions and 0 deletions

View File

@ -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;
};
})

View File

@ -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