Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 desktop-file-utils,
6 meson,
7 ninja,
8 pkg-config,
9 wrapGAppsHook4,
10 vala,
11 evolution-data-server-gtk4,
12 gdk-pixbuf,
13 glib,
14 glib-networking,
15 gnutls,
16 gst_all_1,
17 json-glib,
18 libadwaita,
19 libpeas2,
20 libphonenumber,
21 libportal-gtk4,
22 pipewire,
23 pulseaudio,
24 tinysparql,
25}:
26
27stdenv.mkDerivation (finalAttrs: {
28 pname = "valent";
29 version = "1.0.0.alpha.46-unstable-2024-10-26";
30
31 src = fetchFromGitHub {
32 owner = "andyholmes";
33 repo = "valent";
34 rev = "165a2791d4bf3e7dee69e3dd7885dbe4948265b9";
35 hash = "sha256-7klvOvwyAg+Xno6zWo8UByjaS9OkOuCceuZcAIEgdyU=";
36 fetchSubmodules = true;
37 };
38
39 nativeBuildInputs = [
40 desktop-file-utils
41 meson
42 ninja
43 pkg-config
44 wrapGAppsHook4
45 vala
46 ];
47
48 buildInputs = [
49 evolution-data-server-gtk4
50 gdk-pixbuf
51 glib
52 glib-networking
53 gnutls
54 gst_all_1.gstreamer
55 gst_all_1.gst-plugins-base
56 json-glib
57 libadwaita
58 libpeas2
59 libphonenumber
60 libportal-gtk4
61 pipewire
62 pulseaudio
63 tinysparql
64 ];
65
66 mesonFlags = [
67 (lib.mesonBool "plugin_bluez" true)
68 ];
69
70 meta = {
71 description = "Implementation of the KDE Connect protocol, built on GNOME platform libraries";
72 mainProgram = "valent";
73 longDescription = ''
74 Note that you have to open firewall ports for other devices
75 to connect to it. Use either:
76 ```nix
77 programs.kdeconnect = {
78 enable = true;
79 package = pkgs.valent;
80 }
81 ```
82 or open corresponding firewall ports directly:
83 ```nix
84 networking.firewall = rec {
85 allowedTCPPortRanges = [ { from = 1714; to = 1764; } ];
86 allowedUDPPortRanges = allowedTCPPortRanges;
87 }
88 ```
89 '';
90 homepage = "https://valent.andyholmes.ca";
91 changelog = "https://github.com/andyholmes/valent/blob/${finalAttrs.src.rev}/CHANGELOG.md";
92 license = with lib.licenses; [
93 gpl3Plus
94 cc0
95 cc-by-sa-30
96 ];
97 maintainers = with lib.maintainers; [ aleksana ];
98 platforms = lib.platforms.linux;
99 };
100})