syndicate-flake/packages/synit-pid1/default.nix

38 lines
1.2 KiB
Nix

# https://git.syndicate-lang.org/synit/synit/src/branch/main/packaging/packages/synit-pid1/APKBUILD
{ lib, rustPlatform, rust, fetchFromGitea }:
rustPlatform.buildRustPackage rec {
pname = "synit-pid1";
version = "unstable-2022-07-25";
src = fetchFromGitea {
domain = "git.syndicate-lang.org";
owner = "synit";
repo = "synit";
rev = "f91214d1b0c5de0ba6ef3debf39e2632adae9ec5";
hash = "sha256-T+GzvanVTuHvazMQIPVxq02ANtVPM0yma43G3+UoI5c=";
};
patchPhase =
# Patch to take children and configuration from /run/booted-system.
''
runHook prePatch
substituteInPlace src/main.rs \
--replace '"/usr/bin/syndicate-server"' '"/run/booted-system/sw/bin/syndicate-server"' \
--replace '"/sbin/synit-log"' '"/run/booted-system/sw/bin/synit-log"' \
--replace '"/etc/syndicate/boot"' '"/run/booted-system/etc/syndicate/boot"' \
runHook postPatch
'';
sourceRoot = "source/${pname}";
cargoHash = "sha256-0py5bOFwCvZL1SBVx4bo0/jFvt8S5ef8AGGRHZFWsgQ=";
nativeBuildInputs = [ rust ];
meta = {
description = "Synit pid 1 program (patched for NixOS)";
homepage = "https://synit.org/";
maintainers = with lib.maintainers; [ ehmry ];
};
}