diff --git a/pkgs/tools/compression/heatshrink/default.nix b/pkgs/tools/compression/heatshrink/default.nix new file mode 100644 index 000000000000..290e2dc9d8ca --- /dev/null +++ b/pkgs/tools/compression/heatshrink/default.nix @@ -0,0 +1,43 @@ +{ lib +, stdenv +, fetchFromGitHub +}: + +stdenv.mkDerivation rec { + pname = "heatshrink"; + version = "0.4.1"; + + src = fetchFromGitHub { + owner = "atomicobject"; + repo = "heatshrink"; + rev = "v${version}"; + hash = "sha256-Nm9/+JFMDXY1N90hmNFGh755V2sXSRQ4VBN9f8TcsGk="; + }; + + makeFlags = [ "PREFIX=$(out)" ]; + + preInstall = '' + mkdir -p $out/{bin,lib,include} + ''; + + doCheck = true; + checkTarget = "test"; + + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + echo "Hello world" | \ + $out/bin/heatshrink -e - | \ + $out/bin/heatshrink -d - | \ + grep "Hello world" + runHook postInstallCheck + ''; + + meta = with lib; { + description = "A data compression/decompression library for embedded/real-time systems"; + homepage = "https://github.com/atomicobject/heatshrink"; + license = licenses.isc; + maintainers = with maintainers; [ fgaz ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2024c519fcd2..a60451f4d1a8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7257,6 +7257,8 @@ with pkgs; heaptrack = libsForQt5.callPackage ../development/tools/profiling/heaptrack {}; + heatshrink = callPackage ../tools/compression/heatshrink { }; + heimdall = libsForQt5.callPackage ../tools/misc/heimdall { }; heimdall-gui = heimdall.override { enableGUI = true; };