Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at fix-function-merge 57 lines 1.9 kB view raw
1{ stdenv 2, lib 3, fetchFromGitHub 4, autoreconfHook 5, perl 6, cracklib 7, enablePAM ? stdenv.hostPlatform.isLinux 8, pam 9, enablePython ? false 10, python 11}: 12 13# python binding generates a shared library which are unavailable with musl build 14assert enablePython -> !stdenv.hostPlatform.isStatic; 15 16stdenv.mkDerivation rec { 17 pname = "libpwquality"; 18 version = "1.4.5"; 19 20 outputs = [ "out" "dev" "lib" "man" ] ++ lib.optionals enablePython [ "py" ]; 21 22 src = fetchFromGitHub { 23 owner = "libpwquality"; 24 repo = "libpwquality"; 25 rev = "${pname}-${version}"; 26 sha256 = "sha256-YjvHzd4iEBvg+qHOVJ7/y9HqyeT+QDalNE/jdNM9BNs="; 27 }; 28 29 patches = [ 30 # ensure python site-packages goes in $py output 31 ./python-binding-prefix.patch 32 ]; 33 34 nativeBuildInputs = [ autoreconfHook perl ] ++ lib.optionals enablePython [ python ]; 35 buildInputs = [ cracklib ] ++ lib.optionals enablePAM [ pam ]; 36 37 configureFlags = lib.optionals (!enablePython) [ "--disable-python-bindings" ]; 38 39 meta = with lib; { 40 homepage = "https://github.com/libpwquality/libpwquality"; 41 description = "Password quality checking and random password generation library"; 42 longDescription = '' 43 The libpwquality library purpose is to provide common functions for 44 password quality checking and also scoring them based on their apparent 45 randomness. The library also provides a function for generating random 46 passwords with good pronounceability. The library supports reading and 47 parsing of a configuration file. 48 49 In the package there are also very simple utilities that use the library 50 function and PAM module that can be used instead of pam_cracklib. The 51 module supports all the options of pam_cracklib. 52 ''; 53 license = with licenses; [ bsd3 /* or */ gpl2Plus ]; 54 maintainers = with maintainers; [ jk ]; 55 platforms = platforms.unix; 56 }; 57}