summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarek Fajkus <marek.faj@gmail.com>2019-12-05 20:41:34 +0100
committerJon <jonringer@users.noreply.github.com>2019-12-10 00:51:30 -0800
commit088550273bf0375e1543ed4da940cde2ebe8498d (patch)
treecc2e159b0b597f993e3015e1c12e49eb76b7788a
parent7f05023fcf97ffb18e4a70f4834230c5b067ce08 (diff)
downloadnixpkgs-088550273bf0375e1543ed4da940cde2ebe8498d.tar
nixpkgs-088550273bf0375e1543ed4da940cde2ebe8498d.tar.gz
nixpkgs-088550273bf0375e1543ed4da940cde2ebe8498d.tar.bz2
nixpkgs-088550273bf0375e1543ed4da940cde2ebe8498d.tar.lz
nixpkgs-088550273bf0375e1543ed4da940cde2ebe8498d.tar.xz
nixpkgs-088550273bf0375e1543ed4da940cde2ebe8498d.tar.zst
nixpkgs-088550273bf0375e1543ed4da940cde2ebe8498d.zip
bs-platform: init at 6.2.1
-rw-r--r--pkgs/development/compilers/bs-platform/bs-platform-62.nix55
-rw-r--r--pkgs/development/compilers/bs-platform/default.nix15
-rw-r--r--pkgs/development/compilers/bs-platform/ocaml.nix16
-rw-r--r--pkgs/top-level/all-packages.nix2
4 files changed, 88 insertions, 0 deletions
diff --git a/pkgs/development/compilers/bs-platform/bs-platform-62.nix b/pkgs/development/compilers/bs-platform/bs-platform-62.nix
new file mode 100644
index 00000000000..d2913caaee6
--- /dev/null
+++ b/pkgs/development/compilers/bs-platform/bs-platform-62.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchFromGitHub, ninja, nodejs, python3 }:
+let
+  version = "6.2.1";
+  ocaml-version = "4.06.1";
+  src = fetchFromGitHub {
+    owner = "BuckleScript";
+    repo = "bucklescript";
+    rev = "${version}";
+    sha256 = "0zx9nq7cik0c60n3rndqfqy3vdbj5lcrx6zcqcz2d60jjxi1z32y";
+    fetchSubmodules = true;
+  };
+  ocaml =  import ./ocaml.nix {
+    bs-version = version;
+    version = ocaml-version;
+    inherit stdenv;
+    src = "${src}/ocaml";
+  };
+in
+stdenv.mkDerivation {
+  inherit src version;
+  pname = "bs-platform";
+  BS_RELEASE_BUILD = "true";
+  buildInputs = [ nodejs python3 ];
+
+  patchPhase = ''
+    sed -i 's:./configure.py --bootstrap:python3 ./configure.py --bootstrap:' ./scripts/install.js
+
+    mkdir -p ./native/${ocaml-version}/bin
+    ln -sf ${ocaml}/bin/* ./native/${ocaml-version}/bin
+
+    rm -f vendor/ninja/snapshot/ninja.linux
+    cp ${ninja}/bin/ninja vendor/ninja/snapshot/ninja.linux
+  '';
+
+  configurePhase = ''
+    node scripts/ninja.js config
+  '';
+
+  buildPhase = ''
+    node scripts/ninja.js build
+  '';
+
+  installPhase = ''
+    node scripts/install.js
+
+    mkdir -p $out/bin
+
+    cp -rf jscomp lib vendor odoc_gen native $out
+    cp bsconfig.json package.json $out
+
+    ln -s $out/lib/bsb $out/bin/bsb
+    ln -s $out/lib/bsc $out/bin/bsc
+    ln -s $out/lib/bsrefmt $out/bin/bsrefmt
+  '';
+}
diff --git a/pkgs/development/compilers/bs-platform/default.nix b/pkgs/development/compilers/bs-platform/default.nix
new file mode 100644
index 00000000000..5eb11671ca9
--- /dev/null
+++ b/pkgs/development/compilers/bs-platform/default.nix
@@ -0,0 +1,15 @@
+{ stdenv, fetchFromGitHub, ninja, nodejs, python3, ... }:
+let
+  meta = with stdenv.lib; {
+    description = "A JavaScript backend for OCaml focused on smooth integration and clean generated code.";
+    homepage = https://bucklescript.github.io;
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ turbomack gamb ];
+    platforms = platforms.all;
+  };
+in
+{
+  bs-platform-621 = import ./bs-platform-62.nix {
+    inherit stdenv fetchFromGitHub ninja nodejs python3;
+  } // { inherit meta; };
+}
diff --git a/pkgs/development/compilers/bs-platform/ocaml.nix b/pkgs/development/compilers/bs-platform/ocaml.nix
new file mode 100644
index 00000000000..1f2fdd571f3
--- /dev/null
+++ b/pkgs/development/compilers/bs-platform/ocaml.nix
@@ -0,0 +1,16 @@
+{ stdenv, src, version, bs-version }:
+stdenv.mkDerivation rec {
+  inherit src version;
+  name = "ocaml-${version}+bs-${bs-version}";
+  configurePhase = ''
+    ./configure -prefix $out
+  '';
+  buildPhase = ''
+    make -j9 world.opt
+  '';
+
+  meta = with stdenv.lib; {
+    branch = "4.06";
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a1e5c1760f7..d36a207ccd6 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1289,6 +1289,8 @@ in
 
   burpsuite = callPackage ../tools/networking/burpsuite {};
 
+  bs-platform = (callPackage ../development/compilers/bs-platform {}).bs-platform-621;
+
   c3d = callPackage ../applications/graphics/c3d {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };