From be3f18d79e2d232c2cbd2a394c34476af8413f0a Mon Sep 17 00:00:00 2001
From: Ross MacLeod <rmm-github@z.odi.ac>
Date: Sun, 4 Jun 2017 21:50:58 +0000
Subject: [PATCH] ddrescue: modernize and fix cross (hopefully)

Carefully do not add attributes for cross unless in cross, to avoid hash breakage
---
 pkgs/tools/system/ddrescue/default.nix | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/pkgs/tools/system/ddrescue/default.nix b/pkgs/tools/system/ddrescue/default.nix
index 3dcbf59d4d7..0b94f328b84 100644
--- a/pkgs/tools/system/ddrescue/default.nix
+++ b/pkgs/tools/system/ddrescue/default.nix
@@ -1,4 +1,9 @@
-{ stdenv, fetchurl, lzip }:
+{ stdenv
+, fetchurl, lzip
+, hostPlatform, buildPlatform
+}:
+
+let inherit (stdenv.lib) optionals; in
 
 stdenv.mkDerivation rec {
   name = "ddrescue-1.22";
@@ -10,7 +15,12 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ lzip ];
 
-  doCheck = true;
+  doCheck = hostPlatform == buildPlatform;
+
+  ${if hostPlatform != buildPlatform then "crossPlatforms" else null} = [ ];
+  ${if hostPlatform != buildPlatform then "configureFlags" else null} = [
+    "CXX=${stdenv.cc.prefix}c++"
+  ];
 
   meta = with stdenv.lib; {
     description = "GNU ddrescue, a data recovery tool";