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;
|
||||
"node-typescript" = import ./node-typescript.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