1{ stdenv, fetchurl, autoreconfHook, docbook_xml_dtd_412, docbook_xml_dtd_42, docbook_xml_dtd_43, docbook_xsl, which, libxml2
2, gobject-introspection, gtk-doc, intltool, libxslt, pkgconfig, xmlto, appstream-glib, substituteAll, glibcLocales, yacc, xdg-dbus-proxy, p11-kit
3, bubblewrap, bzip2, dbus, glib, gpgme, json-glib, libarchive, libcap, libseccomp, coreutils, gettext, python2, hicolor-icon-theme
4, libsoup, lzma, ostree, polkit, python3, systemd, xorg, valgrind, glib-networking, wrapGAppsHook, gnome3 }:
5
6stdenv.mkDerivation rec {
7 pname = "flatpak";
8 version = "1.2.4";
9
10 # TODO: split out lib once we figure out what to do with triggerdir
11 outputs = [ "out" "man" "doc" "installedTests" ];
12
13 src = fetchurl {
14 url = "https://github.com/flatpak/flatpak/releases/download/${version}/${pname}-${version}.tar.xz";
15 sha256 = "1qf3ys84fzv11z6f6li59rxjdjbyrv7cyi9539k73r9i9pckjr8v";
16 };
17
18 patches = [
19 (substituteAll {
20 src = ./fix-test-paths.patch;
21 inherit coreutils gettext glibcLocales;
22 hicolorIconTheme = hicolor-icon-theme;
23 })
24 (substituteAll {
25 src = ./fix-paths.patch;
26 p11 = p11-kit;
27 })
28 (substituteAll {
29 src = ./bubblewrap-paths.patch;
30 inherit (builtins) storeDir;
31 })
32 # patch taken from gtk_doc
33 ./respect-xml-catalog-files-var.patch
34 ./use-flatpak-from-path.patch
35 ./unset-env-vars.patch
36 ];
37
38 nativeBuildInputs = [
39 autoreconfHook libxml2 docbook_xml_dtd_412 docbook_xml_dtd_42 docbook_xml_dtd_43 docbook_xsl which gobject-introspection
40 gtk-doc intltool libxslt pkgconfig xmlto appstream-glib yacc wrapGAppsHook
41 ];
42
43 buildInputs = [
44 bubblewrap bzip2 dbus gnome3.dconf glib gpgme json-glib libarchive libcap libseccomp
45 libsoup lzma ostree polkit python3 systemd xorg.libXau
46 gnome3.gsettings-desktop-schemas glib-networking
47 ];
48
49 checkInputs = [ valgrind ];
50
51 doCheck = false; # TODO: some issues with temporary files
52
53 NIX_LDFLAGS = [
54 "-lpthread"
55 ];
56
57 enableParallelBuilding = true;
58
59 configureFlags = [
60 "--with-system-bubblewrap=${bubblewrap}/bin/bwrap"
61 "--with-system-dbus-proxy=${xdg-dbus-proxy}/bin/xdg-dbus-proxy"
62 "--localstatedir=/var"
63 "--enable-installed-tests"
64 ];
65
66 makeFlags = [
67 "installed_testdir=$(installedTests)/libexec/installed-tests/flatpak"
68 "installed_test_metadir=$(installedTests)/share/installed-tests/flatpak"
69 ];
70
71 postPatch = ''
72 patchShebangs buildutil
73 patchShebangs tests
74 '';
75
76 meta = with stdenv.lib; {
77 description = "Linux application sandboxing and distribution framework";
78 homepage = https://flatpak.org/;
79 license = licenses.lgpl21;
80 maintainers = with maintainers; [ jtojnar ];
81 platforms = platforms.linux;
82 };
83}