biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / misc / tkman / default.nix
blobc51c3564fef8a6a8d740dcdcd5a1eb02f19ac15d
1 { lib
2 , stdenv
3 , fetchzip
4 , fetchpatch
5 , makeWrapper
6 , makeDesktopItem
7 , copyDesktopItems
8 , tk
9 , groff
10 , rman
13 stdenv.mkDerivation (finalAttrs: {
14   pname = "tkman";
15   version = "2.2";
17   src = fetchzip {
18     url = "mirror://sourceforge/tkman/tkman-${finalAttrs.version}.tar.gz";
19     hash = "sha256-S4ffz+7zmVy9+isz/8q+FV4wF5Rw2iL1ftY8RsJjRLs=";
20   };
22   nativeBuildInputs = [
23     makeWrapper
24     copyDesktopItems
25   ];
27   patches = [(fetchpatch {
28     url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-text/tkman/files/tkman-CVE-2008-5137.diff";
29     hash = "sha256-l97SY2/YnMgzHYKnVYCVJKV7oGLN1hXNpeHFlLVzTMA=";
30   })];
32   makeFlags = [
33     "BINDIR=$(out)/bin"
34     "WISH=${tk}/bin/wish"
35     "rman=${rman}/bin/rman"
36     # TODO package glimpse https://github.com/gvelez17/glimpse
37     "glimpse=\"\""
38   ];
40   preBuild = ''
41     makeFlagsArray+=(
42       'manformat="${groff}/bin/groff -te -Tlatin1 -mandoc $$manx(longtmp) -"'
43     )
44   '';
46   preInstall = ''
47     mkdir -p $out/bin
48   '';
50   postInstall = ''
51     wrapProgram $out/bin/tkman \
52       --run 'export MANPATH="$(manpath)"'
53     rm $out/bin/retkman # doesn't work
54     install -Dm644 contrib/TkMan.gif $out/share/icons/hicolor/64x64/apps/tkman.gif
55   '';
57   desktopItems = [(makeDesktopItem {
58     name = "tkman";
59     desktopName = "TkMan";
60     comment = "Graphical man page and info viewer";
61     exec = "tkman %f";
62     icon = "tkman";
63     terminal = false;
64     type = "Application";
65     categories = [ "Utility" ];
66   })];
68   meta = with lib; {
69     description = "Graphical, hypertext manual page and Texinfo browser for UNIX";
70     mainProgram = "tkman";
71     longDescription = ''
72       TkMan is a graphical, hypertext manual page and Texinfo browser for UNIX.
73       TkMan boasts hypertext links, unmatched online text formatting and display
74       quality, (optional) outline view of man pages, high quality display and
75       superior navigational interface to Texinfo documents, a novel information
76       visualization mechanism called Notemarks, full text search among man pages
77       and Texinfo, incremental and regular expression search within pages,
78       regular expression search within Texinfo that shows all matches (not just
79       the next), robustly attached yellow highlight annotations, a shortcut/hot
80       list, lists of all pages in user configurable volumes, a comprehensive
81       Preferences panel, and man page versioning support, among many other features.
82     '';
83     homepage = "https://tkman.sourceforge.net/index.html";
84     license = licenses.artistic1;
85     platforms = platforms.unix;
86     maintainers = with maintainers; [ fgaz ];
87   };