summary refs log tree commit diff
path: root/pkgs/applications/blockchains/btcpayserver/default.nix
diff options
context:
space:
mode:
authorErik Arvstedt <erik.arvstedt@gmail.com>2021-10-19 18:02:53 +0200
committerIvar Scholten <ivar.scholten@protonmail.com>2021-10-25 00:24:09 +0200
commita5e3a7e16c274d7bc2624758dffcf12d817b13be (patch)
tree97725db8696c32915a8a84c2677fdf4eba7df036 /pkgs/applications/blockchains/btcpayserver/default.nix
parente8b4515f39d8393c77baf5d751db5e764c3d0fc7 (diff)
downloadnixpkgs-a5e3a7e16c274d7bc2624758dffcf12d817b13be.tar
nixpkgs-a5e3a7e16c274d7bc2624758dffcf12d817b13be.tar.gz
nixpkgs-a5e3a7e16c274d7bc2624758dffcf12d817b13be.tar.bz2
nixpkgs-a5e3a7e16c274d7bc2624758dffcf12d817b13be.tar.lz
nixpkgs-a5e3a7e16c274d7bc2624758dffcf12d817b13be.tar.xz
nixpkgs-a5e3a7e16c274d7bc2624758dffcf12d817b13be.tar.zst
nixpkgs-a5e3a7e16c274d7bc2624758dffcf12d817b13be.zip
btcpayserver: use buildDotnetModule
Diffstat (limited to 'pkgs/applications/blockchains/btcpayserver/default.nix')
-rw-r--r--pkgs/applications/blockchains/btcpayserver/default.nix48
1 files changed, 15 insertions, 33 deletions
diff --git a/pkgs/applications/blockchains/btcpayserver/default.nix b/pkgs/applications/blockchains/btcpayserver/default.nix
index a5d9432b143..5a4c7f4e33d 100644
--- a/pkgs/applications/blockchains/btcpayserver/default.nix
+++ b/pkgs/applications/blockchains/btcpayserver/default.nix
@@ -1,19 +1,7 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl, linkFarmFromDrvs, makeWrapper,
-  dotnetPackages, dotnetCorePackages, altcoinSupport ? false
-}:
-
-let
-  deps = import ./deps.nix {
-    fetchNuGet = { name, version, sha256 }: fetchurl {
-      name = "nuget-${name}-${version}.nupkg";
-      url = "https://www.nuget.org/api/v2/package/${name}/${version}";
-      inherit sha256;
-    };
-  };
-  dotnetSdk = dotnetCorePackages.sdk_3_1;
-in
+{ lib, buildDotnetModule, fetchFromGitHub, dotnetCorePackages
+, altcoinSupport ? false }:
 
-stdenv.mkDerivation rec {
+buildDotnetModule rec {
   pname = "btcpayserver";
   version = "1.2.4";
 
@@ -24,35 +12,29 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-vjNJ08twsJ036TTFF6srOGshDpP7ZwWCGN0XjrtFT/g=";
   };
 
-  nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
-
-  buildPhase = ''
-    export HOME=$TMP/home
-    export DOTNET_CLI_TELEMETRY_OPTOUT=1
-    export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
+  projectFile = "BTCPayServer/BTCPayServer.csproj";
+  nugetDeps = ./deps.nix;
 
-    nuget sources Add -Name tmpsrc -Source $TMP/nuget
-    nuget init ${linkFarmFromDrvs "deps" deps} $TMP/nuget
+  dotnet-sdk = dotnetCorePackages.sdk_3_1;
+  dotnet-runtime = dotnetCorePackages.aspnetcore_3_1;
 
-    dotnet restore --source $TMP/nuget ${lib.optionalString altcoinSupport ''/p:Configuration="Altcoins-Release"''} BTCPayServer/BTCPayServer.csproj
-    dotnet publish --no-restore --output $out/share/$pname ${lib.optionalString altcoinSupport "-c Altcoins-Release"} BTCPayServer/BTCPayServer.csproj
-  '';
+  dotnetFlags = lib.optionals altcoinSupport [ "/p:Configuration=Altcoins-Release" ];
 
   # btcpayserver requires the publish directory as its working dir
   # https://github.com/btcpayserver/btcpayserver/issues/1894
-  installPhase = ''
-    makeWrapper $out/share/$pname/BTCPayServer $out/bin/$pname \
-      --set DOTNET_ROOT "${dotnetSdk}" \
-      --run "cd $out/share/$pname"
+  preInstall = ''
+    makeWrapperArgs+=(--run "cd $out/lib/btcpayserver")
   '';
 
-  dontStrip = true;
+  postInstall = ''
+    mv $out/bin/{BTCPayServer,btcpayserver}
+  '';
 
   meta = with lib; {
     description = "Self-hosted, open-source cryptocurrency payment processor";
     homepage = "https://btcpayserver.org";
     maintainers = with maintainers; [ kcalvinalvin earvstedt ];
-    license = lib.licenses.mit;
-    platforms = lib.platforms.linux;
+    license = licenses.mit;
+    platforms = platforms.linux;
   };
 }