From fedcda6cdaafc91a03c3aafac087aedf03ae8ae0 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 22 May 2017 17:09:06 -0400 Subject: [PATCH] zpaqd: Modernize derivation - Simplified platform-specific options - Almost ready for cross-compilation --- lib/systems/inspect.nix | 1 + pkgs/tools/archivers/zpaq/zpaqd.nix | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix index 380c36c2b9b0..241c9365f2e7 100644 --- a/lib/systems/inspect.nix +++ b/lib/systems/inspect.nix @@ -7,6 +7,7 @@ rec { "64bit" = { cpu = { bits = 64; }; }; i686 = { cpu = cpuTypes.i686; }; x86_64 = { cpu = cpuTypes.x86_64; }; + x86 = { cpu = { family = "x86"; }; }; Arm = { cpu = { family = "arm"; }; }; Mips = { cpu = { family = "mips"; }; }; BigEndian = { cpu = { significantByte = significantBytes.bigEndian; }; }; diff --git a/pkgs/tools/archivers/zpaq/zpaqd.nix b/pkgs/tools/archivers/zpaq/zpaqd.nix index 499bccaa425b..5e63c7cfaabf 100644 --- a/pkgs/tools/archivers/zpaq/zpaqd.nix +++ b/pkgs/tools/archivers/zpaq/zpaqd.nix @@ -1,7 +1,10 @@ -{ stdenv, fetchurl, unzip }: +{ stdenv, fetchurl, unzip +, buildPlatform, hostPlatform +}: + let - s = # Generated upstream information - rec { + # Generated upstream information + s = rec { baseName="zpaqd"; version="715"; name="${baseName}-${version}"; @@ -9,15 +12,12 @@ let url="http://mattmahoney.net/dc/zpaqd715.zip"; sha256="0868lynb45lm79yvx5f10lj5h6bfv0yck8whcls2j080vmk3n7rk"; }; - isUnix = with stdenv; isLinux || isGNU || isDarwin || isFreeBSD || isOpenBSD; - isx86 = stdenv.isi686 || stdenv.isx86_64; - compileFlags = with stdenv; "" - + (lib.optionalString (isUnix) " -Dunix -pthread") - + (lib.optionalString (isi686) " -march=i686") - + (lib.optionalString (isx86_64) " -march=nocona") - + (lib.optionalString (!isx86) " -DNOJIT") - + " -O3 -mtune=generic -DNDEBUG" - ; + + compileFlags = stdenv.lib.concatStringsSep " " ([ "-O3" "-mtune=generic" "-DNDEBUG" ] + ++ stdenv.lib.optional (hostPlatform.isUnix) "-Dunix -pthread" + ++ stdenv.lib.optional (hostPlatform.isi686) "-march=i686" + ++ stdenv.lib.optional (hostPlatform.isx86_64) "-march=nocona" + ++ stdenv.lib.optional (!hostPlatform.isx86) "-DNOJIT"); in stdenv.mkDerivation { inherit (s) name version;