diff options
Diffstat (limited to 'pkgs/tools/misc/rpm-ostree/default.nix')
| -rw-r--r-- | pkgs/tools/misc/rpm-ostree/default.nix | 49 |
1 files changed, 37 insertions, 12 deletions
diff --git a/pkgs/tools/misc/rpm-ostree/default.nix b/pkgs/tools/misc/rpm-ostree/default.nix index f96e70650b7c..3e2953c57334 100644 --- a/pkgs/tools/misc/rpm-ostree/default.nix +++ b/pkgs/tools/misc/rpm-ostree/default.nix @@ -1,35 +1,60 @@ { 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 }: + libcap, glib, libgsystem, json_glib, libarchive, libsolv, librepo, gtk_doc, elfutils, + gperf, cmake, pcre, check, python, libxslt, docbook_xsl, docbook_xml_dtd_42, acl }: let libglnx-src = fetchFromGitHub { owner = "GNOME"; repo = "libglnx"; - rev = "85c9dd5c073a8c0d74c4baa2e4a94f5535984e62"; - sha256 = "08m8wxlkymwq5hsc26k7ndwiqiw1ggaaxyi2qfhqznasgbp4g623"; + rev = "4ae5e3beaaa674abfabf7404ab6fafcc4ec547db"; + sha256 = "1npb9zbyb4bl0nxqf0pcqankcwzs3k1x8i2wkdwhgak4qcvxvfqn"; }; -in stdenv.mkDerivation rec { - rev = "v2016.1"; - name = "rpm-ostree"; + + libdnf-src = fetchFromGitHub { + owner = "rpm-software-management"; + repo = "libhif"; + rev = "b69552b3b3a42fd41698a925d5f5f623667bac63"; + sha256 = "0h6k09rb4imzbmsn7mspwl0js2awqdpb4ysdqq550vw2nr0dzszr"; + }; + + version = "2016.10"; +in stdenv.mkDerivation { + name = "rpm-ostree-${version}"; src = fetchFromGitHub { - inherit rev; + rev = "v${version}"; owner = "projectatomic"; repo = "rpm-ostree"; - sha256 = "19jvnmy9zinx0j5nvy3h5abfv9d988kvyza09gljx16gll8qkbbf"; + sha256 = "0a0wwklzk1kvk3bbxxfvxgk4ck5dn7a7v32shqidb674fr2d5pvb"; }; 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 + which autoconf automake pkgconfig libtool libcap ostree rpm glib libgsystem gperf + json_glib libarchive libsolv librepo gtk_doc libxslt docbook_xsl docbook_xml_dtd_42 + cmake pcre check python # FIXME: get rid of this once libarchive properly propagates this acl ]; + dontUseCmakeConfigure = true; + prePatch = '' - rmdir libglnx + rmdir libglnx libdnf cp --no-preserve=mode -r ${libglnx-src} libglnx + cp --no-preserve=mode -r ${libdnf-src} libdnf + + # According to #cmake on freenode, libdnf should bundle the FindLibSolv.cmake module + cp ${libsolv}/share/cmake/Modules/FindLibSolv.cmake libdnf/cmake/modules/ + + # See https://github.com/projectatomic/rpm-ostree/issues/480 + substituteInPlace src/libpriv/rpmostree-unpacker.c --replace 'include <selinux/selinux.h>' "" + + # libdnf normally wants sphinx to build its hawkey manpages, but we don't care about those manpages since we don't use hawkey + substituteInPlace configure.ac --replace 'cmake \' 'cmake -DWITH_MAN=off \' + + # Let's not hardcode the rpm-gpg path... + substituteInPlace libdnf/libdnf/dnf-keyring.c \ + --replace '"/etc/pki/rpm-gpg"' 'getenv("LIBDNF_RPM_GPG_PATH_OVERRIDE") ? getenv("LIBDNF_RPM_GPG_PATH_OVERRIDE") : "/etc/pki/rpm-gpg"' ''; preConfigure = '' |
