about summary refs log tree commit diff
path: root/pkgs/tools/misc/rpm-ostree/default.nix
blob: 997d8279e04e930cd49baf8190e0ad574a57f322 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
{ stdenv, fetchFromGitHub, ostree, rpm, which, autoconf, automake, libtool, pkgconfig,
  libcap, glib, libgsystem, json_glib, libarchive, libhif, librepo, gtk_doc, elfutils,
  libxslt, docbook_xsl, docbook_xml_dtd_42, acl }:

let
  libglnx-src = fetchFromGitHub {
    owner  = "GNOME";
    repo   = "libglnx";
    rev    = "85c9dd5c073a8c0d74c4baa2e4a94f5535984e62";
    sha256 = "08m8wxlkymwq5hsc26k7ndwiqiw1ggaaxyi2qfhqznasgbp4g623";
  };
in stdenv.mkDerivation rec {
  rev  = "v2016.1";
  name = "rpm-ostree";

  src = fetchFromGitHub {
    inherit rev;
    owner  = "projectatomic";
    repo   = "rpm-ostree";
    sha256 = "19jvnmy9zinx0j5nvy3h5abfv9d988kvyza09gljx16gll8qkbbf";
  };

  NIX_CFLAGS_LINK = "-L${elfutils}/lib";

  buildInputs = [
    which autoconf automake pkgconfig libtool libcap ostree rpm glib libgsystem
    json_glib libarchive libhif librepo gtk_doc libxslt docbook_xsl docbook_xml_dtd_42
    # FIXME: get rid of this once libarchive properly propagates this
    acl
  ];

  prePatch = ''
    rmdir libglnx
    cp --no-preserve=mode -r ${libglnx-src} libglnx
  '';

  preConfigure = ''
    env NOCONFIGURE=1 ./autogen.sh
  '';

  meta = with stdenv.lib; {
    description = "A hybrid image/package system. It uses OSTree as an image format, and uses RPM as a component model";
    homepage    = "https://rpm-ostree.readthedocs.io/en/latest/";
    license     = licenses.lgpl2Plus;
    platforms   = platforms.linux;
    maintainers = with maintainers; [ copumpkin ];
  };
}