summaryrefslogtreecommitdiff
path: root/app-text/tkman
diff options
context:
space:
mode:
Diffstat (limited to 'app-text/tkman')
-rw-r--r--app-text/tkman/Manifest8
-rw-r--r--app-text/tkman/files/tkman-2.2-gentoo.diff62
-rw-r--r--app-text/tkman/files/tkman-CVE-2008-5137.diff278
-rw-r--r--app-text/tkman/files/tkman.desktop9
-rw-r--r--app-text/tkman/metadata.xml8
-rw-r--r--app-text/tkman/tkman-2.2-r1.ebuild40
6 files changed, 405 insertions, 0 deletions
diff --git a/app-text/tkman/Manifest b/app-text/tkman/Manifest
new file mode 100644
index 000000000000..2f934a07ae41
--- /dev/null
+++ b/app-text/tkman/Manifest
@@ -0,0 +1,8 @@
+AUX tkman-2.2-gentoo.diff 2321 SHA256 58d1e00288634797525308ef84a5c8840146b02f7cce85acc098b3240190059f SHA512 9f7329e2ed8267dfed31417a41a3d512571920ba6391d9fc23ef40ff5a18e0c74cf07d810ffc9de27ea88f560dc985d985b0cfe43e7d47b7fcd48af9d109eef7 WHIRLPOOL 9958ec17fcece98aeb6be541dff37aa9d5fb921c6a2e862edb955180641ed38edb6736f231c092d8654482dfec057023d35bc6ea56aaa39e189ecfc3cb1bf822
+AUX tkman-CVE-2008-5137.diff 11645 SHA256 3292226a9690420f52a562a587b93f6a0ff5124db685a4d237350e94bb03298a SHA512 60c65badeaa93d5e032117152905bd3c06985d7694fdec8c9ef9d0816446a865c45a1a4e7ac2dffc8eaf76163514de30663b2185fe6ba8e27a2cf9276aa09f4f WHIRLPOOL f8b83762953b136bf6c0e51448ee53754cfa9cd51d132130604271a1ec8c08399871ba89109ced7df2fdbf780fdb1d82ad363bcedf6a7cf6177fbf6ed3b71165
+AUX tkman.desktop 149 SHA256 ffd7d86e43c577b4152f8e490f4cc68635304d6e69f4d3fa8d82eda7be9906ac SHA512 d73c6ca978f0538c1b02f321cc4f45eec496c3e978229fc7eb373190d447c4d0c7639d0eaf8a3b7cc22d569e6a9088dd8371799874b41b13bb758c75369e572b WHIRLPOOL 59565d93a2ff8fdcdf18a622b19f723ea69bf836bb55115f44d59bd2aff165dd2945b6937e4426e71548b6c8baeb50610f10cea5c76b0be75e6bce18eb6804f3
+DIST tkman-2.2.tar.gz 229273 SHA256 ae2fde02705f154c119c76ca2d9c4132f01706359d218508b682652c8cfb3173 SHA512 31adaa4017282a6e6fba18a5f72c07c7d7d3bc63ef043b214bf68ec4837c73d4e0679d8b7513b0bae3984e1737e797ca886e15150b2e1a9cd288bbd7491a8777 WHIRLPOOL 703a9b9ed432191b5b6a9e10f93a932473a111780b0f190421aa6151f008e05186cc720d83ae4c7880ce4ff4769aab0e72311fb33f9f04b748ff26b7688d8895
+EBUILD tkman-2.2-r1.ebuild 754 SHA256 b87c4b5bd749dc101e7b59fc26339d8a9b6e5e7db5a8f4a7b41cc8e84391c42f SHA512 71702d9f1da8d8261da90ca67f42bd21acb1844b21c331fb5d3decc923f0a66c8b70811782b40a1768fdc9e2b0a6b38c81bc5f0392f583cdeb93e949a1ce604f WHIRLPOOL 71d2964f511c0669337ac0ff5952c20006ee54dc51a2c068d6780a9fc6c633c348de1e5e8d355ffdb68dbbf337cf69390e855bf56d99a4a4a7366da1a481285f
+MISC ChangeLog 2605 SHA256 0fe479cefa4ad0cf8a94e5b054b08e7b1a70f55d2dda6f8a0c9c40c24eccc115 SHA512 1867ea5a69bfaf6226ad6c8baaacc049616d89543d737d2db04a8e26dc3cc80b6ffff564ed2ceb710aacded0a40347c9c0250fe6b4f7448120b3f906a94ea0e4 WHIRLPOOL 547af21054cc9d971bc1ca019b5c51ca787f64252b038c0a1dd50c4064951c50d3ef66aa6861ae34503df8077c99019056fc6a46a9b20e7b8bea4155a55bcce2
+MISC ChangeLog-2015 3253 SHA256 7b15e5d9d986843b7644c3a152c106ceb83f4bbb248917b3a47c3a5c1fb7ed03 SHA512 e843bd827a402312510571dca151be684389cab8cacabb938c449b90dede2e4469a5dee2e089c8cd9cfb66b9680995620471bdea56696001d87b7e0ced10f3e7 WHIRLPOOL f44d29243455f52acc8960c49415b7ffcd2d311bd5baf6e43a134622db32fb6be08bc86f5b88cd77ffe09f78189279fd9f8b46a7a8ed5f5dcff4cbada8376de0
+MISC metadata.xml 242 SHA256 e03e9a0119307912d9d2812a030261e9f8c5e391d0cb98bdaefb73543df60eb2 SHA512 5fb21614caacb9cac921de0acb6fb5dffbc5c3f9666cea2f1a357234e88c4f990d4a55eafd60f0ccfb29060576b955a4710bf75890a7ea4343131d28696dd4ed WHIRLPOOL 6427a359067ca92a40ea237ca6a8165fb1e83803fa78229407f8113467e468142ff118ced12ddc061ee0d1b1795630f5a26a470d2776e850d7ad80451915f3e1
diff --git a/app-text/tkman/files/tkman-2.2-gentoo.diff b/app-text/tkman/files/tkman-2.2-gentoo.diff
new file mode 100644
index 000000000000..92a275361c8f
--- /dev/null
+++ b/app-text/tkman/files/tkman-2.2-gentoo.diff
@@ -0,0 +1,62 @@
+--- tkman-2.2/Makefile.org 2003-12-07 13:26:37.642164439 +0100
++++ tkman-2.2/Makefile 2003-12-07 13:30:39.135540314 +0100
+@@ -25,13 +25,13 @@
+
+ ### you need to localize the paths on these lines
+
+-WISH = /usr/local/bin/wish8.4
++WISH = /usr/bin/wish
+ #WISH = /usr/sww/tcl-8.4/bin/wish
+ #WISH = /private/share/bin/wish8.4
+
+ # the executable `tkman' is placed in BINDIR
+ # this should be a directory that's in your bin PATH
+-BINDIR = /usr/local/bin
++BINDIR = ${DESTDIR}/usr/bin
+ #BINDIR = /private/share/bin
+
+
+@@ -80,7 +80,7 @@
+ # will examine for matches if a search in the usual locations fails while searching
+ # for a man pages and displaying its associated binaries (if any).
+ # Use this feature carefully as a large number of directories can slow down startup.
+-mastermen = "/usr/man /usr/local/man"
++mastermen = "/usr/share/man /usr/local/man"
+ #mastermen = "/usr/man /usr/local/man /usr/sww/man /usr/share/man /usr/kerberos/man"
+ masterbin = "/usr/bin /usr/local/bin"
+ #masterbin = "/usr/bin /usr/local/bin /usr/sww/bin /usr/sww/share/bin /usr/sww/share/X11R5/bin"
+@@ -203,7 +203,7 @@
+ # BY DEFAULT OFF
+ glimpse = ""
+ # Glimpse on, with Boolean scope set to entire file
+-glimpse = "glimpse -W"
++#glimpse = "glimpse -W"
+ # give the full path, if you'd like
+ #glimpse = /usr/sww/bin/glimpse
+ # variations (refer to the Glimpse manual page)
+@@ -228,11 +228,11 @@
+ #glimpseindex = "glimpseindex -o -B"
+ # To shorten most index build times by incrementally building index when possible.
+ # For me, this drops indexing time from ~25 minutes to ~3 minutes, depending
+-glimpseindex = "glimpseindex -o -B -f"
++#glimpseindex = "glimpseindex -o -B -f"
+ # -M 8 gives 8MB of main memory instead of default 2, which speeds up indexing, maybe
+ #glimpseindex = "glimpseindex -o -B -f -M 8"
+ # if you don't want give the power to index, disable glimpseindex here
+-#glimpseindex = ""
++glimpseindex = ""
+ #glimpseindex = "/usr/sww/bin/glimpseindex -o -B"
+ # compressed manual pages are handled automatically; don't add -z to above
+
+@@ -289,9 +289,9 @@
+ rman = rman
+ #rman = /usr/local/bin/rman
+
+-apropos = {man -k}
++#apropos = {man -k}
+ # Linux uses a shell script instead:
+-#apropos = apropos
++apropos = apropos
+ # if don't have apropos (maybe on Windoze)
+ #apropos = ""
+
diff --git a/app-text/tkman/files/tkman-CVE-2008-5137.diff b/app-text/tkman/files/tkman-CVE-2008-5137.diff
new file mode 100644
index 000000000000..2e9bcc2828d6
--- /dev/null
+++ b/app-text/tkman/files/tkman-CVE-2008-5137.diff
@@ -0,0 +1,278 @@
+diff -urN tkman-2.2~/Makefile tkman-2.2/Makefile
+--- tkman-2.2~/Makefile 2003-04-01 17:31:38.000000000 -0600
++++ tkman-2.2/Makefile 2008-12-05 17:37:55.000000000 -0600
+@@ -97,7 +97,7 @@
+ # at the closest DPI in this list
+ dpis = "75 100"
+
+-
++manxlongtmp = [exec mktemp -p /tmp tkman.XXXXXXXXXX]
+ # # # MACHINE DEPENDENCIES # # #
+
+ #manformat = {tbl | neqn | nroff -man }
+@@ -113,7 +113,7 @@
+ # Lines are cached in .../man/cat<n>@<line-length>;
+ # that is, the line length is appended to the usual cache directory names
+ #manformat = {groff -te -Tascii -man /tmp/ll -}
+-manformat = {groff -te -Tlatin1 -man /tmp/ll -}
++manformat = "groff -te -Tlatin1 -mandoc $$manx(longtmp) -"
+ # Ultrix users should uncomment the following line (you don't have eqn)
+ #manformat = {tbl | nroff -man }
+ # HP-UX uses a number of macros that groff doesn't define, so use the builtin nroff
+@@ -362,6 +362,7 @@
+ echo 'set man(texinfodir) $(texinfodir)' >> tkman
+ echo 'set man(gzgrep) $(gzgrep)' >> tkman
+ echo 'set man(rfcdir) $(rfcdir)' >> tkman
++ echo 'set manx(longtmp) $(manxlongtmp)' >> tkman
+ echo 'set man(format) $(manformat)' >> tkman
+ echo 'set man(printers) $(printers)' >> tkman
+ echo 'set manx(dpis) $(dpis)' >> tkman
+diff -urN tkman-2.2~/contrib/outline.tcl tkman-2.2/contrib/outline.tcl
+--- tkman-2.2~/contrib/outline.tcl 2003-04-01 17:31:38.000000000 -0600
++++ tkman-2.2/contrib/outline.tcl 2008-12-05 17:37:55.000000000 -0600
+@@ -71,7 +71,7 @@
+
+ text [set t .inv] -font {Times 12 {}} -wrap word -borderwidth 3 -padx 5 -pady 5 -yscrollcommand "[set v .v] set"
+ set finv [expr 1-[catch {$t tag configure invis -elide 1}]]
+- if !$finv { puts "you must apply the elided text patches first"; exit 0 }
++ if !$finv { puts "you must apply the elided text patches first"; CLEANUP; exit 0 }
+
+ scrollbar $v -orient vertical -command "$t yview"
+
+diff -urN tkman-2.2~/contrib/remote.tcl tkman-2.2/contrib/remote.tcl
+--- tkman-2.2~/contrib/remote.tcl 2003-04-01 17:31:38.000000000 -0600
++++ tkman-2.2/contrib/remote.tcl 2008-12-05 17:37:55.000000000 -0600
+@@ -26,6 +26,7 @@
+ if {$res=="1"} {set ready 1}
+ } elseif {[string match "*insecure*" info]} {
+ puts stderr "can't talk to an insecure server -- see send(n)"
++ CLEANUP
+ exit 1
+ }
+ }
+diff -urN tkman-2.2~/contrib/tkmanclient tkman-2.2/contrib/tkmanclient
+--- tkman-2.2~/contrib/tkmanclient 2003-04-01 17:31:38.000000000 -0600
++++ tkman-2.2/contrib/tkmanclient 2008-12-05 17:37:55.000000000 -0600
+@@ -60,7 +60,7 @@
+ }
+
+ set tkman [ check_for_tkman ]
+-if { $tkman == 0 } { puts stderr "couldnt start tkman!"; exit 1; }
++if { $tkman == 0 } { puts stderr "couldnt start tkman!"; CLEANUP; exit 1; }
+
+ set apropos 0
+ set instNew 0
+diff -urN tkman-2.2~/database.tcl tkman-2.2/database.tcl
+--- tkman-2.2~/database.tcl 2003-04-01 17:31:38.000000000 -0600
++++ tkman-2.2/database.tcl 2008-12-05 17:37:55.000000000 -0600
+@@ -41,6 +41,7 @@
+ if {![llength $manx(manList)]} {
+ puts stderr "Can't find any man pages!"
+ puts stderr "MANPATH = $env(MANPATH)"
++ CLEANUP
+ exit 1
+ }
+
+diff -urN tkman-2.2~/gui.tcl tkman-2.2/gui.tcl
+--- tkman-2.2~/gui.tcl 2003-04-01 17:31:38.000000000 -0600
++++ tkman-2.2/gui.tcl 2008-12-05 17:37:55.000000000 -0600
+@@ -66,7 +66,7 @@
+ wm protocol $w WM_SAVE_YOURSELF "manSave"
+ wm command $w [concat $argv0 $argv]
+ # aborts without saving .tkman
+- wm protocol $w WM_DELETE_WINDOW {exit 0}
++ wm protocol $w WM_DELETE_WINDOW {CLEANUP; exit 0}
+
+ # some braindead window managers ignore iconposition requests after window is iconified, so special setting here
+ if {[regexp $manx(posnregexp) $manx(iconposition) all x y]} {wm iconposition $w $x $y}
+@@ -221,7 +221,7 @@
+ -command "incr stat(checkpoint); manSave; manWinstdout \$curwin {[bolg $manx(startup) ~] updated}"
+ # if {!$dup} { ... but menu shared!
+ $m add separator
+- $m add command -label "Quit, don't update $manx(startup-short)" -command "exit 0"
++ $m add command -label "Quit, don't update $manx(startup-short)" -command "CLEANUP; exit 0"
+ # }
+ }
+
+@@ -537,8 +537,8 @@
+ "
+
+ ### quit
+- button $w.quit -text "Quit" -command "manSave; exit 0" -padx 4
+- if {!$manx(quit)} {$w.quit configure -command "exit 0"}
++ button $w.quit -text "Quit" -command "manSave; CLEANUP; exit 0" -padx 4
++ if {!$manx(quit)} {$w.quit configure -command "CLEANUP; exit 0"}
+ if {$dup} {
+ $w.quit configure -text "Close" -command "
+ destroy $w; incr manx(outcnt) -1; manOutput
+diff -urN tkman-2.2~/manpath.tcl tkman-2.2/manpath.tcl
+--- tkman-2.2~/manpath.tcl 2003-04-01 17:31:38.000000000 -0600
++++ tkman-2.2/manpath.tcl 2008-12-05 17:37:55.000000000 -0600
+@@ -138,6 +138,7 @@
+ if {![llength $manx(paths)]} {
+ if {$manx(manpath-warnings) ne ""} {puts stderr $manx(manpath-warnings)}
+ puts stderr "NO VALID DIRECTORIES IN MANPATH!\a"
++ CLEANUP
+ exit 1
+ }
+ }
+diff -urN tkman-2.2~/prefs.tcl tkman-2.2/prefs.tcl
+--- tkman-2.2~/prefs.tcl 2003-04-01 17:31:38.000000000 -0600
++++ tkman-2.2/prefs.tcl 2008-12-05 17:37:55.000000000 -0600
+@@ -365,7 +365,7 @@
+ pack $g.nroffsave $g.columns $g.fsstnd-always $g.texinfodir $g.recentdays $g.preferTexinfo $g.tryfuzzy $g.preferGNU \
+ $g.maxglimpse $g.maxglimpseexcerpt $g.indexglimpse $g.glimpsestrays $g.indexalso \
+ -fill x -pady 3 -padx 4
+- if {![string match "*groff*/tmp/ll -*" $man(format)]} {pack forget $g.columns}
++ if {![string match "*groff*$manx(longtmp) -*" $man(format)]} {pack forget $g.columns}
+
+
+
+@@ -791,7 +791,7 @@
+ bold {set weight "bold"}
+ italics {set slant "italic"}
+ bold-italics {set weight "bold"; set slant "italic"}
+- default {puts stderr "nonexistent style: $style"; exit 1}
++ default {puts stderr "nonexistent style: $style"; CLEANUP; exit 1}
+ }
+
+ # specify s,m,l within small,medium,large; or set absolute point size
+diff -urN tkman-2.2~/taputils.tcl tkman-2.2/taputils.tcl
+--- tkman-2.2~/taputils.tcl 2003-04-01 17:31:38.000000000 -0600
++++ tkman-2.2/taputils.tcl 2008-12-05 17:37:55.000000000 -0600
+@@ -98,7 +98,7 @@
+ proc assert {bool msg {boom 0}} {
+ if {!$bool} {
+ puts stderr $msg
+- if {$boom} {exit 1}
++ if {$boom} {CLEANUP; exit 1}
+ }
+ }
+
+diff -urN tkman-2.2~/tkman.tcl tkman-2.2/tkman.tcl
+--- tkman-2.2~/tkman.tcl 2003-04-01 17:31:38.000000000 -0600
++++ tkman-2.2/tkman.tcl 2008-12-05 17:37:55.000000000 -0600
+@@ -539,7 +539,7 @@
+ proc manMenuFit {m} {
+ global man manx
+
+- if {[winfo class $m]!="Menu"} {puts stderr "$m not of Menu class"; exit 1}
++ if {[winfo class $m]!="Menu"} {puts stderr "$m not of Menu class"; CLEANUP; exit 1}
+ if {[$m index last] eq "none"} return
+
+ set sh [winfo screenheight $m]
+@@ -1827,7 +1827,7 @@
+ if {$inx<[llength $manx(binvars)]} {
+ after 1000 manBinCheck $inx $err
+ } else {
+- if {$err} {exit 1}
++ if {$err} {CLEANUP; exit 1}
+ .occ entryconfigure "Statistics*" -state normal
+ }
+
+@@ -1850,6 +1850,7 @@
+ }
+ puts -nonewline "tkman"
+ foreach line [split [textmanip::linebreak $helptxt 70] "\n"] { puts "\t$line" }
++ CLEANUP
+ exit 0
+ }
+ -M {set env(MANPATH) $val; incr i}
+@@ -1868,11 +1869,11 @@
+ -start* {set manx(startup) $val; incr i}
+ -data* {puts stderr "-database option obsolete: database kept in memory"; incr i}
+ --v* -
+- -v* {puts stdout "TkMan v$manx(version) of $manx(date)"; exit 0}
++ -v* {puts stdout "TkMan v$manx(version) of $manx(date)"; CLEANUP; exit 0}
+ -t* {set manx(title) $val; incr i}
+ -d* {set manx(debug) 1; set manx(quit) 0; set manx(iconify) 0}
+ -nod* {set manx(debug) 0}
+- -* {puts stdout "[file tail $argv0]: unrecognized option: $arg"; exit 1}
++ -* {puts stdout "[file tail $argv0]: unrecognized option: $arg"; CLEANUP; exit 1}
+ default {
+ after 2000 manShowMan $arg {{}} .man
+ # permit several??? add extras to History?
+@@ -1888,6 +1889,7 @@
+ proc ASSERT {args} {
+ if {![uplevel 1 eval $args]} {
+ puts "ASSERTION VIOLATED: $args"
++ CLEANUP
+ exit 1
+ }
+ }
+@@ -1906,7 +1908,10 @@
+ set manx(lastclick) $clicknow
+ }
+
+-
++proc CLEANUP {} {
++ global manx
++ if { [file exists $manx(longtmp)] == 1 } { file delete $manx(longtmp) }
++}
+
+
+ ##################################################
+@@ -1919,6 +1924,7 @@
+ if {[package vcompare [info tclversion] $manx(mintcl)]==-1 || [package vcompare $tk_version $manx(mintk)]==-1} {
+ puts -nonewline stderr "Tcl $manx(mintcl)/Tk $manx(mintk) minimum versions required. "
+ puts stderr "You have Tcl [info tclversion]/Tk $tk_version"
++ CLEANUP
+ exit 1
+ } elseif {int([info tclversion])-int($manx(mintcl))>=1 || int($tk_version)-int($manx(mintk))>=1} {
+ puts stderr "New major versions of Tcl and/or Tk may have introduced\nincompatibilies in TkMan.\nCheck the TkMan home site for a possible new version.\n"
+@@ -2111,7 +2117,6 @@
+ set manx(line-scale) 1; set manx(screen-scale) 45; set manx(page-scale) [expr int(60*1.5)]
+ set man(error-effect) "bell & flash"; set manx(error-effect-v) [set manx(error-effect-t) {"bell & flash" "bell" "flash" "none"}]
+ set man(columns) 65; set manx(columns-v) {65 90 130 5000}; set manx(columns-t) {"65 (most compatible)" 90 130 "wrap to screen width"}; # no one would want shorter lines
+-set manx(longtmp) /tmp/ll
+ set man(volcol) 4.0c; set manx(volcol-v) {0 1.5c 2.0c 2.5c 3.0c 3.5c 4.0c 4.5c 5.0c 7.5c 10.0c}; set manx(volcol-t) {"no columns" "1.5 cm" "2 cm" "2.5 cm/~1 inch" "3 cm" "3.5 cm" "4 cm" "4.5 cm" "5.0 cm/~2 inches" "7.5 cm" "10 cm"}
+ set man(apropostab) "4.5c"; set manx(apropostab-v) {0 3.0c 4.0c 4.5c 5.0c 5.5c 6.0c 7.5c 10.0c}; set manx(apropostab-t) {"none" "3 cm" "4 cm" "4.5 cm" "5 cm" "5.5 cm" "6 cm" "7.5 cm" "10 cm"}
+ #set man(showoutsub) ""
+@@ -2258,7 +2263,7 @@
+ regexp {(\d\d\d\d)/(\d\d)/(\d\d)} {$Date: 2003/04/01 23:02:52 $} manx(date) y m d
+ set manx(mtime) [clock scan "$m/$d/$y"]
+ set manx(stray-warnings) ""
+-if {[catch {set default(manList) 0}]} {puts "\aBLT conflicts with TkMan."; exit 1}
++if {[catch {set default(manList) 0}]} {puts "\aBLT conflicts with TkMan."; CLEANUP; exit 1}
+ set manx(manList) $man(manList)
+ set manx(manTitleList) $man(manTitleList)
+ set manx(userconfig) "### your additions go below"
+@@ -2385,6 +2390,7 @@
+ if {[string match "#!*" [gets $fid line]]} {
+ puts stderr "$manx(startup) looks like an executable."
+ puts stderr "You should delete it, probably."
++ CLEANUP
+ exit 1
+ }
+
+@@ -2613,6 +2619,7 @@
+
+ if {[llength $man(manList)]!=[llength $man(manTitleList)]} {
+ puts stderr "Length of section abbreviations differs from length of section titles:\n\nlength [llength $man(manList)]:\t$man(manList)\n\nlength [llength $man(manTitleList)]:\t$man(manTitleList)"
++ CLEANUP
+ exit 1
+ }
+
+diff -urN tkman-2.2~/tkmandesc.tcl tkman-2.2/tkmandesc.tcl
+--- tkman-2.2~/tkmandesc.tcl 2003-04-01 17:31:38.000000000 -0600
++++ tkman-2.2/tkmandesc.tcl 2008-12-05 17:37:55.000000000 -0600
+@@ -152,6 +152,7 @@
+ foreach n [concat $from $to] {
+ if {[lsearch $mani(manList) $n]==-1} {
+ puts stderr "$cmd: Section letter `$n' doesn't exist."
++ CLEANUP
+ exit 1
+ }
+ }
+diff -urN tkman-2.2~/version.tcl tkman-2.2/version.tcl
+--- tkman-2.2~/version.tcl 2003-04-01 17:31:38.000000000 -0600
++++ tkman-2.2/version.tcl 2008-12-05 17:37:55.000000000 -0600
+@@ -80,7 +80,7 @@
+
+ ### collect diffs
+ # diff needs at least one of them to be a real file. want text of previous version around anyhow
+- set tmpf /tmp/tkman[pid]
++ set tmpf [exec mktemp -p /tmp tkman.XXXXXXXXXX]
+ # $man(changeleft) $man(zaphy) -- obsolete options
+ set format "$man(format) | $manx(rman) -f ASCII -N"
+ #puts "creating $tmpf (old)"
diff --git a/app-text/tkman/files/tkman.desktop b/app-text/tkman/files/tkman.desktop
new file mode 100644
index 000000000000..25a2cdcbf790
--- /dev/null
+++ b/app-text/tkman/files/tkman.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=TkMan
+Comment=Graphical man page and info viewer
+Exec=tkman
+Icon=TkMan.gif
+Terminal=false
+Type=Application
+Categories=Utility;
+
diff --git a/app-text/tkman/metadata.xml b/app-text/tkman/metadata.xml
new file mode 100644
index 000000000000..1300475e7aa1
--- /dev/null
+++ b/app-text/tkman/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="sourceforge">tkman</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-text/tkman/tkman-2.2-r1.ebuild b/app-text/tkman/tkman-2.2-r1.ebuild
new file mode 100644
index 000000000000..4e21e88ebb46
--- /dev/null
+++ b/app-text/tkman/tkman-2.2-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="TkMan man and info page browser"
+HOMEPAGE="http://tkman.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~amd64 ppc sparc x86"
+IUSE=""
+
+DEPEND="
+ >=app-text/rman-3.1
+ >=dev-lang/tcl-8.4:0
+ >=dev-lang/tk-8.4:0
+ "
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-2.2-gentoo.diff \
+ "${FILESDIR}"/${PN}-CVE-2008-5137.diff #bug 247540
+}
+
+src_install() {
+ local DOCS=( ANNOUNCE-tkman.txt CHANGES README-tkman )
+ local HTML_DOCS=( manual.html )
+
+ dodir /usr/bin
+ default
+
+ doicon contrib/TkMan.gif
+
+ domenu "${FILESDIR}"/tkman.desktop
+}