nixpkgs/pkgs/tools/system/s6/default.nix
Patrick Mahoney fc1f5d2cf1 set target for darwin binary compat in skarnet.org packages
skalibs:
execline:
s6-dns:
s6-networking:
s6-portable-utils:
s6-rc:
s6:

The above software uses the target triplet from `cc -dumpmachine` as a
binary compatibility check. However, on darwin, the output includes the
darwin version number, which leads to build failures against a binary
skalibs package built a different version of darwin than the current
system.

Explicitly setting target ensures code can be compiled against a skalibs
binary built on a different version of darwin.

See http://www.skarnet.org/cgi-bin/archive.cgi?1:mss:623:heiodchokfjdkonfhdph
2016-04-01 10:39:37 -05:00

47 lines
1.2 KiB
Nix

{ stdenv, execline, fetchgit, skalibs }:
let
version = "2.2.4.3";
in stdenv.mkDerivation rec {
name = "s6-${version}";
src = fetchgit {
url = "git://git.skarnet.org/s6";
rev = "refs/tags/v${version}";
sha256 = "0j981xslcsra8filaawgwq6daqvxxjs0014lqb7dy3qf7c5pc4l8";
};
dontDisableStatic = true;
enableParallelBuilding = true;
configureFlags = [
"--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
"--with-include=${skalibs}/include"
"--with-include=${execline}/include"
"--with-lib=${skalibs}/lib"
"--with-lib=${execline}/lib"
"--with-dynlib=${skalibs}/lib"
"--with-dynlib=${execline}/lib"
]
++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ])
++ (stdenv.lib.optional stdenv.isDarwin "--target=${stdenv.system}");
preBuild = ''
substituteInPlace "src/daemontools-extras/s6-log.c" \
--replace '"execlineb"' '"${execline}/bin/execlineb"'
'';
meta = {
homepage = http://www.skarnet.org/software/s6/;
description = "skarnet.org's small & secure supervision software suite";
platforms = stdenv.lib.platforms.all;
license = stdenv.lib.licenses.isc;
maintainers = with stdenv.lib.maintainers; [ pmahoney ];
};
}