From 749d51bf3562652e48a94f0edf6c2690220fa10d Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 28 Dec 2019 17:20:06 +0100 Subject: [PATCH] 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). --- pkgs/tools/text/qgrep/default.nix | 17 +++++++++++++++-- pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/text/qgrep/default.nix b/pkgs/tools/text/qgrep/default.nix index 5f0e7461361d..c45398e31a1f 100644 --- a/pkgs/tools/text/qgrep/default.nix +++ b/pkgs/tools/text/qgrep/default.nix @@ -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; }; - } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8aa334676608..549c22767aeb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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 { };