diff --git a/pkgs/by-name/fi/filebrowser/package.nix b/pkgs/by-name/fi/filebrowser/package.nix index af275fdd7531..4ce239006d9b 100644 --- a/pkgs/by-name/fi/filebrowser/package.nix +++ b/pkgs/by-name/fi/filebrowser/package.nix @@ -1,45 +1,62 @@ { - buildGo123Module, - buildNpmPackage, - fetchFromGitHub, lib, + stdenv, + fetchFromGitHub, + buildGo123Module, + + nodejs_22, + pnpm_9, }: let - version = "2.31.0"; + version = "2.32.0"; + + pnpm = pnpm_9; + nodejs = nodejs_22; src = fetchFromGitHub { owner = "filebrowser"; repo = "filebrowser"; rev = "v${version}"; - hash = "sha256-zLM1fLrucIhzGdTTDu81ZnTIipK+iRnPhgfMiT1P+yg="; + hash = "sha256-jckwk45pIRrlzZaG3jH8aLq08L5xnrbt4OdwKNS6+nI="; }; - frontend = buildNpmPackage rec { + frontend = stdenv.mkDerivation (finalAttrs: { pname = "filebrowser-frontend"; inherit version src; - sourceRoot = "${src.name}/frontend"; + nativeBuildInputs = [ + nodejs + pnpm.configHook + ]; - npmDepsHash = "sha256-5/yEMWkNPAS8/PkaHlPBGFLiJu7xK2GHYo5dYqHAfCE="; + pnpmRoot = "frontend"; - NODE_OPTIONS = "--openssl-legacy-provider"; + pnpmDeps = pnpm.fetchDeps { + inherit (finalAttrs) pname version src; + sourceRoot = "${src.name}/frontend"; + hash = "sha256-L3cKAp0vvLW5QPz6vYTtZwzuIN70EObU3SyJOlA0Ehc="; + }; installPhase = '' runHook preInstall + pnpm install -C frontend --frozen-lockfile + pnpm run -C frontend build + mkdir $out - mv dist $out + mv frontend/dist $out runHook postInstall ''; - }; + }); + in buildGo123Module { pname = "filebrowser"; inherit version src; - vendorHash = "sha256-N5aUs8rgTYXeb0qJhPQBCa6lUDkT6lH1bh+1u4bixos="; + vendorHash = "sha256-Jce90mvNzjElCtEMQSSU3IQPz+WLhyEol1ktW4FG7yk="; excludedPackages = [ "tools" ]; @@ -47,6 +64,10 @@ buildGo123Module { cp -r ${frontend}/dist frontend/ ''; + ldflags = [ + "-X github.com/filebrowser/filebrowser/v2/version.Version=v${version}" + ]; + passthru = { inherit frontend; };