diff --git a/pkgs/applications/misc/tasknc/default.nix b/pkgs/applications/misc/tasknc/default.nix index 1b3ca7dfc03c..0deda8ce35a3 100644 --- a/pkgs/applications/misc/tasknc/default.nix +++ b/pkgs/applications/misc/tasknc/default.nix @@ -1,48 +1,42 @@ -{ stdenv, fetchurl, taskwarrior, perl, ncurses }: +{ stdenv, fetchFromGitHub, makeWrapper, perl, ncurses, taskwarrior }: stdenv.mkDerivation rec { - version = "0.8"; + version = "2017-05-15"; name = "tasknc-${version}"; - src = fetchurl { - url = "https://github.com/mjheagle8/tasknc/archive/v${version}.tar.gz"; - sha256 = "0max5schga9hmf3vfqk2ic91dr6raxglyyjcqchzla280kxn5c28"; + src = fetchFromGitHub { + owner = "lharding"; + repo = "tasknc"; + rev = "c41d0240e9b848e432f01de735f28de93b934ae7"; + sha256 = "0f7l7fy06p33vw6f6sjnjxfhw951664pmwhjl573jvmh6gi2h1yr"; }; + nativeBuildInputs = [ + makeWrapper + perl # For generating the man pages with pod2man + ]; + + buildInputs = [ ncurses ]; + hardeningDisable = [ "format" ]; - # - # I know this is ugly, but the Makefile does strange things in this package, - # so we have to: - # - # 1. Remove the "doc" task dependency from the "all" target - # 2. Remove the "tasknc.1" task dependency from the "install" target - # 3. Remove the installing of the tasknc.1 file from the install target as - # we just removed the build target for it. - # - # TODO : One could also provide a patch for the doc/manual.pod file so it - # actually builds, but I'm not familiar with this, so this is the faster - # approach for me. We have no manpage, though. - # - preConfigure = '' - sed -i -r 's,(all)(.*)doc,\1\2,' Makefile - sed -i -r 's,(install)(.*)tasknc\.1,\1\2,' Makefile - sed -i -r 's,install\ -D\ -m644\ tasknc\.1\ (.*),,' Makefile - ''; + buildFlags = [ "VERSION=${version}" ]; installPhase = '' - mkdir $out/bin/ -p - mkdir $out/share/man1 -p - mkdir $out/share/tasknc -p - DESTDIR=$out PREFIX= MANPREFIX=share make install + mkdir -p $out/bin/ + mkdir -p $out/share/man/man1 + mkdir -p $out/share/tasknc + + DESTDIR=$out PREFIX= MANPREFIX=/share/man make install + + wrapProgram $out/bin/tasknc --prefix PATH : ${taskwarrior}/bin ''; - buildInputs = [ taskwarrior perl ncurses ]; - meta = { - homepage = https://github.com/mjheagle8/tasknc; + meta = with stdenv.lib; { + homepage = https://github.com/lharding/tasknc; description = "A ncurses wrapper around taskwarrior"; - maintainers = [ stdenv.lib.maintainers.matthiasbeyer ]; - platforms = stdenv.lib.platforms.linux; # Cannot test others + maintainers = with maintainers; [ matthiasbeyer infinisil ]; + platforms = platforms.linux; # Cannot test others }; }