diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2018-11-13 16:54:08 -0600 |
---|---|---|
committer | Matthew Bauer <mjbauer95@gmail.com> | 2018-11-29 19:15:30 -0600 |
commit | 9c8fd412248ad907eee7547b19bf3f7583d2c411 (patch) | |
tree | 0db9bedd232a22f0c17c4d7c9f101d9ddaeed160 /pkgs/development/libraries/talloc/default.nix | |
parent | ce6d558c4deebf373eae8723cfb7c181be2be9be (diff) | |
download | nixpkgs-9c8fd412248ad907eee7547b19bf3f7583d2c411.tar nixpkgs-9c8fd412248ad907eee7547b19bf3f7583d2c411.tar.gz nixpkgs-9c8fd412248ad907eee7547b19bf3f7583d2c411.tar.bz2 nixpkgs-9c8fd412248ad907eee7547b19bf3f7583d2c411.tar.lz nixpkgs-9c8fd412248ad907eee7547b19bf3f7583d2c411.tar.xz nixpkgs-9c8fd412248ad907eee7547b19bf3f7583d2c411.tar.zst nixpkgs-9c8fd412248ad907eee7547b19bf3f7583d2c411.zip |
treewide: add emulator to platform
You can use stdenv.hostPlatform.emulator to get an executable that runs cross-built binaries. This could be any emulator. For instance, we use QEMU to emulate Linux targets and Wine to emulate Windows targets. To work with qemu, we need to support custom targets. I’ve reworked the cross tests in pkgs/test/cross to use this functionality. Also, I’ve used talloc to cross-execute with the emulator. There appears to be a cross-execute for all waf builds. In the future, it would be nice to set this for all waf builds. Adds stdenv.hostPlatform.qemuArch attrbute to get the qemuArch for each platform.
Diffstat (limited to 'pkgs/development/libraries/talloc/default.nix')
-rw-r--r-- | pkgs/development/libraries/talloc/default.nix | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/pkgs/development/libraries/talloc/default.nix b/pkgs/development/libraries/talloc/default.nix index 7c758d29835..74558760935 100644 --- a/pkgs/development/libraries/talloc/default.nix +++ b/pkgs/development/libraries/talloc/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchurl, python, pkgconfig, readline, libxslt , docbook_xsl, docbook_xml_dtd_42, fixDarwinDylibNames +, buildPackages }: stdenv.mkDerivation rec { @@ -10,10 +11,9 @@ stdenv.mkDerivation rec { sha256 = "1kk76dyav41ip7ddbbf04yfydb4jvywzi2ps0z2vla56aqkn11di"; }; - nativeBuildInputs = [ pkgconfig fixDarwinDylibNames ]; - buildInputs = [ - python readline libxslt docbook_xsl docbook_xml_dtd_42 - ]; + nativeBuildInputs = [ pkgconfig fixDarwinDylibNames python + docbook_xsl docbook_xml_dtd_42 ]; + buildInputs = [ readline libxslt ]; prePatch = '' patchShebangs buildtools/bin/waf @@ -23,10 +23,14 @@ stdenv.mkDerivation rec { "--enable-talloc-compat1" "--bundled-libraries=NONE" "--builtin-libraries=replace" + ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "--cross-compile" + "--cross-execute=${stdenv.hostPlatform.emulator buildPackages}" ]; + configurePlatforms = []; postInstall = '' - ar q $out/lib/libtalloc.a bin/default/talloc_[0-9]*.o + ${stdenv.cc.targetPrefix}ar q $out/lib/libtalloc.a bin/default/talloc_[0-9]*.o ''; meta = with stdenv.lib; { |