- corrected the license: https://github.com/libpwquality/libpwquality/blob/libpwquality-1.4.4/COPYING - added long description - added myself as a maintainer - removed unnecessary patch - split outputs - added pam for building the pam modulemain
parent
19d4f7dc48
commit
4a2da4208a
@ -1,36 +1,57 @@ |
||||
{ stdenv, lib, fetchFromGitHub, autoreconfHook, perl, cracklib, python3, fetchpatch }: |
||||
{ stdenv |
||||
, lib |
||||
, fetchFromGitHub |
||||
, autoreconfHook |
||||
, perl |
||||
, cracklib |
||||
, enablePAM ? stdenv.hostPlatform.isLinux |
||||
, pam |
||||
, enablePython ? false |
||||
, python |
||||
}: |
||||
|
||||
# python binding generates a shared library which are unavailable with musl build |
||||
assert enablePython -> !stdenv.hostPlatform.isStatic; |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "libpwquality"; |
||||
version = "1.4.2"; |
||||
version = "1.4.4"; |
||||
|
||||
outputs = [ "out" "dev" "lib" "man" ] ++ lib.optionals enablePython [ "py" ]; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "libpwquality"; |
||||
repo = "libpwquality"; |
||||
rev = "${pname}-${version}"; |
||||
sha256 = "0n4pjhm7wfivk0wizggaxq4y4mcxic876wcarjabkp5z9k14y36h"; |
||||
sha256 = "sha256-7gAzrx5VP1fEBwAt6E5zGM8GyuPRR+JxYifYfirY+U8="; |
||||
}; |
||||
|
||||
nativeBuildInputs = [ autoreconfHook perl python3 ]; |
||||
buildInputs = [ cracklib ]; |
||||
|
||||
patches = lib.optional stdenv.hostPlatform.isStatic [ |
||||
(fetchpatch { |
||||
name = "static-build.patch"; |
||||
url = "https://github.com/libpwquality/libpwquality/pull/40.patch"; |
||||
sha256 = "1ypccq437wxwgddd98cvd330jfm7jscdlzlyxgy05g6yzrr68xyk"; |
||||
}) |
||||
patches = [ |
||||
# ensure python site-packages goes in $py output |
||||
./python-binding-prefix.patch |
||||
]; |
||||
|
||||
configureFlags = lib.optional stdenv.hostPlatform.isStatic [ |
||||
# Python binding generates a shared library which are unavailable with musl build |
||||
"--disable-python-bindings" |
||||
]; |
||||
nativeBuildInputs = [ autoreconfHook perl ] ++ lib.optionals enablePython [ python ]; |
||||
buildInputs = [ cracklib ] ++ lib.optionals enablePAM [ pam ]; |
||||
|
||||
configureFlags = lib.optionals (!enablePython) [ "--disable-python-bindings" ]; |
||||
|
||||
meta = with lib; { |
||||
description = "Password quality checking and random password generation library"; |
||||
homepage = "https://github.com/libpwquality/libpwquality"; |
||||
license = licenses.bsd3; |
||||
description = "Password quality checking and random password generation library"; |
||||
longDescription = '' |
||||
The libpwquality library purpose is to provide common functions for |
||||
password quality checking and also scoring them based on their apparent |
||||
randomness. The library also provides a function for generating random |
||||
passwords with good pronounceability. The library supports reading and |
||||
parsing of a configuration file. |
||||
|
||||
In the package there are also very simple utilities that use the library |
||||
function and PAM module that can be used instead of pam_cracklib. The |
||||
module supports all the options of pam_cracklib. |
||||
''; |
||||
license = with licenses; [ bsd3 /* or */ gpl2Plus ]; |
||||
maintainers = with maintainers; [ jk ]; |
||||
platforms = platforms.unix; |
||||
}; |
||||
} |
||||
|
@ -0,0 +1,13 @@ |
||||
diff --git a/python/Makefile.am b/python/Makefile.am
|
||||
index 1d00c0c..0987690 100644
|
||||
--- a/python/Makefile.am
|
||||
+++ b/python/Makefile.am
|
||||
@@ -14,7 +14,7 @@ all-local:
|
||||
CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV)
|
||||
|
||||
install-exec-local:
|
||||
- CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) install --prefix=${DESTDIR}${prefix}
|
||||
+ CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) install --prefix=${DESTDIR}${py}
|
||||
|
||||
clean-local:
|
||||
rm -rf py$(PYTHONREV)
|
Loading…
Reference in new issue