about summary refs log tree commit diff
path: root/pkgs/development/compilers/tinygo/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/tinygo/default.nix')
-rw-r--r--pkgs/development/compilers/tinygo/default.nix128
1 files changed, 0 insertions, 128 deletions
diff --git a/pkgs/development/compilers/tinygo/default.nix b/pkgs/development/compilers/tinygo/default.nix
deleted file mode 100644
index 36412b7993a9..000000000000
--- a/pkgs/development/compilers/tinygo/default.nix
+++ /dev/null
@@ -1,128 +0,0 @@
-{ stdenv
-, lib
-, buildPackages
-, buildGoModule
-, fetchFromGitHub
-, makeWrapper
-, llvmPackages
-, go
-, xar
-, binaryen
-, avrdude
-, gdb
-, openocd
-, runCommand
-, tinygoTests ? [ "smoketest" ]
-}:
-
-let
-  llvmMajor = lib.versions.major llvm.version;
-  inherit (llvmPackages) llvm clang compiler-rt lld;
-
-  # only doing this because only on darwin placing clang.cc in nativeBuildInputs
-  # doesn't build
-  bootstrapTools = runCommand "tinygo-bootstrap-tools" { } ''
-    mkdir -p $out
-    ln -s ${lib.getBin clang.cc}/bin/clang $out/clang-${llvmMajor}
-  '';
-in
-
-buildGoModule rec {
-  pname = "tinygo";
-  version = "0.31.2";
-
-  src = fetchFromGitHub {
-    owner = "tinygo-org";
-    repo = "tinygo";
-    rev = "v${version}";
-    sha256 = "sha256-e0zXxIdAtJZXJdP/S6lHRnPm5Rsf638Fhox8XcqOWrk=";
-    fetchSubmodules = true;
-  };
-
-  vendorHash = "sha256-HZiyAgsTEBQv+Qp0T9RXTV1lkxvIGh7Q45rd45cfvjo=";
-
-  patches = [
-    ./0001-GNUmakefile.patch
-  ];
-
-  nativeCheckInputs = [ binaryen ];
-  nativeBuildInputs = [ makeWrapper lld ];
-  buildInputs = [ llvm clang.cc ]
-    ++ lib.optionals stdenv.isDarwin [ xar ];
-
-  doCheck = (stdenv.buildPlatform.canExecute stdenv.hostPlatform);
-  inherit tinygoTests;
-
-  allowGoReference = true;
-  ldflags = [
-    "-X github.com/tinygo-org/tinygo/goenv.TINYGOROOT=${placeholder "out"}/share/tinygo"
-    "-X github.com/tinygo-org/tinygo/goenv.clangResourceDir=${clang.cc.lib}/lib/clang/${llvmMajor}"
-  ];
-  subPackages = [ "." ];
-
-  # Output contains static libraries for different arm cpus
-  # and stripping could mess up these so only strip the compiler
-  stripDebugList = [ "bin" ];
-
-  postPatch = ''
-    # Borrow compiler-rt builtins from our source
-    # See https://github.com/tinygo-org/tinygo/pull/2471
-    mkdir -p lib/compiler-rt-builtins
-    cp -a ${compiler-rt.src}/compiler-rt/lib/builtins/* lib/compiler-rt-builtins/
-
-    substituteInPlace GNUmakefile \
-      --replace "build/release/tinygo/bin" "$out/bin" \
-      --replace "build/release/" "$out/share/"
-  '';
-
-  preBuild = ''
-    export PATH=${bootstrapTools}:$PATH
-    export HOME=$TMPDIR
-
-    ldflags=("''$ldflags[@]/\"-buildid=\"")
-  '';
-
-  postBuild = ''
-    # Move binary
-    mkdir -p build
-    mv $GOPATH/bin/tinygo build/tinygo
-
-    # Build our own custom wasi-libc.
-    # This is necessary because we modify the build a bit for our needs (disable
-    # heap, enable debug symbols, etc).
-    make wasi-libc \
-      CLANG="${lib.getBin clang.cc}/bin/clang -resource-dir ${clang.cc.lib}/lib/clang/${llvmMajor}" \
-      LLVM_AR=${lib.getBin llvm}/bin/llvm-ar \
-      LLVM_NM=${lib.getBin llvm}/bin/llvm-nm
-
-    make gen-device -j $NIX_BUILD_CORES
-
-    export TINYGOROOT=$(pwd)
-  '';
-
-  checkPhase = lib.optionalString (tinygoTests != [ ] && tinygoTests != null) ''
-    make ''${tinygoTests[@]} TINYGO="$(pwd)/build/tinygo" MD5SUM=md5sum XTENSA=0
-  '';
-
-  # GDB upstream does not support ARM darwin
-  runtimeDeps = [ go clang.cc lld avrdude openocd binaryen ]
-    ++ lib.optionals (!(stdenv.isDarwin && stdenv.isAarch64)) [ gdb ];
-
-  installPhase = ''
-    runHook preInstall
-
-    make build/release
-
-    wrapProgram $out/bin/tinygo \
-      --prefix PATH : ${lib.makeBinPath runtimeDeps }
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    homepage = "https://tinygo.org/";
-    description = "Go compiler for small places";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ Madouura muscaln ];
-  };
-}