Unverified Commit b6d10ae7 authored by Jonas Heinrich's avatar Jonas Heinrich Committed by GitHub
Browse files

Merge pull request #221507 from fgaz/tkman/init

tkman: init at 2.2
parents 8fe110ce 4b1f06b5
Loading
Loading
Loading
Loading
+87 −0
Original line number Diff line number Diff line
{ lib
, stdenv
, fetchzip
, fetchpatch
, makeWrapper
, makeDesktopItem
, copyDesktopItems
, tk
, groff
, rman
}:

stdenv.mkDerivation rec {
  pname = "tkman";
  version = "2.2";

  src = fetchzip {
    url = "mirror://sourceforge/tkman/tkman-${version}.tar.gz";
    hash = "sha256-S4ffz+7zmVy9+isz/8q+FV4wF5Rw2iL1ftY8RsJjRLs=";
  };

  nativeBuildInputs = [
    makeWrapper
    copyDesktopItems
  ];

  patches = [(fetchpatch {
    url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-text/tkman/files/tkman-CVE-2008-5137.diff";
    hash = "sha256-l97SY2/YnMgzHYKnVYCVJKV7oGLN1hXNpeHFlLVzTMA=";
  })];

  makeFlags = [
    "BINDIR=$(out)/bin"
    "WISH=${tk}/bin/wish"
    "rman=${rman}/bin/rman"
    # TODO package glimpse https://github.com/gvelez17/glimpse
    "glimpse=\"\""
  ];

  preBuild = ''
    makeFlagsArray+=(
      'manformat="${groff}/bin/groff -te -Tlatin1 -mandoc $$manx(longtmp) -"'
    )
  '';

  preInstall = ''
    mkdir -p $out/bin
  '';

  postInstall = ''
    wrapProgram $out/bin/tkman \
      --run 'export MANPATH="$(manpath)"'
    rm $out/bin/retkman # doesn't work
    install -Dm644 contrib/TkMan.gif $out/share/icons/hicolor/64x64/apps/tkman.gif
  '';

  desktopItems = [(makeDesktopItem {
    name = "tkman";
    desktopName = "TkMan";
    comment = "Graphical man page and info viewer";
    exec = "tkman %f";
    icon = "tkman";
    terminal = false;
    type = "Application";
    categories = [ "Utility" ];
  })];

  meta = with lib; {
    description = "Graphical, hypertext manual page and Texinfo browser for UNIX";
    longDescription = ''
      TkMan is a graphical, hypertext manual page and Texinfo browser for UNIX.
      TkMan boasts hypertext links, unmatched online text formatting and display
      quality, (optional) outline view of man pages, high quality display and
      superior navigational interface to Texinfo documents, a novel information
      visualization mechanism called Notemarks, full text search among man pages
      and Texinfo, incremental and regular expression search within pages,
      regular expression search within Texinfo that shows all matches (not just
      the next), robustly attached yellow highlight annotations, a shortcut/hot
      list, lists of all pages in user configurable volumes, a comprehensive
      Preferences panel, and man page versioning support, among many other features.
    '';
    homepage = "https://tkman.sourceforge.net/index.html";
    license = licenses.artistic1;
    platforms = platforms.unix;
    maintainers = with maintainers; [ fgaz ];
  };
}
+2 −0
Original line number Diff line number Diff line
@@ -12772,6 +12772,8 @@ with pkgs;
  tiv = callPackage ../applications/misc/tiv { };
  tkman = callPackage ../tools/misc/tkman { };
  tldr = callPackage ../tools/misc/tldr { };
  tldr-hs = haskellPackages.tldr;