about summary refs log tree commit diff
path: root/pkgs/development/interpreters/j
diff options
context:
space:
mode:
authorBlackBeans <adrien.lc.mathieu@gmail.com>2022-11-25 21:22:21 +0100
committerBlackBeans <adrien.lc.mathieu@gmail.com>2022-11-25 21:22:21 +0100
commitef7e852590269426404f3704217ae1f3a8cd1888 (patch)
tree28befb6c02dd60d793e581b8bfa0f0b689f3d7ab /pkgs/development/interpreters/j
parent0eb16c85a0dfe013e5585ee02c3033161a8baa9e (diff)
J: fixing init script
The startup script used by jconsole (/bin/profile.ijs) doesn't try very hard to understand the file hierarchy it lives in, and just did not work with NixOS. For reasons unknown, it Just Worked for some time, but finally broke with an actual error message every time you launch jconsole in recent versions of nixpkgs.
This commit just overwrites all the heuristics J uses to find out where its installation files are, to point where they actually are put by the installer.
Diffstat (limited to 'pkgs/development/interpreters/j')
-rw-r--r--pkgs/development/interpreters/j/default.nix4
-rw-r--r--pkgs/development/interpreters/j/fix-install-path.patch10
2 files changed, 14 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/j/default.nix b/pkgs/development/interpreters/j/default.nix
index 5e67986ac105e..2da499352b3eb 100644
--- a/pkgs/development/interpreters/j/default.nix
+++ b/pkgs/development/interpreters/j/default.nix
@@ -25,6 +25,10 @@ stdenv.mkDerivation rec {
     bc
   ];
 
+  patches = [
+    ./fix-install-path.patch
+  ];
+
   dontConfigure = true;
 
   # emulating build_all.sh configuration variables
diff --git a/pkgs/development/interpreters/j/fix-install-path.patch b/pkgs/development/interpreters/j/fix-install-path.patch
new file mode 100644
index 0000000000000..08f3f98962c90
--- /dev/null
+++ b/pkgs/development/interpreters/j/fix-install-path.patch
@@ -0,0 +1,10 @@
+--- a/jlibrary/bin/profile.ijs	2022-11-23 18:45:50.049675025 +0100
++++ b/jlibrary/bin/profile.ijs	2022-11-23 18:47:43.798532581 +0100
+@@ -13,6 +13,7 @@
+ fhs=. (FHS"_)^:(0=4!:0<'FHS')(5=systype)*.0=#1!:0<BINPATH,'/../system/util/boot.ijs'
+ install=. (0&~:fhs){::install;install,'/share/j/',omitversion{::'9.03';'0'
+ install=. (INSTALLROOT"_)^:(0=4!:0<'INSTALLROOT') install
++install=. bin,'/../share/j'
+ addons=. install,'/addons'
+ system=. install,'/system'
+ tools=. install,'/tools'