summary refs log tree commit diff
path: root/gnu/packages/engineering.scm
diff options
context:
space:
mode:
authorGerd Heber <gerd.heber@gmail.com>2021-02-21 16:42:10 -0600
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2021-03-13 15:11:46 +0100
commitcb70485201ba7c25315b7d75243abef809fc9e5d (patch)
tree570a08c7a77aead697939be67e335cca4e8a0ce6 /gnu/packages/engineering.scm
parentaa0598974b9c454dcce0a7a4aba1a0198bce8b93 (diff)
downloadguix-cb70485201ba7c25315b7d75243abef809fc9e5d.tar.gz
gnu: Add syscall-intercept.
* gnu/packages/engineering.scm (syscall-intercept): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Diffstat (limited to 'gnu/packages/engineering.scm')
-rw-r--r--gnu/packages/engineering.scm37
1 files changed, 37 insertions, 0 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 9a10c21fc0..9358b2fd49 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -22,6 +22,7 @@
 ;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2020, 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
 ;;; Copyright © 2021 qblade <qblade@protonmail.com>
+;;; Copyright © 2021 Gerd Heber <gerd.heber@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3044,3 +3045,39 @@ and drilling of PCBs.  It takes Gerber files as input and outputs G-code files
 for the milling of PCBs.  It also includes an autoleveller for the automatic
 dynamic calibration of the milling depth.")
      (license license:gpl3+)))
+
+(define-public syscall-intercept
+  ;; Upstream provides no tag. Also, last version update is 4 years old.
+  (let ((commit "304404581c57d43478438d175099d20260bae74e")
+        (revision "0"))
+    (package
+      (name "syscall-intercept")
+      (version (git-version "0.1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/pmem/syscall_intercept/")
+           (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "17sw78xp5wjzv25adpbq3khl8fi0avj7bgpi57q3jnvl3c68xy5z"))))
+      (native-inputs
+       `(("perl" ,perl)
+         ("pkg-config" ,pkg-config)))
+      (inputs
+       `(("capstone" ,capstone)))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:build-type "Release"
+         ;; FIXME: "syscall_format_logging" test fails.
+         #:tests? #f))
+      (home-page "https://github.com/pmem/syscall_intercept")
+      (synopsis "System call intercepting library")
+      (description
+       "The system call intercepting library provides a low-level interface
+for hooking Linux system calls in user space.  This is achieved by
+hot-patching the machine code of the standard C library in the memory of
+a process.")
+      (license license:bsd-2))))