nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 84 lines 2.0 kB view raw
1{ 2 lib, 3 buildPackages, 4 fetchFromGitHub, 5 openssl, 6 pkg-config, 7 protobuf, 8 rustPlatform, 9 version ? "0.7.1", 10 hash ? "sha256-7meBYUN7sG1OAtMEm6I66+ptf4EfsbA+dm5/4P3IRV4=", 11 cargoHash ? "sha256-4cFuasH2hvrnzTBTFifHEMtXZKsBv7OVpuwPlV19GGw=", 12}: 13 14rustPlatform.buildRustPackage rec { 15 pname = "fedimint"; 16 inherit version; 17 18 src = fetchFromGitHub { 19 owner = "fedimint"; 20 repo = "fedimint"; 21 rev = "v${version}"; 22 inherit hash; 23 }; 24 25 inherit cargoHash; 26 27 nativeBuildInputs = [ 28 protobuf 29 pkg-config 30 rustPlatform.bindgenHook 31 ]; 32 33 buildInputs = [ 34 openssl 35 ]; 36 37 outputs = [ 38 "out" 39 "fedimintCli" 40 "fedimint" 41 "gateway" 42 "gatewayCli" 43 "devimint" 44 ]; 45 46 postInstall = '' 47 mkdir -p $fedimint/bin $fedimintCli/bin $gateway/bin $gatewayCli/bin $devimint/bin 48 49 # delete fuzzing targets and other binaries no one cares about 50 binsToKeep=(fedimint-cli fedimint-dbtool recoverytool fedimintd gatewayd gateway-cli devimint) 51 keepPattern=$(printf "|%s" "''${binsToKeep[@]}") 52 keepPattern=''${keepPattern:1} 53 find "$out/bin" -maxdepth 1 -type f | grep -Ev "(''${keepPattern})" | xargs rm -f 54 55 cp -a $releaseDir/fedimint-cli $fedimintCli/bin/ 56 cp -a $releaseDir/fedimint-dbtool $fedimintCli/bin/ 57 cp -a $releaseDir/fedimint-recoverytool $fedimintCli/bin/ 58 59 cp -a $releaseDir/fedimintd $fedimint/bin/ 60 61 cp -a $releaseDir/gateway-cli $gatewayCli/bin/ 62 63 cp -a $releaseDir/gatewayd $gateway/bin/ 64 65 cp -a $releaseDir/devimint $devimint/bin/ 66 ''; 67 68 PROTOC = "${buildPackages.protobuf}/bin/protoc"; 69 PROTOC_INCLUDE = "${protobuf}/include"; 70 OPENSSL_DIR = openssl.dev; 71 72 FEDIMINT_BUILD_FORCE_GIT_HASH = "0000000000000000000000000000000000000000"; 73 74 # currently broken, will require some upstream fixes 75 doCheck = false; 76 77 meta = { 78 description = "Federated E-Cash Mint"; 79 homepage = "https://github.com/fedimint/fedimint"; 80 license = [ lib.licenses.mit ]; 81 maintainers = with lib.maintainers; [ dpc ]; 82 mainProgram = "fedimint-cli"; 83 }; 84}