{"schema_version":1,"metadata":{"branch":"release","release":"7.9","architecture":"amd64","generated_at":"2026-09-09T04:04:02.361425+00:00","source_url":"https://cdn.openbsd.org/pub/OpenBSD/7.9/packages/amd64/sqlports-7.54.tgz","source_sha256":"2de00144847bf9da3a365be982f101dbb55d591ed7a915ea94984a16ab0e0404","package_count":12059,"source_kind":"sqlports"},"package":{"name":"coccinelle-1.3.1","path":"devel/coccinelle","url":"/packages/release/devel/coccinelle/","comment":"program matching and transformation engine","homepage":"https://coccinelle.gitlabpages.inria.fr/website/","maintainer":"The OpenBSD ports mailing-list <ports@openbsd.org>","description":"Coccinelle is a program matching and transformation engine which\nprovides the language SmPL (Semantic Patch Language) for specifying\ndesired matches and transformations in C code.\n\nCoccinelle was initially targeted towards performing collateral\nevolutions in Linux. Such evolutions comprise the changes that are\nneeded in client code in response to evolutions in library APIs, and may\ninclude modifications such as renaming a function, adding a function\nargument whose value is somehow context-dependent, and reorganizing a\ndata structure.\n\nBeyond collateral evolutions, Coccinelle is successfully used (by INRIA\nand others) for finding and fixing bugs in systems code.\n\nSee also: http://home.regit.org/technical-articles/coccinelle-for-the-newbie/\n","package_architecture":"amd64","stem":"coccinelle","readme":null,"dependencies":[{"path":"devel/pcre","type":"library","package_spec":"","url":"/packages/release/devel/pcre/"},{"path":"sysutils/ggrep","type":"runtime","package_spec":"","url":"/packages/release/sysutils/ggrep/"},{"path":"textproc/gdiff","type":"runtime","package_spec":"","url":"/packages/release/textproc/gdiff/"},{"path":"lang/ocaml","type":"runtime","package_spec":"","url":"/packages/release/lang/ocaml/"},{"path":"lang/python/3","type":"runtime","package_spec":"","url":"/packages/release/lang/python/3/"},{"path":"sysutils/ggrep","type":"build","package_spec":"","url":"/packages/release/sysutils/ggrep/"},{"path":"textproc/gdiff","type":"build","package_spec":"","url":"/packages/release/textproc/gdiff/"},{"path":"lang/ocaml","type":"build","package_spec":"","url":"/packages/release/lang/ocaml/"},{"path":"lang/python/3","type":"build","package_spec":"","url":"/packages/release/lang/python/3/"},{"path":"print/texlive/base","type":"build","package_spec":"","url":"/packages/release/print/texlive/base/"},{"path":"sysutils/findlib","type":"build","package_spec":"","url":"/packages/release/sysutils/findlib/"},{"path":"textproc/hevea","type":"build","package_spec":"","url":"/packages/release/textproc/hevea/"},{"path":"textproc/latexmk","type":"build","package_spec":"","url":"/packages/release/textproc/latexmk/"},{"path":"devel/metaauto","type":"build","package_spec":"","url":"/packages/release/devel/metaauto/"},{"path":"devel/autoconf/2.71","type":"build","package_spec":"","url":"/packages/release/devel/autoconf/2.71/"},{"path":"devel/automake/1.16","type":"build","package_spec":"","url":"/packages/release/devel/automake/1.16/"},{"path":"devel/libtool","type":"build","package_spec":"","url":"/packages/release/devel/libtool/"},{"path":"devel/gmake","type":"build","package_spec":"","url":"/packages/release/devel/gmake/"},{"path":"devel/coccinelle","type":"test","package_spec":"","url":"/packages/release/devel/coccinelle/"},{"path":"lang/python/3","type":"test","package_spec":"","url":"/packages/release/lang/python/3/"}],"reverse_dependencies":{"count":2,"url":"/packages/data/63/63001d363a22d6ec92f9454bf7132008e64dc5933455e0469847051b7371b83e.json"},"categories":["devel","lang/python"],"flavors":[],"only_for_architectures":["aarch64","amd64","i386"],"not_for_architectures":[]}}
