Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / blockchains / alfis / default.nix
blobcef4af1d77a0de4ebd559232fe9b01e430f921ac
1 { stdenv
2 , lib
3 , rustPlatform
4 , fetchFromGitHub
5 , pkg-config
6 , makeWrapper
7 , webkitgtk
8 , zenity
9 , Cocoa
10 , Security
11 , WebKit
12 , withGui ? true
15 rustPlatform.buildRustPackage rec {
16   pname = "alfis";
17   version = "0.8.4";
19   src = fetchFromGitHub {
20     owner = "Revertron";
21     repo = "Alfis";
22     rev = "v${version}";
23     sha256 = "sha256-BNpz4SjWeZ20CxjyEIaFI43X7P3uoyWqOQssFb38Gv8=";
24   };
26   cargoLock = {
27     lockFile = ./Cargo.lock;
28     outputHashes = {
29       "web-view-0.7.3" = "sha256-8C/2bXAbxP5tdo9RLvNn89krzy08+yKy3kERfz31HJE=";
30     };
31   };
33   checkFlags = [
34     # these want internet access, disable them
35     "--skip=dns::client::tests::test_tcp_client"
36     "--skip=dns::client::tests::test_udp_client"
37   ];
39   nativeBuildInputs = [ pkg-config makeWrapper ];
40   buildInputs = lib.optional stdenv.isDarwin Security
41     ++ lib.optional (withGui && stdenv.isLinux) webkitgtk
42     ++ lib.optionals (withGui && stdenv.isDarwin) [ Cocoa WebKit ];
44   buildNoDefaultFeatures = true;
45   buildFeatures = [
46     "doh"
47   ] ++ lib.optional withGui "webgui";
49   postInstall = lib.optionalString (withGui && stdenv.isLinux) ''
50     wrapProgram $out/bin/alfis \
51       --prefix PATH : ${lib.makeBinPath [ zenity ]}
52   '';
54   meta = with lib; {
55     description = "Alternative Free Identity System";
56     homepage = "https://alfis.name";
57     license = licenses.agpl3Only;
58     maintainers = with maintainers; [ misuzu ];
59     platforms = platforms.unix;
60   };