diff options
Diffstat (limited to 'pkgs/applications/misc/avalonia-ilspy/default.nix')
-rw-r--r-- | pkgs/applications/misc/avalonia-ilspy/default.nix | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/pkgs/applications/misc/avalonia-ilspy/default.nix b/pkgs/applications/misc/avalonia-ilspy/default.nix new file mode 100644 index 00000000000..7defa48a8f6 --- /dev/null +++ b/pkgs/applications/misc/avalonia-ilspy/default.nix @@ -0,0 +1,99 @@ +{ lib +, stdenv +, fetchzip +, unzip +, autoPatchelfHook +, makeWrapper +, makeDesktopItem +, copyDesktopItems +, lttng-ust +, libkrb5 +, zlib +, fontconfig +, openssl_1_1 +, libX11 +, libICE +, libSM +, icu +}: + +stdenv.mkDerivation rec { + pname = "avalonia-ilspy"; + version = "7.2-rc"; + + src = fetchzip { + url = "https://github.com/icsharpcode/AvaloniaILSpy/releases/download/v${version}/Linux.x64.Release.zip"; + sha256 = "1crf0ng4l6x70wjlz3r6qw8l166gd52ys11j7ilb4nyy3mkjxk11"; + }; + + nativeBuildInputs = [ + unzip + autoPatchelfHook + makeWrapper + copyDesktopItems + ]; + + buildInputs = [ + stdenv.cc.cc.lib + lttng-ust + libkrb5 + zlib + fontconfig + ]; + + libraryPath = lib.makeLibraryPath [ + openssl_1_1 + libX11 + libICE + libSM + icu + ]; + + unpackPhase = '' + unzip -qq $src/ILSpy-linux-x64-Release.zip + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin $out/lib $out/share/icons/hicolor/scalable/apps + cp -r artifacts/linux-x64/* $out/lib + ln -s $out/lib/Images/ILSpy.png $out/share/icons/hicolor/scalable/apps/ILSpy.png + + chmod +x $out/lib/ILSpy + wrapProgram $out/lib/ILSpy --prefix LD_LIBRARY_PATH : ${libraryPath} + mv $out/lib/ILSpy $out/bin + + runHook postInstall + ''; + + # dotnet runtime requirements + preFixup = '' + patchelf --replace-needed liblttng-ust.so.0 liblttng-ust.so $out/lib/libcoreclrtraceptprovider.so + ''; + dontStrip = true; + + desktopItem = makeDesktopItem { + name = "ILSpy"; + desktopName = "ILSpy"; + exec = "ILSpy"; + icon = "ILSpy"; + comment = ".NET assembly browser and decompiler"; + categories = [ + "Development" + ]; + keywords = [ + ".net" + "il" + "assembly" + ]; + }; + + meta = with lib; { + description = ".NET assembly browser and decompiler"; + homepage = "https://github.com/icsharpcode/AvaloniaILSpy"; + license = licenses.mit; + platforms = [ "x86_64-linux" ]; + maintainers = with lib.maintainers; [ AngryAnt ]; + }; +} |