about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/tools/system/tree/default.nix12
1 files changed, 12 insertions, 0 deletions
diff --git a/pkgs/tools/system/tree/default.nix b/pkgs/tools/system/tree/default.nix
index 77c075c89bba..14057ba393e3 100644
--- a/pkgs/tools/system/tree/default.nix
+++ b/pkgs/tools/system/tree/default.nix
@@ -2,6 +2,17 @@
 
 let
   version = "1.6.0";
+
+  # These settings are found in the Makefile, but there seems to be no
+  # way to select one ore the other setting other than editing the file
+  # manually, so we have to duplicate the know how here.
+  systemFlags =
+    if stdenv.isDarwin then ''
+      CFLAGS="-O2 -Wall -fomit-frame-pointer -no-cpp-precomp"
+      LDFLAGS=
+      OBJS+=strverscmp.o
+    '' else
+    "";
 in
 stdenv.mkDerivation {
   name = "tree-${version}";
@@ -15,6 +26,7 @@ stdenv.mkDerivation {
     makeFlagsArray=(
       prefix=$out
       MANDIR=$out/share/man/man1
+      ${systemFlags}
     )
   '';