gssdp-tools: re-add as separate derivation

+100
+6
pkgs/development/libraries/gssdp/default.nix
··· 11 11 , libsoup 12 12 , glib 13 13 , gnome 14 + , gssdp-tools 14 15 }: 15 16 16 17 stdenv.mkDerivation rec { ··· 50 51 doCheck = true; 51 52 52 53 postFixup = '' 54 + # Move developer documentation to devdoc output. 53 55 # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. 54 56 find -L "$out/share/doc" -type f -regex '.*\.devhelp2?' -print0 \ 55 57 | while IFS= read -r -d ''' file; do ··· 60 62 passthru = { 61 63 updateScript = gnome.updateScript { 62 64 packageName = pname; 65 + }; 66 + 67 + tests = { 68 + inherit gssdp-tools; 63 69 }; 64 70 }; 65 71
+42
pkgs/development/libraries/gssdp/standalone-tools.patch
··· 1 + diff --git a/libgssdp/gssdp-client-private.h b/libgssdp/gssdp-client-private.h 2 + index ac31247..241c054 100644 3 + --- a/libgssdp/gssdp-client-private.h 4 + +++ b/libgssdp/gssdp-client-private.h 5 + @@ -10,7 +10,11 @@ 6 + #ifndef GSSDP_CLIENT_PRIVATE_H 7 + #define GSSDP_CLIENT_PRIVATE_H 8 + 9 + +#ifdef GSSDP_TOOLS 10 + +#include <libgssdp/gssdp-client.h> 11 + +#else 12 + #include "gssdp-client.h" 13 + +#endif 14 + 15 + G_BEGIN_DECLS 16 + 17 + diff --git a/tools/meson.build b/tools/meson.build 18 + index 40eb8e3..5db545b 100644 19 + --- a/tools/meson.build 20 + +++ b/tools/meson.build 21 + @@ -1,3 +1,10 @@ 22 + +project('gssdp-tools', 'c', version: '@version@') 23 + +gnome = import('gnome') 24 + + 25 + +gssdp = dependency('gssdp-1.2') 26 + +gtk = dependency('gtk4', version : '>= 4') 27 + +libsoup = dependency('libsoup-2.4', version : '>= 2.26.1') 28 + + 29 + resource = gnome.compile_resources( 30 + 'org.gupnp.GSSDP.DeviceSniffer', 31 + 'gssdp-device-sniffer.gresource.xml', 32 + @@ -12,7 +19,9 @@ sniffer = executable( 33 + 'main-window.h', 34 + resource 35 + ], 36 + - dependencies : [gssdp, gtk], 37 + + dependencies : [gssdp, gtk, libsoup], 38 + + c_args: ['-DGSSDP_TOOLS'], 39 + + include_directories : [include_directories('..')], 40 + install: true, 41 + export_dynamic : true, 42 + gui_app : true
+50
pkgs/development/libraries/gssdp/tools.nix
··· 1 + { stdenv 2 + , lib 3 + , substituteAll 4 + , meson 5 + , ninja 6 + , pkg-config 7 + , wrapGAppsHook4 8 + , gssdp 9 + , gtk4 10 + , libsoup 11 + }: 12 + 13 + stdenv.mkDerivation rec { 14 + pname = "gssdp-tools"; 15 + inherit (gssdp) version src; 16 + 17 + patches = [ 18 + # Allow building tools separately from the library. 19 + # This is needed to break the depenency cycle. 20 + (substituteAll { 21 + src = ./standalone-tools.patch; 22 + inherit version; 23 + }) 24 + ]; 25 + 26 + nativeBuildInputs = [ 27 + meson 28 + ninja 29 + pkg-config 30 + wrapGAppsHook4 31 + ]; 32 + 33 + buildInputs = [ 34 + gssdp 35 + gtk4 36 + libsoup 37 + ]; 38 + 39 + preConfigure = '' 40 + cd tools 41 + ''; 42 + 43 + meta = with lib; { 44 + description = "Device Sniffer tool based on GSSDP framework"; 45 + homepage = "http://www.gupnp.org/"; 46 + license = licenses.lgpl2Plus; 47 + maintainers = gssdp.meta.maintainers; 48 + platforms = platforms.all; 49 + }; 50 + }
+2
pkgs/top-level/all-packages.nix
··· 5934 5934 5935 5935 gssdp = callPackage ../development/libraries/gssdp { }; 5936 5936 5937 + gssdp-tools = callPackage ../development/libraries/gssdp/tools.nix { }; 5938 + 5937 5939 grype = callPackage ../tools/security/grype { }; 5938 5940 5939 5941 gt5 = callPackage ../tools/system/gt5 { };