nixpkgs/pkgs/development/libraries/gupnp/1.6.nix
2024-10-14 20:54:19 +08:00

79 lines
1.4 KiB
Nix

{ stdenv
, lib
, fetchurl
, meson
, ninja
, pkg-config
, gobject-introspection
, vala
, gi-docgen
, glib
, gssdp_1_6
, libsoup_3
, libxml2
, gnome
}:
stdenv.mkDerivation rec {
pname = "gupnp";
version = "1.6.7";
outputs = [ "out" "dev" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/gupnp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
hash = "sha256-SmHYpainJw5gzpz+lmHMT6Mm8EWmVxjS64/2iv2++AU=";
};
depsBuildBuild = [
pkg-config
];
nativeBuildInputs = [
meson
ninja
pkg-config
gobject-introspection
vala
gi-docgen
];
propagatedBuildInputs = [
glib
gssdp_1_6
libsoup_3
libxml2
];
mesonFlags = [
"-Dgtk_doc=true"
];
doCheck = true;
mesonCheckFlags = [
# The service-proxy test takes 28s on ofborg, which is too close to the time limit.
"--timeout-multiplier" "2"
];
postFixup = ''
# Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
moveToOutput "share/doc" "$devdoc"
'';
passthru = {
updateScript = gnome.updateScript {
attrPath = "gupnp_1_6";
packageName = pname;
};
};
meta = with lib; {
homepage = "http://www.gupnp.org/";
description = "Implementation of the UPnP specification";
mainProgram = "gupnp-binding-tool-1.6";
license = licenses.lgpl2Plus;
platforms = platforms.linux;
};
}