rpm-ostree: 2016.1 -> 2016.10

This also updates a bunch of its dependencies to enable the update,
and gets rid of libhif because upstream stopped maintaining it as
such, instead using it internally in other projects until they can
agree on an interface for it. Nothing seemed to be using libhif so
I'm not too concerned about removing it.
wip/yesman
Dan Peebles 8 years ago
parent 1371499530
commit f35ab9c2f8
  1. 4
      pkgs/development/libraries/libsolv/default.nix
  2. 17
      pkgs/tools/misc/ostree/default.nix
  3. 49
      pkgs/tools/misc/rpm-ostree/default.nix
  4. 36
      pkgs/tools/package-management/libhif/default.nix
  5. 2
      pkgs/top-level/all-packages.nix

@ -1,14 +1,14 @@
{ stdenv, fetchFromGitHub, cmake, zlib, expat, rpm, db }:
stdenv.mkDerivation rec {
rev = "0.6.20";
rev = "0.6.23";
name = "libsolv-${rev}";
src = fetchFromGitHub {
inherit rev;
owner = "openSUSE";
repo = "libsolv";
sha256 = "1gammarbnjbbkw2vlgcj9ynp1kgi5nns6xcl6ab8b5i4zgq91v2p";
sha256 = "08ba7yx0br421lk6zf5mp0yl6nznkmc2vbka20qwm2lx5f0a25xg";
};
cmakeFlags = "-DENABLE_RPMMD=true -DENABLE_RPMDB=true -DENABLE_PUBKEY=true -DENABLE_RPMDB_BYRPMHEADER=true";

@ -7,8 +7,8 @@ let
libglnx-src = fetchFromGitHub {
owner = "GNOME";
repo = "libglnx";
rev = "769522753c25537e520adc322fa62e5390272add";
sha256 = "0gfc8dl63xpmf73dwb1plj7cymq7z6w6wq5m06yx8jymwhq7x1l8";
rev = "36396b49ad6636c9959f3dfac5e04d41584b1a92";
sha256 = "146flrpzybm2s12wg05rnglnfd2f2jx3xzvns2pq28kvg09bgcfn";
};
bsdiff-src = fetchFromGitHub {
@ -17,15 +17,16 @@ let
rev = "1edf9f656850c0c64dae260960fabd8249ea9c60";
sha256 = "1h71d2h2d3anp4msvpaff445rnzdxii3id2yglqk7af9i43kdsn1";
};
in stdenv.mkDerivation rec {
rev = "v2016.5";
name = "ostree-${rev}";
version = "2016.11";
in stdenv.mkDerivation {
name = "ostree-${version}";
src = fetchFromGitHub {
inherit rev;
rev = "v${version}";
owner = "ostreedev";
repo = "ostree";
sha256 = "1dfyhzgv94ldjv2l4jxf4xhks2z5ljljqa3k579qskds755n6kvg";
sha256 = "19xmg01mxdykx74r9ra11hc15qd1fjqbxdn23jrn2pcvz8dw9zgc";
};
nativeBuildInputs = [
@ -43,6 +44,8 @@ in stdenv.mkDerivation rec {
preConfigure = ''
env NOCONFIGURE=1 ./autogen.sh
configureFlags+="--with-systemdsystemunitdir=$out/lib/systemd/system"
'';
meta = with stdenv.lib; {

@ -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 = ''

@ -1,36 +0,0 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, autoconf, automake, libtool, expat, python, sphinx, gobjectIntrospection, librepo, check, rpm, libsolv, pcre, curl, gtk_doc, zlib, xz, elfutils }:
stdenv.mkDerivation rec {
rev = "87e4cb247f5982fd48636691a955cc566d3110a3";
name = "libhif-${stdenv.lib.strings.substring 0 7 rev}";
src = fetchFromGitHub {
inherit rev;
owner = "rpm-software-management";
repo = "libhif";
sha256 = "1g8hrqjawzwcx1gjcnv9sxg5i8l13dab3rr3i641k5vi76vv8miq";
};
postPatch = ''
for file in python/hawkey/CMakeLists.txt python/hawkey/tests/module/CMakeLists.txt; do
substituteInPlace $file --replace ' ''${PYTHON_INSTALL_DIR}' " $out/${python.sitePackages}"
done
# Until https://github.com/rpm-software-management/libhif/issues/43 is implemented, let's not force users to have this path
substituteInPlace libhif/hif-keyring.c \
--replace '"/etc/pki/rpm-gpg"' 'getenv("LIBHIF_RPM_GPG_PATH_OVERRIDE") ? getenv("LIBHIF_RPM_GPG_PATH_OVERRIDE") : "/etc/pki/rpm-gpg"'
'';
buildInputs = [ cmake pkgconfig pcre expat python sphinx gobjectIntrospection gtk_doc librepo check rpm curl ];
# ibhif/hif-packagedelta.h includes solv/pool.h
propagatedBuildInputs = [ libsolv ];
meta = with stdenv.lib; {
description = "A library that provides a high level package-manager. It uses librepo and hawkey under the hood.";
license = licenses.lgpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ copumpkin ];
};
}

@ -7769,8 +7769,6 @@ in
libharu = callPackage ../development/libraries/libharu { };
libhif = callPackage ../tools/package-management/libhif { sphinx = python27Packages.sphinx; };
libhttpseverywhere = callPackage ../development/libraries/libhttpseverywhere { };
libHX = callPackage ../development/libraries/libHX { };

Loading…
Cancel
Save