Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / misc / slippy / default.nix
blobf599c4f47cfdb62b4537dc1142bb262ff9fba425
1 { lib
2 , rustPlatform
3 , fetchFromGitHub
4 , jq
5 , moreutils
6 , pkg-config
7 , openssl
8 , stdenv
9 , darwin
12 rustPlatform.buildRustPackage rec {
13   pname = "slippy";
14   version = "0.1.1";
16   src = fetchFromGitHub {
17     owner = "axodotdev";
18     repo = "slippy";
19     rev = "v${version}";
20     hash = "sha256-7Uvo5+saxwTMQjfDliyOYC6j6LbpMf/FiONfX38xepI=";
21   };
23   cargoHash = "sha256-6nB+rHBJU9qhA7azz2ynaBw1UJdwE+T7pgpoPzhD5Bk=";
25   # the dependency css-minify contains both README.md and Readme.md,
26   # which causes a hash mismatch on systems with a case-insensitive filesystem
27   # this removes the readme files and updates cargo's checksum file accordingly
28   depsExtraArgs = {
29     nativeBuildInputs = [
30       jq
31       moreutils
32     ];
34     postBuild = ''
35       pushd $name/css-minify
37       rm -f README.md Readme.md
38       jq 'del(.files."README.md") | del(.files."Readme.md")' \
39         .cargo-checksum.json -c \
40         | sponge .cargo-checksum.json
42       popd
43     '';
44   };
46   nativeBuildInputs = [
47     pkg-config
48   ];
50   buildInputs = [
51     openssl
52   ] ++ lib.optionals stdenv.isDarwin [
53     darwin.apple_sdk.frameworks.Security
54   ];
56   # Cargo.lock is outdated
57   postConfigure = ''
58     cargo metadata --offline
59   '';
61   meta = with lib; {
62     description = "Markdown slideshows in Rust";
63     homepage = "https://github.com/axodotdev/slippy";
64     changelog = "https://github.com/axodotdev/slippy/releases/tag/${src.rev}";
65     license = with licenses; [ asl20 mit ];
66     maintainers = with maintainers; [ figsoda ];
67   };