migrate rscript to nix
This commit is contained in:
parent
2758f95228
commit
a8c23ecd99
|
@ -1,16 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
PREFIX=$(realpath $(dirname $0))
|
|
||||||
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
|
|
||||||
curl https://cloud.r-project.org/src/base/R-4/R-4.1.1.tar.gz -o R.tar.gz
|
|
||||||
tar xzf R.tar.gz --strip-components 1
|
|
||||||
|
|
||||||
./configure --prefix="$PREFIX" --with-x=no
|
|
||||||
make -j$(nproc)
|
|
||||||
make install -j$(nproc)
|
|
||||||
|
|
||||||
cd ../
|
|
||||||
rm -rf build
|
|
|
@ -1 +0,0 @@
|
||||||
export PATH=$PWD/bin:$PATH
|
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
"language": "rscript",
|
|
||||||
"version": "4.1.1",
|
|
||||||
"aliases": ["r"]
|
|
||||||
}
|
|
|
@ -1,2 +0,0 @@
|
||||||
#/bin/bash
|
|
||||||
Rscript "$@"
|
|
|
@ -1 +0,0 @@
|
||||||
cat('OK')
|
|
|
@ -20,4 +20,5 @@ args: {
|
||||||
"swift" = import ./swift.nix args;
|
"swift" = import ./swift.nix args;
|
||||||
"node-typescript" = import ./node-typescript.nix args;
|
"node-typescript" = import ./node-typescript.nix args;
|
||||||
"sqlite3" = import ./sqlite3.nix args;
|
"sqlite3" = import ./sqlite3.nix args;
|
||||||
|
"rscript" = import ./rscript.nix args;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
{pkgs, piston, ...}:
|
||||||
|
let
|
||||||
|
pkg = pkgs.rWrapper;
|
||||||
|
in piston.mkRuntime {
|
||||||
|
language = "rscript";
|
||||||
|
version = "4.1.2-wrapper";
|
||||||
|
|
||||||
|
aliases = [
|
||||||
|
"r"
|
||||||
|
];
|
||||||
|
|
||||||
|
run = ''
|
||||||
|
${pkg}/bin/Rscript "$@"
|
||||||
|
'';
|
||||||
|
|
||||||
|
tests = [
|
||||||
|
# test different extension
|
||||||
|
(piston.mkTest {
|
||||||
|
files = {
|
||||||
|
"file.code" = ''
|
||||||
|
cat('OK')
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
args = [];
|
||||||
|
stdin = "";
|
||||||
|
packages = [];
|
||||||
|
main = "file.code";
|
||||||
|
})
|
||||||
|
# test argv
|
||||||
|
(piston.mkTest {
|
||||||
|
files = {
|
||||||
|
"test.r" = ''
|
||||||
|
cat(commandArgs(trailingOnly=TRUE))
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
args = ["OK"];
|
||||||
|
stdin = "";
|
||||||
|
packages = [];
|
||||||
|
main = "test.r";
|
||||||
|
})
|
||||||
|
# test stdin
|
||||||
|
(piston.mkTest {
|
||||||
|
files = {
|
||||||
|
"test.r" = ''
|
||||||
|
f <- file("stdin")
|
||||||
|
open(f)
|
||||||
|
while(length(line <- readLines(f,n=1)) > 0) {
|
||||||
|
write(line, stderr())
|
||||||
|
cat(line)
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
args = [];
|
||||||
|
stdin = "OK";
|
||||||
|
packages = [];
|
||||||
|
main = "test.r";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
Loading…
Reference in New Issue