nixpkgs/pkgs/development/libraries/qoi/default.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

52 lines
1.2 KiB
Nix

{ fetchFromGitHub
, lib
, stb
, stdenv
}:
stdenv.mkDerivation (finalAttrs: {
pname = "qoi";
version = "unstable-2023-08-10"; # no upstream version yet.
src = fetchFromGitHub {
owner = "phoboslab";
repo = "qoi";
rev = "19b3b4087b66963a3699ee45f05ec9ef205d7c0e";
hash = "sha256-E1hMtjMuDS2zma2s5hlHby/sroRGhtyZm9gLQ+VztsM=";
};
outputs = [ "out" "dev" ];
nativeBuildInputs = [ stb ];
buildPhase = ''
runHook preBuild
make CFLAGS_CONV="-I${stb}/include/stb -O3" qoiconv
runHook postBuild
'';
installPhase = ''
runHook preInstall
# Conversion utility for images->qoi. Not usually needed for development.
mkdir -p ${placeholder "out"}/bin
install qoiconv ${placeholder "out"}/bin
# The actual single-header implementation. Nothing to compile, just install.
mkdir -p ${placeholder "dev"}/include/
install qoi.h ${placeholder "dev"}/include
runHook postInstall
'';
meta = with lib; {
description = "'Quite OK Image Format' for fast, lossless image compression";
mainProgram = "qoiconv";
homepage = "https://qoiformat.org/";
license = licenses.mit;
maintainers = with maintainers; [ hzeller ];
platforms = platforms.all;
};
})