diff --git a/pkgs/tools/system/tree/default.nix b/pkgs/tools/system/tree/default.nix index acf0813b3ac2..5bfe5c9ac755 100644 --- a/pkgs/tools/system/tree/default.nix +++ b/pkgs/tools/system/tree/default.nix @@ -4,22 +4,20 @@ let # 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 = with stdenv; - if isDarwin then '' - CFLAGS="-O2 -Wall -fomit-frame-pointer" - LDFLAGS= - EXTRA_OBJS=strverscmp.o - '' else if isCygwin then '' - CFLAGS="-O2 -Wall -fomit-frame-pointer -DCYGWIN" - LDFLAGS=-s - TREE_DEST=tree.exe - EXTRA_OBJS=strverscmp.o - '' else if (isFreeBSD || isOpenBSD) then '' - CFLAGS="-O2 -Wall -fomit-frame-pointer" - LDFLAGS=-s - EXTRA_OBJS=strverscmp.o - '' else - ""; # use linux flags by default + systemFlags = lib.optionalString stdenv.isDarwin '' + CFLAGS="-O2 -Wall -fomit-frame-pointer" + LDFLAGS= + EXTRA_OBJS=strverscmp.o + '' + lib.optionalString stdenv.isCygwin '' + CFLAGS="-O2 -Wall -fomit-frame-pointer -DCYGWIN" + LDFLAGS=-s + TREE_DEST=tree.exe + EXTRA_OBJS=strverscmp.o + '' + lib.optionalString (stdenv.isFreeBSD || stdenv.isOpenBSD) '' + CFLAGS="-O2 -Wall -fomit-frame-pointer" + LDFLAGS=-s + EXTRA_OBJS=strverscmp.o + ''; # use linux flags by default in stdenv.mkDerivation rec { pname = "tree"; @@ -30,27 +28,27 @@ stdenv.mkDerivation rec { sha256 = "1hmpz6k0mr6salv0nprvm1g0rdjva1kx03bdf1scw8a38d5mspbi"; }; - configurePhase = '' + preConfigure = '' sed -i Makefile -e 's|^OBJS=|OBJS=$(EXTRA_OBJS) |' - makeFlagsArray=( - prefix=$out - MANDIR=$out/share/man/man1 - ${systemFlags} - CC="$CC" - ) ''; - meta = { + makeFlags = [ + "prefix=${placeholder "out"}" + "MANDIR=${placeholder "out"}/share/man/man1" + "CC=$CC" + systemFlags + ]; + + meta = with lib; { homepage = "http://mama.indstate.edu/users/ice/tree/"; description = "Command to produce a depth indented directory listing"; - license = lib.licenses.gpl2; - + license = licenses.gpl2; longDescription = '' Tree is a recursive directory listing command that produces a depth indented listing of files, which is colorized ala dircolors if the LS_COLORS environment variable is set and output is to tty. ''; - - platforms = lib.platforms.all; + platforms = platforms.all; + maintainers = with maintainers; [ SuperSandro2000 ]; }; }