;; dinit.scm - Guix package definition for Dinit (use-modules (guix packages) (guix download) (guix build-system gnu) (guix licenses) (gnu packages pkg-config) (gnu packages m4) (gnu services) (gnu services shepherd)) (define-public dinit (package (name "dinit") (version "0.19.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/davmac314/dinit/archive/refs/tags/v" version ".tar.gz")) (sha256 (base32 "06xad572cc8lc9689jqg7vkdfn6ghlyg94w6f0yag5ml904vfy1s")))) (build-system gnu-build-system) (arguments `(#:tests? #t #:configure-flags (list (string-append "--prefix=" (assoc-ref %outputs "out")) (string-append "--exec-prefix=" (assoc-ref %outputs "out")) "--disable-shutdown"))) (native-inputs (list pkg-config m4)) (home-page "https://davmac.org/projects/dinit") (synopsis "Service manager with dependency management") (description "Dinit is a service manager for Unix-like operating systems that allows the user to manage services with dependencies and parallel startup.") (license asl2.0))) (define dinit-service-type (shepherd-service-type 'dinit (shepherd-service (documentation "Dinit service manage") (provision '(dinit)) (start #~(make-forkexec-constructor (list (file-append dinit "/sbin/dinit")))) (stop #~(make-kill-destructor)))))