nqptp: copy systemd service and add capability

The binary has its capability to listen on ports removed, and upstream
has already moved to AmbientCapabilities in the systemd service instead
of using setcap. Copying the systemd service allows using the package
with `systemd.packages`.

The patch should be removed after version 1.2.4, along with the other
patch. The patch is taken from [commit 050a8c2][1] in the upstream
repository.

[1]: 050a8c2de9
This commit is contained in:
andre4ik3 2024-10-24 05:42:31 +04:00
parent 5c8ff2e60c
commit 3591d639b1
No known key found for this signature in database
GPG Key ID: 83FE20D3D386A7F4
2 changed files with 19 additions and 1 deletions

View File

@ -18,8 +18,9 @@ stdenv.mkDerivation rec {
};
patches = [
# this patch should be removed when > 1.2.4
# these patches should be removed when > 1.2.4
./remove-setcap.patch
./systemd-service-capability.patch
];
nativeBuildInputs = [ autoreconfHook pkg-config ];
@ -28,6 +29,11 @@ stdenv.mkDerivation rec {
ignoredVersions = ".*(-dev|d0)";
};
postInstall = ''
mkdir -p $out/lib/systemd/system
cp nqptp.service $out/lib/systemd/system
'';
meta = {
homepage = "https://github.com/mikebrady/nqptp";
description = "Daemon and companion application to Shairport Sync that monitors timing data from any PTP clocks";

View File

@ -0,0 +1,12 @@
diff --git a/nqptp.service.in b/nqptp.service.in
index 6f1eb0c..53e6a2e 100644
--- a/nqptp.service.in
+++ b/nqptp.service.in
@@ -8,6 +8,7 @@ Before=shairport-sync.service
ExecStart=@prefix@/bin/nqptp
User=nqptp
Group=nqptp
+AmbientCapabilities=CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target