diff options
Diffstat (limited to 'pkgs/applications/blockchains/mist.nix')
-rw-r--r-- | pkgs/applications/blockchains/mist.nix | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/pkgs/applications/blockchains/mist.nix b/pkgs/applications/blockchains/mist.nix new file mode 100644 index 0000000000000..2990b44c7f4c1 --- /dev/null +++ b/pkgs/applications/blockchains/mist.nix @@ -0,0 +1,72 @@ +{ stdenv, makeWrapper, fetchurl, unzip, atomEnv, makeDesktopItem, buildFHSUserEnv, gtk2 }: + +let + version = "0.11.1"; + pname = "mist"; + + throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}"; + + meta = with stdenv.lib; { + description = "Browse and use Ðapps on the Ethereum network"; + homepage = https://github.com/ethereum/mist; + license = licenses.gpl3; + maintainers = with maintainers; []; + platforms = [ "x86_64-linux" "i686-linux" ]; + }; + + urlVersion = builtins.replaceStrings ["."] ["-"] version; + + desktopItem = makeDesktopItem rec { + name = "Mist"; + exec = "mist"; + icon = "mist"; + desktopName = name; + genericName = "Mist Browser"; + categories = "Network;"; + }; + + mist = stdenv.lib.appendToName "unwrapped" (stdenv.mkDerivation { + inherit pname version meta; + + src = { + i686-linux = fetchurl { + url = "https://github.com/ethereum/mist/releases/download/v${version}/Mist-linux32-${urlVersion}.zip"; + sha256 = "1ffzp9aa0g6w3d5pzp69fljk3sd51cbqdgxa1x16vj106sqm0gj7"; + }; + x86_64-linux = fetchurl { + url = "https://github.com/ethereum/mist/releases/download/v${version}/Mist-linux64-${urlVersion}.zip"; + sha256 = "0yx4x72l8gk68yh9saki48zgqx8k92xnkm79dc651wdpd5c25cz3"; + }; + }.${stdenv.hostPlatform.system} or throwSystem; + + buildInputs = [ unzip makeWrapper ]; + + buildCommand = '' + mkdir -p $out/lib/mist $out/bin + unzip -d $out/lib/mist $src + ln -s $out/lib/mist/mist $out/bin + fixupPhase + mkdir -p $out/share/applications + ln -s ${desktopItem}/share/applications/* $out/share/applications + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${atomEnv.libPath}:${gtk2}/lib:$out/lib/mist" \ + $out/lib/mist/mist + ''; + }); +in +buildFHSUserEnv { + name = "mist"; + inherit meta; + + targetPkgs = pkgs: with pkgs; [ + mist + ]; + + extraInstallCommands = '' + mkdir -p "$out/share/applications" + cp "${desktopItem}/share/applications/"* $out/share/applications + ''; + + runScript = "mist"; +} |