gssdp-tools: re-add as separate derivation
This commit is contained in:
parent
b30e56bddf
commit
767f2007ff
|
@ -11,6 +11,7 @@
|
|||
, libsoup
|
||||
, glib
|
||||
, gnome
|
||||
, gssdp-tools
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -50,6 +51,7 @@ stdenv.mkDerivation rec {
|
|||
doCheck = true;
|
||||
|
||||
postFixup = ''
|
||||
# Move developer documentation to devdoc output.
|
||||
# Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
|
||||
find -L "$out/share/doc" -type f -regex '.*\.devhelp2?' -print0 \
|
||||
| while IFS= read -r -d ''' file; do
|
||||
|
@ -61,6 +63,10 @@ stdenv.mkDerivation rec {
|
|||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
};
|
||||
|
||||
tests = {
|
||||
inherit gssdp-tools;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
|
42
pkgs/development/libraries/gssdp/standalone-tools.patch
Normal file
42
pkgs/development/libraries/gssdp/standalone-tools.patch
Normal file
|
@ -0,0 +1,42 @@
|
|||
diff --git a/libgssdp/gssdp-client-private.h b/libgssdp/gssdp-client-private.h
|
||||
index ac31247..241c054 100644
|
||||
--- a/libgssdp/gssdp-client-private.h
|
||||
+++ b/libgssdp/gssdp-client-private.h
|
||||
@@ -10,7 +10,11 @@
|
||||
#ifndef GSSDP_CLIENT_PRIVATE_H
|
||||
#define GSSDP_CLIENT_PRIVATE_H
|
||||
|
||||
+#ifdef GSSDP_TOOLS
|
||||
+#include <libgssdp/gssdp-client.h>
|
||||
+#else
|
||||
#include "gssdp-client.h"
|
||||
+#endif
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
diff --git a/tools/meson.build b/tools/meson.build
|
||||
index 40eb8e3..5db545b 100644
|
||||
--- a/tools/meson.build
|
||||
+++ b/tools/meson.build
|
||||
@@ -1,3 +1,10 @@
|
||||
+project('gssdp-tools', 'c', version: '@version@')
|
||||
+gnome = import('gnome')
|
||||
+
|
||||
+gssdp = dependency('gssdp-1.2')
|
||||
+gtk = dependency('gtk4', version : '>= 4')
|
||||
+libsoup = dependency('libsoup-2.4', version : '>= 2.26.1')
|
||||
+
|
||||
resource = gnome.compile_resources(
|
||||
'org.gupnp.GSSDP.DeviceSniffer',
|
||||
'gssdp-device-sniffer.gresource.xml',
|
||||
@@ -12,7 +19,9 @@ sniffer = executable(
|
||||
'main-window.h',
|
||||
resource
|
||||
],
|
||||
- dependencies : [gssdp, gtk],
|
||||
+ dependencies : [gssdp, gtk, libsoup],
|
||||
+ c_args: ['-DGSSDP_TOOLS'],
|
||||
+ include_directories : [include_directories('..')],
|
||||
install: true,
|
||||
export_dynamic : true,
|
||||
gui_app : true
|
50
pkgs/development/libraries/gssdp/tools.nix
Normal file
50
pkgs/development/libraries/gssdp/tools.nix
Normal file
|
@ -0,0 +1,50 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, substituteAll
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, wrapGAppsHook4
|
||||
, gssdp
|
||||
, gtk4
|
||||
, libsoup
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gssdp-tools";
|
||||
inherit (gssdp) version src;
|
||||
|
||||
patches = [
|
||||
# Allow building tools separately from the library.
|
||||
# This is needed to break the depenency cycle.
|
||||
(substituteAll {
|
||||
src = ./standalone-tools.patch;
|
||||
inherit version;
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gssdp
|
||||
gtk4
|
||||
libsoup
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
cd tools
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Device Sniffer tool based on GSSDP framework";
|
||||
homepage = "http://www.gupnp.org/";
|
||||
license = licenses.lgpl2Plus;
|
||||
maintainers = gssdp.meta.maintainers;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
|
@ -5934,6 +5934,8 @@ with pkgs;
|
|||
|
||||
gssdp = callPackage ../development/libraries/gssdp { };
|
||||
|
||||
gssdp-tools = callPackage ../development/libraries/gssdp/tools.nix { };
|
||||
|
||||
grype = callPackage ../tools/security/grype { };
|
||||
|
||||
gt5 = callPackage ../tools/system/gt5 { };
|
||||
|
|
Loading…
Reference in a new issue