about summary refs log tree commit diff
path: root/pkgs/development/tools/misc/cproto/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/misc/cproto/default.nix')
-rw-r--r--pkgs/development/tools/misc/cproto/default.nix32
1 files changed, 22 insertions, 10 deletions
diff --git a/pkgs/development/tools/misc/cproto/default.nix b/pkgs/development/tools/misc/cproto/default.nix
index e79326eeba4d..8a0cb095d445 100644
--- a/pkgs/development/tools/misc/cproto/default.nix
+++ b/pkgs/development/tools/misc/cproto/default.nix
@@ -1,22 +1,34 @@
 { stdenv, fetchurl, flex, bison }:
 
-stdenv.mkDerivation {
-  name = "cproto-4.6";
+stdenv.mkDerivation rec {
+  name = "cproto-${version}";
+  version = "4.7o";
 
   src = fetchurl {
-    url = mirror://sourceforge/cproto/cproto-4.6.tar.gz;
-    sha256 = "0ilhkx9iwc5bh65q47mf68p39iyk07d52fv00z431nl6qcb9hp9j";
+    urls = [
+      "mirror://debian/pool/main/c/cproto/cproto_${version}.orig.tar.gz"
+      # No version listings and apparently no versioned tarball over http(s).
+      "ftp://ftp.invisible-island.net/cproto/cproto-${version}.tgz"
+    ];
+    sha256 = "0kxlrhhgm84v2q6n3wp7bb77g7wjxkb7azdvb6a70naf0rr0nsy7";
   };
 
-  buildInputs = [flex bison];
-
   # patch made by Joe Khoobyar copied from gentoo bugs
   patches = ./cproto_patch;
 
-  meta = {
+  nativeBuildInputs = [ flex bison ];
+
+  doCheck = true;
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    [ "$("$out/bin/cproto" -V 2>&1)" = '${version}' ]
+  '';
+
+  meta = with stdenv.lib; {
     description = "Tool to generate C function prototypes from C source code";
-    homepage = http://cproto.sourceforge.net/;
-    license = stdenv.lib.licenses.publicDomain;
-    platforms = stdenv.lib.platforms.linux;
+    homepage = https://invisible-island.net/cproto/;
+    license = licenses.publicDomain;
+    platforms = platforms.linux;
   };
 }