mirror of
https://github.com/engineer-man/piston.git
synced 2025-04-20 20:16:26 +02:00
ocaml for nix
This commit is contained in:
parent
e7c5b557f9
commit
f94ba284df
8 changed files with 36 additions and 35 deletions
17
packages/ocaml/4.12.0/build.sh
vendored
17
packages/ocaml/4.12.0/build.sh
vendored
|
@ -1,17 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
PREFIX=$(realpath $(dirname $0))
|
||||
|
||||
mkdir -p build
|
||||
cd build
|
||||
|
||||
curl -L "https://github.com/ocaml/ocaml/archive/4.12.0.tar.gz" -o ocaml.tar.gz
|
||||
tar xzf ocaml.tar.gz --strip-components=1
|
||||
rm ocaml.tar.gz
|
||||
|
||||
./configure --prefix="$PREFIX"
|
||||
make -j$(nproc)
|
||||
make install -j$(nproc)
|
||||
|
||||
cd ..
|
||||
rm -rf build
|
5
packages/ocaml/4.12.0/compile
vendored
5
packages/ocaml/4.12.0/compile
vendored
|
@ -1,5 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
rename 's/$/\.ml/' "$@" # Add .ml extension
|
||||
|
||||
ocamlc -o out *.ml
|
3
packages/ocaml/4.12.0/environment
vendored
3
packages/ocaml/4.12.0/environment
vendored
|
@ -1,3 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
export PATH=$PWD/bin:$PATH
|
5
packages/ocaml/4.12.0/metadata.json
vendored
5
packages/ocaml/4.12.0/metadata.json
vendored
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"language": "ocaml",
|
||||
"version": "4.12.0",
|
||||
"aliases": ["ocaml", "ml"]
|
||||
}
|
4
packages/ocaml/4.12.0/run
vendored
4
packages/ocaml/4.12.0/run
vendored
|
@ -1,4 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
shift
|
||||
./out "$@"
|
1
packages/ocaml/4.12.0/test.ml
vendored
1
packages/ocaml/4.12.0/test.ml
vendored
|
@ -1 +0,0 @@
|
|||
print_string "OK\n";
|
|
@ -29,4 +29,5 @@ args: {
|
|||
"php" = import ./php.nix args;
|
||||
"perl" = import ./perl.nix args;
|
||||
"octave" = import ./octave.nix args;
|
||||
"ocaml" = import ./ocaml.nix args;
|
||||
}
|
||||
|
|
35
runtimes/ocaml.nix
Normal file
35
runtimes/ocaml.nix
Normal file
|
@ -0,0 +1,35 @@
|
|||
{pkgs, piston, ...}:
|
||||
let
|
||||
pkg = pkgs.ocaml;
|
||||
in piston.mkRuntime {
|
||||
language = "ocaml";
|
||||
version = pkg.version;
|
||||
|
||||
aliases = [
|
||||
"ml"
|
||||
];
|
||||
|
||||
compile = ''
|
||||
rename 's/$/\.ml/' "$@" # Add .ml extension
|
||||
${pkg}/bin/ocamlc -o out *.ml
|
||||
'';
|
||||
|
||||
run = ''
|
||||
shift
|
||||
./out "$@"
|
||||
'';
|
||||
|
||||
tests = [
|
||||
(piston.mkTest {
|
||||
files = {
|
||||
"test.ml" = ''
|
||||
print_string "OK\n";
|
||||
'';
|
||||
};
|
||||
args = [];
|
||||
stdin = "";
|
||||
packages = [];
|
||||
main = "test.ml";
|
||||
})
|
||||
];
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue