Merge pull request #217517 from savyajha/radian

This commit is contained in:
Sandro 2023-03-10 23:11:26 +01:00 committed by GitHub
commit 46e5d1e231
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 230 additions and 0 deletions

View File

@ -13288,6 +13288,12 @@
githubId = 8534888;
name = "Savanni D'Gerinel";
};
savyajha = {
email = "savya.jha@hawkradius.com";
github = "savyajha";
githubId = 3996019;
name = "Savyasachee Jha";
};
sayanarijit = {
email = "sayanarijit@gmail.com";
github = "sayanarijit";

View File

@ -0,0 +1,45 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pygments
, six
, wcwidth
, pytestCheckHook
, pyte
, ptyprocess
, pexpect
}:
buildPythonPackage rec {
pname = "lineedit";
version = "0.1.6";
src = fetchFromGitHub {
owner = "randy3k";
repo = pname;
rev = "v${version}";
sha256 = "fq2NpjIQkIq1yzXEUxi6cz80kutVqcH6MqJXHtpTFsk=";
};
propagatedBuildInputs = [
pygments
six
wcwidth
];
nativeCheckInputs = [
pytestCheckHook
pyte
pexpect
ptyprocess
];
pythonImportsCheck = [ "lineedit" ];
meta = with lib; {
description = "A readline library based on prompt_toolkit which supports multiple modes";
homepage = "https://github.com/randy3k/lineedit";
license = licenses.mit;
maintainers = with maintainers; [ savyajha ];
};
}

View File

@ -0,0 +1,71 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
, pyte
, pexpect
, ptyprocess
, jedi
, git
, lineedit
, prompt-toolkit
, pygments
, rchitect
, six
, R
, rPackages
}:
buildPythonPackage rec {
pname = "radian";
version = "0.6.4";
src = fetchFromGitHub {
owner = "randy3k";
repo = pname;
rev = "v${version}";
sha256 = "QEHVdyVgsZxvs+d+xeeJqwx531+6e0uPi1J3t+hJ0d0=";
};
postPatch = ''
substituteInPlace setup.py --replace '"pytest-runner"' ""
'';
nativeBuildInputs = [
R # needed at setup time to detect R_HOME
];
propagatedBuildInputs = [
lineedit
prompt-toolkit
pygments
rchitect
six
] ++ (with rPackages; [
reticulate
askpass
]);
nativeCheckInputs = [
pytestCheckHook
pyte
pexpect
ptyprocess
jedi
git
];
preCheck = ''
export HOME=$TMPDIR
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${R}/lib/R/lib
'';
pythonImportsCheck = [ "radian" ];
meta = with lib; {
description = "A 21 century R console";
homepage = "https://github.com/randy3k/radian";
license = licenses.mit;
maintainers = with maintainers; [ savyajha ];
};
}

View File

@ -0,0 +1,52 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, cffi
, six
, pytestCheckHook
, pytest-mock
, R
, rPackages }:
buildPythonPackage rec {
pname = "rchitect";
version = "0.3.40";
src = fetchFromGitHub {
owner = "randy3k";
repo = pname;
rev = "v${version}";
sha256 = "yJMiPmusZ62dd6+5VkA2uSjq57a0C3arG8CgiUUHKpk=";
};
postPatch = ''
substituteInPlace setup.py --replace '"pytest-runner"' ""
'';
propagatedBuildInputs = [
cffi
six
] ++ (with rPackages; [
reticulate
]);
nativeCheckInputs = [
pytestCheckHook
pytest-mock
R
];
preCheck = ''
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${R}/lib/R/lib
cd $TMPDIR
'';
pythonImportsCheck = [ "rchitect" ];
meta = with lib; {
description = "Interoperate R with Python";
homepage = "https://github.com/randy3k/rchitect";
license = licenses.mit;
maintainers = with maintainers; [ savyajha ];
};
}

View File

@ -0,0 +1,37 @@
{ lib
, runCommand
, R
, radian
, makeWrapper
, recommendedPackages
, packages
, wrapR ? false
}:
runCommand (radian.name + "-wrapper") {
preferLocalBuild = true;
allowSubstitutes = false;
buildInputs = [ radian ] ++ recommendedPackages ++ packages
++ lib.optional wrapR R;
nativeBuildInputs = [ makeWrapper ];
passthru = { inherit recommendedPackages; };
meta = radian.meta // {
# To prevent builds on hydra
hydraPlatforms = [ ];
# prefer wrapper over the package
priority = (radian.meta.priority or 0) - 1;
};
} (''
makeWrapper "${radian}/bin/radian" "$out/bin/radian" \
--prefix "R_LIBS_SITE" ":" "$R_LIBS_SITE"
'' + lib.optionalString wrapR ''
cd ${R}/bin
for exe in *; do
makeWrapper "${R}/bin/$exe" "$out/bin/$exe" \
--prefix "R_LIBS_SITE" ":" "$R_LIBS_SITE"
done
'')

View File

@ -24400,6 +24400,19 @@ with pkgs;
packages = [];
};
radianWrapper = callPackage ../development/r-modules/wrapper-radian.nix {
recommendedPackages = with rPackages; [
boot class cluster codetools foreign KernSmooth lattice MASS
Matrix mgcv nlme nnet rpart spatial survival
];
radian = python3Packages.radian;
# Override this attribute to register additional libraries.
packages = [];
# Override this attribute if you want to expose R with the same set of
# packages as specified in radian
wrapR = false;
};
rstudioWrapper = libsForQt5.callPackage ../development/r-modules/wrapper-rstudio.nix {
recommendedPackages = with rPackages; [
boot class cluster codetools foreign KernSmooth lattice MASS

View File

@ -5546,6 +5546,8 @@ self: super: with self; {
linecache2 = callPackage ../development/python-modules/linecache2 { };
lineedit = callPackage ../development/python-modules/lineedit { };
line_profiler = callPackage ../development/python-modules/line_profiler { };
lingua = callPackage ../development/python-modules/lingua { };
@ -9933,6 +9935,8 @@ self: super: with self; {
radicale = pkgs.radicale.override { python3 = python; };
};
radian = callPackage ../development/python-modules/radian { };
radio_beam = callPackage ../development/python-modules/radio_beam { };
radios = callPackage ../development/python-modules/radios { };
@ -9979,6 +9983,8 @@ self: super: with self; {
rbtools = callPackage ../development/python-modules/rbtools { };
rchitect = callPackage ../development/python-modules/rchitect { };
rcssmin = callPackage ../development/python-modules/rcssmin { };
rdflib = callPackage ../development/python-modules/rdflib { };