1{ stdenv, fetchurl, intltool, glib, pkgconfig, polkit, python, sqlite }:
2
3let version = "1.0.8"; in
4stdenv.mkDerivation {
5 name = "packagekit-${version}";
6
7 src = fetchurl {
8 sha256 = "1vaxn4kwdwx6p03n88k4pnbd2l6lb0cbxpcs88kjack1jml17c3l";
9 url = "http://www.freedesktop.org/software/PackageKit/releases/PackageKit-${version}.tar.xz";
10 };
11
12 buildInputs = [ glib polkit python ];
13 propagatedBuildInputs = [ sqlite ];
14 nativeBuildInputs = [ intltool pkgconfig ];
15
16 configureFlags = ''
17 --disable-static
18 --disable-python3
19 --disable-networkmanager
20 --disable-connman
21 --disable-systemd
22 --disable-bash-completion
23 --disable-browser-plugin
24 --disable-gstreamer-plugin
25 --disable-gtk-module
26 --disable-command-not-found
27 --disable-cron
28 --disable-daemon-tests
29 --disable-alpm
30 --disable-aptcc
31 --enable-dummy
32 --disable-entropy
33 --disable-hif
34 --disable-pisi
35 --disable-poldek
36 --disable-portage
37 --disable-ports
38 --disable-katja
39 --disable-urmpi
40 --disable-yum
41 --disable-zypp
42 '';
43
44 enableParallelBuilding = true;
45
46 preInstall = ''
47 # Don't install anything to e.g. $out/var/cache:
48 for dir in src data; do
49 substituteInPlace $dir/Makefile \
50 --replace " install-data-hook" "" \
51 --replace " install-databaseDATA" ""
52 done
53 '';
54
55 meta = with stdenv.lib; {
56 inherit version;
57 description = "System to facilitate installing and updating packages";
58 longDescription = ''
59 PackageKit is a system designed to make installing and updating software
60 on your computer easier. The primary design goal is to unify all the
61 software graphical tools used in different distributions, and use some of
62 the latest technology like PolicyKit. The actual nuts-and-bolts distro
63 tool (dnf, apt, etc) is used by PackageKit using compiled and scripted
64 helpers. PackageKit isn't meant to replace these tools, instead providing
65 a common set of abstractions that can be used by standard GUI and text
66 mode package managers.
67 '';
68 homepage = http://www.packagekit.org/;
69 license = licenses.gpl2Plus;
70 platforms = platforms.linux;
71 maintainers = with maintainers; [ nckx ];
72 };
73}