git.iko.soy/typeable/nixpkgs
on master help sign in
tinygo: 0.13.1 -> 0.16.0

And enable microcontroller targets. Works for me for microbit.

commitb996c8d3357a38618ed52454a522612383c09cf7 authorLluís Batlle i Rossell <viric@viric.name> dateSat 12 Dec 2020, 16:56 (6 years ago) parentda89a25
2 files changed+23−9
pkgs/development/compilers/tinygo/default.nix+17−4 pkgs/development/compilers/tinygo/go.mod+6−5
pkgs/development/compilers/tinygo/default.nix+17−4
@@ -6,13 +6,14 @@ let main = ./main.go;
66in
77buildGoModule rec {
88 pname = "tinygo";
9− version = "0.13.1";
9+ version = "0.16.0";
1010
1111 src = fetchFromGitHub {
1212 owner = "tinygo-org";
1313 repo = "tinygo";
1414 rev = "v${version}";
15− sha256 = "0das5z5y2x1970yi9c4yssxvwrrjhdmsj495q0r5mb02amvc954v";
15+ sha256 = "063aszbsnr0myq56kms1slmrfs7m4nmg0zgh2p66lxdsifrfly7j";
16+ fetchSubmodules = true;
1617 };
1718
1819 overrideModAttrs = (_: {
@@ -21,15 +22,23 @@ buildGoModule rec {
2122 rm -rf *
2223 cp ${main} main.go
2324 cp ${gomod} go.mod
25+ chmod +w go.mod
2426 '';
2527 });
2628
2729 preBuild = "cp ${gomod} go.mod";
2830
29− vendorSha256 = "19194dlzpl6zzw2gqybma5pwip71rw8z937f104k6c158qzzgy62";
31+ postBuild = "make gen-device";
32+
33+ vendorSha256 = "12k2gin0v7aqz5543m12yhifc0xsz26qyqra5l4c68xizvzcvkxb";
3034
3135 doCheck = false;
3236
37+ prePatch = ''
38+ sed -i s/', "-nostdlibinc"'// builder/builtins.go
39+ sed -i s/'"-nostdlibinc", '// compileopts/config.go builder/picolibc.go
40+ '';
41+
3342 subPackages = [ "." ];
3443 buildInputs = [ llvm clang-unwrapped makeWrapper ];
3544 propagatedBuildInputs = [ lld avrgcc avrdude openocd gcc-arm-embedded ];
@@ -37,7 +46,11 @@ buildGoModule rec {
3746 postInstall = ''
3847 mkdir -p $out/share/tinygo
3948 cp -a lib src targets $out/share/tinygo
40− wrapProgram $out/bin/tinygo --prefix "TINYGOROOT" : "$out/share/tinygo"
49+ wrapProgram $out/bin/tinygo --prefix "TINYGOROOT" : "$out/share/tinygo" \
50+ --prefix "PATH" : "$out/libexec/tinygo"
51+ mkdir -p $out/libexec/tinygo
52+ ln -s ${clang-unwrapped}/bin/clang $out/libexec/tinygo/clang-10
53+ ln -s ${lld}/bin/lld $out/libexec/tinygo/ld.lld-10
4154 ln -sf $out/bin $out/share/tinygo
4255 '';
4356
pkgs/development/compilers/tinygo/go.mod+6−5
@@ -1,13 +1,14 @@
11module github.com/tinygo-org/tinygo
22
3−go 1.14
3+go 1.11
44
55require (
66 github.com/blakesmith/ar v0.0.0-20150311145944-8bd4349a67f2
7+ github.com/chromedp/cdproto v0.0.0-20200709115526-d1f6fc58448b
8+ github.com/chromedp/chromedp v0.5.4-0.20200303084119-2bb39134ab9e
79 github.com/google/shlex v0.0.0-20181106134648-c34317bd91bf
8− github.com/marcinbor85/gohex v0.0.0-20180128172054-7a43cd876e46
10+ github.com/marcinbor85/gohex v0.0.0-20200531091804-343a4b548892
911 go.bug.st/serial v1.0.0
10− golang.org/x/tools v0.0.0-20200512001501-aaeff5de670a
11− google.golang.org/appengine v1.4.0
12− tinygo.org/x/go-llvm v0.0.0-20200401165421-8d120882fc7a
12+ golang.org/x/tools v0.0.0-20200216192241-b320d3a0f5a2
13+ tinygo.org/x/go-llvm v0.0.0-20201104183921-570e7a6841d9
1314)