[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#26561: [PATCH 6/9] gnu: Add python-sepolgen.
From: |
Ricardo Wurmus |
Subject: |
bug#26561: [PATCH 6/9] gnu: Add python-sepolgen. |
Date: |
Wed, 19 Apr 2017 16:29:14 +0200 |
* gnu/packages/selinux.scm (python-sepolgen): New variable.
---
gnu/packages/selinux.scm | 52 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/gnu/packages/selinux.scm b/gnu/packages/selinux.scm
index e73bc0ec6..8f3750daf 100644
--- a/gnu/packages/selinux.scm
+++ b/gnu/packages/selinux.scm
@@ -234,3 +234,55 @@ binary policies.")
(description "The SELinux CIL compiler is a compiler that converts the
@dfn{common intermediate language} (CIL) into a kernel binary policy file.")
(license license:bsd-2)))
+
+(define-public python-sepolgen
+ (package (inherit libsepol)
+ (name "python-sepolgen")
+ (arguments
+ `(#:modules ((srfi srfi-1)
+ (guix build gnu-build-system)
+ (guix build utils))
+ ,@(substitute-keyword-arguments (package-arguments libsepol)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'enter-dir
+ (lambda _ (chdir "sepolgen") #t))
+ ;; By default all Python files would be installed to
+ ;; $out/gnu/store/...-python-.../, so we override the
+ ;; PACKAGEDIR to fix this.
+ (add-after 'enter-dir 'fix-target-path
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((get-python-version
+ ;; FIXME: copied from python-build-system
+ (lambda (python)
+ (let* ((version (last (string-split python
#\-)))
+ (components (string-split version #\.))
+ (major+minor (take components 2)))
+ (string-join major+minor ".")))))
+ (substitute* "src/sepolgen/Makefile"
+ (("^PACKAGEDIR.*")
+ (string-append "PACKAGEDIR="
+ (assoc-ref outputs "out")
+ "/lib/python"
+ (get-python-version
+ (assoc-ref inputs "python"))
+ "/site-packages/sepolgen")))
+ (substitute* "src/share/Makefile"
+ (("\\$\\(DESTDIR\\)") (assoc-ref outputs "out"))))
+ #t)))))))
+ (inputs
+ `(("python" ,python-wrapper)))
+ (native-inputs '())
+ (synopsis "Python module for generating SELinux policies")
+ (description
+ "This package contains a Python module that forms the core of
address@hidden, a part of the package @code{policycoreutils}. The
+sepolgen library contains: Reference Policy Representation, which are Objects
+for representing policies and the reference policy interfaces. It has objects
+and algorithms for representing access and sets of access in an abstract way
+and searching that access. It also has a parser for reference policy
+\"headers\". It contains infrastructure for parsing SELinux related messages
+as produced by the audit system. It has facilities for generating policy
+based on required access.")
+ ;; GPLv2 only
+ (license license:gpl2)))
--
2.12.2
- bug#26561: [PATCH 0/9] SELinux, Ricardo Wurmus, 2017/04/19
- bug#26561: [PATCH 1/9] gnu: Add libsepol., Ricardo Wurmus, 2017/04/19
- bug#26561: [PATCH 4/9] gnu: Add libsemanage., Ricardo Wurmus, 2017/04/19
- bug#26561: [PATCH 3/9] gnu: Add libselinux., Ricardo Wurmus, 2017/04/19
- bug#26561: [PATCH 5/9] gnu: Add secilc., Ricardo Wurmus, 2017/04/19
- bug#26561: [PATCH 2/9] gnu: Add checkpolicy., Ricardo Wurmus, 2017/04/19
- bug#26561: [PATCH 8/9] gnu: Add python-setools., Ricardo Wurmus, 2017/04/19
- bug#26561: [PATCH 7/9] gnu: Add python-ipy., Ricardo Wurmus, 2017/04/19
- bug#26561: [PATCH 6/9] gnu: Add python-sepolgen.,
Ricardo Wurmus <=
- bug#26561: [PATCH 9/9] gnu: Add policycoreutils., Ricardo Wurmus, 2017/04/19
- bug#26561: [PATCH 1/9] gnu: Add libsepol., Marius Bakke, 2017/04/19
- bug#26561: [PATCH 0/9] SELinux, Marius Bakke, 2017/04/19