ldap-manager: init at 1.1.4 (#425497)

This commit is contained in:
Gaétan Lepage
2026-03-05 14:11:57 +00:00
committed by GitHub
+120
View File
@@ -0,0 +1,120 @@
{
lib,
buildGoModule,
fetchFromGitHub,
fetchpatch,
stdenvNoCC,
nodejs,
pnpm_10,
templ,
pnpmConfigHook,
fetchPnpmDeps,
versionCheckHook,
nix-update-script,
}:
let
version = "1.1.4";
src = fetchFromGitHub {
owner = "netresearch";
repo = "ldap-manager";
tag = "v${version}";
hash = "sha256-G4UUgjTbRmVmbLvSv95kwhqnTUCygW8plkdYFGcHBqE=";
};
frontend = stdenvNoCC.mkDerivation {
pname = "ldap-manager-frontend";
inherit version src;
nativeBuildInputs = [
nodejs
pnpmConfigHook
pnpm_10
];
pnpmDeps = fetchPnpmDeps {
pname = "ldap-manager";
inherit version src;
pnpm = pnpm_10;
fetcherVersion = 3;
hash = "sha256-XFdKb43NxslB60GEDIBbKFYRClq0SeUqPwA81SAZaug=";
};
buildPhase = ''
runHook preBuild
pnpm css:build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r internal/web/static $out/static
runHook postInstall
'';
};
in
buildGoModule (finalAttrs: {
pname = "ldap-manager";
inherit version src;
vendorHash = "sha256-ekgnjhO9GAml/A8pf9Hj6lseYJkvvf87f7tiwWixyKU=";
nativeBuildInputs = [
templ
];
patches = [
# Add --version support
# https://github.com/netresearch/ldap-manager/pull/462
(fetchpatch {
url = "https://github.com/netresearch/ldap-manager/pull/462.patch";
hash = "sha256-OykLep7uGZ79/lqOC4KNnSThCqQsmDo6vDqaoWVX3XI=";
})
];
excludedPackages = [
"internal/e2e"
"internal/integration"
];
preBuild = ''
cp -r ${frontend}/static/* internal/web/static/
templ generate
'';
ldflags = [
"-s"
"-X github.com/netresearch/ldap-manager/internal/version.Version=${finalAttrs.version}"
"-X github.com/netresearch/ldap-manager/internal/version.BuildTimestamp=1970-01-01T00:00:00"
];
postInstall = ''
mv $out/bin/ldap-manager $out/bin/ldap-passwd
'';
nativeInstallCheckInputs = [
versionCheckHook
];
doInstallCheck = true;
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Web frontend that allows users to administrate their LDAP users";
homepage = "https://github.com/netresearch/ldap-manager";
changelog = "https://github.com/netresearch/ldap-manager/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ liberodark ];
platforms = lib.platforms.linux;
mainProgram = "ldap-passwd";
};
})