syncthing: apply autoSignDarwinBinariesHook

Somewhere between macOS 13.0.1 and 13.2.1, launchd started rejecting
binaries that aren't signed in Launch Agents/Daemons. This is the case
even on x86 devices, which has a more lax code signing policy compared
to Apple Silicon. This change signs Syncthing binaries so that it can be
auto-started at login by launchd.
This commit is contained in:
midchildan
2023-03-21 21:18:16 +09:00
parent a8cb03117a
commit 8da60f204f
2 changed files with 20 additions and 1 deletions
@@ -1,4 +1,13 @@
{ pkgsBuildBuild, go, buildGoModule, stdenv, lib, procps, fetchFromGitHub, nixosTests }:
{ pkgsBuildBuild
, go
, buildGoModule
, stdenv
, lib
, procps
, fetchFromGitHub
, nixosTests
, autoSignDarwinBinariesHook
}:
let
common = { stname, target, postInstall ? "" }:
@@ -15,6 +24,15 @@ let
vendorHash = "sha256-5NgflkRXkbWiIkASmxIgWliE8sF89HtlMtlIF+5u6Ic=";
nativeBuildInputs = lib.optionals stdenv.isDarwin [
# Recent versions of macOS seem to require binaries to be signed when
# run from Launch Agents/Daemons, even on x86 devices where it has a
# more lax code signing policy compared to Apple Silicon. So just sign
# the binaries on both architectures to make it possible for launchd to
# auto-start Syncthing at login.
autoSignDarwinBinariesHook
];
doCheck = false;
BUILD_USER = "nix";
+1
View File
@@ -33598,6 +33598,7 @@ with pkgs;
syncterm = callPackage ../applications/terminal-emulators/syncterm { };
inherit (callPackages ../applications/networking/syncthing {
inherit (darwin) autoSignDarwinBinariesHook;
buildGoModule = buildGo119Module; # go 1.20 build failure
})
syncthing