open-webui: Use makeWrapperArgs; Use env to disable hatch custom hook

For more info, see:
- Disable hatch custom hook:
https://github.com/NixOS/nixpkgs/pull/316248#discussion_r1636468561
- why `makeWrapperArgs`?:
https://github.com/NixOS/nixpkgs/pull/316248#discussion_r1636483491
- `pythonRelaxDepsHook` is a nativeBuildInput:
https://github.com/NixOS/nixpkgs/pull/316248#discussion_r1636477762
This commit is contained in:
shivaraj-bh 2024-06-13 12:21:36 +05:30
parent 521c27447b
commit 75d7ee7d8c

View File

@ -44,14 +44,14 @@ python3.pkgs.buildPythonApplication rec {
inherit pname version src;
pyproject = true;
# The custom hook tries to run `npm install` in `buildPhase`.
# We don't have to worry, as node dependencies are managed by `frontend` drv.
# Not force-including the frontend build directory as frontend is managed by the `frontend` derivation above.
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail '[tool.hatch.build.hooks.custom]' "" \
--replace-fail ', build = "open_webui/frontend"' ""
'';
env.HATCH_BUILD_NO_HOOKS = true;
pythonRelaxDeps = true;
pythonRemoveDeps = [
@ -115,17 +115,13 @@ python3.pkgs.buildPythonApplication rec {
youtube-transcript-api
];
build-system = with python3.pkgs; [
hatchling
pythonRelaxDepsHook
];
build-system = with python3.pkgs; [ hatchling ];
nativeBuildInputs = [ python3.pkgs.pythonRelaxDepsHook ];
pythonImportsCheck = [ "open_webui" ];
postInstall = ''
wrapProgram $out/bin/open-webui \
--set FRONTEND_BUILD_DIR "${frontend}/share/open-webui"
'';
makeWrapperArgs = [ "--set FRONTEND_BUILD_DIR ${frontend}/share/open-webui" ];
passthru.tests = {
inherit (nixosTests) open-webui;