diff --git a/pkgs/development/libraries/libpwquality/default.nix b/pkgs/development/libraries/libpwquality/default.nix
index 3e4fe99df4c..a5a428010b2 100644
--- a/pkgs/development/libraries/libpwquality/default.nix
+++ b/pkgs/development/libraries/libpwquality/default.nix
@@ -1,17 +1,23 @@
-{ stdenv, fetchurl, cracklib, python }:
+{ stdenv, lib, fetchFromGitHub, autoreconfHook, perl, cracklib, python }:
 
 stdenv.mkDerivation rec {
   name = "libpwquality-${version}";
-  version = "1.3.0";
+  version = "1.4.0";
 
-  src = fetchurl {
-    url = "https://fedorahosted.org/releases/l/i/libpwquality/${name}.tar.bz2";
-    sha256 = "0aidriag6h0syfm33nzdfdsqgrnsgihwjv3a5lgkqch3w68fmlkl";
+  src = fetchFromGitHub {
+    owner = "libpwquality";
+    repo = "libpwquality";
+    rev = name;
+    sha256 = "0k564hj2q13z5ag8cj6rnkzm1na7001k4chz4f736p6aqvspv0bd";
   };
 
+  nativeBuildInputs = [ autoreconfHook perl ];
   buildInputs = [ cracklib python ];
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with lib; {
+    description = "Password quality checking and random password generation library";
+    homepage = "https://github.com/libpwquality/libpwquality";
+    license = licenses.bsd3;
+    platforms = platforms.unix;
   };
 }