Merge pull request #245445 from kirillrdy/tinygo

authored by

Janik and committed by
GitHub
d2d2edea b873913c

+13 -9
+13 -9
pkgs/development/compilers/tinygo/default.nix
··· 18 18 , avrdude 19 19 , gdb 20 20 , openocd 21 + , runCommand 21 22 , tinygoTests ? [ "smoketest" ] 22 23 }: 23 24 24 25 let 25 26 llvmMajor = lib.versions.major llvm.version; 26 27 inherit (llvmPackages) llvm clang compiler-rt lld; 28 + 29 + # only doing this because only on darwin placing clang.cc in nativeBuildInputs 30 + # doesn't build 31 + bootstrapTools = runCommand "tinygo-bootstap-tools" { } '' 32 + mkdir -p $out 33 + ln -s ${lib.getBin clang.cc}/bin/clang $out/clang-${llvmMajor} 34 + ln -s ${lib.getBin lld}/bin/ld.lld $out/ld.lld-${llvmMajor} 35 + ln -s ${lib.getBin lld}/bin/wasm-ld $out/wasm-ld-${llvmMajor} 36 + ln -s ${gdb}/bin/gdb $out/gdb-multiarch 37 + ''; 27 38 in 28 39 29 40 buildGoModule rec { ··· 100 111 # Disable windows and darwin cross-compile tests 101 112 sed -i "/GOOS=windows/d" Makefile 102 113 sed -i "/GOOS=darwin/d" Makefile 103 - 104 - # tinygo needs versioned binaries 105 - mkdir -p $out/libexec/tinygo 106 - ln -s ${lib.getBin clang.cc}/bin/clang $out/libexec/tinygo/clang-${llvmMajor} 107 - ln -s ${lib.getBin lld}/bin/ld.lld $out/libexec/tinygo/ld.lld-${llvmMajor} 108 - ln -s ${lib.getBin lld}/bin/wasm-ld $out/libexec/tinygo/wasm-ld-${llvmMajor} 109 - ln -s ${gdb}/bin/gdb $out/libexec/tinygo/gdb-multiarch 110 114 '' + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' 111 115 substituteInPlace Makefile \ 112 116 --replace "./build/tinygo" "${buildPackages.tinygo}/bin/tinygo" 113 117 ''; 114 118 115 119 preBuild = '' 116 - export PATH=$out/libexec/tinygo:$PATH 120 + export PATH=${bootstrapTools}:$PATH 117 121 export HOME=$TMPDIR 118 122 ''; 119 123 ··· 149 153 make build/release 150 154 151 155 wrapProgram $out/bin/tinygo \ 152 - --prefix PATH : ${lib.makeBinPath [ go avrdude openocd avrgcc binaryen ]}:$out/libexec/tinygo 156 + --prefix PATH : ${lib.makeBinPath [ go avrdude openocd avrgcc binaryen ]}:${bootstrapTools} 153 157 154 158 runHook postInstall 155 159 '';