Matlab server + Octave
							parent
							
								
									6b3b4cf7c2
								
							
						
					
					
						commit
						0f33cdb0db
					
				| 
						 | 
				
			
			@ -1,8 +1,57 @@
 | 
			
		|||
{ config, lib, pkgs, nix-matlab, ... }: {
 | 
			
		||||
  environment.systemPackages = with nix-matlab.packages.x86_64-linux; [
 | 
			
		||||
{ config, lib, pkgs, nix-matlab, ... }: let
 | 
			
		||||
  license-manager = pkgs.stdenv.mkDerivation rec {
 | 
			
		||||
    pname = "matlab-license-server";
 | 
			
		||||
    version = "R2023b";
 | 
			
		||||
    src = pkgs.fetchurl {
 | 
			
		||||
      url = "https://ssd.mathworks.com/supportfiles/downloads/${version}/license_manager/${version}/daemons/glnxa64/mathworks_network_license_manager_glnxa64.zip";
 | 
			
		||||
      hash = "sha256-Btl3ETzTtAV+cjqwXf4AE4QJCtssN1s6dmmcpR1EQxY=";
 | 
			
		||||
    };
 | 
			
		||||
    nativeBuildInputs = [
 | 
			
		||||
      pkgs.autoPatchelfHook
 | 
			
		||||
    ];
 | 
			
		||||
    unpackPhase = ''
 | 
			
		||||
      ${pkgs.unzip}/bin/unzip $src
 | 
			
		||||
    '';
 | 
			
		||||
    installPhase = ''
 | 
			
		||||
      mkdir $out
 | 
			
		||||
      cp -r * $out/
 | 
			
		||||
      addAutoPatchelfSearchPath $out/*
 | 
			
		||||
    '';
 | 
			
		||||
  };
 | 
			
		||||
  matlab-server = pkgs.buildFHSUserEnv {
 | 
			
		||||
    name = "matlab-server";
 | 
			
		||||
 | 
			
		||||
    targetPkgs = (ps: nix-matlab.targetPkgs ps ++ [
 | 
			
		||||
      license-manager
 | 
			
		||||
    ]);
 | 
			
		||||
 | 
			
		||||
    runScript = pkgs.writeScript "matlab-server" (nix-matlab.shellHooksCommon + ''
 | 
			
		||||
      exec $MATLAB_INSTALL_DIR/bin/matlab "$@"
 | 
			
		||||
    '');
 | 
			
		||||
  };
 | 
			
		||||
  matlab-server-shell = pkgs.buildFHSUserEnv {
 | 
			
		||||
    name = "matlab-server-shell";
 | 
			
		||||
 | 
			
		||||
    targetPkgs = (ps: nix-matlab.targetPkgs ps ++ [
 | 
			
		||||
      license-manager
 | 
			
		||||
    ]);
 | 
			
		||||
 | 
			
		||||
    runScript = pkgs.writeScript "matlab-server-shell" (nix-matlab.shellHooksCommon + ''
 | 
			
		||||
      echo license-server is in:
 | 
			
		||||
      echo ${license-manager}
 | 
			
		||||
      echo Make sure it is installed (matlab-server user)
 | 
			
		||||
      exec bash
 | 
			
		||||
    '');
 | 
			
		||||
  };
 | 
			
		||||
in {
 | 
			
		||||
  environment.systemPackages = (with nix-matlab.packages.x86_64-linux; [
 | 
			
		||||
    matlab
 | 
			
		||||
    matlab-shell
 | 
			
		||||
    matlab-server
 | 
			
		||||
    matlab-server-shell
 | 
			
		||||
    matlab-mlint
 | 
			
		||||
    matlab-mex
 | 
			
		||||
  ];
 | 
			
		||||
  ]) ++ (with pkgs; [
 | 
			
		||||
    octaveFull
 | 
			
		||||
  ]);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue