runit: Add Darwin Compatibility

Not much modification is required to build and run runit on MacOS, all
that was needed was to follow runit's instructions [0] with some
guidance from homebrew's formula. [1]

0: http://smarden.org/runit/install.html
1: https://github.com/Homebrew/homebrew-core/blob/1cf1e61/Formula/runit.rb
This commit is contained in:
Andrew Fontaine 2020-06-01 17:11:51 -04:00
parent 052fa90e82
commit 98bb827799
No known key found for this signature in database
GPG Key ID: 0EE10A962DE0BA2C

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl
{ stdenv, fetchurl, darwin
# Build runit-init as a static binary
, static ? false
@ -23,7 +23,8 @@ stdenv.mkDerivation rec {
doCheck = true;
buildInputs = stdenv.lib.optionals static [ stdenv.cc.libc stdenv.cc.libc.static ];
buildInputs = stdenv.lib.optionals static [ stdenv.cc.libc stdenv.cc.libc.static ] ++
stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.libs.utmp;
postPatch = ''
sed -i "s,\(#define RUNIT\) .*,\1 \"$out/bin/runit\"," src/runit.h
@ -39,7 +40,7 @@ stdenv.mkDerivation rec {
# Both of these are originally hard-coded to gcc
echo ${stdenv.cc.targetPrefix}cc > conf-cc
echo ${stdenv.cc.targetPrefix}cc > conf-ld
echo ${stdenv.cc.targetPrefix}cc ${stdenv.lib.optionalString stdenv.isDarwin "-Xlinker -x "}> conf-ld
'';
installPhase = ''
@ -55,6 +56,6 @@ stdenv.mkDerivation rec {
license = licenses.bsd3;
homepage = "http://smarden.org/runit";
maintainers = with maintainers; [ joachifm ];
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
};
}