From 970169487a4c10384a2da03dcc58e026561bd0c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Gia=20Phong?= Date: Thu, 18 Sep 2025 14:34:37 +0900 Subject: [PATCH] gnu: Add python-fiu. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/debug.scm (python-fiu): New variable. Closes: guix/guix#2765 Change-Id: I266bd6fb1ca5f201a1934a707b76930d343567b0 Signed-off-by: 宋文武 --- gnu/packages/debug.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index e6f6415d4a7..c16b05ffcb1 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -40,6 +40,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system go) + #:use-module (guix build-system pyproject) #:use-module (guix build-system qt) #:use-module (guix gexp) #:use-module (gnu packages) @@ -75,6 +76,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) @@ -1130,3 +1132,31 @@ to mark points of failure inside your code and to enable/disable the failure of those points.") (home-page "https://blitiri.com.ar/p/libfiu") (license license:public-domain))) + +(define-public python-fiu + (package + (name "python-fiu") + (version "1.2") + (source (package-source fiu)) + (build-system pyproject-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'enter-python-dir + (lambda _ (chdir "bindings/python"))) + (add-before 'build 'set-env + (lambda* (#:key inputs #:allow-other-keys) + (setenv "PLIBPATH" + (string-append (assoc-ref inputs "fiu") + "/lib"))))) + #:tests? #f)) ; tests run in fiu + (native-inputs (list python-setuptools python-wheel)) + (inputs (list fiu)) + (synopsis "Python binding for fiu (fault injection in userspace)") + (description "This package includes two Python modules: +@enumerate +@item @code{fiu} is a wrapper for @code{libfiu}, the fault injection C library. +@item @code{fiu_ctrl} provide an easy way run a command +with @code{libfiu} enabled, and controlling the failure points dynamically. +@end enumerate") + (home-page (package-home-page fiu)) + (license (package-license fiu))))