diff options
Diffstat (limited to 'pkgs/development/tools/misc/coccinelle/default.nix')
-rw-r--r-- | pkgs/development/tools/misc/coccinelle/default.nix | 54 |
1 files changed, 43 insertions, 11 deletions
diff --git a/pkgs/development/tools/misc/coccinelle/default.nix b/pkgs/development/tools/misc/coccinelle/default.nix index 2d9aa55ed05..66424e43968 100644 --- a/pkgs/development/tools/misc/coccinelle/default.nix +++ b/pkgs/development/tools/misc/coccinelle/default.nix @@ -1,21 +1,53 @@ -{ fetchurl, lib, stdenv, python3, ncurses, ocamlPackages, pkg-config }: +{ stdenv +, lib +, fetchFromGitHub +, fetchpatch +, ocamlPackages +, pkg-config +, autoreconfHook +}: stdenv.mkDerivation rec { pname = "coccinelle"; - version = "1.1.0"; + version = "1.1.1"; - src = fetchurl { - url = "https://coccinelle.gitlabpages.inria.fr/website/distrib/${pname}-${version}.tar.gz"; - sha256 = "0k0x4qnxzj8fymkp6y9irggcah070hj7hxq8l6ddj8ccpmjbhnsb"; + src = fetchFromGitHub { + repo = pname; + rev = version; + owner = "coccinelle"; + hash = "sha256-rS9Ktp/YcXF0xUtT4XZtH5F9huvde0vRztY7vGtyuqY="; }; + patches = [ + # Fix data path lookup. + # https://github.com/coccinelle/coccinelle/pull/270 + (fetchpatch { + url = "https://github.com/coccinelle/coccinelle/commit/540888ff426e0b1f7907b63ce26e712d1fc172cc.patch"; + sha256 = "sha256-W8RNIWDAC3lQ5bG+gD50r7x919JIcZRpt3QSOSMWpW4="; + }) + ]; + + nativeBuildInputs = with ocamlPackages; [ + autoreconfHook + pkg-config + ocaml + findlib + menhir + ]; + buildInputs = with ocamlPackages; [ - ocaml findlib menhir - ocaml_pcre parmap stdcompat - python3 ncurses pkg-config + ocaml_pcre + parmap + pyml + stdcompat ]; - doCheck = false; + strictDeps = true; + + postPatch = '' + # Ensure dependencies from Nixpkgs are picked up. + rm -rf bundles/ + ''; meta = { description = "Program to apply semantic patches to C code"; @@ -33,8 +65,8 @@ stdenv.mkDerivation rec { and others) for finding and fixing bugs in systems code. ''; - homepage = "http://coccinelle.lip6.fr/"; - license = lib.licenses.gpl2; + homepage = "https://coccinelle.gitlabpages.inria.fr/website/"; + license = lib.licenses.gpl2Only; platforms = lib.platforms.unix; maintainers = [ lib.maintainers.thoughtpolice ]; }; |