Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 stdenv, 3 lib, 4 fetchurl, 5 meson, 6 ninja, 7 pkg-config, 8 gobject-introspection, 9 vala, 10 gi-docgen, 11 glib, 12 gssdp_1_6, 13 libsoup_3, 14 libxml2, 15 gnome, 16}: 17 18stdenv.mkDerivation (finalAttrs: { 19 pname = "gupnp"; 20 version = "1.6.8"; 21 22 outputs = [ 23 "out" 24 "dev" 25 "devdoc" 26 ]; 27 28 src = fetchurl { 29 url = "mirror://gnome/sources/gupnp/${lib.versions.majorMinor finalAttrs.version}/gupnp-${finalAttrs.version}.tar.xz"; 30 hash = "sha256-cKADzr1oV3KT+z5q9J/5AiA7+HaLL8XWUd3B8PoeEek="; 31 }; 32 33 depsBuildBuild = [ 34 pkg-config 35 ]; 36 37 nativeBuildInputs = [ 38 meson 39 ninja 40 pkg-config 41 gobject-introspection 42 vala 43 gi-docgen 44 ]; 45 46 propagatedBuildInputs = [ 47 glib 48 gssdp_1_6 49 libsoup_3 50 libxml2 51 ]; 52 53 mesonFlags = [ 54 "-Dgtk_doc=true" 55 ]; 56 57 # On Darwin: Failed to bind socket, Operation not permitted 58 doCheck = !stdenv.hostPlatform.isDarwin; 59 60 postFixup = '' 61 # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. 62 moveToOutput "share/doc" "$devdoc" 63 ''; 64 65 passthru = { 66 updateScript = gnome.updateScript { 67 attrPath = "gupnp_1_6"; 68 packageName = "gupnp"; 69 }; 70 }; 71 72 meta = with lib; { 73 homepage = "http://www.gupnp.org/"; 74 description = "Implementation of the UPnP specification"; 75 mainProgram = "gupnp-binding-tool-1.6"; 76 license = licenses.lgpl2Plus; 77 platforms = platforms.unix; 78 }; 79})