qemu-nix: Build statically

This commit is contained in:
William A. Kennington III 2015-06-01 01:49:57 -07:00
parent 7edb27b7af
commit 5afa4f18d6
2 changed files with 12 additions and 5 deletions

View File

@ -41,7 +41,7 @@ let
optLibuuid = if isNix then null else shouldUsePkg libuuid;
optVde2 = if isNix then null else shouldUsePkg vde2;
optLibaio = shouldUsePkg libaio;
optLibcap_ng = shouldUsePkg libcap_ng;
optLibcap_ng = if isNix then null else shouldUsePkg libcap_ng;
optSpice = if isNix then null else shouldUsePkg spice;
optSpice_protocol = if isNix then null else shouldUsePkg spice_protocol;
optLibceph = if isNix then null else shouldUsePkg libceph;
@ -95,6 +95,8 @@ let
targetList = if stdenv.system == "x86_64-linux" then "x86_64-softmmu,i386-softmmu"
else if stdenv.system == "i686-linux" then "i386-softmmu"
else null;
hasModules = if isNix then null else true;
in
stdenv.mkDerivation rec {
@ -138,7 +140,7 @@ stdenv.mkDerivation rec {
(mkOther "smbd" "smbd")
(mkOther "sysconfdir" "/etc")
(mkOther "localstatedir" "/var")
(mkEnable true "modules" null)
(mkEnable hasModules "modules" null)
(mkEnable false "debug-tcg" null)
(mkEnable false "debug-info" null)
(mkEnable false "sparse" null)
@ -167,7 +169,7 @@ stdenv.mkDerivation rec {
(mkEnable (!isNix) "system" null)
(mkEnable (!isKvmOnly) "user" null)
(mkEnable (!isKvmOnly) "guest-base" null)
(mkEnable true "pie" null)
(mkEnable (!isNix) "pie" null)
(mkEnable (optLibuuid != null) "uuid" null)
(mkEnable (optVde2 != null) "vde" null)
(mkEnable false "netmap" null) # TODO(wkennington): Add Support
@ -199,6 +201,8 @@ stdenv.mkDerivation rec {
(mkEnable (optNumactl != null) "numa" null)
] ++ optionals isKvmOnly [
(mkOther "target-list" targetList)
] ++ optionals isNix [
"--static"
];
installFlags = [

View File

@ -63,8 +63,9 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ pcre zlib libffi libiconv ]
++ libintlOrEmpty;
configureFlags =
optional stdenv.isDarwin "--disable-compile-warnings"
# Static is necessary for qemu-nix to support static userspace translators
configureFlags = [ "--enable-static" ]
++ optional stdenv.isDarwin "--disable-compile-warnings"
++ optional stdenv.isSunOS "--disable-modular-tests";
NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin " -lintl"
@ -75,6 +76,8 @@ stdenv.mkDerivation rec {
export MACOSX_DEPLOYMENT_TARGET=
'';
dontDisableStatic = true;
enableParallelBuilding = true;
DETERMINISTIC_BUILD = 1;