diff --git a/pkgs/tools/misc/dvtm/default.nix b/pkgs/tools/misc/dvtm/default.nix index 58c602113ddb..bedfebd96812 100644 --- a/pkgs/tools/misc/dvtm/default.nix +++ b/pkgs/tools/misc/dvtm/default.nix @@ -1,11 +1,9 @@ -{ stdenv, fetchurl, ncurses, customConfig ? null }: - -stdenv.mkDerivation rec { - +{callPackage, fetchurl}: +callPackage ./dvtm.nix rec { name = "dvtm-0.15"; src = fetchurl { - url = "${meta.homepage}/${name}.tar.gz"; + url = "http://www.brain-dump.org/projects/dvtm/${name}.tar.gz"; sha256 = "0475w514b7i3gxk6khy8pfj2gx9l7lv2pwacmq92zn1abv01a84g"; }; @@ -17,29 +15,5 @@ stdenv.mkDerivation rec { sha256 = "1cby8x3ckvhzqa8yxlfrwzgm8wk7yz84kr9psdjr7xwpnca1cqrd"; }) ]; - - CFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-D_DARWIN_C_SOURCE"; - - postPatch = stdenv.lib.optionalString (customConfig != null) '' - cp ${builtins.toFile "config.h" customConfig} ./config.h - ''; - - buildInputs = [ ncurses ]; - - prePatch = '' - substituteInPlace Makefile \ - --replace /usr/share/terminfo $out/share/terminfo - ''; - - installPhase = '' - make PREFIX=$out install - ''; - - meta = with stdenv.lib; { - description = "Dynamic virtual terminal manager"; - homepage = http://www.brain-dump.org/projects/dvtm; - license = licenses.mit; - maintainers = [ maintainers.vrthra ]; - platforms = platforms.unix; - }; } + diff --git a/pkgs/tools/misc/dvtm/dvtm.nix b/pkgs/tools/misc/dvtm/dvtm.nix new file mode 100644 index 000000000000..10fb4cd89bd9 --- /dev/null +++ b/pkgs/tools/misc/dvtm/dvtm.nix @@ -0,0 +1,30 @@ +{ stdenv, ncurses, customConfig ? null, name, src, patches ? [] }: +stdenv.mkDerivation rec { + + inherit name src patches; + + CFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-D_DARWIN_C_SOURCE"; + + postPatch = stdenv.lib.optionalString (customConfig != null) '' + cp ${builtins.toFile "config.h" customConfig} ./config.h + ''; + + buildInputs = [ ncurses ]; + + prePatch = '' + substituteInPlace Makefile \ + --replace /usr/share/terminfo $out/share/terminfo + ''; + + installPhase = '' + make PREFIX=$out install + ''; + + meta = with stdenv.lib; { + description = "Dynamic virtual terminal manager"; + homepage = http://www.brain-dump.org/projects/dvtm; + license = licenses.mit; + maintainers = [ maintainers.vrthra ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/tools/misc/dvtm/unstable.nix b/pkgs/tools/misc/dvtm/unstable.nix new file mode 100644 index 000000000000..6ee2a465c69a --- /dev/null +++ b/pkgs/tools/misc/dvtm/unstable.nix @@ -0,0 +1,29 @@ +{callPackage, fetchFromGitHub, fetchpatch}: +callPackage ./dvtm.nix { + name = "dvtm-unstable-2018-03-31"; + + src = fetchFromGitHub { + owner = "martanne"; + repo = "dvtm"; + rev = "311a8c0c28296f8f87fb63349e0f3254c7481e14"; + sha256 = "0pyxjkaxh8n97kccnmd3p98vi9h8mcfy5lswzqiplsxmxxmlbpx2"; + }; + + patches = [ + # https://github.com/martanne/dvtm/pull/69 + # Use self-pipe instead of signal blocking fixes issues on darwin. + (fetchpatch { + name = "use-self-pipe-fix-darwin"; + url = "https://github.com/martanne/dvtm/commit/1f1ed664d64603f3f1ce1388571227dc723901b2.patch"; + sha256 = "14j3kks7b1v6qq12442v1da3h7khp02rp0vi0qrz0rfgkg1zilpb"; + }) + + # https://github.com/martanne/dvtm/pull/86 + # Fix buffer corruption when title is updated + (fetchpatch { + name = "fix-buffer-corruption-on-title-update"; + url = "https://github.com/martanne/dvtm/commit/be6c3f8f615daeab214d484e6fff22e19631a0d1.patch"; + sha256 = "1wdrl3sg815lhs22fwbc4w5dn4ifpdgl7v1kqfnhg752av4im7h7"; + }) + ]; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index be30a885759a..3f5f115b51e3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2367,6 +2367,8 @@ with pkgs; # customConfig = builtins.readFile ./dvtm.config.h; }; + dvtm-unstable = callPackage ../tools/misc/dvtm/unstable.nix {}; + ecmtools = callPackage ../tools/cd-dvd/ecm-tools { }; e2tools = callPackage ../tools/filesystems/e2tools { };