summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/patches/polkit-drop-test.patch18
-rw-r--r--gnu/packages/polkit.scm40
3 files changed, 58 insertions, 1 deletions
diff --git a/gnu-system.am b/gnu-system.am
index aaecaad2d1..f11824e6d7 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -400,6 +400,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/petsc-fix-threadcomm.patch		\
   gnu/packages/patches/pingus-sdl-libs-config.patch		\
   gnu/packages/patches/plotutils-libpng-jmpbuf.patch		\
+  gnu/packages/patches/polkit-drop-test.patch			\
   gnu/packages/patches/procps-make-3.82.patch			\
   gnu/packages/patches/pulseaudio-CVE-2014-3970.patch		\
   gnu/packages/patches/pulseaudio-fix-mult-test.patch		\
diff --git a/gnu/packages/patches/polkit-drop-test.patch b/gnu/packages/patches/polkit-drop-test.patch
new file mode 100644
index 0000000000..2fd0c8bdf6
--- /dev/null
+++ b/gnu/packages/patches/polkit-drop-test.patch
@@ -0,0 +1,18 @@
+Drop test failing with the following message:
+FAIL: polkitbackendjsauthoritytest
+==================================
+/PolkitBackendJsAuthority/get_admin_identities: Error getting system bus: Could not connect: No such file or directoryError loading /var/run/ConsoleKit/database: Error statting file /var/run/ConsoleKit/database: No such file or directory
+
+
+diff -ru polkit-0.112.old/test/Makefile.in polkit-0.112/test/Makefile.in
+--- polkit-0.112.old/test/Makefile.in	2013-07-08 22:52:13.000000000 +0200
++++ polkit-0.112/test/Makefile.in	2014-11-09 18:43:47.000000000 +0100
+@@ -388,7 +388,7 @@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+-SUBDIRS = mocklibc . polkit polkitbackend
++SUBDIRS = mocklibc . polkit
+ AM_CFLAGS = $(GLIB_CFLAGS)
+ noinst_LTLIBRARIES = libpolkit-test-helper.la
+ libpolkit_test_helper_la_SOURCES = polkittesthelper.c polkittesthelper.h
diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm
index 6f143a6c7f..64576f6473 100644
--- a/gnu/packages/polkit.scm
+++ b/gnu/packages/polkit.scm
@@ -21,8 +21,13 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages perl)
-  #:use-module (gnu packages python))
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages xml))
 
 (define-public mozjs
   (package
@@ -95,3 +100,36 @@ in C/C++.")
 platform-neutral API for system level and libc-like functions.  It is used
 in the Mozilla clients.")
     (license mpl2.0)))
+
+(define-public polkit
+  (package
+    (name "polkit")
+    (version "0.112")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   "http://www.freedesktop.org/software/polkit/releases/"
+                   name "-" version ".tar.gz"))
+             (sha256
+              (base32
+               "1xkary7yirdcjdva950nqyhmsz48qhrdsr78zciahj27p8yg95fn"))
+             (patches (list (search-patch "polkit-drop-test.patch")))))
+    (build-system gnu-build-system)
+    (inputs
+      `(("expat" ,expat)
+        ("glib" ,glib)
+        ("glib:bin" ,glib "bin") ; for glib-mkenums
+        ("intltool" ,intltool)
+        ("linux-pam" ,linux-pam)
+        ("mozjs" ,mozjs)
+        ("nspr" ,nspr)))
+    (native-inputs
+      `(("pkg-config", pkg-config)))
+    (home-page "http://www.freedesktop.org/wiki/Software/polkit/")
+    (synopsis "Authorization API for privilege management")
+    (description "Polkit is an application-level toolkit for defining and
+handling the policy that allows unprivileged processes to speak to
+privileged processes.  It is a framework for centralizing the decision
+making process with respect to granting access to privileged operations
+for unprivileged applications.")
+    (license lgpl2.0+)))