tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
gssdp-tools: re-add as separate derivation
Jan Tojnar
4 years ago
767f2007
b30e56bd
+100
4 changed files
expand all
collapse all
unified
split
pkgs
development
libraries
gssdp
default.nix
standalone-tools.patch
tools.nix
top-level
all-packages.nix
+6
pkgs/development/libraries/gssdp/default.nix
···
11
11
, libsoup
12
12
, glib
13
13
, gnome
14
14
+
, gssdp-tools
14
15
}:
15
16
16
17
stdenv.mkDerivation rec {
···
50
51
doCheck = true;
51
52
52
53
postFixup = ''
54
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
65
+
};
66
66
+
67
67
+
tests = {
68
68
+
inherit gssdp-tools;
63
69
};
64
70
};
65
71
+42
pkgs/development/libraries/gssdp/standalone-tools.patch
···
1
1
+
diff --git a/libgssdp/gssdp-client-private.h b/libgssdp/gssdp-client-private.h
2
2
+
index ac31247..241c054 100644
3
3
+
--- a/libgssdp/gssdp-client-private.h
4
4
+
+++ b/libgssdp/gssdp-client-private.h
5
5
+
@@ -10,7 +10,11 @@
6
6
+
#ifndef GSSDP_CLIENT_PRIVATE_H
7
7
+
#define GSSDP_CLIENT_PRIVATE_H
8
8
+
9
9
+
+#ifdef GSSDP_TOOLS
10
10
+
+#include <libgssdp/gssdp-client.h>
11
11
+
+#else
12
12
+
#include "gssdp-client.h"
13
13
+
+#endif
14
14
+
15
15
+
G_BEGIN_DECLS
16
16
+
17
17
+
diff --git a/tools/meson.build b/tools/meson.build
18
18
+
index 40eb8e3..5db545b 100644
19
19
+
--- a/tools/meson.build
20
20
+
+++ b/tools/meson.build
21
21
+
@@ -1,3 +1,10 @@
22
22
+
+project('gssdp-tools', 'c', version: '@version@')
23
23
+
+gnome = import('gnome')
24
24
+
+
25
25
+
+gssdp = dependency('gssdp-1.2')
26
26
+
+gtk = dependency('gtk4', version : '>= 4')
27
27
+
+libsoup = dependency('libsoup-2.4', version : '>= 2.26.1')
28
28
+
+
29
29
+
resource = gnome.compile_resources(
30
30
+
'org.gupnp.GSSDP.DeviceSniffer',
31
31
+
'gssdp-device-sniffer.gresource.xml',
32
32
+
@@ -12,7 +19,9 @@ sniffer = executable(
33
33
+
'main-window.h',
34
34
+
resource
35
35
+
],
36
36
+
- dependencies : [gssdp, gtk],
37
37
+
+ dependencies : [gssdp, gtk, libsoup],
38
38
+
+ c_args: ['-DGSSDP_TOOLS'],
39
39
+
+ include_directories : [include_directories('..')],
40
40
+
install: true,
41
41
+
export_dynamic : true,
42
42
+
gui_app : true
+50
pkgs/development/libraries/gssdp/tools.nix
···
1
1
+
{ stdenv
2
2
+
, lib
3
3
+
, substituteAll
4
4
+
, meson
5
5
+
, ninja
6
6
+
, pkg-config
7
7
+
, wrapGAppsHook4
8
8
+
, gssdp
9
9
+
, gtk4
10
10
+
, libsoup
11
11
+
}:
12
12
+
13
13
+
stdenv.mkDerivation rec {
14
14
+
pname = "gssdp-tools";
15
15
+
inherit (gssdp) version src;
16
16
+
17
17
+
patches = [
18
18
+
# Allow building tools separately from the library.
19
19
+
# This is needed to break the depenency cycle.
20
20
+
(substituteAll {
21
21
+
src = ./standalone-tools.patch;
22
22
+
inherit version;
23
23
+
})
24
24
+
];
25
25
+
26
26
+
nativeBuildInputs = [
27
27
+
meson
28
28
+
ninja
29
29
+
pkg-config
30
30
+
wrapGAppsHook4
31
31
+
];
32
32
+
33
33
+
buildInputs = [
34
34
+
gssdp
35
35
+
gtk4
36
36
+
libsoup
37
37
+
];
38
38
+
39
39
+
preConfigure = ''
40
40
+
cd tools
41
41
+
'';
42
42
+
43
43
+
meta = with lib; {
44
44
+
description = "Device Sniffer tool based on GSSDP framework";
45
45
+
homepage = "http://www.gupnp.org/";
46
46
+
license = licenses.lgpl2Plus;
47
47
+
maintainers = gssdp.meta.maintainers;
48
48
+
platforms = platforms.all;
49
49
+
};
50
50
+
}
+2
pkgs/top-level/all-packages.nix
···
5934
5934
5935
5935
gssdp = callPackage ../development/libraries/gssdp { };
5936
5936
5937
5937
+
gssdp-tools = callPackage ../development/libraries/gssdp/tools.nix { };
5938
5938
+
5937
5939
grype = callPackage ../tools/security/grype { };
5938
5940
5939
5941
gt5 = callPackage ../tools/system/gt5 { };