summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2017-04-14 13:44:00 +0200
committerRicardo Wurmus <rekado@elephly.net>2017-04-22 00:36:43 +0200
commitc837027d3855b39b3dd6d326df0154b3e185f21b (patch)
treeb33164a45a911b3f6990093c169f2ba30917fdbc /gnu
parent32be66011a888f7c58c0218ce3ba0876ab728063 (diff)
downloadguix-c837027d3855b39b3dd6d326df0154b3e185f21b.tar.gz
gnu: Add secilc.
* gnu/packages/selinux.scm (secilc): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/selinux.scm30
1 files changed, 29 insertions, 1 deletions
diff --git a/gnu/packages/selinux.scm b/gnu/packages/selinux.scm
index 87b24d5e5d..22f116e968 100644
--- a/gnu/packages/selinux.scm
+++ b/gnu/packages/selinux.scm
@@ -26,12 +26,14 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages docbook)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages swig)
-  #:use-module (gnu packages textutils))
+  #:use-module (gnu packages textutils)
+  #:use-module (gnu packages xml))
 
 ;; Update the SELinux packages together!
 
@@ -210,3 +212,29 @@ the core SELinux management utilities.")
      "The libsemanage library provides an API for the manipulation of SELinux
 binary policies.")
     (license license:lgpl2.1+)))
+
+(define-public secilc
+  (package (inherit libsepol)
+    (name "secilc")
+    (arguments
+     (substitute-keyword-arguments (package-arguments libsepol)
+       ((#:make-flags flags)
+        `(let ((docbook (assoc-ref %build-inputs "docbook-xsl")))
+           (cons (string-append "XMLTO=xmlto --skip-validation -x "
+                                docbook "/xml/xsl/docbook-xsl-"
+                                ,(package-version docbook-xsl)
+                                "/manpages/docbook.xsl")
+                 ,flags)))
+       ((#:phases phases)
+        `(modify-phases ,phases
+           (replace 'enter-dir
+             (lambda _ (chdir ,name) #t))))))
+    (inputs
+     `(("libsepol" ,libsepol)))
+    (native-inputs
+     `(("xmlto" ,xmlto)
+       ("docbook-xsl" ,docbook-xsl)))
+    (synopsis "SELinux common intermediate language (CIL) compiler")
+    (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)))