kanidm: temp override to 1.1.0-alpha.11
This commit is contained in:
parent
dd6c99226e
commit
f34fd8e345
@ -99,7 +99,10 @@
|
||||
android_sdk.accept_license = true;
|
||||
};
|
||||
|
||||
overlays = [ osuchan.overlays.default ];
|
||||
overlays = [
|
||||
(self: super: { kanidm = unstable-pkgs.callPackage ./package-overrides/kanidm.nix {}; })
|
||||
osuchan.overlays.default
|
||||
];
|
||||
};
|
||||
|
||||
pkgs = import nixpkgs pkgs-config;
|
||||
|
85
package-overrides/kanidm.nix
Normal file
85
package-overrides/kanidm.nix
Normal file
@ -0,0 +1,85 @@
|
||||
{ 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.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-TVGLL1Ir/Nld0kdhWmcYYmChrW42ctJPY/U7wtuEwCo=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-xYnZlPpnNPzk4IWuEcPQHudYR9IVsr4/JMHV7H1HAXw=";
|
||||
|
||||
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
|
||||
];
|
||||
|
||||
# The UI needs to be in place before the tests are run.
|
||||
postBuild = ''
|
||||
# We don't compile the wasm-part form source, as there isn't a rustc for
|
||||
# wasm32-unknown-unknown in nixpkgs yet.
|
||||
mkdir $out
|
||||
cp -r kanidmd_web_ui/pkg $out/ui
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
installShellCompletion \
|
||||
--bash $releaseDir/build/completions/*.bash \
|
||||
--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
|
||||
'';
|
||||
|
||||
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 ];
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user