about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorPatrick Mahoney <pat@polycrystal.org>2016-04-01 10:20:13 -0500
committerPatrick Mahoney <pat@polycrystal.org>2016-04-01 10:39:37 -0500
commitfc1f5d2cf1a4febaa7843284554fd7397c8988bc (patch)
tree1c4243d174d8710685ed744e385d87d9e3b8e06f /pkgs/development
parente0c225857ffef4142f2478e7d3bda42b92446a8e (diff)
downloadnixlib-fc1f5d2cf1a4febaa7843284554fd7397c8988bc.tar
nixlib-fc1f5d2cf1a4febaa7843284554fd7397c8988bc.tar.gz
nixlib-fc1f5d2cf1a4febaa7843284554fd7397c8988bc.tar.bz2
nixlib-fc1f5d2cf1a4febaa7843284554fd7397c8988bc.tar.lz
nixlib-fc1f5d2cf1a4febaa7843284554fd7397c8988bc.tar.xz
nixlib-fc1f5d2cf1a4febaa7843284554fd7397c8988bc.tar.zst
nixlib-fc1f5d2cf1a4febaa7843284554fd7397c8988bc.zip
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
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/libraries/skalibs/default.nix9
1 files changed, 8 insertions, 1 deletions
diff --git a/pkgs/development/libraries/skalibs/default.nix b/pkgs/development/libraries/skalibs/default.nix
index 1b5a990b19de..349e5582013f 100644
--- a/pkgs/development/libraries/skalibs/default.nix
+++ b/pkgs/development/libraries/skalibs/default.nix
@@ -23,7 +23,14 @@ in stdenv.mkDerivation rec {
     "--libdir=\${prefix}/lib"
     "--includedir=\${prefix}/include"
     "--sysdepdir=\${prefix}/lib/skalibs/sysdeps"
-  ] ++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ]);
+  ]
+  ++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ])
+  # On darwin, the target triplet from -dumpmachine includes version number, but
+  # skarnet.org software uses the triplet to test binary compatibility.
+  # Explicitly setting target ensures code can be compiled against a skalibs
+  # binary built on a different version of darwin.
+  # http://www.skarnet.org/cgi-bin/archive.cgi?1:mss:623:heiodchokfjdkonfhdph
+  ++ (stdenv.lib.optional stdenv.isDarwin "--target=${stdenv.system}");
 
   meta = {
     homepage = http://skarnet.org/software/skalibs/;