mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-09-29 07:32:58 +00:00
kanidm: init at 1.1.0-alpha.8
Co-Authored-By: Martin Weinelt <mweinelt@users.noreply.github.com> Co-Authored-By: Flakebi <flakebi@t-online.de>
This commit is contained in:
parent
b0431d9d91
commit
3b5fc1fde1
89
pkgs/servers/kanidm/default.nix
Normal file
89
pkgs/servers/kanidm/default.nix
Normal file
@ -0,0 +1,89 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, formats
|
||||
, nixosTests
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, pkg-config
|
||||
, udev
|
||||
, openssl
|
||||
, sqlite
|
||||
, pam
|
||||
}:
|
||||
|
||||
let
|
||||
arch = if stdenv.isx86_64 then "x86_64" else "generic";
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "kanidm";
|
||||
version = "1.1.0-alpha.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-zMtbE6Y9wXFPBqhmiTMJ3m6bLVZl+c6lRY39DWDlJNo=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256:1l7xqp457zfd9gfjp6f4lzgadfp6112jbip4irazw4084qwj0z6x";
|
||||
|
||||
KANIDM_BUILD_PROFILE = "release_nixos_${arch}";
|
||||
|
||||
postPatch =
|
||||
let
|
||||
format = (formats.toml { }).generate "${KANIDM_BUILD_PROFILE}.toml";
|
||||
profile = {
|
||||
web_ui_pkg_path = "@web_ui_pkg_path@";
|
||||
cpu_flags = if stdenv.isx86_64 then "x86_64_v1" else "none";
|
||||
};
|
||||
in
|
||||
''
|
||||
cp ${format profile} profiles/${KANIDM_BUILD_PROFILE}.toml
|
||||
substituteInPlace profiles/${KANIDM_BUILD_PROFILE}.toml \
|
||||
--replace '@web_ui_pkg_path@' "$out/ui"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
udev
|
||||
openssl
|
||||
sqlite
|
||||
pam
|
||||
];
|
||||
|
||||
# Failing tests, probably due to network issues
|
||||
checkFlags = [
|
||||
"--skip default_entries"
|
||||
"--skip oauth2_openid_basic_flow"
|
||||
"--skip test_server"
|
||||
"--skip test_cache"
|
||||
];
|
||||
|
||||
preFixup = ''
|
||||
installShellCompletion --bash $releaseDir/build/completions/*.bash
|
||||
installShellCompletion --zsh $releaseDir/build/completions/_*
|
||||
|
||||
# PAM and NSS need fix library names
|
||||
mv $out/lib/libnss_kanidm.so $out/lib/libnss_kanidm.so.2
|
||||
mv $out/lib/libpam_kanidm.so $out/lib/pam_kanidm.so
|
||||
|
||||
# We don't compile the wasm-part form source, as there isn't a rustc for
|
||||
# wasm32-unknown-unknown in nixpkgs yet.
|
||||
cp -r kanidmd_web_ui/pkg $out/ui
|
||||
'';
|
||||
|
||||
passthru.tests = { inherit (nixosTests) kanidm; };
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple, secure and fast identity management platform";
|
||||
homepage = "https://github.com/kanidm/kanidm";
|
||||
license = licenses.mpl20;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ erictapen Flakebi ];
|
||||
};
|
||||
}
|
@ -21845,6 +21845,8 @@ with pkgs;
|
||||
|
||||
jitsi-videobridge = callPackage ../servers/jitsi-videobridge { };
|
||||
|
||||
kanidm = callPackage ../servers/kanidm { };
|
||||
|
||||
kapowbang = callPackage ../servers/kapowbang { };
|
||||
|
||||
keycloak = callPackage ../servers/keycloak { };
|
||||
|
Loading…
Reference in New Issue
Block a user