diff options
Diffstat (limited to 'pkgs/applications/blockchains/wasabibackend/default.nix')
-rw-r--r-- | pkgs/applications/blockchains/wasabibackend/default.nix | 94 |
1 files changed, 22 insertions, 72 deletions
diff --git a/pkgs/applications/blockchains/wasabibackend/default.nix b/pkgs/applications/blockchains/wasabibackend/default.nix index 43deb6f3c6cd9..1239ceaafd84f 100644 --- a/pkgs/applications/blockchains/wasabibackend/default.nix +++ b/pkgs/applications/blockchains/wasabibackend/default.nix @@ -1,95 +1,45 @@ -{ lib, stdenv +{ lib +, stdenv , fetchFromGitHub -, fetchurl -, makeWrapper -, Nuget +, buildDotnetModule , dotnetCorePackages -, openssl +, autoPatchelfHook , zlib +, openssl }: -let - deps = import ./deps.nix { inherit fetchurl; }; - - dotnet-sdk = dotnetCorePackages.sdk_3_1; - dotnet-aspnetcore = dotnetCorePackages.aspnetcore_3_1; - - nugetSource = stdenv.mkDerivation { - pname = "${pname}-nuget-deps"; - inherit version; - - dontUnpack = true; - dontInstall = true; - - nativeBuildInputs = [ Nuget ]; - - buildPhase = '' - export HOME=$(mktemp -d) - mkdir -p $out/lib - - nuget sources Disable -Name "nuget.org" - for package in ${toString deps}; do - nuget add $package -Source $out/lib - done - ''; - }; - - pname = "WasabiBackend"; - version = "1.1.12"; - - projectName = "WalletWasabi.Backend"; - projectConfiguration = "Release"; - projectRuntime = "linux-x64"; -in - -stdenv.mkDerivation rec { - inherit pname version; +buildDotnetModule rec { + pname = "wasabibackend"; + version = "1.1.13.0"; src = fetchFromGitHub { owner = "zkSNACKs"; repo = "WalletWasabi"; rev = "v${version}"; - sha256 = "001k43z2jxvs03csyzndlzlk034aclzc4n8ddrqxykgrq508xk1d"; + sha256 = "sha256-zDOk8MurT5NXOr4kvm5mnsphY+eDFWuVBcpeTZpcHOo="; }; - buildInputs = [ - Nuget - dotnet-sdk - makeWrapper - ]; + projectFile = "WalletWasabi.Backend/WalletWasabi.Backend.csproj"; + nugetDeps = ./deps.nix; - buildPhase = '' - export HOME=$(mktemp -d) - export DOTNET_CLI_TELEMETRY_OPTOUT=1 - export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 - export DOTNET_ROOT="${dotnet-sdk}/bin" + dotnet-sdk = dotnetCorePackages.sdk_3_1; + dotnet-runtime = dotnetCorePackages.aspnetcore_3_1; - nuget sources Disable -Name "nuget.org" + nativeBuildInputs = [ autoPatchelfHook ]; + buildInputs = [ stdenv.cc.cc.lib zlib ]; - dotnet restore \ - --source ${nugetSource}/lib \ - --runtime ${projectRuntime} \ - ${projectName} + runtimeDeps = [ openssl zlib ]; - dotnet publish \ - --no-restore \ - --runtime ${projectRuntime} \ - --configuration ${projectConfiguration} \ - ${projectName} + preConfigure = '' + makeWrapperArgs+=( + --run "cd $out/lib/${pname}" + ) ''; - installPhase = '' - mkdir -p $out - cp -r ${projectName}/bin/${projectConfiguration}/netcoreapp3.1/${projectRuntime}/publish $out/lib - mkdir -p $out/bin - makeWrapper $out/lib/WalletWasabi.Backend $out/bin/${pname} \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ openssl zlib ]} \ - --run "cd $out/lib" + postInstall = '' + mv $out/bin/WalletWasabi.Backend $out/bin/WasabiBackend ''; - # If we don't disable stripping the executable fails to start with segfault - dontStrip = true; - meta = with lib; { description = "Backend for the Wasabi Wallet"; homepage = "https://wasabiwallet.io/"; |