about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSavyasachee Jha <genghizkhan91@hawkradius.com>2023-03-05 19:12:32 +0530
committerSavyasachee Jha <genghizkhan91@hawkradius.com>2023-03-05 19:12:32 +0530
commite730867dc051f9f9f6bd0b641838a24b74cad4c8 (patch)
treeadbcd5943b7f52dfc981a96742bab0d419bb1432
parent73f2d0074aa039a40fd11ffcce6495568528c56e (diff)
python310Packages.radian: init at 0.6.4 and provide radianWrapper
-rw-r--r--pkgs/development/python-modules/radian/default.nix71
-rw-r--r--pkgs/development/r-modules/wrapper-radian.nix37
-rw-r--r--pkgs/top-level/all-packages.nix13
-rw-r--r--pkgs/top-level/python-packages.nix2
4 files changed, 123 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/radian/default.nix b/pkgs/development/python-modules/radian/default.nix
new file mode 100644
index 0000000000000..d348c6e0c5612
--- /dev/null
+++ b/pkgs/development/python-modules/radian/default.nix
@@ -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 ];
+  };
+}
diff --git a/pkgs/development/r-modules/wrapper-radian.nix b/pkgs/development/r-modules/wrapper-radian.nix
new file mode 100644
index 0000000000000..a0a23222b5232
--- /dev/null
+++ b/pkgs/development/r-modules/wrapper-radian.nix
@@ -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
+'')
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index fe53012194ed5..0bde921a49f44 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -24218,6 +24218,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
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 4a3f3a4ceffb7..d3c376a55ac02 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -9841,6 +9841,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 { };