Skip to content

Instantly share code, notes, and snippets.

@haitlahcen
Created December 3, 2018 14:46
Show Gist options
  • Select an option

  • Save haitlahcen/c04827410f342a46d856b22b27804333 to your computer and use it in GitHub Desktop.

Select an option

Save haitlahcen/c04827410f342a46d856b22b27804333 to your computer and use it in GitHub Desktop.
Haxe + NodeJS + Awsebcli
with import <nixpkgs> {};
let
haxe =
let
mkVersion = version: sha256:
stdenv.mkDerivation {
name = "haxe-${version}";
inherit version;
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [ ocaml zlib pcre neko ocamlPackages.camlp4 ];
src = fetchurl {
url = "https://github.com/HaxeFoundation/haxe/releases/download/${version}/haxe-${version}-linux64.tar.gz";
inherit sha256;
};
installPhase = ''
mkdir -p $out/lib;
mkdir -p $out/bin;
tar -xzf $src;
mv haxe $out/bin;
mv haxelib $out/bin;
mv std $out/lib;
'';
};
in {
v3_4_7 = mkVersion "3.4.7" "0wy7ncaxxhy65v2lwiq9gqxgv6rhz272d0k41fpkqfj1h5fa1qcq";
};
nodejs =
let
inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices;
mkVersion = version: sha256:
stdenv.mkDerivation {
name = "nodejs-${version}";
inherit version;
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs =
lib.optionals stdenv.isDarwin [ CoreServices ApplicationServices ]
++ [ python2 zlib libuv openssl http-parser ];
src = fetchurl {
url = "https://nodejs.org/download/release/v${version}/node-v${version}-linux-x64.tar.gz";
inherit sha256;
};
installPhase = ''
mkdir -p $out;
tar -xzf $src;
mv node-v${version}-linux-x64/* $out;
'';
};
in {
v10_13_0 = mkVersion "10.13.0" "1qc8hl5crj5bmb1bxjqpl57nyixy4xlb2fs1vxvz5p2867vxiddl";
};
debian = dockerTools.pullImage {
imageName = "debian";
imageDigest = "sha256:df6ebd5e9c87d0d7381360209f3a05c62981b5c2a3ec94228da4082ba07c4f05";
sha256 = "13ch8jn3fgv83blb7x663jb8g5859crq76gayp81frr3grsh1cna";
};
in
dockerTools.buildImage {
name = "haxe-nodejs-awsebcli";
fromImage = debian;
contents = [
haxe.v3_4_7
nodejs.v10_13_0
awsebcli
];
config = {
Env = [ "HAXE_STD_PATH=${haxe.v3_4_7}/lib/std"];
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment