Created
December 3, 2018 14:46
-
-
Save haitlahcen/c04827410f342a46d856b22b27804333 to your computer and use it in GitHub Desktop.
Haxe + NodeJS + Awsebcli
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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