libgovirt: clean up

- Split outputs to prevent closure contamination with propagated dependencies’ dev outputs.
- Use mirror URL.
- Add update script (also change source URL so it can be auto-updated).
- Correct dependencies:
  - Even though glib is propagated by other dependencies, let’s add it here as well for completeness.
  - libsoup should not need to be propagated.
- Add gobject-introspection (on by default with meson).
- Use correct non-deprecated license.
- Reduce scope of lib.

Ideally, we would also switch to Meson but it currently specifies dependencies incorrectly:
https://gitlab.gnome.org/GNOME/libgovirt/-/merge_requests/15
This commit is contained in:
Jan Tojnar 2022-02-20 12:05:21 +01:00
parent 0c68f9b952
commit e70d829bdb

View File

@ -2,38 +2,52 @@
, stdenv
, fetchurl
, glib
, gnome
, librest
, libsoup
, pkg-config
, gobject-introspection
}:
with lib;
stdenv.mkDerivation rec {
pname = "libgovirt";
version = "0.3.8";
src = fetchurl {
url = "https://download.gnome.org/sources/libgovirt/0.3/${pname}-${version}.tar.xz";
sha256 = "sha256-HckYYikXa9+p8l/Y+oLAoFi2pgwcyAfHUH7IqTwPHfg=";
};
outputs = [ "out" "dev" ];
enableParallelBuilding = true;
src = fetchurl {
url = "mirror://gnome/sources/libgovirt/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "HckYYikXa9+p8l/Y+oLAoFi2pgwcyAfHUH7IqTwPHfg=";
};
nativeBuildInputs = [
pkg-config
gobject-introspection
];
propagatedBuildInputs = [
librest
buildInputs = [
libsoup
];
meta = {
propagatedBuildInputs = [
glib
librest
];
enableParallelBuilding = true;
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
versionPolicy = "none";
};
};
meta = with lib; {
homepage = "https://gitlab.gnome.org/GNOME/libgovirt";
description = "GObject wrapper for the oVirt REST API";
maintainers = [ maintainers.amarshall ];
platforms = platforms.linux;
license = licenses.lgpl21;
license = licenses.lgpl21Plus;
};
}