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:
@@ -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";
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user