Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 60 lines 1.4 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 autoPatchelfHook, 6 makeWrapper, 7 installShellFiles, 8}: 9 10let 11 data = import ./data.nix { }; 12in 13stdenv.mkDerivation { 14 pname = "pulumi"; 15 inherit (data) version; 16 17 postUnpack = '' 18 mv pulumi-* pulumi 19 ''; 20 21 srcs = map fetchurl data.pulumiPkgs.${stdenv.hostPlatform.system}; 22 23 installPhase = '' 24 install -D -t $out/bin/ * 25 '' 26 + lib.optionalString stdenv.hostPlatform.isLinux '' 27 wrapProgram $out/bin/pulumi --set LD_LIBRARY_PATH "${lib.getLib stdenv.cc.cc}/lib" 28 '' 29 + '' 30 installShellCompletion --cmd pulumi \ 31 --bash <($out/bin/pulumi completion bash) \ 32 --fish <($out/bin/pulumi completion fish) \ 33 --zsh <($out/bin/pulumi completion zsh) 34 ''; 35 36 nativeBuildInputs = [ 37 installShellFiles 38 ] 39 ++ lib.optionals stdenv.hostPlatform.isLinux [ 40 autoPatchelfHook 41 makeWrapper 42 ]; 43 buildInputs = [ stdenv.cc.cc.libgcc or null ]; 44 45 meta = with lib; { 46 homepage = "https://pulumi.io/"; 47 description = "Pulumi is a cloud development platform that makes creating cloud programs easy and productive"; 48 sourceProvenance = with sourceTypes; [ binaryNativeCode ]; 49 license = with licenses; [ asl20 ]; 50 platforms = builtins.attrNames data.pulumiPkgs; 51 maintainers = with maintainers; [ 52 ghuntley 53 peterromfeldhk 54 jlesquembre 55 cpcloud 56 wrbbz 57 ]; 58 hydraPlatforms = [ ]; # Hydra fails with "Output limit exceeded" 59 }; 60}