mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-22 23:10:02 +00:00
37 lines
995 B
Nix
37 lines
995 B
Nix
|
{lib, python3, writeText}:
|
||
|
|
||
|
let
|
||
|
py = python3.pkgs;
|
||
|
in
|
||
|
py.toPythonApplication
|
||
|
(py.mlflow.overridePythonAttrs(old: rec {
|
||
|
pname = "mlflow-server";
|
||
|
|
||
|
propagatedBuildInputs = old.propagatedBuildInputs ++ [
|
||
|
py.boto3
|
||
|
py.mysqlclient
|
||
|
];
|
||
|
|
||
|
postPatch = ''
|
||
|
substituteInPlace mlflow/utils/process.py --replace \
|
||
|
"child = subprocess.Popen(cmd, env=cmd_env, cwd=cwd, universal_newlines=True," \
|
||
|
"cmd[0]='$out/bin/gunicornMlflow'; child = subprocess.Popen(cmd, env=cmd_env, cwd=cwd, universal_newlines=True,"
|
||
|
'';
|
||
|
|
||
|
gunicornScript = writeText "gunicornMlflow"
|
||
|
''
|
||
|
#!/usr/bin/env python
|
||
|
import re
|
||
|
import sys
|
||
|
from gunicorn.app.wsgiapp import run
|
||
|
if __name__ == '__main__':
|
||
|
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', ''', sys.argv[0])
|
||
|
sys.exit(run())
|
||
|
'';
|
||
|
|
||
|
postInstall = ''
|
||
|
gpath=$out/bin/gunicornMlflow
|
||
|
cp ${gunicornScript} $gpath
|
||
|
chmod 555 $gpath
|
||
|
'';
|
||
|
}))
|