diff --git a/pkgs/applications/misc/slippy/default.nix b/pkgs/applications/misc/slippy/default.nix new file mode 100644 index 000000000000..85e162ec58a8 --- /dev/null +++ b/pkgs/applications/misc/slippy/default.nix @@ -0,0 +1,63 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, jq +, moreutils +, pkg-config +, openssl +, stdenv +, darwin +}: + +rustPlatform.buildRustPackage rec { + pname = "slippy"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "axodotdev"; + repo = "slippy"; + rev = "v${version}"; + hash = "sha256-oxXmfvdnYmmKXvKHpJC23cvHaVdh5cpfQ1q5GPLskfY="; + }; + + cargoHash = "sha256-4MMTWhyi2/n9ESX2KJFERsXQHyGZunvArbYQmKiV7Eg="; + + # the dependency css-minify contains both README.md and Readme.md, + # which causes a hash mismatch on systems with a case-insensitive filesystem + # this removes the readme files and updates cargo's checksum file accordingly + depsExtraArgs = { + nativeBuildInputs = [ + jq + moreutils + ]; + + postBuild = '' + pushd $name/css-minify + + rm -f README.md Readme.md + jq 'del(.files."README.md") | del(.files."Readme.md")' \ + .cargo-checksum.json -c \ + | sponge .cargo-checksum.json + + popd + ''; + }; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + openssl + ] ++ lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; + + meta = with lib; { + description = "Markdown slideshows in Rust"; + homepage = "https://github.com/axodotdev/slippy"; + changelog = "https://github.com/axodotdev/slippy/releases/tag/${src.rev}"; + license = with licenses; [ asl20 mit ]; + maintainers = with maintainers; [ figsoda ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a8c6228deb77..e60adcfe1bc4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12689,6 +12689,8 @@ with pkgs; slides = callPackage ../applications/misc/slides { }; + slippy = callPackage ../applications/misc/slippy { }; + slirp4netns = callPackage ../tools/networking/slirp4netns { }; slowlorust = callPackage ../tools/networking/slowlorust {