diff --git a/pkgs/by-name/fr/frp/dashboard.nix b/pkgs/by-name/fr/frp/dashboard.nix new file mode 100644 index 000000000000..facbdd467ea7 --- /dev/null +++ b/pkgs/by-name/fr/frp/dashboard.nix @@ -0,0 +1,34 @@ +{ + buildNpmPackage, + frp, +}: +let + builder = + name: + buildNpmPackage { + pname = "${name}-dashboard"; + inherit (frp) version src; + + sourceRoot = "source/web"; + + preBuild = '' + pushd ${name} + ''; + + installPhase = '' + runHook preInstall + cp -r dist $out + runHook postInstall + ''; + + npmDepsHash = "sha256-XuqQPfywzK81anAD1pAl1TMQqb1+hH2QxLwuTn7zCPU="; + + meta = frp.meta // { + description = "Dashboard for frp"; + }; + }; +in +{ + frpc = builder "frpc"; + frps = builder "frps"; +} diff --git a/pkgs/by-name/fr/frp/package.nix b/pkgs/by-name/fr/frp/package.nix index a5e1ddbfb695..25b5cde69a00 100644 --- a/pkgs/by-name/fr/frp/package.nix +++ b/pkgs/by-name/fr/frp/package.nix @@ -1,22 +1,24 @@ { buildGoModule, + callPackage, lib, fetchFromGitHub, nixosTests, }: - +let + web = callPackage ./dashboard.nix { }; +in buildGoModule (finalAttrs: { pname = "frp"; - version = "0.66.0"; - + version = "0.69.1"; src = fetchFromGitHub { owner = "fatedier"; repo = "frp"; tag = "v${finalAttrs.version}"; - hash = "sha256-GFvXdhX7kA43kppWWdL7KhummUCqpa1cQ7V2d9ISGfo="; + hash = "sha256-3tOOgnzZZ05En5NMLbp4UFNazX950Jbosvszmjf947c="; }; - vendorHash = "sha256-m5ECF0cgp2LfsTKey02MHz5TfqfzOCT5cU5trUfrOjY="; + vendorHash = "sha256-JrkIztnmhEYAogr4pDWrPu9/j+C0VLpEyNbh2UK5UcY="; doCheck = false; @@ -25,8 +27,14 @@ buildGoModule (finalAttrs: { "cmd/frps" ]; - passthru.tests = { - frp = nixosTests.frp; + preBuild = '' + cp -r ${web.frpc} web/frpc/dist + cp -r ${web.frps} web/frps/dist + ''; + + passthru = { + tests.frp = nixosTests.frp; + inherit web; }; meta = { @@ -39,5 +47,6 @@ buildGoModule (finalAttrs: { ''; homepage = "https://github.com/fatedier/frp"; license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ epireyn ]; }; })