biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / tools / fermyon-spin / default.nix
bloba969baf411f80593e22b77f3171759d229dad43b
1 { lib
2 , stdenv
3 , fetchurl
4 , autoPatchelfHook
5 , gcc-unwrapped
6 , zlib
7 }:
9 let
10   system = stdenv.hostPlatform.system;
12   platform = {
13     x86_64-linux = "linux-amd64";
14     aarch64-linux = "linux-aarch64";
15     x86_64-darwin = "macos-amd64";
16     aarch64-darwin = "macos-aarch64";
17   }.${system} or (throw "Unsupported system: ${system}");
19   packageHash = {
20     x86_64-linux = "sha256-LHiLkZ+VN+wPnq6OukXozQWKh7ewNaFor1ndCUlCBtU=";
21     aarch64-linux = "sha256-1+rLGnm+LhbYigYUcmuLICLFXUk3wjOkmxuCuuI+Xqc=";
22     x86_64-darwin = "sha256-mJA3VXfNr6578Q2xw0xOZccloQpeCIsjn3dVdlsnTVs=";
23     aarch64-darwin = "sha256-FNl3UefJWA8yJ2B44GUEK6py7DLikJrygIwsqdIjW9c=";
24   }.${system} or (throw "Unsupported system: ${system}");
26 in stdenv.mkDerivation rec {
27   pname = "fermyon-spin";
28   version = "2.4.2";
30   # Use fetchurl rather than fetchzip as these tarballs are built by the project
31   # and not by GitHub (and thus are stable) - this simplifies the update script
32   # by allowing it to use the output of `nix store prefetch-file`.
33   src = fetchurl {
34     url = "https://github.com/fermyon/spin/releases/download/v${version}/spin-v${version}-${platform}.tar.gz";
35     hash = packageHash;
36   };
38   sourceRoot = ".";
40   nativeBuildInputs = lib.optionals stdenv.isLinux [
41     autoPatchelfHook
42   ];
44   buildInputs = [
45     gcc-unwrapped.lib
46     zlib
47   ];
49   installPhase = ''
50     runHook preInstall
52     mkdir -p $out/bin
53     cp ./spin $out/bin
55     runHook postInstall
56   '';
58   meta = with lib; {
59     description = "Framework for building, deploying, and running fast, secure, and composable cloud microservices with WebAssembly.";
60     homepage = "https://github.com/fermyon/spin";
61     license = with licenses; [ asl20 ];
62     mainProgram = "spin";
63     maintainers = with maintainers; [ mglolenstine ];
64     platforms = platforms.linux ++ platforms.darwin;
65   };