qgrep: fix darwin and aarch64-linux build

https://hydra.nixos.org/build/108321871
https://hydra.nixos.org/build/108556036

Things done:

* SSE2 isn't available for the aarch64-target of GCC (the package builds
  on aarch64 without those flags and works fine as well).

* Added missing darwin libraries.

* Applied a darwin-specific patch which disables i386 as target platform
  (breaks at least on MacOS catalina otherwise).
This commit is contained in:
Maximilian Bosch 2019-12-28 17:20:06 +01:00
parent 8bd736c789
commit 749d51bf35
No known key found for this signature in database
GPG key ID: 091DBF4D1FC46B8E
2 changed files with 18 additions and 3 deletions

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub }:
{ stdenv, fetchFromGitHub, CoreServices, CoreFoundation, fetchpatch }:
stdenv.mkDerivation rec {
version = "1.1";
@ -12,6 +12,20 @@ stdenv.mkDerivation rec {
fetchSubmodules = true;
};
patches = stdenv.lib.optionals stdenv.isDarwin [
(fetchpatch {
url = "https://github.com/zeux/qgrep/commit/21c4d1a5ab0f0bdaa0b5ca993c1315c041418cc6.patch";
sha256 = "0wpxzrd9pmhgbgby17vb8279xwvkxfdd99gvv7r74indgdxqg7v8";
})
];
buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices CoreFoundation ];
postPatch = stdenv.lib.optionalString stdenv.isAarch64 ''
substituteInPlace Makefile \
--replace "-msse2" "" --replace "-DUSE_SSE2" ""
'';
installPhase = ''
install -Dm755 qgrep $out/bin/qgrep
'';
@ -23,5 +37,4 @@ stdenv.mkDerivation rec {
maintainers = [ maintainers.yrashk ];
platforms = platforms.all;
};
}

View file

@ -5911,7 +5911,9 @@ in
qesteidutil = libsForQt5.callPackage ../tools/security/qesteidutil { } ;
qdigidoc = libsForQt5.callPackage ../tools/security/qdigidoc { } ;
qgrep = callPackage ../tools/text/qgrep {};
qgrep = callPackage ../tools/text/qgrep {
inherit (darwin.apple_sdk.frameworks) CoreServices CoreFoundation;
};
qhull = callPackage ../development/libraries/qhull { };