diff options
Diffstat (limited to 'pkgs/tools/misc/ostree/default.nix')
-rw-r--r-- | pkgs/tools/misc/ostree/default.nix | 70 |
1 files changed, 47 insertions, 23 deletions
diff --git a/pkgs/tools/misc/ostree/default.nix b/pkgs/tools/misc/ostree/default.nix index a437eba4957..98154d9d562 100644 --- a/pkgs/tools/misc/ostree/default.nix +++ b/pkgs/tools/misc/ostree/default.nix @@ -1,40 +1,56 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, gtk-doc, gobjectIntrospection -, libgsystem, xz, e2fsprogs, libsoup, gpgme, which, autoconf, automake, libtool, fuse -, libarchive, libcap, bzip2, yacc, libxslt, docbook_xsl, docbook_xml_dtd_42 +{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, gtk-doc, gobjectIntrospection, gnome3 +, glib, systemd, xz, e2fsprogs, libsoup, gpgme, which, autoconf, automake, libtool, fuse, utillinuxMinimal, libselinux +, libarchive, libcap, bzip2, yacc, libxslt, docbook_xsl, docbook_xml_dtd_42, python3 }: let + version = "2018.6"; + libglnx-src = fetchFromGitHub { - owner = "GNOME"; - repo = "libglnx"; - rev = "0c82203cd459a35cc3f471e3205355e9fb79160f"; - sha256 = "0xbrv7q6b2ygrbr0yr7p01zpryw45643qfwnlw0z2yv515qs7isc"; + owner = "GNOME"; + repo = "libglnx"; + rev = "e1a78cf2f5351d5394ccfb79f3f5a7b4917f73f3"; + sha256 = "10kzyjbrmr98i65hlz8jc1v5bijyqwwfp6qqjbd5g3y0n520iaxc"; }; bsdiff-src = fetchFromGitHub { - owner = "mendsley"; - repo = "bsdiff"; - rev = "1edf9f656850c0c64dae260960fabd8249ea9c60"; + owner = "mendsley"; + repo = "bsdiff"; + rev = "1edf9f656850c0c64dae260960fabd8249ea9c60"; sha256 = "1h71d2h2d3anp4msvpaff445rnzdxii3id2yglqk7af9i43kdsn1"; }; - - version = "2018.4"; in stdenv.mkDerivation { name = "ostree-${version}"; + outputs = [ "out" "dev" "man" "installedTests" ]; + src = fetchFromGitHub { - rev = "v${version}"; - owner = "ostreedev"; - repo = "ostree"; - sha256 = "00jgj6vcjpz1akfbmf82q1bcs3njrmvdgy4c2gnn24vkmh9yr0lr"; + rev = "v${version}"; + owner = "ostreedev"; + repo = "ostree"; + sha256 = "0kk04pznk6m6fqdz609m2zcnkalcw9q8fsx8wm42k6dhf6cw7l3g"; }; + patches = [ + # Tests access the helper using relative path + # https://github.com/ostreedev/ostree/issues/1593 + (fetchpatch { + url = https://github.com/ostreedev/ostree/pull/1633.patch; + sha256 = "07xiw1dr7j4yw3w92qhw37f9crlglibflcqj2kf0v5gfrl9i6g4j"; + }) + ]; + nativeBuildInputs = [ autoconf automake libtool pkgconfig gtk-doc gobjectIntrospection which yacc libxslt docbook_xsl docbook_xml_dtd_42 ]; - buildInputs = [ libgsystem xz e2fsprogs libsoup gpgme fuse libarchive libcap bzip2 ]; + buildInputs = [ + glib systemd e2fsprogs libsoup gpgme fuse libselinux libcap + libarchive bzip2 xz + utillinuxMinimal # for libmount + (python3.withPackages (p: with p; [ pyyaml ])) gnome3.gjs # for tests + ]; prePatch = '' rmdir libglnx bsdiff @@ -44,16 +60,24 @@ in stdenv.mkDerivation { preConfigure = '' env NOCONFIGURE=1 ./autogen.sh - - configureFlags+="--with-systemdsystemunitdir=$out/lib/systemd/system" ''; + configureFlags = [ + "--with-systemdsystemunitdir=$(out)/lib/systemd/system" + "--with-systemdsystemgeneratordir=$(out)/lib/systemd/system-generators" + "--enable-installed-tests" + ]; + + makeFlags = [ + "installed_testdir=$(installedTests)/libexec/installed-tests/libostree" + "installed_test_metadir=$(installedTests)/share/installed-tests/libostree" + ]; + meta = with stdenv.lib; { description = "Git for operating system binaries"; - homepage = https://ostree.readthedocs.io/en/latest/; - license = licenses.lgpl2Plus; - platforms = platforms.linux; + homepage = https://ostree.readthedocs.io/en/latest/; + license = licenses.lgpl2Plus; + platforms = platforms.linux; maintainers = with maintainers; [ copumpkin ]; }; } - |