diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 85a6c8b26dfbe93b0760906bdae7b154a8eb5697..ef07f2d64b2b70e8ce4057f7b876389105eabfc8 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -35,6 +35,7 @@ (define-module (gnu packages freedesktop)
   #:use-module (gnu packages acl)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages databases)
@@ -267,6 +268,46 @@ (define-public elogind
 of a the system to know what users are logged in, and where.")
     (license license:lgpl2.1+)))
 
+(define-public packagekit
+  (package
+    (name "packagekit")
+    (version "1.1.5")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   "https://www.freedesktop.org/software/"
+                   "PackageKit/releases/"
+                   "PackageKit-" version ".tar.xz"))
+             (sha256
+              (base32
+               "035pqxgkyki813hyw2frrbpfllq113zfk5qcp9wvsq5lsp74ix2h"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f
+       #:make-flags (list (string-append "BASH_COMPLETIONS_DIR="
+                                         %output "/etc/bash_completion.d"))
+       #:configure-flags
+       '("--disable-systemd")))
+    (native-inputs
+     `(("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("glib:bin" ,glib "bin")))
+    (inputs
+     `(("glib" ,glib)
+       ("bash-completion", bash-completion)
+       ("polkit" ,polkit)))
+    (propagated-inputs
+     `(("sqlite" ,sqlite)))
+    (home-page "https://www.freedesktop.org/software/PackageKit/")
+    (synopsis "API for package management, through D-Bus")
+    (description
+     "PackageKit provides a way of performing package management tasks,
+e.g. updating, removing and installing software.  Through supporting many
+backends, PackageKit can perform these tasks using the appropriate package
+manager for the current system.")
+    (license license:gpl2+)))
+
 (define-public python-pyxdg
   (package
     (name "python-pyxdg")