zpaqd: Modernize derivation

- Simplified platform-specific options
 - Almost ready for cross-compilation
wip/yesman
John Ericson 7 years ago
parent c443033be3
commit fedcda6cda
  1. 1
      lib/systems/inspect.nix
  2. 24
      pkgs/tools/archivers/zpaq/zpaqd.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; }; };

@ -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;

Loading…
Cancel
Save