aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patchutils.scm
diff options
context:
space:
mode:
authorJean-Pierre De Jesus DIAZ <jean@foundationdevices.com>2023-05-21 13:34:17 +0200
committerLudovic Courtès <ludo@gnu.org>2023-06-02 16:27:41 +0200
commit7469d9c1067bdf177e30474e4b07a4cbb4a326c3 (patch)
tree73e1cff17efe4508e1086b624f84cb4b338bf2aa /gnu/packages/patchutils.scm
parent5461ff1e54f183e73fa642d25a2fe5d181df642f (diff)
downloadguix-7469d9c1067bdf177e30474e4b07a4cbb4a326c3.tar
guix-7469d9c1067bdf177e30474e4b07a4cbb4a326c3.tar.gz
gnu: Add coccinelle.
* gnu/packages/patchutils.scm (coccinelle): New variable. Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/patchutils.scm')
-rw-r--r--gnu/packages/patchutils.scm56
1 files changed, 56 insertions, 0 deletions
diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm
index 1527590af5..2b30ee1b9d 100644
--- a/gnu/packages/patchutils.scm
+++ b/gnu/packages/patchutils.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 Andy Tai <atai@atai.org>
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,8 +34,10 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system meson)
+ #:use-module (guix build-system ocaml)
#:use-module (guix build-system python)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages ed)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
@@ -53,6 +56,7 @@
#:use-module (gnu packages less)
#:use-module (gnu packages mail)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages ocaml)
#:use-module (gnu packages package-management)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -62,6 +66,58 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages xml))
+(define-public coccinelle
+ (let ((revision "0")
+ (commit "6608e45f85a10c57a3c910154cf049a5df4d98e4"))
+ (package
+ (name "coccinelle")
+ (version (git-version "1.1.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/coccinelle/coccinelle")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (snippet
+ #~(delete-file-recursively "bundles"))
+ (sha256
+ (base32
+ "08nycmjyckqmqjpi78dcqdbmjq1xp18qdc6023dl90gdi6hmxz9l"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'bootstrap 'prepare-version.sh
+ (lambda _
+ (setenv "MAKE_COCCI_RELEASE" "y")
+ (patch-shebang "version.sh")))
+ (add-before 'check 'set-batch-mode
+ (lambda _
+ (substitute* "Makefile"
+ (("--testall")
+ "--batch_mode --testall")))))))
+ (propagated-inputs
+ (list ocaml-menhir
+ ocaml-num
+ ocaml-parmap
+ ocaml-pcre
+ ocaml-pyml
+ ocaml-stdcompat))
+ (native-inputs
+ (list autoconf
+ automake
+ ocaml
+ ocaml-findlib
+ pkg-config))
+ (home-page "https://coccinelle.lip6.fr")
+ (synopsis "Transformation of C code using semantic patches")
+ (description "Coccinelle is a tool that allows modification of C code
+using semantic patches in the @acronym{SmPL, Semantic Patch Language} for
+specifying desired matches and transformations in the C code.")
+ (license gpl2))))
+
(define-public patchutils
(package
(name "patchutils")