summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-editors
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-editors')
-rw-r--r--app-editors/XML-XSH2/Manifest1
-rw-r--r--app-editors/XML-XSH2/XML-XSH2-2.1.6-r1.ebuild32
-rw-r--r--app-editors/XML-XSH2/metadata.xml37
-rw-r--r--app-editors/adie/Manifest4
-rw-r--r--app-editors/adie/adie-1.6.49.ebuild18
-rw-r--r--app-editors/adie/adie-1.7.45.ebuild17
-rw-r--r--app-editors/adie/adie-1.7.47.ebuild19
-rw-r--r--app-editors/adie/adie-1.7.49.ebuild19
-rw-r--r--app-editors/adie/metadata.xml7
-rw-r--r--app-editors/aee/Manifest1
-rw-r--r--app-editors/aee/aee-2.2.15b.ebuild59
-rw-r--r--app-editors/aee/files/aee-ae-location.diff89
-rw-r--r--app-editors/aee/metadata.xml7
-rw-r--r--app-editors/amyedit/Manifest1
-rw-r--r--app-editors/amyedit/amyedit-1.0-r2.ebuild38
-rw-r--r--app-editors/amyedit/files/amyedit-1.0-gcc45.patch16
-rw-r--r--app-editors/amyedit/files/amyedit-1.0-keyfile.patch62
-rw-r--r--app-editors/amyedit/files/amyedit-1.0-signal.patch86
-rw-r--r--app-editors/amyedit/files/amyedit-1.0-sourceviewmm2.patch331
-rw-r--r--app-editors/amyedit/metadata.xml8
-rw-r--r--app-editors/beaver/Manifest1
-rw-r--r--app-editors/beaver/beaver-0.4.1.ebuild52
-rw-r--r--app-editors/beaver/files/beaver-0.4.1-desktop-file-validate.patch14
-rw-r--r--app-editors/beaver/metadata.xml8
-rw-r--r--app-editors/bluefish/Manifest2
-rw-r--r--app-editors/bluefish/bluefish-2.2.6.ebuild89
-rw-r--r--app-editors/bluefish/bluefish-2.2.7.ebuild93
-rw-r--r--app-editors/bluefish/metadata.xml13
-rw-r--r--app-editors/bvi/Manifest2
-rw-r--r--app-editors/bvi/bvi-1.3.2-r2.ebuild47
-rw-r--r--app-editors/bvi/bvi-1.4.0_alpha.ebuild42
-rw-r--r--app-editors/bvi/files/bvi-1.3.2-fix-buffer-overflow.patch22
-rw-r--r--app-editors/bvi/files/bvi-1.3.2-tinfo.patch35
-rw-r--r--app-editors/bvi/metadata.xml11
-rw-r--r--app-editors/cooledit/Manifest2
-rw-r--r--app-editors/cooledit/cooledit-3.17.17-r1.ebuild48
-rw-r--r--app-editors/cooledit/files/cooledit-3.17.17-asneeded.patch11
-rw-r--r--app-editors/cooledit/files/cooledit-3.17.17-copy.patch20
-rw-r--r--app-editors/cooledit/files/cooledit-3.17.17-gcc4.patch10
-rw-r--r--app-editors/cooledit/files/cooledit-3.17.17-implicit_declarations.patch34
-rw-r--r--app-editors/cooledit/files/cooledit-3.17.17-interix.patch31
-rw-r--r--app-editors/cooledit/files/cooledit-3.17.17-interix5.patch13
-rw-r--r--app-editors/cooledit/metadata.xml10
-rw-r--r--app-editors/curses-hexedit/Manifest1
-rw-r--r--app-editors/curses-hexedit/curses-hexedit-0.9.7.ebuild26
-rw-r--r--app-editors/curses-hexedit/metadata.xml7
-rw-r--r--app-editors/dav/Manifest1
-rw-r--r--app-editors/dav/dav-0.8.5-r1.ebuild41
-rw-r--r--app-editors/dav/files/dav-0.8.5-asneeded.patch12
-rw-r--r--app-editors/dav/files/dav-0.8.5-davrc-buffer-overflow.patch11
-rw-r--r--app-editors/dav/metadata.xml8
-rw-r--r--app-editors/dhex/Manifest1
-rw-r--r--app-editors/dhex/dhex-0.68.ebuild37
-rw-r--r--app-editors/dhex/files/dhex-0.63-Makefile.patch15
-rw-r--r--app-editors/dhex/metadata.xml7
-rw-r--r--app-editors/diakonos/Manifest1
-rw-r--r--app-editors/diakonos/diakonos-0.9.4.ebuild35
-rw-r--r--app-editors/diakonos/metadata.xml8
-rw-r--r--app-editors/e3/Manifest1
-rw-r--r--app-editors/e3/e3-2.8.ebuild38
-rw-r--r--app-editors/e3/metadata.xml16
-rw-r--r--app-editors/editra/Manifest1
-rw-r--r--app-editors/editra/editra-0.7.20-r1.ebuild54
-rw-r--r--app-editors/editra/editra-0.7.20.ebuild50
-rw-r--r--app-editors/editra/metadata.xml5
-rw-r--r--app-editors/ee/Manifest2
-rw-r--r--app-editors/ee/ee-1.4.6.ebuild40
-rw-r--r--app-editors/ee/ee-1.5.2.ebuild45
-rw-r--r--app-editors/ee/files/ee-init-location.diff40
-rw-r--r--app-editors/ee/metadata.xml7
-rw-r--r--app-editors/efte/Manifest1
-rw-r--r--app-editors/efte/efte-1.1-r1.ebuild54
-rw-r--r--app-editors/efte/files/efte-1.1-desktopfile.patch18
-rw-r--r--app-editors/efte/files/efte-1.1-flags.patch15
-rw-r--r--app-editors/efte/metadata.xml10
-rw-r--r--app-editors/elvis/Manifest1
-rw-r--r--app-editors/elvis/elvis-2.2.0-r4.ebuild96
-rw-r--r--app-editors/elvis/files/elvis-2.2.0-glibc-2.10.patch48
-rw-r--r--app-editors/elvis/files/elvis-2.2.0-interix.patch11
-rw-r--r--app-editors/elvis/files/ft2.3-symbol-collision-fix.patch73
-rw-r--r--app-editors/elvis/metadata.xml5
-rw-r--r--app-editors/emacs-vcs/Manifest4
-rw-r--r--app-editors/emacs-vcs/emacs-vcs-24.5.9999.ebuild372
-rw-r--r--app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150523.ebuild372
-rw-r--r--app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150531.ebuild377
-rw-r--r--app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150630.ebuild377
-rw-r--r--app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150731.ebuild377
-rw-r--r--app-editors/emacs-vcs/emacs-vcs-25.0.9999-r1.ebuild377
-rw-r--r--app-editors/emacs-vcs/metadata.xml46
-rw-r--r--app-editors/emacs/Manifest9
-rw-r--r--app-editors/emacs/emacs-18.59-r10.ebuild151
-rw-r--r--app-editors/emacs/emacs-23.4-r13.ebuild348
-rw-r--r--app-editors/emacs/emacs-24.4-r4.ebuild338
-rw-r--r--app-editors/emacs/emacs-24.5.ebuild347
-rw-r--r--app-editors/emacs/metadata.xml46
-rw-r--r--app-editors/emact/Manifest1
-rw-r--r--app-editors/emact/emact-2.56.0.ebuild32
-rw-r--r--app-editors/emact/metadata.xml24
-rw-r--r--app-editors/ersatz-emacs/Manifest1
-rw-r--r--app-editors/ersatz-emacs/ersatz-emacs-20060515.ebuild43
-rw-r--r--app-editors/ersatz-emacs/files/ersatz-emacs-20060515-gentoo.patch57
-rw-r--r--app-editors/ersatz-emacs/metadata.xml12
-rw-r--r--app-editors/fb2edit/Manifest2
-rw-r--r--app-editors/fb2edit/fb2edit-0.0.8.ebuild32
-rw-r--r--app-editors/fb2edit/fb2edit-0.0.9.ebuild34
-rw-r--r--app-editors/fb2edit/files/fb2edit-0.0.9-fix-compiler-warnings.patch101
-rw-r--r--app-editors/fb2edit/metadata.xml15
-rw-r--r--app-editors/fe/Manifest2
-rw-r--r--app-editors/fe/fe-1.8.ebuild39
-rw-r--r--app-editors/fe/fe-1.9.ebuild39
-rw-r--r--app-editors/fe/files/fe-1.8-makefile.patch16
-rw-r--r--app-editors/fe/metadata.xml30
-rw-r--r--app-editors/focuswriter/Manifest2
-rw-r--r--app-editors/focuswriter/files/focuswriter-1.5.2-unbundle-qtsingleapplication.patch36
-rw-r--r--app-editors/focuswriter/focuswriter-1.5.3.ebuild67
-rw-r--r--app-editors/focuswriter/focuswriter-1.5.4.ebuild67
-rw-r--r--app-editors/focuswriter/metadata.xml5
-rw-r--r--app-editors/fte/Manifest4
-rw-r--r--app-editors/fte/files/fte26
-rw-r--r--app-editors/fte/files/fte-gcc3438
-rw-r--r--app-editors/fte/files/fte-interix.patch38
-rw-r--r--app-editors/fte/files/fte-new_keyword.patch14
-rw-r--r--app-editors/fte/files/fte-slang.patch131
-rw-r--r--app-editors/fte/fte-20051115-r3.ebuild124
-rw-r--r--app-editors/fte/fte-20110708.ebuild124
-rw-r--r--app-editors/fte/metadata.xml11
-rw-r--r--app-editors/gedit-plugins/Manifest2
-rw-r--r--app-editors/gedit-plugins/gedit-plugins-3.14.1.ebuild91
-rw-r--r--app-editors/gedit-plugins/gedit-plugins-3.16.0.ebuild91
-rw-r--r--app-editors/gedit-plugins/metadata.xml13
-rw-r--r--app-editors/gedit/Manifest2
-rw-r--r--app-editors/gedit/gedit-3.14.3.ebuild106
-rw-r--r--app-editors/gedit/gedit-3.16.2.ebuild107
-rw-r--r--app-editors/gedit/metadata.xml5
-rw-r--r--app-editors/ghex/Manifest2
-rw-r--r--app-editors/ghex/ghex-3.10.0.ebuild28
-rw-r--r--app-editors/ghex/ghex-3.10.1.ebuild28
-rw-r--r--app-editors/ghex/metadata.xml5
-rw-r--r--app-editors/gobby/Manifest2
-rw-r--r--app-editors/gobby/files/gobby-0.4.94-gtkmm3.patch222
-rw-r--r--app-editors/gobby/files/gobby-0.4.94-missing-icon.patch44
-rw-r--r--app-editors/gobby/gobby-0.4.13.ebuild39
-rw-r--r--app-editors/gobby/gobby-0.4.94.ebuild58
-rw-r--r--app-editors/gobby/metadata.xml9
-rw-r--r--app-editors/gummi/Manifest1
-rw-r--r--app-editors/gummi/gummi-0.6.5.ebuild46
-rw-r--r--app-editors/gummi/gummi-9999.ebuild46
-rw-r--r--app-editors/gummi/metadata.xml18
-rw-r--r--app-editors/gvim/Manifest9
-rw-r--r--app-editors/gvim/files/gvim-completion40
-rw-r--r--app-editors/gvim/files/gvim.desktop-r29
-rw-r--r--app-editors/gvim/files/gvim.svg94
-rw-r--r--app-editors/gvim/files/gvim.xpm46
-rw-r--r--app-editors/gvim/files/gvimrc-r129
-rw-r--r--app-editors/gvim/gvim-7.4.273.ebuild398
-rw-r--r--app-editors/gvim/gvim-7.4.591.ebuild414
-rw-r--r--app-editors/gvim/gvim-7.4.622.ebuild420
-rw-r--r--app-editors/gvim/gvim-7.4.670.ebuild420
-rw-r--r--app-editors/gvim/gvim-7.4.712.ebuild421
-rw-r--r--app-editors/gvim/gvim-7.4.738.ebuild416
-rw-r--r--app-editors/gvim/gvim-7.4.769.ebuild416
-rw-r--r--app-editors/gvim/gvim-9999.ebuild416
-rw-r--r--app-editors/gvim/metadata.xml13
-rw-r--r--app-editors/hexcurse/Manifest1
-rw-r--r--app-editors/hexcurse/files/1.55-gcc.patch11
-rw-r--r--app-editors/hexcurse/files/1.55-tinfo.patch13
-rw-r--r--app-editors/hexcurse/hexcurse-1.55.ebuild32
-rw-r--r--app-editors/hexcurse/metadata.xml8
-rw-r--r--app-editors/hexedit/Manifest1
-rw-r--r--app-editors/hexedit/hexedit-1.2.13.ebuild23
-rw-r--r--app-editors/hexedit/metadata.xml8
-rw-r--r--app-editors/hteditor/Manifest2
-rw-r--r--app-editors/hteditor/hteditor-2.0.22.ebuild49
-rw-r--r--app-editors/hteditor/hteditor-2.1.0.ebuild49
-rw-r--r--app-editors/hteditor/metadata.xml13
-rw-r--r--app-editors/jasspa-microemacs/Manifest4
-rw-r--r--app-editors/jasspa-microemacs/files/20091011-linux3.patch23
-rw-r--r--app-editors/jasspa-microemacs/files/20091011-ncurses.patch15
-rw-r--r--app-editors/jasspa-microemacs/files/jasspa-microemacs.desktop13
-rw-r--r--app-editors/jasspa-microemacs/jasspa-microemacs-20091011-r2.ebuild84
-rw-r--r--app-editors/jasspa-microemacs/metadata.xml22
-rw-r--r--app-editors/jed/Manifest1
-rw-r--r--app-editors/jed/jed-0.99.19.ebuild62
-rw-r--r--app-editors/jed/metadata.xml12
-rw-r--r--app-editors/jedit/Manifest2
-rw-r--r--app-editors/jedit/files/jedit-5.2.0-build-xml.patch24
-rw-r--r--app-editors/jedit/jedit-5.0.0.ebuild101
-rw-r--r--app-editors/jedit/jedit-5.2.0.ebuild99
-rw-r--r--app-editors/jedit/metadata.xml8
-rw-r--r--app-editors/jext/Manifest1
-rw-r--r--app-editors/jext/files/jext-5.0-enum-as-keyword.patch173
-rw-r--r--app-editors/jext/files/jext-pre91
-rw-r--r--app-editors/jext/jext-5.0-r2.ebuild66
-rw-r--r--app-editors/jext/metadata.xml8
-rw-r--r--app-editors/joe/Manifest2
-rw-r--r--app-editors/joe/files/joe-3.5-ftyperc.patch43
-rw-r--r--app-editors/joe/files/joe-3.7-ftyperc.patch43
-rw-r--r--app-editors/joe/files/joe-3.7-sanitise-includes.patch36
-rw-r--r--app-editors/joe/files/joe-3.7-segfault-fix.patch17
-rw-r--r--app-editors/joe/joe-3.7-r2.ebuild56
-rw-r--r--app-editors/joe/joe-4.0.ebuild45
-rw-r--r--app-editors/joe/metadata.xml22
-rw-r--r--app-editors/jove/Manifest1
-rw-r--r--app-editors/jove/files/jove-4.16.0.70.3.1-getline.patch81
-rw-r--r--app-editors/jove/files/jove-4.16.0.73-build.patch188
-rw-r--r--app-editors/jove/files/jove-4.16.0.73-doc.patch34
-rw-r--r--app-editors/jove/files/jove-4.16.0.73-sendmail.patch19
-rw-r--r--app-editors/jove/jove-4.16.0.73.ebuild52
-rw-r--r--app-editors/jove/metadata.xml12
-rw-r--r--app-editors/juffed/Manifest1
-rw-r--r--app-editors/juffed/files/0.10-link-libjuff-against-libenca.patch24
-rw-r--r--app-editors/juffed/juffed-0.10.ebuild45
-rw-r--r--app-editors/juffed/metadata.xml8
-rw-r--r--app-editors/jupp/Manifest4
-rw-r--r--app-editors/jupp/jupp-3.1_p23.ebuild36
-rw-r--r--app-editors/jupp/jupp-3.1_p24.ebuild36
-rw-r--r--app-editors/jupp/jupp-3.1_p26.ebuild36
-rw-r--r--app-editors/jupp/jupp-3.1_p27.ebuild36
-rw-r--r--app-editors/jupp/metadata.xml8
-rw-r--r--app-editors/kile/Manifest1
-rw-r--r--app-editors/kile/kile-2.1.3-r1.ebuild58
-rw-r--r--app-editors/kile/metadata.xml10
-rw-r--r--app-editors/latexila/Manifest2
-rw-r--r--app-editors/latexila/latexila-3.14.4.ebuild48
-rw-r--r--app-editors/latexila/latexila-3.16.1.ebuild55
-rw-r--r--app-editors/latexila/metadata.xml11
-rw-r--r--app-editors/le/Manifest1
-rw-r--r--app-editors/le/le-1.14.3.ebuild21
-rw-r--r--app-editors/le/metadata.xml7
-rw-r--r--app-editors/leafpad/Manifest1
-rw-r--r--app-editors/leafpad/files/leafpad-0.8.18.1-fdo.patch21
-rw-r--r--app-editors/leafpad/files/leafpad-0.8.18.1-format-security.patch30
-rw-r--r--app-editors/leafpad/leafpad-0.8.18.1.ebuild51
-rw-r--r--app-editors/leafpad/metadata.xml11
-rw-r--r--app-editors/leo/Manifest3
-rw-r--r--app-editors/leo/leo-4.11.ebuild35
-rw-r--r--app-editors/leo/leo-5.0.ebuild36
-rw-r--r--app-editors/leo/leo-5.1.ebuild35
-rw-r--r--app-editors/leo/metadata.xml9
-rw-r--r--app-editors/levee/Manifest1
-rw-r--r--app-editors/levee/files/levee-3.4o-darwin.patch16
-rw-r--r--app-editors/levee/files/levee-3.5-glibc210.patch80
-rw-r--r--app-editors/levee/files/levee-3.5a-QA.patch16
-rw-r--r--app-editors/levee/levee-3.5a.ebuild40
-rw-r--r--app-editors/levee/metadata.xml7
-rw-r--r--app-editors/lfhex/Manifest1
-rw-r--r--app-editors/lfhex/files/01-abs-llabs.dpatch19
-rw-r--r--app-editors/lfhex/files/02-gcc-4.7.dpatch19
-rw-r--r--app-editors/lfhex/lfhex-0.42.ebuild38
-rw-r--r--app-editors/lfhex/metadata.xml7
-rw-r--r--app-editors/lpe/Manifest1
-rw-r--r--app-editors/lpe/files/lpe-1.2.6.13-make-382.patch23
-rw-r--r--app-editors/lpe/lpe-1.2.6.13.ebuild50
-rw-r--r--app-editors/lpe/metadata.xml7
-rw-r--r--app-editors/metadata.xml32
-rw-r--r--app-editors/mg/Manifest3
-rw-r--r--app-editors/mg/metadata.xml9
-rw-r--r--app-editors/mg/mg-20110905-r1.ebuild49
-rw-r--r--app-editors/mg/mg-20141127.ebuild52
-rw-r--r--app-editors/mg/mg-20150323.ebuild52
-rw-r--r--app-editors/mlview/Manifest1
-rw-r--r--app-editors/mlview/files/mlview-0.9.0-desktop.patch20
-rw-r--r--app-editors/mlview/files/mlview-0.9.0-gcc44.patch82
-rw-r--r--app-editors/mlview/files/mlview-0.9.0-gcc45.patch15
-rw-r--r--app-editors/mlview/files/mlview-0.9.0-r1-10_port_to_gtksourceview2.patch218
-rw-r--r--app-editors/mlview/files/mlview-0.9.0-r1-autoreconf.patch25
-rw-r--r--app-editors/mlview/metadata.xml13
-rw-r--r--app-editors/mlview/mlview-0.9.0-r1.ebuild63
-rw-r--r--app-editors/moe/Manifest2
-rw-r--r--app-editors/moe/files/moe-1.6-tinfo.patch11
-rw-r--r--app-editors/moe/metadata.xml12
-rw-r--r--app-editors/moe/moe-1.6.ebuild37
-rw-r--r--app-editors/moe/moe-1.7.ebuild37
-rw-r--r--app-editors/mousepad/Manifest2
-rw-r--r--app-editors/mousepad/files/mousepad-0.3.0-validate.patch17
-rw-r--r--app-editors/mousepad/metadata.xml11
-rw-r--r--app-editors/mousepad/mousepad-0.3.0.ebuild36
-rw-r--r--app-editors/mousepad/mousepad-0.4.0.ebuild47
-rw-r--r--app-editors/mp/Manifest1
-rw-r--r--app-editors/mp/files/mp-5.2.1-prll.patch46
-rw-r--r--app-editors/mp/files/mp-5.2.2-gtk+.patch40
-rw-r--r--app-editors/mp/metadata.xml8
-rw-r--r--app-editors/mp/mp-5.2.2.ebuild102
-rw-r--r--app-editors/nano/Manifest12
-rw-r--r--app-editors/nano/files/awk.nanorc38
-rw-r--r--app-editors/nano/files/css.nanorc9
-rw-r--r--app-editors/nano/files/gentoo.nanorc50
-rw-r--r--app-editors/nano/files/nano-1.3.12-fix2.patch15
-rw-r--r--app-editors/nano/files/nano-1.3.12-path.patch199
-rw-r--r--app-editors/nano/files/nano-1.3.12-scroll.patch39
-rw-r--r--app-editors/nano/files/nano-2.3.1-bind-unbind-docs.patch118
-rw-r--r--app-editors/nano/files/nano-2.3.1-drop-target.patch30
-rw-r--r--app-editors/nano/files/nano-2.3.1-gentoo-nanorc.patch95
-rw-r--r--app-editors/nano/files/nano-2.3.1-ncurses-pkg-config.patch52
-rw-r--r--app-editors/nano/files/nano-2.3.1-shell-nanorc.patch44
-rw-r--r--app-editors/nano/files/nano-2.3.2-bind-unbind-docs.patch119
-rw-r--r--app-editors/nano/files/nano-2.4.0-no-speller.patch88
-rw-r--r--app-editors/nano/files/xml.nanorc9
-rw-r--r--app-editors/nano/metadata.xml38
-rw-r--r--app-editors/nano/nano-1.3.12-r1.ebuild80
-rw-r--r--app-editors/nano/nano-2.0.9.ebuild79
-rw-r--r--app-editors/nano/nano-2.1.10.ebuild84
-rw-r--r--app-editors/nano/nano-2.2.5.ebuild84
-rw-r--r--app-editors/nano/nano-2.3.1-r1.ebuild71
-rw-r--r--app-editors/nano/nano-2.3.1-r2.ebuild68
-rw-r--r--app-editors/nano/nano-2.3.1.ebuild77
-rw-r--r--app-editors/nano/nano-2.3.2-r1.ebuild79
-rw-r--r--app-editors/nano/nano-2.3.2.ebuild72
-rw-r--r--app-editors/nano/nano-2.3.3.ebuild76
-rw-r--r--app-editors/nano/nano-2.3.4.ebuild76
-rw-r--r--app-editors/nano/nano-2.3.6.ebuild76
-rw-r--r--app-editors/nano/nano-2.4.0.ebuild77
-rw-r--r--app-editors/nano/nano-2.4.1.ebuild76
-rw-r--r--app-editors/nano/nano-2.4.2.ebuild76
-rw-r--r--app-editors/ne/Manifest2
-rw-r--r--app-editors/ne/metadata.xml10
-rw-r--r--app-editors/ne/ne-2.5.ebuild53
-rw-r--r--app-editors/ne/ne-3.0.1.ebuild54
-rw-r--r--app-editors/nedit/Manifest1
-rw-r--r--app-editors/nedit/files/nedit-5.5_p20090914-ldflags.patch17
-rw-r--r--app-editors/nedit/files/nedit-5.5_p20110116-40_Pointer_to_Integer.patch261
-rw-r--r--app-editors/nedit/files/nedit.svg69
-rw-r--r--app-editors/nedit/metadata.xml7
-rw-r--r--app-editors/nedit/nedit-5.5_p20110116-r2.ebuild76
-rw-r--r--app-editors/neovim/Manifest2
-rw-r--r--app-editors/neovim/files/nvimrc168
-rw-r--r--app-editors/neovim/metadata.xml8
-rw-r--r--app-editors/neovim/neovim-0.0.0_pre20150627.ebuild62
-rw-r--r--app-editors/neovim/neovim-0.0.0_pre20150727.ebuild62
-rw-r--r--app-editors/ng/Manifest1
-rw-r--r--app-editors/ng/files/ng-1.5beta1-configure.patch19
-rw-r--r--app-editors/ng/files/ng-1.5beta1-ncurses.patch12
-rw-r--r--app-editors/ng/metadata.xml5
-rw-r--r--app-editors/ng/ng-1.5_beta1-r1.ebuild64
-rw-r--r--app-editors/ng/ng-1.5_beta1.ebuild62
-rw-r--r--app-editors/nvi/Manifest1
-rw-r--r--app-editors/nvi/files/nvi-1.81.6-ac_config_header.patch12
-rw-r--r--app-editors/nvi/files/nvi-1.81.6-db.patch26
-rw-r--r--app-editors/nvi/files/nvi-1.81.6-db44.patch29
-rw-r--r--app-editors/nvi/files/nvi-1.81.6-perl-as-needed.patch94
-rw-r--r--app-editors/nvi/files/nvi-1.81.6-perl-shortnames.patch20
-rw-r--r--app-editors/nvi/files/nvi-1.81.6-strlen-macro-renaming.patch499
-rw-r--r--app-editors/nvi/files/nvi-1.81.6-use_pkgconfig_for_ncurses.patch30
-rw-r--r--app-editors/nvi/metadata.xml8
-rw-r--r--app-editors/nvi/nvi-1.81.6-r3.ebuild90
-rw-r--r--app-editors/nvi/nvi-1.81.6-r4.ebuild101
-rw-r--r--app-editors/nvi/nvi-1.81.6-r5.ebuild102
-rw-r--r--app-editors/padre/Manifest2
-rw-r--r--app-editors/padre/metadata.xml8
-rw-r--r--app-editors/padre/padre-0.980.0-r1.ebuild107
-rw-r--r--app-editors/padre/padre-1.0.0.ebuild107
-rw-r--r--app-editors/pluma/Manifest2
-rw-r--r--app-editors/pluma/metadata.xml8
-rw-r--r--app-editors/pluma/pluma-1.8.0.ebuild86
-rw-r--r--app-editors/pluma/pluma-1.8.1.ebuild88
-rw-r--r--app-editors/qemacs/Manifest1
-rw-r--r--app-editors/qemacs/files/qemacs-0.3.2_pre20070226-tty_utf8.patch43
-rw-r--r--app-editors/qemacs/files/qemacs-0.4.0_pre20080605-Makefile.patch35
-rw-r--r--app-editors/qemacs/files/qemacs-0.4.0_pre20080605-make_backup.patch68
-rw-r--r--app-editors/qemacs/files/qemacs-0.4.0_pre20090420-nostrip.patch36
-rw-r--r--app-editors/qemacs/metadata.xml35
-rw-r--r--app-editors/qemacs/qemacs-0.4.0_pre20090420-r1.ebuild77
-rw-r--r--app-editors/qwriter/Manifest1
-rw-r--r--app-editors/qwriter/files/qwriter-0.1.9-gcc47.patch13
-rw-r--r--app-editors/qwriter/metadata.xml11
-rw-r--r--app-editors/qwriter/qwriter-0.1.9.ebuild50
-rw-r--r--app-editors/qxmledit/Manifest2
-rw-r--r--app-editors/qxmledit/metadata.xml19
-rw-r--r--app-editors/qxmledit/qxmledit-0.8.5.ebuild59
-rw-r--r--app-editors/qxmledit/qxmledit-0.8.8.1.ebuild63
-rw-r--r--app-editors/retext/Manifest3
-rw-r--r--app-editors/retext/metadata.xml15
-rw-r--r--app-editors/retext/retext-4.1.3.ebuild55
-rw-r--r--app-editors/retext/retext-5.0.2.ebuild60
-rw-r--r--app-editors/retext/retext-5.1.0.ebuild60
-rw-r--r--app-editors/retext/retext-9999.ebuild60
-rw-r--r--app-editors/sandy/Manifest1
-rw-r--r--app-editors/sandy/files/sandy-0.4-gentoo.patch49
-rw-r--r--app-editors/sandy/metadata.xml7
-rw-r--r--app-editors/sandy/sandy-0.4.ebuild31
-rw-r--r--app-editors/scite/Manifest3
-rw-r--r--app-editors/scite/files/scite-3.0.1-no-lua.patch16
-rw-r--r--app-editors/scite/files/scite.desktop8
-rw-r--r--app-editors/scite/metadata.xml13
-rw-r--r--app-editors/scite/scite-3.5.2.ebuild87
-rw-r--r--app-editors/scite/scite-3.5.4.ebuild85
-rw-r--r--app-editors/scite/scite-3.5.5.ebuild85
-rw-r--r--app-editors/shed/Manifest3
-rw-r--r--app-editors/shed/files/shed-1.15-cflags.patch11
-rw-r--r--app-editors/shed/files/shed-1.15-interix.patch14
-rw-r--r--app-editors/shed/files/shed-1.15-tinfo.patch12
-rw-r--r--app-editors/shed/metadata.xml10
-rw-r--r--app-editors/shed/shed-1.12.ebuild21
-rw-r--r--app-editors/shed/shed-1.13.ebuild21
-rw-r--r--app-editors/shed/shed-1.15.ebuild28
-rw-r--r--app-editors/tea/Manifest2
-rw-r--r--app-editors/tea/metadata.xml14
-rw-r--r--app-editors/tea/tea-36.0.2.ebuild58
-rw-r--r--app-editors/tea/tea-41.0.0.ebuild57
-rw-r--r--app-editors/teco/Manifest5
-rw-r--r--app-editors/teco/files/teco-double-free.diff20
-rw-r--r--app-editors/teco/files/teco-gcc4.patch11
-rw-r--r--app-editors/teco/files/teco-warnings.patch47
-rw-r--r--app-editors/teco/metadata.xml27
-rw-r--r--app-editors/teco/teco-1.00-r4.ebuild66
-rw-r--r--app-editors/ted/Manifest1
-rw-r--r--app-editors/ted/files/ted-2.23-make.patch11
-rw-r--r--app-editors/ted/metadata.xml7
-rw-r--r--app-editors/ted/ted-2.23.ebuild66
-rw-r--r--app-editors/uemacs-pk/Manifest2
-rw-r--r--app-editors/uemacs-pk/files/uemacs-pk-4.0.15_p20110825-gentoo.patch15
-rw-r--r--app-editors/uemacs-pk/metadata.xml22
-rw-r--r--app-editors/uemacs-pk/uemacs-pk-4.0.15_p20130222.ebuild43
-rw-r--r--app-editors/uemacs-pk/uemacs-pk-4.0.15_p20141208.ebuild43
-rw-r--r--app-editors/vile/Manifest3
-rw-r--r--app-editors/vile/files/vile-9.8h-flex.patch30
-rw-r--r--app-editors/vile/metadata.xml5
-rw-r--r--app-editors/vile/vile-9.8k.ebuild48
-rw-r--r--app-editors/vile/vile-9.8n.ebuild42
-rw-r--r--app-editors/vile/vile-9.8o.ebuild42
-rw-r--r--app-editors/vim-core/Manifest10
-rw-r--r--app-editors/vim-core/files/vimrc-r4200
-rw-r--r--app-editors/vim-core/files/xxd-completion25
-rw-r--r--app-editors/vim-core/metadata.xml8
-rw-r--r--app-editors/vim-core/vim-core-7.4.273.ebuild232
-rw-r--r--app-editors/vim-core/vim-core-7.4.591.ebuild230
-rw-r--r--app-editors/vim-core/vim-core-7.4.622.ebuild230
-rw-r--r--app-editors/vim-core/vim-core-7.4.670.ebuild230
-rw-r--r--app-editors/vim-core/vim-core-7.4.712.ebuild230
-rw-r--r--app-editors/vim-core/vim-core-7.4.738.ebuild225
-rw-r--r--app-editors/vim-core/vim-core-7.4.769.ebuild225
-rw-r--r--app-editors/vim-core/vim-core-9999.ebuild225
-rw-r--r--app-editors/vim-qt/Manifest2
-rw-r--r--app-editors/vim-qt/files/vim-qt.desktop9
-rw-r--r--app-editors/vim-qt/metadata.xml13
-rw-r--r--app-editors/vim-qt/vim-qt-20140827-r2.ebuild119
-rw-r--r--app-editors/vim-qt/vim-qt-20150102.ebuild120
-rw-r--r--app-editors/vim/Manifest9
-rw-r--r--app-editors/vim/files/vim-completion36
-rw-r--r--app-editors/vim/metadata.xml16
-rw-r--r--app-editors/vim/vim-7.4.273.ebuild369
-rw-r--r--app-editors/vim/vim-7.4.591.ebuild388
-rw-r--r--app-editors/vim/vim-7.4.622.ebuild394
-rw-r--r--app-editors/vim/vim-7.4.670.ebuild394
-rw-r--r--app-editors/vim/vim-7.4.712.ebuild394
-rw-r--r--app-editors/vim/vim-7.4.738.ebuild389
-rw-r--r--app-editors/vim/vim-7.4.769.ebuild389
-rw-r--r--app-editors/vim/vim-9999.ebuild389
-rw-r--r--app-editors/wily/Manifest1
-rw-r--r--app-editors/wily/metadata.xml7
-rw-r--r--app-editors/wily/wily-1.0-r1.ebuild37
-rw-r--r--app-editors/wxhexeditor/Manifest3
-rw-r--r--app-editors/wxhexeditor/files/wxhexeditor-0.20-makefile.patch108
-rw-r--r--app-editors/wxhexeditor/files/wxhexeditor-0.21-desktop-validation.patch17
-rw-r--r--app-editors/wxhexeditor/files/wxhexeditor-0.21-makefile.patch107
-rw-r--r--app-editors/wxhexeditor/files/wxhexeditor-0.22-makefile.patch96
-rw-r--r--app-editors/wxhexeditor/metadata.xml8
-rw-r--r--app-editors/wxhexeditor/wxhexeditor-0.20.ebuild35
-rw-r--r--app-editors/wxhexeditor/wxhexeditor-0.21.ebuild38
-rw-r--r--app-editors/wxhexeditor/wxhexeditor-0.22.ebuild38
-rw-r--r--app-editors/xemacs/Manifest6
-rw-r--r--app-editors/xemacs/files/README.Gentoo45
-rw-r--r--app-editors/xemacs/files/xemacs-21.4.19-db.patch84
-rw-r--r--app-editors/xemacs/files/xemacs-21.4.19-texi.patch33
-rw-r--r--app-editors/xemacs/files/xemacs-21.4.21-vcdiff.patch19
-rw-r--r--app-editors/xemacs/files/xemacs-21.4.22-deprecated-ldap.patch18
-rw-r--r--app-editors/xemacs/files/xemacs-21.4.22-large-images.patch122
-rw-r--r--app-editors/xemacs/files/xemacs-21.4.22-libpng15.patch66
-rw-r--r--app-editors/xemacs/files/xemacs-21.4.22-texinfo-5.patch437
-rw-r--r--app-editors/xemacs/files/xemacs-21.5.29-optimization-bug.patch14
-rw-r--r--app-editors/xemacs/files/xemacs-21.5.33-no-mule-build.patch33
-rw-r--r--app-editors/xemacs/files/xemacs-21.5.34-ncurses-tinfo.patch13
-rw-r--r--app-editors/xemacs/files/xemacs.desktop33
-rw-r--r--app-editors/xemacs/metadata.xml19
-rw-r--r--app-editors/xemacs/xemacs-21.4.22-r4.ebuild258
-rw-r--r--app-editors/xemacs/xemacs-21.4.24.ebuild241
-rw-r--r--app-editors/xemacs/xemacs-21.5.31.ebuild239
-rw-r--r--app-editors/xemacs/xemacs-21.5.33.ebuild237
-rw-r--r--app-editors/xemacs/xemacs-21.5.34-r2.ebuild250
-rw-r--r--app-editors/xmlcopyeditor/Manifest4
-rw-r--r--app-editors/xmlcopyeditor/files/xmlcopyeditor-1.2.0.6-gcc-4.8.patch13
-rw-r--r--app-editors/xmlcopyeditor/metadata.xml20
-rw-r--r--app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.12.ebuild56
-rw-r--r--app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.6.ebuild57
-rw-r--r--app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.9.ebuild58
-rw-r--r--app-editors/xvile/Manifest3
-rw-r--r--app-editors/xvile/files/vile-9.8h-flex.patch30
-rw-r--r--app-editors/xvile/metadata.xml5
-rw-r--r--app-editors/xvile/xvile-9.8k.ebuild48
-rw-r--r--app-editors/xvile/xvile-9.8n.ebuild42
-rw-r--r--app-editors/xvile/xvile-9.8o.ebuild42
-rw-r--r--app-editors/yudit/Manifest2
-rw-r--r--app-editors/yudit/metadata.xml7
-rw-r--r--app-editors/yudit/yudit-2.9.2.ebuild34
-rw-r--r--app-editors/yudit/yudit-2.9.6.ebuild27
-rw-r--r--app-editors/zile/Manifest2
-rw-r--r--app-editors/zile/files/zile-2.3.24-userhome.patch26
-rw-r--r--app-editors/zile/metadata.xml15
-rw-r--r--app-editors/zile/zile-2.3.24-r1.ebuild38
-rw-r--r--app-editors/zile/zile-2.4.11.ebuild39
-rw-r--r--app-editors/znotes/Manifest1
-rw-r--r--app-editors/znotes/files/znotes-0.4.5-gcc-4.7.patch24
-rw-r--r--app-editors/znotes/metadata.xml10
-rw-r--r--app-editors/znotes/znotes-0.4.5.ebuild28
-rw-r--r--app-editors/zoinks/Manifest1
-rw-r--r--app-editors/zoinks/metadata.xml7
-rw-r--r--app-editors/zoinks/zoinks-0.4.1.ebuild46
507 files changed, 30602 insertions, 0 deletions
diff --git a/app-editors/XML-XSH2/Manifest b/app-editors/XML-XSH2/Manifest
new file mode 100644
index 000000000000..7d7d68020398
--- /dev/null
+++ b/app-editors/XML-XSH2/Manifest
@@ -0,0 +1 @@
+DIST XML-XSH2-2.1.6.tar.gz 322506 SHA256 6bd3d520db9b192e9d04b2fdb43ac54ebd945148e03d1e93dc4b9f39fa5dd551 SHA512 2ee992a50378a6f79327938cbd301eb49954d4dbf7c2815bc40f9f74d77eed4060a234f0369215375f34a495871c29ef17f60919f31fc9b192558945a9303b7b WHIRLPOOL 155137cb11204638b3aeedc46444797a0065e341fa29adaac3864b648206e3506561a9175838a61eb28c7b29262db6f6669694be660e2b4348d21e5b68b80f01
diff --git a/app-editors/XML-XSH2/XML-XSH2-2.1.6-r1.ebuild b/app-editors/XML-XSH2/XML-XSH2-2.1.6-r1.ebuild
new file mode 100644
index 000000000000..e047bb0f7099
--- /dev/null
+++ b/app-editors/XML-XSH2/XML-XSH2-2.1.6-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+MODULE_AUTHOR=PAJAS
+MODULE_VERSION=2.1.6
+inherit perl-module
+
+DESCRIPTION="XML Editing Shell"
+HOMEPAGE="http://xsh.sourceforge.net/"
+
+LICENSE="|| ( Artistic GPL-2 )" # Artistic or GPL-2
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="
+ >=dev-perl/XML-LibXML-1.61
+ >=dev-perl/Parse-RecDescent-1.94
+ >=dev-perl/XML-LibXSLT-1.53
+ dev-perl/IO-stringy
+ dev-perl/XML-SAX-Writer
+ dev-perl/Term-ReadLine-Perl
+ dev-perl/URI
+ dev-perl/XML-Filter-DOMFilter-LibXML
+ >=dev-perl/XML-XUpdate-LibXML-0.4.0
+"
+DEPEND="${RDEPEND}"
+
+SRC_TEST=do
diff --git a/app-editors/XML-XSH2/metadata.xml b/app-editors/XML-XSH2/metadata.xml
new file mode 100644
index 000000000000..1d0face2e5e4
--- /dev/null
+++ b/app-editors/XML-XSH2/metadata.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpan">XML-XSH2</remote-id>
+ <remote-id type="cpan-module">Parse::RecDescent::XML::XSH2::Parser</remote-id>
+ <remote-id type="cpan-module">XML::LibXML::Literal</remote-id>
+ <remote-id type="cpan-module">XML::LibXML::Namespace</remote-id>
+ <remote-id type="cpan-module">XML::LibXML::NodeList</remote-id>
+ <remote-id type="cpan-module">XML::LibXML::Number</remote-id>
+ <remote-id type="cpan-module">XML::LibXML::SubTreeIterator</remote-id>
+ <remote-id type="cpan-module">XML::SAX::Writer::XMLEnc</remote-id>
+ <remote-id type="cpan-module">XML::XSH2</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::Compile</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::Completion</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::CompletionList</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::DummyXPathContext</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::FilteredIterator</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::Functions</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::Grammar</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::Help</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::Inline</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::Internal::Exception</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::Internal::LoopTerminatingException</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::Internal::SubTerminatingException</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::Internal::UncatchableException</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::Iterators</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::LibXMLCompat</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::Map</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::Parser</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::VarAlias</remote-id>
+ <remote-id type="cpan-module">XML::XSH2::XPathToXML</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/adie/Manifest b/app-editors/adie/Manifest
new file mode 100644
index 000000000000..a4319cfd067d
--- /dev/null
+++ b/app-editors/adie/Manifest
@@ -0,0 +1,4 @@
+DIST fox-1.6.49.tar.gz 4383152 SHA256 3679ecd23064958259fbef5898aabb048d63b2dcb796de1d8801fe0b51e5a90e SHA512 cd7dd5fd26bcdde6ed69d547e2b08582f0e88b66b6f1bac9b5cd2279b543edbf5b9a63cc2ed05f1a1fd7e7309ede96404cf7a5d2d8eb8763dc0fb41d613b0ee8 WHIRLPOOL 1592d2560a7967c491dcfeda40e66a45d2811424e222c5f1e768b28c8ce147d7815f46d22006ac9809b967d0c825b7828aad206ab55bcb80cae064f646fd3608
+DIST fox-1.7.45.tar.gz 5254563 SHA256 78f2b5f609a52d21da08e693d45b8eeb9d4ceed52ad86e451ef4485f2375c829 SHA512 ec8acf0eb0b1882254f7df2abdcb87445992fc9fb8165afcc08b8dd52a718cb31953849efc7a530bd682e6265687bdf4dc9fb5c930557b9405235182894684b0 WHIRLPOOL 08808e67e0e31c7389b1d4ac097d7d707fb48a925df233021913bc80363002c0c4ce19c8630f4bd5c87ebb5bc5c010dc7f3260f415dfa5b60390c5aae316de78
+DIST fox-1.7.47.tar.gz 5271135 SHA256 7f1de8566b88b0010137ea1172168d53494d2d14bfa03fe32f7796146a31a2a3 SHA512 8802c7a21ba35b48a638fb87354da3de54c82ebdd3f931a601f55473fe1f7c16bfa2df253e8531af2058665d9b6f31adf52f6973c2d94f435cc90ac112af22ed WHIRLPOOL fbcf4540b268e95fa4d70ed335d8f499ec46e18390cdc090c98c21b4be5ff3ec576439265cfcf8b90c037fed7937c3a5f19f8544db1906cf86a3f255b8092d62
+DIST fox-1.7.49.tar.gz 5336321 SHA256 2435c56cde3ba6617c638af4f3bac39e8f4d5dd5a5c6d0805d274c7ba05c520c SHA512 da6c3478370f1e72091675e49f8458a6722eca4735bf89052b2b7ef02f4e74ee41f10c9fcc39a24a1571dd0bb1cdf779e9dea5bf15be20722ca783c9d59eb6e9 WHIRLPOOL 53ad3d34e57507702fc2ac9bd7b446021a99e3dff5b337cda090a670b06d4733abce2bbca88a7586e8af2d00f16ee84b0bd3c42f66fd6e430cc6d342bb76b1ff
diff --git a/app-editors/adie/adie-1.6.49.ebuild b/app-editors/adie/adie-1.6.49.ebuild
new file mode 100644
index 000000000000..a9dddef45232
--- /dev/null
+++ b/app-editors/adie/adie-1.6.49.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit fox
+
+DESCRIPTION="Text editor based on the FOX Toolkit"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 hppa ppc ppc64 sparc x86"
+IUSE=""
+
+DEPEND="x11-libs/fox:1.6"
+
+RDEPEND="${DEPEND}"
diff --git a/app-editors/adie/adie-1.7.45.ebuild b/app-editors/adie/adie-1.7.45.ebuild
new file mode 100644
index 000000000000..823119279453
--- /dev/null
+++ b/app-editors/adie/adie-1.7.45.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit fox
+
+DESCRIPTION="Text editor based on the FOX Toolkit"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND="~x11-libs/fox-${PV}"
+RDEPEND="${DEPEND}"
diff --git a/app-editors/adie/adie-1.7.47.ebuild b/app-editors/adie/adie-1.7.47.ebuild
new file mode 100644
index 000000000000..1f4af4a8943e
--- /dev/null
+++ b/app-editors/adie/adie-1.7.47.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit fox
+
+DESCRIPTION="Text editor based on the FOX Toolkit"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND="~x11-libs/fox-${PV}
+ x11-libs/libICE
+ x11-libs/libSM"
+RDEPEND="${DEPEND}"
diff --git a/app-editors/adie/adie-1.7.49.ebuild b/app-editors/adie/adie-1.7.49.ebuild
new file mode 100644
index 000000000000..4b91f8f876cb
--- /dev/null
+++ b/app-editors/adie/adie-1.7.49.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit fox
+
+DESCRIPTION="Text editor based on the FOX Toolkit"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~hppa ppc ~ppc64 ~sparc x86"
+IUSE=""
+
+DEPEND="~x11-libs/fox-${PV}
+ x11-libs/libICE
+ x11-libs/libSM"
+RDEPEND="${DEPEND}"
diff --git a/app-editors/adie/metadata.xml b/app-editors/adie/metadata.xml
new file mode 100644
index 000000000000..eefc1bb12791
--- /dev/null
+++ b/app-editors/adie/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mabi@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-editors/aee/Manifest b/app-editors/aee/Manifest
new file mode 100644
index 000000000000..ab70d57f9d43
--- /dev/null
+++ b/app-editors/aee/Manifest
@@ -0,0 +1 @@
+DIST aee-2.2.15b.tar.gz 184218 SHA256 7abbaffe35018f9de87c8685f9bee2ea3f261e88ce60674f1a5a9a3a0f54d752 SHA512 2810cd8f5148edb352fdaefbc823d417b9a83c8083644c8729be8595013ca8ba660bd72120db1e15915e454f5185d2d030c2f0c853b37eb83c213c1d581a640f WHIRLPOOL 3ae452544f8926fda55f3661c9890c39d6ab1dd295acba1a18edf91d010e731d7f356a679e8174f66ce7c8604c148ad1ce61d31c43a67162bdcda400b9de5961
diff --git a/app-editors/aee/aee-2.2.15b.ebuild b/app-editors/aee/aee-2.2.15b.ebuild
new file mode 100644
index 000000000000..ca87d753be6f
--- /dev/null
+++ b/app-editors/aee/aee-2.2.15b.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="An easy to use text editor"
+HOMEPAGE="http://mahon.cwx.net/"
+SRC_URI="http://mahon.cwx.net/sources/${P}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux"
+IUSE="X"
+
+RDEPEND="X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-*.diff
+
+ sed -i \
+ -e "s/make -/\$(MAKE) -/g" \
+ -e "/^buildaee/s/$/ localaee/" \
+ -e "/^buildxae/s/$/ localxae/" \
+ Makefile || die
+
+ sed -i \
+ -e "s/\([\t ]\)cc /\1\\\\\$(CC) /" \
+ -e "/CFLAGS =/s/\" >/ \\\\\$(LDFLAGS)\" >/" \
+ -e "/other_cflag/s/ \${strip_option}//" \
+ create.mk.{aee,xae} || die
+
+ tc-export CC
+}
+
+src_compile() {
+ local target="aee"
+ use X && target="both"
+
+ emake ${target}
+}
+
+src_install() {
+ dobin ${PN}
+ dosym ${PN} /usr/bin/rae
+ doman ${PN}.1
+ dodoc Changes README.${PN} ${PN}.i18n.guide ${PN}.msg
+
+ insinto /usr/share/${PN}
+ doins help.ae
+
+ if use X; then
+ dobin xae
+ dosym xae /usr/bin/rxae
+ fi
+}
diff --git a/app-editors/aee/files/aee-ae-location.diff b/app-editors/aee/files/aee-ae-location.diff
new file mode 100644
index 000000000000..9bc6cd5421c0
--- /dev/null
+++ b/app-editors/aee/files/aee-ae-location.diff
@@ -0,0 +1,89 @@
+--- aee-2.2.15b.orig/aee.1
++++ aee-2.2.15b/aee.1
+@@ -678,7 +678,7 @@
+ .\"
+ .SS Initializing aee From A File
+ .PP
+-\fIaee\fR checks for a file named \fIinit.ae\fR in \fI/usr/local/lib\fR,
++\fIaee\fR checks for a file named \fIinit.ae\fR in \fI/usr/share/aee\fR,
+ .I .init.ae
+ in the user's home directory, then for \fI.init.ae\fR in the
+ current directory. (This file may be created manually or by using the
+@@ -960,7 +960,7 @@
+ .PP
+ On-line help is provided through the 'help' command or menu item. This
+ command uses a file with help information. By default the help file is
+-located in \fB/usr/local/lib/help.ae\fR, but this file may be located
++located in \fB/usr/share/aee/help.ae\fR, but this file may be located
+ in the user's home directory with the name \fB.help.ae\fR, or in the
+ current directory with the name \fBhelp.ae\fR.
+ .\"
+@@ -1017,7 +1017,7 @@
+ .\"
+ .SH FILES
+ .PP
+-.I /usr/local/lib/init.ae
++.I /usr/share/aee/init.ae
+ .br
+ .I $HOME/.aeeinfo
+ .br
+--- aee-2.2.15b.orig/aee.c
++++ aee-2.2.15b/aee.c
+@@ -2612,7 +2612,7 @@
+
+ char *init_name[4] = {
+ "/usr/local/aee/init.ae",
+- "/usr/local/lib/init.ae",
++ "/usr/share/aee/init.ae",
+ NULL,
+ ".init.ae"
+ };
+--- aee-2.2.15b.orig/aee.msg
++++ aee-2.2.15b/aee.msg
+@@ -2,7 +2,7 @@
+ $
+ $set 1
+ $quote "
+-1 "/usr/local/lib/help.ae"
++1 "/usr/share/aee/help.ae"
+ 2 "main"
+ 3 "modes menu"
+ 4 "tabs to spaces "
+--- aee-2.2.15b.orig/help.ae
++++ aee-2.2.15b/help.ae
+@@ -1058,11 +1058,11 @@
+
+ The file 'init.ae' may be used to set parameters and define keys to
+ perform certain functions within ae. This file may reside in three
+-locations: /usr/local/lib/init.ae, .init.ae in your home directory, and
++locations: /usr/share/aee/init.ae, .init.ae in your home directory, and
+ .init.ae in the current working directory.
+
+ First, aee checks for a system level initialization file, located in
+-/usr/local/lib. Next the user's home directory is checked for a file named
++/usr/share/aee. Next the user's home directory is checked for a file named
+ .init.ae, then the current directory. The settings from each file are read,
+ so that the directives from the most recently read file will take precedence
+ over previously read files. This allows, for example, the .init.ae file in
+--- aee-2.2.15b.orig/help.c
++++ aee-2.2.15b/help.c
+@@ -12,7 +12,7 @@
+
+ char *help_file_list[4] = {
+ "/usr/local/aee/help.ae",
+- "/usr/local/lib/help.ae",
++ "/usr/share/aee/help.ae",
+ "~/.help.ae",
+ "help.ae"
+ };
+--- aee-2.2.15b.orig/localize.c
++++ aee-2.2.15b/localize.c
+@@ -64,7 +64,7 @@
+ catalog = catopen("aee", 0);
+ #endif /* NO_CATGETS */
+
+- ae_help_file = catgetlocal( 1, "/usr/local/lib/help.ae");
++ ae_help_file = catgetlocal( 1, "/usr/share/aee/help.ae");
+ main_buffer_name = catgetlocal( 2, "main");
+
+
diff --git a/app-editors/aee/metadata.xml b/app-editors/aee/metadata.xml
new file mode 100644
index 000000000000..d4a08224d284
--- /dev/null
+++ b/app-editors/aee/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>hattya@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-editors/amyedit/Manifest b/app-editors/amyedit/Manifest
new file mode 100644
index 000000000000..4314e5aa5e93
--- /dev/null
+++ b/app-editors/amyedit/Manifest
@@ -0,0 +1 @@
+DIST amyedit-1.0.tar.bz2 297769 SHA256 9aa88340266827bd83715d495b7e1f2c1ca7100ff9f7586877c1b4d3ec67f228 SHA512 dce101c5d356cd194703798002c29772b7b7339a97f683ba7459e983988f26722f800a2c36a0c36bdea70a35c8398bc55b5215b4c30779ca22b5f25bbfedbe09 WHIRLPOOL 1e92efb17c834e37f0400e97910d06470fd363ab8301d3bc11d30d3168ee740dfe87612e17856dc0ffb8e4b47d0761ea2f5225c5a1f40684d78f487c87279724
diff --git a/app-editors/amyedit/amyedit-1.0-r2.ebuild b/app-editors/amyedit/amyedit-1.0-r2.ebuild
new file mode 100644
index 000000000000..4e47fcfa4102
--- /dev/null
+++ b/app-editors/amyedit/amyedit-1.0-r2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils autotools
+
+DESCRIPTION=" AmyEdit is a LaTeX editor"
+HOMEPAGE="http://amyedit.sf.net"
+SRC_URI="mirror://sourceforge/amyedit/${P}.tar.bz2"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+RDEPEND=">=dev-cpp/gtkmm-2.6:2.4
+ >=dev-cpp/glibmm-2.14:2
+ >=dev-libs/libsigc++-2.2
+ x11-libs/gtksourceview:2.0
+ dev-cpp/gtksourceviewmm:2.0
+ app-text/aspell"
+DEPEND="${RDEPEND}
+ dev-util/intltool
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-keyfile.patch"
+ epatch "${FILESDIR}/${P}-signal.patch"
+ epatch "${FILESDIR}/${P}-gcc45.patch"
+ epatch "${FILESDIR}/${P}-sourceviewmm2.patch"
+ rm -rf "${S}/src/gtksourceviewmm" || die
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc ChangeLog README TODO || die
+}
diff --git a/app-editors/amyedit/files/amyedit-1.0-gcc45.patch b/app-editors/amyedit/files/amyedit-1.0-gcc45.patch
new file mode 100644
index 000000000000..16db9fd415f5
--- /dev/null
+++ b/app-editors/amyedit/files/amyedit-1.0-gcc45.patch
@@ -0,0 +1,16 @@
+Fix build with gcc 4.5
+https://bugs.gentoo.org/show_bug.cgi?id=321293
+
+Index: amyedit-1.0/src/Preferences.cc
+===================================================================
+--- amyedit-1.0.orig/src/Preferences.cc
++++ amyedit-1.0/src/Preferences.cc
+@@ -211,7 +211,7 @@ int Preferences::run()
+ }
+
+ void Preferences::edit_latex_commands(){
+- EditLatexCommands::EditLatexCommands dialog(this);
++ EditLatexCommands dialog(this);
+ dialog.run();
+ Amy::populate_text_list_model_from_list(previewoptionslist->get_model(), PrefStruct::instance()->get_keys("Commands"), true);
+ previewoptionslist->select(PrefStruct::instance()->get<Glib::ustring>("General", "preview_combo"));
diff --git a/app-editors/amyedit/files/amyedit-1.0-keyfile.patch b/app-editors/amyedit/files/amyedit-1.0-keyfile.patch
new file mode 100644
index 000000000000..fb9f9ac908fc
--- /dev/null
+++ b/app-editors/amyedit/files/amyedit-1.0-keyfile.patch
@@ -0,0 +1,62 @@
+diff -ur amyedit-1.0/src/main.cc amyedit-1.0.new/src/main.cc
+--- amyedit-1.0/src/main.cc 2006-03-14 06:08:32.000000000 +0700
++++ amyedit-1.0.new/src/main.cc 2008-01-07 20:45:39.000000000 +0700
+@@ -54,7 +54,6 @@
+
+ #include "AmyEdit.hh"
+ #include "gtksourceviewmm/init.hh"
+-#include "gtkmm_extra/keyfile.h"
+ #include "Utils.hh"
+
+ int main(int argc, char **argv)
+@@ -65,7 +64,6 @@
+
+ Gtk::Main m(&argc, &argv);
+ Gtk::SourceViewmm_init();
+- Glib::keyfile_init();
+
+ /* TODO This should probably be removed and created on demand */
+
+Only in amyedit-1.0.new/src: main.o
+Only in amyedit-1.0.new/src: Makefile
+diff -ur amyedit-1.0/src/Makefile.am amyedit-1.0.new/src/Makefile.am
+--- amyedit-1.0/src/Makefile.am 2006-03-08 05:44:53.000000000 +0700
++++ amyedit-1.0.new/src/Makefile.am 2008-01-07 20:41:46.000000000 +0700
+@@ -30,8 +30,7 @@
+ gtksourceviewmm/sourcelanguage.cpp \
+ gtksourceviewmm/sourcelanguagesmanager.cpp \
+ gtksourceviewmm/sourceview.cpp \
+- gtksourceviewmm/init.cc \
+- gtkmm_extra/keyfile.cc
++ gtksourceviewmm/init.cc
+
+ headers = \
+ AboutDialog.hh \
+@@ -54,15 +53,13 @@
+ gtksourceviewmm/sourcelanguage.h \
+ gtksourceviewmm/sourcelanguagesmanager.h \
+ gtksourceviewmm/sourceview.h \
+- gtksourceviewmm/init.hh \
+- gtkmm_extra/keyfile.h
++ gtksourceviewmm/init.hh
+
+ privateheaders= \
+ gtksourceviewmm/private/sourcebuffer_p.h \
+ gtksourceviewmm/private/sourcelanguage_p.h \
+ gtksourceviewmm/private/sourcelanguagesmanager_p.h \
+ gtksourceviewmm/private/sourceview_p.h \
+- gtkmm_extra/private/keyfile_p.h \
+ Utils_p.hh
+
+ if PRECOMPILE_HEADERS
+diff -ur amyedit-1.0/src/PrefStruct.hh amyedit-1.0.new/src/PrefStruct.hh
+--- amyedit-1.0/src/PrefStruct.hh 2006-03-09 06:54:41.000000000 +0700
++++ amyedit-1.0.new/src/PrefStruct.hh 2008-01-07 20:46:32.000000000 +0700
+@@ -24,7 +24,6 @@
+
+ #include "Preferences.hh"
+ #include <glibmm/ustring.h>
+-#include <gtkmm_extra/keyfile.h>
+ #include <iostream>
+
+ class PrefStruct
diff --git a/app-editors/amyedit/files/amyedit-1.0-signal.patch b/app-editors/amyedit/files/amyedit-1.0-signal.patch
new file mode 100644
index 000000000000..d0f4df521cb6
--- /dev/null
+++ b/app-editors/amyedit/files/amyedit-1.0-signal.patch
@@ -0,0 +1,86 @@
+diff -Naur amyeditbroken/src/AmyEdit.cc amyedit-1.0/src/AmyEdit.cc
+--- amyeditbroken/src/AmyEdit.cc 2006-03-13 22:13:08.000000000 +0100
++++ amyedit-1.0/src/AmyEdit.cc 2008-07-12 05:07:43.965608312 +0200
+@@ -65,9 +65,9 @@
+
+ /* My Signals */
+ // signals when there is a file available
+-SigC::Signal1<void,bool> signal_file_open;
++sigc::signal1<void,bool> signal_file_open;
+ // signals an update to preferences
+-SigC::Signal0<void> signal_preferences_update;
++sigc::signal0<void> signal_preferences_update;
+ /**************/
+
+ AmyEdit* AmyEdit::smInstance=NULL;
+diff -Naur amyeditbroken/src/EditTabs.cc amyedit-1.0/src/EditTabs.cc
+--- amyeditbroken/src/EditTabs.cc 2006-03-13 22:25:53.000000000 +0100
++++ amyedit-1.0/src/EditTabs.cc 2008-07-12 05:08:41.022094749 +0200
+@@ -76,7 +76,7 @@
+ set_tab_pos(Gtk::POS_TOP);
+ set_scrollable(true);
+
+- extern SigC::Signal0<void> signal_preferences_update;
++ extern sigc::signal0<void> signal_preferences_update;
+
+ signal_switch_page().connect(sigc::mem_fun(*this, &EditTabs::on_switching_page));
+ signal_preferences_update.connect(sigc::mem_fun(*this, &EditTabs::on_preferences_update));
+@@ -414,7 +414,7 @@
+
+ bool EditTabs::CloseTab(int tab)
+ {
+- extern SigC::Signal1<void,bool> signal_file_open;
++ extern sigc::signal1<void,bool> signal_file_open;
+
+ if (tab<0)
+ tab=get_current_page();
+@@ -686,8 +686,8 @@
+
+ void EditTabs::on_switching_page(GtkNotebookPage *page, guint number)
+ {
+- extern SigC::Signal1<void, int> signal_line_set;
+- extern SigC::Signal1<void, bool> signal_file_open;
++ extern sigc::signal1<void, int> signal_line_set;
++ extern sigc::signal1<void, bool> signal_file_open;
+ Page *curtab = get_current_tab();
+
+ if (curtab)
+@@ -735,7 +735,7 @@
+
+ on_preferences_update();
+
+- extern SigC::Signal0<void> signal_preferences_update;
++ extern sigc::signal0<void> signal_preferences_update;
+ get_buffer()->signal_modified_changed().connect(sigc::mem_fun(*this, &EditTabs::Page::on_modified_changed));
+ get_buffer()->signal_changed().connect(sigc::mem_fun(*this, &EditTabs::Page::on_changed));
+ get_buffer()->signal_mark_set().connect(sigc::mem_fun(*this, &EditTabs::Page::on_mark_changed));
+@@ -815,7 +815,7 @@
+
+ void EditTabs::Page::on_changed()
+ {
+- extern SigC::Signal1<void, int> signal_line_set;
++ extern sigc::signal1<void, int> signal_line_set;
+ signal_line_set(get_buffer()->get_insert()->get_iter().get_line());
+
+ }
+@@ -823,7 +823,7 @@
+ void EditTabs::Page::on_mark_changed(Gtk::SourceBuffer::iterator iter, Glib::RefPtr<Gtk::SourceBuffer::Mark> mark){
+ if (mark->get_name()=="insert")
+ {
+- extern SigC::Signal1<void, int> signal_line_set;
++ extern sigc::signal1<void, int> signal_line_set;
+
+ signal_line_set(get_buffer()->get_insert()->get_iter().get_line());
+
+diff -Naur amyeditbroken/src/StatusBar.cc amyedit-1.0/src/StatusBar.cc
+--- amyeditbroken/src/StatusBar.cc 2005-12-17 15:56:47.000000000 +0100
++++ amyedit-1.0/src/StatusBar.cc 2008-07-12 05:09:14.020602906 +0200
+@@ -50,7 +50,7 @@
+ #include "StatusBar.hh"
+ #include "Utils.hh"
+
+-SigC::Signal1<void, int> signal_line_set;
++sigc::signal1<void, int> signal_line_set;
+
+ StatusBar::StatusBar()
+ {
diff --git a/app-editors/amyedit/files/amyedit-1.0-sourceviewmm2.patch b/app-editors/amyedit/files/amyedit-1.0-sourceviewmm2.patch
new file mode 100644
index 000000000000..31b7882b3ba5
--- /dev/null
+++ b/app-editors/amyedit/files/amyedit-1.0-sourceviewmm2.patch
@@ -0,0 +1,331 @@
+Index: amyedit-1.0/configure.in
+===================================================================
+--- amyedit-1.0.orig/configure.in
++++ amyedit-1.0/configure.in
+@@ -36,7 +36,7 @@ AC_ARG_ENABLE(precompiled-headers,
+ AM_CONDITIONAL(PRECOMPILE_HEADERS, test x$enable_precompiled_headers = xyes)
+
+ AC_CHECK_LIB([aspell], [new_aspell_config])
+-PKG_CHECK_MODULES(AMYEDIT, gtkmm-2.4 >= 2.6 gtksourceview-1.0)
++PKG_CHECK_MODULES(AMYEDIT, gtkmm-2.4 >= 2.6 gtksourceview-2.0 gtksourceviewmm-2.0)
+ AC_SUBST(AMYEDIT_CFLAGS)
+ AC_SUBST(AMYEDIT_LIBS)
+
+Index: amyedit-1.0/src/Makefile.am
+===================================================================
+--- amyedit-1.0.orig/src/Makefile.am
++++ amyedit-1.0/src/Makefile.am
+@@ -25,12 +25,7 @@ sources = \
+ TextListViewComboBox.cc \
+ TextListViewListBox.cc \
+ Utils.cc \
+- main.cc \
+- gtksourceviewmm/sourcebuffer.cpp \
+- gtksourceviewmm/sourcelanguage.cpp \
+- gtksourceviewmm/sourcelanguagesmanager.cpp \
+- gtksourceviewmm/sourceview.cpp \
+- gtksourceviewmm/init.cc
++ main.cc
+
+ headers = \
+ AboutDialog.hh \
+@@ -48,18 +43,9 @@ headers = \
+ TextListModel.hh \
+ TextListViewComboBox.hh \
+ TextListViewListBox.hh \
+- Utils.hh \
+- gtksourceviewmm/sourcebuffer.h \
+- gtksourceviewmm/sourcelanguage.h \
+- gtksourceviewmm/sourcelanguagesmanager.h \
+- gtksourceviewmm/sourceview.h \
+- gtksourceviewmm/init.hh
++ Utils.hh
+
+ privateheaders= \
+- gtksourceviewmm/private/sourcebuffer_p.h \
+- gtksourceviewmm/private/sourcelanguage_p.h \
+- gtksourceviewmm/private/sourcelanguagesmanager_p.h \
+- gtksourceviewmm/private/sourceview_p.h \
+ Utils_p.hh
+
+ if PRECOMPILE_HEADERS
+Index: amyedit-1.0/src/EditTabs.cc
+===================================================================
+--- amyedit-1.0.orig/src/EditTabs.cc
++++ amyedit-1.0/src/EditTabs.cc
+@@ -57,8 +57,8 @@ Foundation, Inc., 59 Temple Place, Suite
+
+ #include <gtksourceview/gtksourcebuffer.h>
+ #include <gtksourceviewmm/sourcelanguage.h>
+-#include <gtksourceviewmm/sourcelanguagesmanager.h>
+-#include <gtksourceview/gtksourcelanguagesmanager.h>
++#include <gtksourceviewmm/sourcelanguagemanager.h>
++#include <gtksourceview/gtksourcelanguagemanager.h>
+ #include <gtksourceview/gtksourceiter.h>
+
+ #include <gtkmm/stock.h>
+@@ -161,7 +161,7 @@ void EditTabs::OpenTab(Glib::ustring fil
+ {
+ try
+ {
+- Glib::RefPtr<Gtk::SourceBuffer> buffer = is_buffer_open(filename);
++ Glib::RefPtr<gtksourceview::SourceBuffer> buffer = is_buffer_open(filename);
+ Page *newpage;
+
+ if (buffer){
+@@ -553,16 +553,15 @@ Glib::ustring EditTabs::GetUntitledTabNa
+
+ void EditTabs::Undo()
+ {
+- Glib::RefPtr<Gtk::SourceBuffer> buffer = get_current_view()->get_buffer();
++ Glib::RefPtr<gtksourceview::SourceBuffer> buffer = Glib::RefPtr<gtksourceview::SourceBuffer>::cast_static(get_current_view()->get_buffer());
+ if (buffer->can_undo ())
+ buffer->undo ();
+
+ }
+
+-
+ void EditTabs::Redo()
+ {
+- Glib::RefPtr<Gtk::SourceBuffer> buffer = get_current_view()->get_buffer();
++ Glib::RefPtr<gtksourceview::SourceBuffer> buffer = Glib::RefPtr<gtksourceview::SourceBuffer>::cast_static(get_current_view()->get_buffer());
+ if (buffer->can_redo ())
+ buffer->redo ();
+
+@@ -625,10 +624,10 @@ void EditTabs::FindNext()
+ Page *curtab = get_current_tab();
+ if (curtab)
+ {
+- Glib::RefPtr<Gtk::SourceBuffer::Mark> cursor=curtab->get_buffer()->get_insert();
+- Gtk::SourceBuffer::iterator start, end;
++ Glib::RefPtr<gtksourceview::SourceBuffer::Mark> cursor=curtab->get_buffer()->get_insert();
++ gtksourceview::SourceBuffer::iterator start, end;
+ GtkTextIter climit;
+- Gtk::SourceBuffer::iterator limit(&climit);
++ gtksourceview::SourceBuffer::iterator limit(&climit);
+ FindDialog fdialog;
+ int result;
+ do
+@@ -648,7 +647,7 @@ void EditTabs::FindNext()
+ if(gtk_source_iter_forward_search(cursor->get_iter().gobj(),fdialog.get_text().c_str(),fdialog.get_flags(),start.gobj(),end.gobj(),0))
+ {
+ curtab->get_buffer()->select_range(end, start);
+- (static_cast<Gtk::SourceView*>(curtab->get_child()))->scroll_to(end);
++ (static_cast<gtksourceview::SourceView*>(curtab->get_child()))->scroll_to(end);
+ }
+ else
+ {
+@@ -701,7 +700,7 @@ void EditTabs::on_switching_page(GtkNote
+
+ }
+
+-Glib::RefPtr <Gtk::SourceBuffer> EditTabs::is_buffer_open(Glib::ustring filename){
++Glib::RefPtr <gtksourceview::SourceBuffer> EditTabs::is_buffer_open(Glib::ustring filename){
+ int p = get_n_pages();
+
+ for (int x=0;x<p;x++){
+@@ -711,19 +710,19 @@ Glib::RefPtr <Gtk::SourceBuffer> EditTab
+ return curtab->get_buffer();
+ }
+
+- return Glib::RefPtr <Gtk::SourceBuffer> (NULL);
++ return Glib::RefPtr <gtksourceview::SourceBuffer> (NULL);
+
+
+ }
+
+-EditTabs::Page::Page(EditTabs *parent, Glib::RefPtr<Gtk::SourceBuffer> buffer){
++EditTabs::Page::Page(EditTabs *parent, Glib::RefPtr<gtksourceview::SourceBuffer> buffer){
+
+ /* Note to self! CLEAN THIS UP!!!! */
+
+ /* Page is actually a ScrollWindow thing */
+ set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_ALWAYS);
+
+- Gtk::SourceView *sourceview=Gtk::manage(new Gtk::SourceView());
++ gtksourceview::SourceView *sourceview=Gtk::manage(new gtksourceview::SourceView());
+
+ if (buffer)
+ sourceview->set_buffer(buffer);
+@@ -750,10 +749,10 @@ EditTabs::Page::Page(EditTabs *parent, G
+ * (ie buffer is null) */
+
+ if (!buffer){
+- Glib::ustring mime_type("text/x-tex");
++ Glib::ustring mime_type("latex");
+
+- Glib::RefPtr<Gtk::SourceLanguagesManager> lm = buffer->get_languages_manager();
+- Glib::RefPtr<Gtk::SourceLanguage> language = lm->get_language_from_mime_type(mime_type);
++ Glib::RefPtr<gtksourceview::SourceLanguageManager> lm = gtksourceview::SourceLanguageManager::create();
++ Glib::RefPtr<gtksourceview::SourceLanguage> language = lm->get_language(mime_type);
+
+
+ if (language)
+@@ -820,7 +819,7 @@ void EditTabs::Page::on_changed()
+
+ }
+
+-void EditTabs::Page::on_mark_changed(Gtk::SourceBuffer::iterator iter, Glib::RefPtr<Gtk::SourceBuffer::Mark> mark){
++void EditTabs::Page::on_mark_changed(gtksourceview::SourceBuffer::iterator iter, Glib::RefPtr<gtksourceview::SourceBuffer::Mark> mark){
+ if (mark->get_name()=="insert")
+ {
+ extern sigc::signal1<void, int> signal_line_set;
+@@ -835,14 +834,14 @@ EditTabs *EditTabs::Page::get_parent()
+ return (static_cast<EditTabs*>(Gtk::Widget::get_parent()));
+ }
+
+-Gtk::SourceView* EditTabs::Page::get_child()
++gtksourceview::SourceView* EditTabs::Page::get_child()
+ {
+- return (static_cast<Gtk::SourceView*>(Gtk::Bin::get_child()));
++ return (static_cast<gtksourceview::SourceView*>(Gtk::Bin::get_child()));
+ }
+
+-Glib::RefPtr<Gtk::SourceBuffer> EditTabs::Page::get_buffer()
++Glib::RefPtr<gtksourceview::SourceBuffer> EditTabs::Page::get_buffer()
+ {
+- return (get_child()->get_buffer());
++ return Glib::RefPtr<gtksourceview::SourceBuffer>::cast_static(get_child()->get_buffer());
+ }
+
+ EditTabs::Page *EditTabs::get_current_tab()
+@@ -850,9 +849,9 @@ EditTabs::Page *EditTabs::get_current_ta
+ return (static_cast<EditTabs::Page*>(get_nth_page(get_current_page())));
+ }
+
+-Gtk::SourceView *EditTabs::get_current_view()
++gtksourceview::SourceView *EditTabs::get_current_view()
+ {
+- return (static_cast<Gtk::SourceView*>(get_current_tab()->get_child()));
++ return (static_cast<gtksourceview::SourceView*>(get_current_tab()->get_child()));
+ }
+
+
+@@ -861,8 +860,8 @@ void EditTabs::Page::on_preferences_upda
+ // For things that need to happen for all pages
+ PrefStruct *prefs = PrefStruct::instance();
+
+- get_child()->set_tabs_width(prefs->get<int>("General", "tab_size"));
+- get_buffer()->set_highlight(prefs->get<bool>("General", "syntax_highlighting"));
++ get_child()->set_tab_width(prefs->get<int>("General", "tab_size"));
++ get_buffer()->set_highlight_syntax(prefs->get<bool>("General", "syntax_highlighting"));
+
+ }
+
+Index: amyedit-1.0/src/EditTabs.hh
+===================================================================
+--- amyedit-1.0.orig/src/EditTabs.hh
++++ amyedit-1.0/src/EditTabs.hh
+@@ -63,11 +63,11 @@ class EditTabs: public Gtk::Notebook
+ class Page:public Gtk::ScrolledWindow
+ {
+ public:
+- Page(EditTabs *parent, Glib::RefPtr<Gtk::SourceBuffer> buffer=Glib::RefPtr<Gtk::SourceBuffer>());
++ Page(EditTabs *parent, Glib::RefPtr<gtksourceview::SourceBuffer> buffer=Glib::RefPtr<gtksourceview::SourceBuffer>());
+
+ EditTabs *get_parent();
+- Gtk::SourceView *get_child();
+- Glib::RefPtr<Gtk::SourceBuffer> get_buffer();
++ gtksourceview::SourceView *get_child();
++ Glib::RefPtr<gtksourceview::SourceBuffer> get_buffer();
+
+ Glib::ustring filename;
+ Gtk::Label *tablabel;
+@@ -77,8 +77,8 @@ class EditTabs: public Gtk::Notebook
+ void on_close_me();
+ void on_modified_changed();
+ void on_changed();
+- void on_mark_changed(Gtk::SourceBuffer::iterator iter,
+- Glib::RefPtr<Gtk::SourceBuffer::Mark> mark);
++ void on_mark_changed(gtksourceview::SourceBuffer::iterator iter,
++ Glib::RefPtr<gtksourceview::SourceBuffer::Mark> mark);
+ void on_preferences_update();
+
+ };
+@@ -89,13 +89,13 @@ class EditTabs: public Gtk::Notebook
+ Glib::ustring GetRootFileName();
+ Glib::ustring TabNameFromFile(Glib::ustring start);
+ Glib::ustring GetUntitledTabName(Glib::ustring start);
+- Glib::RefPtr<Gtk::SourceBuffer> is_buffer_open(Glib::ustring filename);
++ Glib::RefPtr<gtksourceview::SourceBuffer> is_buffer_open(Glib::ustring filename);
+
+ void on_switching_page(GtkNotebookPage *page, guint number);
+ public:
+ Page *get_current_tab();
+ private:
+- Gtk::SourceView *get_current_view();
++ gtksourceview::SourceView *get_current_view();
+
+ void on_preferences_update();
+
+Index: amyedit-1.0/src/SpellDialog.cc
+===================================================================
+--- amyedit-1.0.orig/src/SpellDialog.cc
++++ amyedit-1.0/src/SpellDialog.cc
+@@ -267,9 +267,9 @@ int SpellDialog::checkDocument(){
+ aspell_document_checker_reset(checker);
+
+ view = getCurrentPage()->get_child();
+- buffer = view->get_buffer();
++ buffer = Glib::RefPtr<gtksourceview::SourceBuffer>::cast_static(view->get_buffer());
+
+- buffer->set_check_brackets(false);
++ buffer->set_highlight_matching_brackets(false);
+
+ /* areastart has left gravity, arearight has right gravity, as inserts only
+ * occur inside them, they should always mark the beginning and ends of the
+@@ -315,7 +315,7 @@ int SpellDialog::checkDocument(){
+ buffer->delete_mark(areastart);
+ buffer->delete_mark(areaend);
+
+- buffer->set_check_brackets(true);
++ buffer->set_highlight_matching_brackets(true);
+ return 0;
+ }
+
+@@ -370,7 +370,7 @@ bool SpellDialog::changeWord(AspellToken
+ /* Close Clicked */
+
+ buffer->place_cursor(wordend);
+- buffer->set_check_brackets();
++ buffer->set_highlight_matching_brackets();
+ return false;
+ }
+
+Index: amyedit-1.0/src/SpellDialog.hh
+===================================================================
+--- amyedit-1.0.orig/src/SpellDialog.hh
++++ amyedit-1.0/src/SpellDialog.hh
+@@ -49,8 +49,8 @@ class SpellDialog : public Gtk::Dialog,
+
+ void on_preferences_update();
+
+- Gtk::SourceView* view;
+- Glib::RefPtr<Gtk::SourceBuffer> buffer;
++ gtksourceview::SourceView* view;
++ Glib::RefPtr<gtksourceview::SourceBuffer> buffer;
+ Gtk::Entry misslabel;
+ Gtk::Entry replaceentry;
+ TextListViewListBox listbox;
+Index: amyedit-1.0/src/main.cc
+===================================================================
+--- amyedit-1.0.orig/src/main.cc
++++ amyedit-1.0/src/main.cc
+@@ -53,7 +53,7 @@
+ #include <fstream>
+
+ #include "AmyEdit.hh"
+-#include "gtksourceviewmm/init.hh"
++#include "gtksourceviewmm/init.h"
+ #include "Utils.hh"
+
+ int main(int argc, char **argv)
+@@ -63,7 +63,7 @@ int main(int argc, char **argv)
+ textdomain (GETTEXT_PACKAGE);
+
+ Gtk::Main m(&argc, &argv);
+- Gtk::SourceViewmm_init();
++ gtksourceview::init();
+
+ /* TODO This should probably be removed and created on demand */
+
diff --git a/app-editors/amyedit/metadata.xml b/app-editors/amyedit/metadata.xml
new file mode 100644
index 000000000000..01c0744c8231
--- /dev/null
+++ b/app-editors/amyedit/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>tex</herd>
+ <upstream>
+ <remote-id type="sourceforge">amyedit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/beaver/Manifest b/app-editors/beaver/Manifest
new file mode 100644
index 000000000000..a8ef880f8bdc
--- /dev/null
+++ b/app-editors/beaver/Manifest
@@ -0,0 +1 @@
+DIST beaver-0.4.1.tar.bz2 436321 SHA256 844a327a59f2de21e48e55176d45207036837f08935c3341ea963dc62a1531e3 SHA512 3000bed3aa2a67d6c38a68a7782a9d5423bcec0b8420272b0f0dade604c094a7b52058b43222af38d56313f0aa27998028c984f69340bf28eeaa8b8a93548a1e WHIRLPOOL a0ec8b443888380ba4f6923688a0119eef950d5b14d1d91328b3992c962eab1b32546ab65b8047410c114912d34f85b415ed4eed6d636d427453603724fafe80
diff --git a/app-editors/beaver/beaver-0.4.1.ebuild b/app-editors/beaver/beaver-0.4.1.ebuild
new file mode 100644
index 000000000000..edcb623a1b9d
--- /dev/null
+++ b/app-editors/beaver/beaver-0.4.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils gnome2-utils
+
+DESCRIPTION="Beaver is an Early AdVanced EditoR"
+HOMEPAGE="http://beaver-editor.sourceforge.net/"
+SRC_URI="mirror://sourceforge/beaver-editor/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc"
+
+RDEPEND=">=dev-libs/glib-2.14:2
+ >=x11-libs/gtk+-2.10:2"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig
+ dev-util/intltool
+ sys-devel/gettext"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.4.1-desktop-file-validate.patch
+}
+
+src_configure() {
+ econf \
+ $(use_enable doc doxygen-doc) \
+ $(use_enable debug)
+}
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+src_install() {
+ default
+ prune_libtool_files
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/app-editors/beaver/files/beaver-0.4.1-desktop-file-validate.patch b/app-editors/beaver/files/beaver-0.4.1-desktop-file-validate.patch
new file mode 100644
index 000000000000..b820826e14d6
--- /dev/null
+++ b/app-editors/beaver/files/beaver-0.4.1-desktop-file-validate.patch
@@ -0,0 +1,14 @@
+--- data/beaver.desktop
++++ data/beaver.desktop
+@@ -1,5 +1,4 @@
+ [Desktop Entry]
+-Encoding=UTF-8
+ Name=Beaver
+ GenericName=Programmer's Text Editor
+ Comment=Beaver's an Early AdVanced EditoR
+@@ -9,4 +8,4 @@
+ MimeType=text/plain;application/x-shellscript;text/x-c;text/x-c++;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-makefile;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;
+ StartupNotify=false
+ Type=Application
+-Categories=Application;Development;TextEditor;GTK;
++Categories=Development;Utility;TextEditor;GTK;
diff --git a/app-editors/beaver/metadata.xml b/app-editors/beaver/metadata.xml
new file mode 100644
index 000000000000..756a13c648f5
--- /dev/null
+++ b/app-editors/beaver/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>desktop-misc</herd>
+ <upstream>
+ <remote-id type="sourceforge">beaver-editor</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/bluefish/Manifest b/app-editors/bluefish/Manifest
new file mode 100644
index 000000000000..b3241d5e4f5d
--- /dev/null
+++ b/app-editors/bluefish/Manifest
@@ -0,0 +1,2 @@
+DIST bluefish-2.2.6.tar.bz2 3793018 SHA256 54c2892c317eb2287c9fb0a3e29c3f19bef51d9ab0353bfb158e52a1cdae4216 SHA512 39dee296ec6bbe1a946f9fb1c54e7143363da4bb6ce52aee14c9bef906d2eb82e5e58f78680810357c0bfcb11c21f982756a9199fec2f454c2816005a4d9d83e WHIRLPOOL b0847ea74fdc388e9ddccf1a23e8802379d149b85c5010ff9a64b3e061b0c1999e1f1a5872404b8bad2b0024fcdb09db964dae2177092d770f56aca50628d146
+DIST bluefish-2.2.7.tar.bz2 3836580 SHA256 23534b73b929754e15b86d12904ca3ffc1b069da5dcd4f34a67e842fe9e858df SHA512 8b9eca746062d47d646805b02370eb9529d449d6a6a9f175353022d9df9060a9736430b6579cdd52717caab75661204e4c940c4a78fb8f6e29845e84a65395ce WHIRLPOOL 748c965da307807df6a7ebd2f430b5148bd6b8644f722d1ba5bfe70853a884eae951c35cc0c9f4a82e56b47b098fa7bd364623cc773920b08f1197852c720ee8
diff --git a/app-editors/bluefish/bluefish-2.2.6.ebuild b/app-editors/bluefish/bluefish-2.2.6.ebuild
new file mode 100644
index 000000000000..901747e957ff
--- /dev/null
+++ b/app-editors/bluefish/bluefish-2.2.6.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils fdo-mime python-single-r1
+
+MY_P=${P/_/-}
+
+DESCRIPTION="A GTK HTML editor for the experienced web designer or programmer"
+SRC_URI="http://www.bennewitz.com/bluefish/stable/source/${MY_P}.tar.bz2"
+HOMEPAGE="http://bluefish.openoffice.nl/"
+
+LICENSE="GPL-2"
+KEYWORDS="~alpha amd64 ~ia64 ~ppc ~ppc64 ~sparc x86"
+SLOT="0"
+IUSE="nls python spell"
+
+RDEPEND="
+ x11-libs/gtk+:3
+ gnome-extra/gucharmap:2.90
+ sys-libs/zlib
+ python? ( ${PYTHON_DEPS} )
+ spell? ( app-text/enchant )"
+DEPEND="${RDEPEND}
+ >=dev-libs/glib-2.16:2
+ dev-libs/libxml2:2
+ virtual/pkgconfig
+ x11-libs/pango
+ nls? (
+ sys-devel/gettext
+ dev-util/intltool
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+# there actually is just some broken manpage checkup -> not bother
+RESTRICT="test"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+# Never eautoreconf this package as gettext breaks completely (no translations
+# even if it compiles afterwards)!
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ --disable-dependency-tracking \
+ --disable-update-databases \
+ --disable-xml-catalog-update \
+ $(use_enable nls) \
+ $(use_enable spell spell-check) \
+ $(use_enable python)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+ fdo-mime_mime_database_update
+
+ einfo "Adding XML catalog entries..."
+ /usr/bin/xmlcatalog --noout \
+ --add 'public' 'Bluefish/DTD/Bflang' 'bflang.dtd' \
+ --add 'system' 'http://bluefish.openoffice.nl/DTD/bflang.dtd' 'bflang.dtd' \
+ --add 'rewriteURI' 'http://bluefish.openoffice.nl/DTD' '/usr/share/xml/bluefish-unstable' \
+ /etc/xml/catalog \
+ || ewarn "Failed to add XML catalog entries."
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+ fdo-mime_mime_database_update
+ einfo "Removing XML catalog entries..."
+ /usr/bin/xmlcatalog --noout \
+ --del 'Bluefish/DTD/Bflang' \
+ --del 'http://bluefish.openoffice.nl/DTD/bflang.dtd' \
+ --del 'http://bluefish.openoffice.nl/DTD' \
+ /etc/xml/catalog \
+ || ewarn "Failed to remove XML catalog entries."
+}
diff --git a/app-editors/bluefish/bluefish-2.2.7.ebuild b/app-editors/bluefish/bluefish-2.2.7.ebuild
new file mode 100644
index 000000000000..6cd600e6e195
--- /dev/null
+++ b/app-editors/bluefish/bluefish-2.2.7.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils fdo-mime python-single-r1
+
+MY_P=${P/_/-}
+
+DESCRIPTION="A GTK HTML editor for the experienced web designer or programmer"
+SRC_URI="http://www.bennewitz.com/bluefish/stable/source/${MY_P}.tar.bz2"
+HOMEPAGE="http://bluefish.openoffice.nl/"
+
+LICENSE="GPL-2"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+SLOT="0"
+IUSE="gucharmap nls python spell"
+
+RDEPEND="
+ x11-libs/gtk+:3
+ sys-libs/zlib
+ gucharmap? ( gnome-extra/gucharmap:* )
+ python? ( ${PYTHON_DEPS} )
+ spell? ( app-text/enchant )"
+DEPEND="${RDEPEND}
+ >=dev-libs/glib-2.16:2
+ dev-libs/libxml2:2
+ virtual/pkgconfig
+ x11-libs/pango
+ nls? (
+ sys-devel/gettext
+ dev-util/intltool
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+# there actually is just some broken manpage checkup -> not bother
+RESTRICT="test"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+# Never eautoreconf this package as gettext breaks completely (no translations
+# even if it compiles afterwards)!
+
+src_prepare() {
+ sed -i 's:gzip -n $< -c:gzip -n -c $<:' data/bflib/Makefile.* || die "Cannot fix makefile"
+}
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ --disable-dependency-tracking \
+ --disable-update-databases \
+ --disable-xml-catalog-update \
+ $(use_enable nls) \
+ $(use_enable spell spell-check) \
+ $(use_enable python)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+ fdo-mime_mime_database_update
+
+ einfo "Adding XML catalog entries..."
+ /usr/bin/xmlcatalog --noout \
+ --add 'public' 'Bluefish/DTD/Bflang' 'bflang.dtd' \
+ --add 'system' 'http://bluefish.openoffice.nl/DTD/bflang.dtd' 'bflang.dtd' \
+ --add 'rewriteURI' 'http://bluefish.openoffice.nl/DTD' '/usr/share/xml/bluefish-unstable' \
+ /etc/xml/catalog \
+ || ewarn "Failed to add XML catalog entries."
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+ fdo-mime_mime_database_update
+ einfo "Removing XML catalog entries..."
+ /usr/bin/xmlcatalog --noout \
+ --del 'Bluefish/DTD/Bflang' \
+ --del 'http://bluefish.openoffice.nl/DTD/bflang.dtd' \
+ --del 'http://bluefish.openoffice.nl/DTD' \
+ /etc/xml/catalog \
+ || ewarn "Failed to remove XML catalog entries."
+}
diff --git a/app-editors/bluefish/metadata.xml b/app-editors/bluefish/metadata.xml
new file mode 100644
index 000000000000..80fb9b49f00e
--- /dev/null
+++ b/app-editors/bluefish/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>sdnick484@gmail.com</email>
+ <name>Nick Andrade</name>
+ <description>Active Maintainer, Assign bugs</description>
+ </maintainer>
+<use>
+ <flag name="gucharmap">Enable gucharmap dictionary plugin</flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/bvi/Manifest b/app-editors/bvi/Manifest
new file mode 100644
index 000000000000..e5647b2a594b
--- /dev/null
+++ b/app-editors/bvi/Manifest
@@ -0,0 +1,2 @@
+DIST bvi-1.3.2.src.tar.gz 170444 SHA256 ff390af1c474bf870b6171332726b93bad8e716ea378827b55d8aae82dee1c84 SHA512 eb8a01602751b61c471207124c90346375ccf34ba85e661143f6da8f113f48070d132e98213484bd16d0b6b4c8d0fa27776d36f18cac21336076ca35bcfcb58c WHIRLPOOL 5dfa13a5fefe5f6df95e0d0c37961b7998c1eb37296b31771c27c5a71346891d8b2f9dff8ae9b737cfb7df585076ec1efbadac7b492bda706a1d36fbb3d3d6f8
+DIST bvi-1.4.0alpha.src.tar.gz 128821 SHA256 7bd433a9a1e46d79aeabe189899f2c8ff38b321aeeb355c628929c1c9b20779d SHA512 75cf0ff27809e2c4213da72b022e012003d6ef272d734d0c18f03d5cb49bc891b4d3d40a9e6bfff226906062fcd3e319a7503d09409fa2023f5ba1d434e66217 WHIRLPOOL 00ce8428ea4a6a3f268f774d62f1d745bfc39f7eb53171c4778f16b75130502f504f234d754a8b8c8170755c7f69bb9e8704e7a3e66e5a21a1d9a5ec70571b7b
diff --git a/app-editors/bvi/bvi-1.3.2-r2.ebuild b/app-editors/bvi/bvi-1.3.2-r2.ebuild
new file mode 100644
index 000000000000..c72207b9897d
--- /dev/null
+++ b/app-editors/bvi/bvi-1.3.2-r2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF="1"
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+
+inherit multilib eutils autotools-utils
+
+DESCRIPTION="display-oriented editor for binary files, based on the vi texteditor"
+HOMEPAGE="http://bvi.sourceforge.net/"
+SRC_URI="mirror://sourceforge/bvi/${P}.src.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+KEYWORDS="amd64 ppc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris"
+
+DEPEND="sys-libs/ncurses"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/${P}-fix-buffer-overflow.patch"
+ "${FILESDIR}/${P}-tinfo.patch"
+ )
+ sed -i -e 's:ncurses/term.h:term.h:g' bmore.h || die "sed failed in bmore.h"
+ sed -i -e 's:(INSTALL_PROGRAM) -s:(INSTALL_PROGRAM):g' \
+ Makefile.in || die "sed failed in Makefile.in"
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(--with-ncurses="${EPREFIX}"/usr)
+ autotools-utils_src_configure
+
+}
+
+src_install() {
+ autotools-utils_src_install
+ rm -rf "${ED}"/usr/$(get_libdir)/bmore.help
+ dodoc README CHANGES CREDITS bmore.help
+ dohtml -r html/*
+}
diff --git a/app-editors/bvi/bvi-1.4.0_alpha.ebuild b/app-editors/bvi/bvi-1.4.0_alpha.ebuild
new file mode 100644
index 000000000000..cb6dcd4910c5
--- /dev/null
+++ b/app-editors/bvi/bvi-1.4.0_alpha.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit multilib eutils versionator
+
+MY_P=$(replace_version_separator 4 '' ${P})
+
+DESCRIPTION="display-oriented editor for binary files, based on the vi texteditor"
+HOMEPAGE="http://bvi.sourceforge.net/"
+SRC_URI="mirror://sourceforge/bvi/$(replace_version_separator 4 '' ${P}).src.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris"
+
+DEPEND="sys-libs/ncurses"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/$MY_P"
+
+src_prepare() {
+ sed -i -e 's:(INSTALL_PROGRAM) -s:(INSTALL_PROGRAM):g' \
+ Makefile.in || die "sed failed in Makefile.in"
+
+ epatch_user
+}
+
+src_configure() {
+ econf --with-ncurses="${EPREFIX}"/usr
+
+ sed -i -e 's:ncurses/term.h:term.h:g' bmore.h || die "sed failed in bmore.h"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ rm -rf "${D}"/usr/$(get_libdir)/bmore.help
+ dodoc README CHANGES CREDITS bmore.help
+}
diff --git a/app-editors/bvi/files/bvi-1.3.2-fix-buffer-overflow.patch b/app-editors/bvi/files/bvi-1.3.2-fix-buffer-overflow.patch
new file mode 100644
index 000000000000..e3ebaa3d1295
--- /dev/null
+++ b/app-editors/bvi/files/bvi-1.3.2-fix-buffer-overflow.patch
@@ -0,0 +1,22 @@
+diff --git a/edit.c b/edit.c
+index 328a0cd..3cf6572 100644
+--- a/edit.c
++++ b/edit.c
+@@ -42,7 +42,7 @@ char contru[][4] = {"NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "BEL",
+ "CAN", " EM", "SUB", "ESC", " FS", " GS", " RS", " US",
+ "DEL" };
+ char tmpbuf[10];
+-char linbuf[256];
++char linbuf[16384];
+
+ static char getcbuff[BUFFER];
+ static char *getcnext = NULL;
+@@ -492,7 +492,7 @@ printline(mempos, scpos)
+ *(string + print_pos) = '.';
+ }
+ *(string + Anzahl) = '\0';
+- strcat(linbuf, string);
++ strncat(linbuf, string, sizeof(linbuf) - strlen(linbuf) - 1);
+ mvaddstr(scpos, 0, linbuf);
+ }
+
diff --git a/app-editors/bvi/files/bvi-1.3.2-tinfo.patch b/app-editors/bvi/files/bvi-1.3.2-tinfo.patch
new file mode 100644
index 000000000000..b00c88811507
--- /dev/null
+++ b/app-editors/bvi/files/bvi-1.3.2-tinfo.patch
@@ -0,0 +1,35 @@
+diff --git a/configure.in b/configure.in
+index 68076d8..81da696 100644
+--- a/configure.in
++++ b/configure.in
+@@ -58,17 +58,19 @@ AC_ARG_WITH(ncurses,
+ fi
+ ])
+
+-AC_CHECK_HEADER(ncurses.h,
+- AC_CHECK_LIB(ncurses, initscr,
+- AC_DEFINE(HAVE_NCURSES_H) LIBS="${LIBS} -lncurses",
+- AC_CHECK_LIB(curses, initscr,
+- AC_DEFINE(HAVE_CURSES_H) LIBS="${LIBS} -lcurses",
+- AC_MSG_ERROR([bvi requires the curses library]))),
+- AC_CHECK_HEADER(curses.h,
+- AC_CHECK_LIB(curses, initscr,
+- AC_DEFINE(HAVE_CURSES_H) LIBS="${LIBS} -lcurses",
+- AC_MSG_ERROR([bvi requires the curses library])),
+- AC_MSG_ERROR([bvi requires the curses library])))
++AC_CHECK_HEADER([ncurses.h],[
++ AC_SEARCH_LIBS([initscr], [ncurses],[
++ AC_DEFINE(HAVE_NCURSES_H)
++ AC_SEARCH_LIBS([tputs], [tinfo])], [
++ AC_SEARCH_LIBS([initscr], [curses],[
++ AC_DEFINE(HAVE_CURSES_H)
++ AC_SEARCH_LIBS([tputs], [tinfo])],[
++ AC_MSG_ERROR([bvi requires the curses library])])])],[
++ AC_CHECK_HEADER([curses.h],[
++ AC_SEARCH_LIBS([initscr], [curses], [
++ AC_DEFINE(HAVE_CURSES_H)],[
++ AC_MSG_ERROR([bvi requires the curses library])])],[
++ AC_MSG_ERROR([bvi requires the curses library])])])
+
+ dnl Checks for typedefs, structures, and compiler characteristics.
+ dnl AC_TYPE_SIZE_T
diff --git a/app-editors/bvi/metadata.xml b/app-editors/bvi/metadata.xml
new file mode 100644
index 000000000000..1a525d16aaba
--- /dev/null
+++ b/app-editors/bvi/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ryao@gentoo.org</email>
+ <name>Richard Yao</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">bvi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/cooledit/Manifest b/app-editors/cooledit/Manifest
new file mode 100644
index 000000000000..6405a28348f3
--- /dev/null
+++ b/app-editors/cooledit/Manifest
@@ -0,0 +1,2 @@
+DIST cooledit-3.17.17-nopython.tar.gz 15835 SHA256 09e140b8b66893fb814db7200d072ee40d5c84989900d94607688c6ab1e78e0d SHA512 acf5c8b6a06a32b9433d4b68c1d9def5c0cc7f479a1dc35e8de1541d9e762c57f36ff48376d633ae7c8cd749d0042889a9febdb825195faa54e3d0a690a4e129 WHIRLPOOL 4fcfeb76c5a2780958837d974b64d2ddda366f03c2f30ab284f95cdadaab3bf2e775d2e6fda467d0394925c282c0625116455fbbc89ae4dc36697d0cb6ea2025
+DIST cooledit-3.17.17.tar.gz 1674273 SHA256 3c0d95d409796e3d92405e8ec317acb040713b432cc9ff9742f8657c092be489 SHA512 1d82ee1ab1e3bfe6477365aaa35084f7504a1503a0c97df997d937c90097c783d4cb90f023499a15f78d278df631310f59a3bd0f7a66620f147e23d7273294e9 WHIRLPOOL 6087cc5770e28f5787abd5e2d14db37ec30e1b9d5e2073e45b84a0db8d9d6fc0e84ea2cc5b2fc9e7fe1721915d4a81dcfcafcdcbd2dba9d235ea828768cf1c94
diff --git a/app-editors/cooledit/cooledit-3.17.17-r1.ebuild b/app-editors/cooledit/cooledit-3.17.17-r1.ebuild
new file mode 100644
index 000000000000..cd3dc6fbf9d0
--- /dev/null
+++ b/app-editors/cooledit/cooledit-3.17.17-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit autotools eutils
+
+DESCRIPTION="Cooledit is a full featured multiple window text editor"
+HOMEPAGE="http://freshmeat.net/projects/cooledit/"
+SRC_URI="ftp://ftp.ibiblio.org/pub/Linux/apps/editors/X/cooledit/${P}.tar.gz
+ http://dev.gentoo.org/~hwoarang/distfiles/${P}-nopython.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ppc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="nls"
+
+RDEPEND="x11-libs/libX11
+ x11-libs/libXdmcp
+ x11-libs/libXau"
+DEPEND="${RDEPEND}
+ x11-libs/libXpm"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-gcc4.patch \
+ "${FILESDIR}"/${P}-asneeded.patch \
+ "${FILESDIR}"/${P}-implicit_declarations.patch \
+ "${FILESDIR}"/${P}-interix.patch \
+ "${FILESDIR}"/${P}-interix5.patch \
+ "${FILESDIR}"/${P}-copy.patch \
+ "${WORKDIR}"/${P}-nopython.patch
+ sed -i -e "/Python.h/d" "${S}"/editor/_coolpython.c || die
+ eautoreconf
+}
+
+src_compile() {
+ [[ ${CHOST} == *-interix* ]] && export ac_cv_header_wchar_h=no
+
+ # Fix for bug 40152 (04 Feb 2004 agriffis)
+ addwrite /dev/ptym/clone:/dev/ptmx
+ econf $(use_enable nls)
+ emake || die "emake failed."
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed."
+}
diff --git a/app-editors/cooledit/files/cooledit-3.17.17-asneeded.patch b/app-editors/cooledit/files/cooledit-3.17.17-asneeded.patch
new file mode 100644
index 000000000000..4cd6331fcd49
--- /dev/null
+++ b/app-editors/cooledit/files/cooledit-3.17.17-asneeded.patch
@@ -0,0 +1,11 @@
+diff -ur cooledit-3.17.17.orig/widget/Makefile.am cooledit-3.17.17/widget/Makefile.am
+--- cooledit-3.17.17.orig/widget/Makefile.am 2005-04-04 23:47:45.000000000 +0300
++++ cooledit-3.17.17/widget/Makefile.am 2008-12-07 14:47:18.000000000 +0200
+@@ -20,6 +20,7 @@
+ look-cool.c look-gtk.c look-next.c
+
+ libCw_la_LDFLAGS = -version-info 1:0:0
++libCw_la_LIBADD = @X_LIBS@ -lX11 @X_EXTRA_LIBS@ @LIBINTL@
+
+ DEFS = @X_CFLAGS@ -DLOCALEDIR=\"$(localedir)\" -DLIBDIR=\"${exec_prefix}/share/cooledit\" @DEFS@
+
diff --git a/app-editors/cooledit/files/cooledit-3.17.17-copy.patch b/app-editors/cooledit/files/cooledit-3.17.17-copy.patch
new file mode 100644
index 000000000000..862b4ec8374c
--- /dev/null
+++ b/app-editors/cooledit/files/cooledit-3.17.17-copy.patch
@@ -0,0 +1,20 @@
+diff -crB cooledit-3.17.17/widget/editcmd.c cooledit-new/widget/editcmd.c
+*** cooledit-3.17.17/widget/editcmd.c 2005-04-04 16:47:45.000000000 -0400
+--- cooledit-new/widget/editcmd.c 2009-04-25 21:56:14.000000000 -0400
+***************
+*** 214,220 ****
+ if (file < 0 && (flags & O_CREAT)) /* must it be created ? */
+ return creat ((char *) pathname, mode);
+ close (file);
+! return open ((char *) pathname, flags);
+ }
+
+ /* "Oleg Yu. Repin" <repin@ssd.sscc.ru> added backup filenames
+--- 214,220 ----
+ if (file < 0 && (flags & O_CREAT)) /* must it be created ? */
+ return creat ((char *) pathname, mode);
+ close (file);
+! return open ((char *) pathname, flags, mode);
+ }
+
+ /* "Oleg Yu. Repin" <repin@ssd.sscc.ru> added backup filenames
diff --git a/app-editors/cooledit/files/cooledit-3.17.17-gcc4.patch b/app-editors/cooledit/files/cooledit-3.17.17-gcc4.patch
new file mode 100644
index 000000000000..9ce026146f6a
--- /dev/null
+++ b/app-editors/cooledit/files/cooledit-3.17.17-gcc4.patch
@@ -0,0 +1,10 @@
+--- cooledit-3.17.17/widget/coollocal.h.agriffis 2005-04-04 16:47:45.000000000 -0400
++++ cooledit-3.17.17/widget/coollocal.h 2006-03-12 15:38:40.000000000 -0500
+@@ -49,7 +49,6 @@
+ int eh_picture (struct cool_widget *w, XEvent * xevent, CEvent * cwevent);
+ void drawstring_xy (Window win, int x, int y, const char *text);
+ void drawstring_xy_hotkey (Window win, int x, int y, const char *text, int hotkey);
+-int run_callbacks (CWidget * w, XEvent * xevent, CEvent * cwevent);
+ void process_external_focus (Window win, int type);
+ void focus_window (Window win);
+ void link_scrollbar_to_textbox (CWidget * w, CWidget * textbox, XEvent * xevent, CEvent * cwevent, int whichscrbutton);
diff --git a/app-editors/cooledit/files/cooledit-3.17.17-implicit_declarations.patch b/app-editors/cooledit/files/cooledit-3.17.17-implicit_declarations.patch
new file mode 100644
index 000000000000..322c36fde936
--- /dev/null
+++ b/app-editors/cooledit/files/cooledit-3.17.17-implicit_declarations.patch
@@ -0,0 +1,34 @@
+diff -ur cooledit-3.17.17.orig/editor/postscript.c cooledit-3.17.17/editor/postscript.c
+--- cooledit-3.17.17.orig/editor/postscript.c 2005-04-04 23:47:45.000000000 +0300
++++ cooledit-3.17.17/editor/postscript.c 2008-12-07 14:55:25.000000000 +0200
+@@ -1,5 +1,7 @@
+ #include <config.h>
++#include <stdlib.h>
+ #include <stdio.h>
++#include <string.h>
+ #ifdef HAVE_SYS_STAT_H
+ #include <sys/stat.h>
+ #endif
+diff -ur cooledit-3.17.17.orig/widget/aafont.c cooledit-3.17.17/widget/aafont.c
+--- cooledit-3.17.17.orig/widget/aafont.c 2005-04-04 23:47:45.000000000 +0300
++++ cooledit-3.17.17/widget/aafont.c 2008-12-07 14:54:23.000000000 +0200
+@@ -20,6 +20,7 @@
+ #include <config.h>
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <string.h>
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include "aafont.h"
+diff -ur cooledit-3.17.17.orig/widget/mad.c cooledit-3.17.17/widget/mad.c
+--- cooledit-3.17.17.orig/widget/mad.c 2005-04-04 23:47:45.000000000 +0300
++++ cooledit-3.17.17/widget/mad.c 2008-12-07 14:54:30.000000000 +0200
+@@ -22,6 +22,8 @@
+ /* Generation MAD. It is based on the debauch package. */
+ /********************************************************************/
+
++#include <stdlib.h>
++#include <string.h>
+ #include "mad.h"
+
+ #undef malloc
diff --git a/app-editors/cooledit/files/cooledit-3.17.17-interix.patch b/app-editors/cooledit/files/cooledit-3.17.17-interix.patch
new file mode 100644
index 000000000000..f6599ae8557c
--- /dev/null
+++ b/app-editors/cooledit/files/cooledit-3.17.17-interix.patch
@@ -0,0 +1,31 @@
+diff -ru -x '*.Po' -x '*.Plo' cooledit-3.17.17.orig/editor/_coolpython.c cooledit-3.17.17/editor/_coolpython.c
+--- cooledit-3.17.17.orig/editor/_coolpython.c 2008-04-03 10:59:33 +0200
++++ cooledit-3.17.17/editor/_coolpython.c 2008-04-03 11:02:45 +0200
+@@ -1,4 +1,15 @@
+
++// on interix, need this before config.h to avoid clashes
++// with wchar.h, which cooledit believes is not there, and therefore
++// defines mbstate_t. Python.h includes it, and thus wchar.h messes up.
++#ifdef __cplusplus
++extern "C" {
++#endif
++#include "Python.h"
++#ifdef __cplusplus
++}
++#endif
++
+ #include <config.h>
+
+ #ifdef HAVE_PYTHON
+diff -ru -x '*.Po' -x '*.Plo' cooledit-3.17.17.orig/rxvt/_rxvtlib.h cooledit-3.17.17/rxvt/_rxvtlib.h
+--- cooledit-3.17.17.orig/rxvt/_rxvtlib.h 2008-04-03 11:10:02 +0200
++++ cooledit-3.17.17/rxvt/_rxvtlib.h 2008-04-03 09:00:13 +0200
+@@ -170,7 +170,7 @@
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <net/if.h>
+-#if !defined(__NetBSD__) && !defined(__OpenBSD__)
++#if !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__INTERIX)
+ #include <net/if_arp.h>
+ #endif
+ #include "X11/keysymdef.h"
diff --git a/app-editors/cooledit/files/cooledit-3.17.17-interix5.patch b/app-editors/cooledit/files/cooledit-3.17.17-interix5.patch
new file mode 100644
index 000000000000..46048c334c98
--- /dev/null
+++ b/app-editors/cooledit/files/cooledit-3.17.17-interix5.patch
@@ -0,0 +1,13 @@
+diff -ru -x '*.Po' -x '*.Plo' cooledit-3.17.17.orig/rxvt/_rxvtlib.h cooledit-3.17.17/rxvt/_rxvtlib.h
+--- cooledit-3.17.17.orig/rxvt/_rxvtlib.h 2008-04-17 12:09:05 +0200
++++ cooledit-3.17.17/rxvt/_rxvtlib.h 2008-04-17 12:09:31 +0200
+@@ -169,7 +169,9 @@
+ #endif
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
++#ifndef __INTERIX
+ #include <net/if.h>
++#endif
+ #if !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__INTERIX)
+ #include <net/if_arp.h>
+ #endif
diff --git a/app-editors/cooledit/metadata.xml b/app-editors/cooledit/metadata.xml
new file mode 100644
index 000000000000..492f7b635217
--- /dev/null
+++ b/app-editors/cooledit/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="freshmeat">cooledit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/curses-hexedit/Manifest b/app-editors/curses-hexedit/Manifest
new file mode 100644
index 000000000000..629039d6b292
--- /dev/null
+++ b/app-editors/curses-hexedit/Manifest
@@ -0,0 +1 @@
+DIST hexedit-0.9.7.tar.gz 165110 SHA256 3d15ab33dae9014180cc3d54636aaab4d9c88257f7a2d1cfda490d1bfa6e043a SHA512 b11b28538900f6e66a9efcca14cd8c2a312c29cea98c6ea5018cd3423e12876a9a4d0bf6dc4f94e7cb02e8bc8d3a406e6bccca7fa7dcbab2e4b717ee2fd826da WHIRLPOOL 24c22d7dc8906610f868c511d524e84dcc64d8900ea845e62d7eb3b26e07966cff6d5008c39f060eab87cfd6ece2f526aad4c375e2eebd25c109d8aafb244b25
diff --git a/app-editors/curses-hexedit/curses-hexedit-0.9.7.ebuild b/app-editors/curses-hexedit/curses-hexedit-0.9.7.ebuild
new file mode 100644
index 000000000000..4ba0ace025b7
--- /dev/null
+++ b/app-editors/curses-hexedit/curses-hexedit-0.9.7.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# There's already a "hexedit" package in the tree, so name this one differently
+
+EAPI="4"
+
+MY_P=${P/curses-}
+DESCRIPTION="full screen curses hex editor (with insert/delete support)"
+HOMEPAGE="http://www.rogoyski.com/adam/programs/hexedit/"
+SRC_URI="http://www.rogoyski.com/adam/programs/hexedit/${MY_P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="sys-libs/ncurses"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ econf --program-prefix=curses-
+}
diff --git a/app-editors/curses-hexedit/metadata.xml b/app-editors/curses-hexedit/metadata.xml
new file mode 100644
index 000000000000..7123fa8f9ece
--- /dev/null
+++ b/app-editors/curses-hexedit/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>vapier@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/app-editors/dav/Manifest b/app-editors/dav/Manifest
new file mode 100644
index 000000000000..fe7b0391204e
--- /dev/null
+++ b/app-editors/dav/Manifest
@@ -0,0 +1 @@
+DIST dav-0.8.5.tar.gz 22824 SHA256 af3835c31f7fb28815bc9b5fcc76e229d0e389d13b178858d120664af486a9ba SHA512 cdedff875df392e8525399b40d45cdf4e984b1b014f03d9f5cd5be270eebe0003fcf48e9738f6ac2789138973970bb9fe6d0b8babd20c1df61e193f84ee066b3 WHIRLPOOL 049684e2846f9bbbd8b0cab97689f69adfff2067485be59789913272d884c5b07ad47320f2b9dbf1285af01a12cfd2f7f9eca8ac0a7528ba10271b64a767c94c
diff --git a/app-editors/dav/dav-0.8.5-r1.ebuild b/app-editors/dav/dav-0.8.5-r1.ebuild
new file mode 100644
index 000000000000..7e235f15aa47
--- /dev/null
+++ b/app-editors/dav/dav-0.8.5-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils toolchain-funcs
+
+DESCRIPTION="A minimal console text editor"
+HOMEPAGE="http://dav-text.sourceforge.net/"
+
+# The maintainer does not keep sourceforge's mirrors up-to-date,
+# so we point to the website's store of files.
+SRC_URI="http://dav-text.sourceforge.net/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+RDEPEND="sys-libs/ncurses"
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-asneeded.patch \
+ "${FILESDIR}"/${P}-davrc-buffer-overflow.patch
+}
+
+# Makefile only
+src_configure() { :; }
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS} $( $(tc-getPKG_CONFIG) --libs ncurses)"
+}
+
+DOCS=( README )
diff --git a/app-editors/dav/files/dav-0.8.5-asneeded.patch b/app-editors/dav/files/dav-0.8.5-asneeded.patch
new file mode 100644
index 000000000000..75a43c67f43d
--- /dev/null
+++ b/app-editors/dav/files/dav-0.8.5-asneeded.patch
@@ -0,0 +1,12 @@
+diff -u -r a/Makefile b/Makefile
+--- a/Makefile 2004-02-22 02:04:07.000000000 +0100
++++ b/Makefile 2008-12-30 19:31:19.000000000 +0100
+@@ -12,7 +12,7 @@
+ LDFLAGS=-lncurses -O3 -Wall
+
+ dav: $(OBJECTS)
+- $(CC) $(LDFLAGS) $(OBJECTS) -o dav
++ $(CC) $(OBJECTS) $(LDFLAGS) -o dav
+
+ install:
+ mkdir -p $(DESTDIR)/usr/bin
diff --git a/app-editors/dav/files/dav-0.8.5-davrc-buffer-overflow.patch b/app-editors/dav/files/dav-0.8.5-davrc-buffer-overflow.patch
new file mode 100644
index 000000000000..a32e78ebc818
--- /dev/null
+++ b/app-editors/dav/files/dav-0.8.5-davrc-buffer-overflow.patch
@@ -0,0 +1,11 @@
+--- dav-0.8.5.orig/main.c 2011-01-29 14:16:53.537725568 -0500
++++ dav-0.8.5/main.c 2011-01-29 14:20:45.139125094 -0500
+@@ -327,7 +327,7 @@
+ void loadSettings()
+ {
+ int l;
+- char s[80];
++ char s[200];
+ char home[80];
+ char *r;
+ char *c;
diff --git a/app-editors/dav/metadata.xml b/app-editors/dav/metadata.xml
new file mode 100644
index 000000000000..f9d50da18d39
--- /dev/null
+++ b/app-editors/dav/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>
+ <email>maintainer-needed@gentoo.org</email>
+ <description>This package lacks a primary herd or maintainer.</description>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-editors/dhex/Manifest b/app-editors/dhex/Manifest
new file mode 100644
index 000000000000..4cf22dae20e3
--- /dev/null
+++ b/app-editors/dhex/Manifest
@@ -0,0 +1 @@
+DIST dhex_0.68.tar.gz 58602 SHA256 126c34745b48a07448cfe36fe5913d37ec562ad72d3f732b99bd40f761f4da08 SHA512 9397ec0574652022387f4108613f839b9262841c436079249fb325011b0a0e3c5bbd32d323f37b0f30e643f7060c1275337710c237ab68fb0c3f8096651a2421 WHIRLPOOL a56bf1952108a97a8c2672e681bce01ef2e5dd99f39373aad168acc6772692aa2d569d3d7fcbb3bfe86960f8f72e74aad2a3ba1053378ad48fc8a6de2d9e5bb8
diff --git a/app-editors/dhex/dhex-0.68.ebuild b/app-editors/dhex/dhex-0.68.ebuild
new file mode 100644
index 000000000000..c8f3f05aa651
--- /dev/null
+++ b/app-editors/dhex/dhex-0.68.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils toolchain-funcs
+
+MY_P=${PN}_${PV}
+
+DESCRIPTION="ncurses-based hex-editor with diff mode"
+HOMEPAGE="http://www.dettus.net/dhex/"
+SRC_URI="http://www.dettus.net/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~mips x86"
+IUSE=""
+
+DEPEND="sys-libs/ncurses"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.63-Makefile.patch
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ dobin dhex
+ dodoc README.txt
+ doman dhex.1 dhex_markers.5 dhex_searchlog.5 dhexrc.5
+}
diff --git a/app-editors/dhex/files/dhex-0.63-Makefile.patch b/app-editors/dhex/files/dhex-0.63-Makefile.patch
new file mode 100644
index 000000000000..f99c9ff1bf2d
--- /dev/null
+++ b/app-editors/dhex/files/dhex-0.63-Makefile.patch
@@ -0,0 +1,15 @@
+diff -ruN dhex_0.63.orig/Makefile dhex_0.63/Makefile
+--- dhex_0.63.orig/Makefile 2011-01-29 00:19:37.000000000 +0100
++++ dhex_0.63/Makefile 2011-01-30 17:13:51.000000000 +0100
+@@ -1,11 +1,4 @@
+-CC= gcc
+-LDFLAGS= -L/usr/lib -L/usr/local/lib -L/usr/lib/ncurses -L/usr/local/lib/ncurses
+-CPPFLAGS= -I/usr/include -I/usr/local/include -I/usr/include/ncurses -I/usr/local/include/ncurses
+-CFLAGS= -O3 -Wall -std=c99
+-#CFLAGS+= -ffunction-sections -fdata-sections
+-#LDFLAGS+= --gc-sections
+ LIBS= -lncurses
+-DESTDIR= /usr/local/
+
+ OFILES=buffers.o input.o output.o machine_type.o main.o menu.o ui.o hexcalc.o search.o gpl.o configfile.o markers.o
+
diff --git a/app-editors/dhex/metadata.xml b/app-editors/dhex/metadata.xml
new file mode 100644
index 000000000000..91f4e72fb544
--- /dev/null
+++ b/app-editors/dhex/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-editors/diakonos/Manifest b/app-editors/diakonos/Manifest
new file mode 100644
index 000000000000..b14a59980b35
--- /dev/null
+++ b/app-editors/diakonos/Manifest
@@ -0,0 +1 @@
+DIST diakonos-0.9.4.tar.bz2 102282 SHA256 9da8d3846c15f2568a77431bb5fe9ee76a890c982cebb745050f2e864d7916d0 SHA512 8aab6173c40b9a182853977ed7631c391a10d3339918fa96866da8c9fa8e36e40f1c5093465c734a9ce36a69c5d994d6b2d1c0306f1e57bff708fd7a64a62db7 WHIRLPOOL 3dc625942653135a55905f173f566a2627cdaf03ac2c9c00f80bc12cf0947864c3689d9aa3174f779370914d71cc2781984a2de03d1573cac2ff5eaa291179c0
diff --git a/app-editors/diakonos/diakonos-0.9.4.ebuild b/app-editors/diakonos/diakonos-0.9.4.ebuild
new file mode 100644
index 000000000000..7ace793dbf96
--- /dev/null
+++ b/app-editors/diakonos/diakonos-0.9.4.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+USE_RUBY="ruby20 ruby21"
+inherit ruby-ng
+
+DESCRIPTION="A Linux editor for the masses"
+HOMEPAGE="http://diakonos.pist0s.ca"
+SRC_URI="http://diakonos.pist0s.ca/archives/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+ruby_add_bdepend "doc? ( dev-ruby/yard )
+ test? ( dev-ruby/bacon )"
+
+each_ruby_install() {
+ ${RUBY} install.rb --dest-dir "${D}" --doc-dir /usr/share/doc/${P} || die "install failed"
+}
+
+all_ruby_install() {
+ if use doc; then
+ rake docs || die
+ dodoc -r doc/*
+ fi
+}
+
+each_ruby_test() {
+ ${RUBY} -S bacon -Ilib spec/*.rb spec/*/*.rb || die
+}
diff --git a/app-editors/diakonos/metadata.xml b/app-editors/diakonos/metadata.xml
new file mode 100644
index 000000000000..bfcb6974f1c4
--- /dev/null
+++ b/app-editors/diakonos/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>
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-editors/e3/Manifest b/app-editors/e3/Manifest
new file mode 100644
index 000000000000..5c6c02eae1d8
--- /dev/null
+++ b/app-editors/e3/Manifest
@@ -0,0 +1 @@
+DIST e3-2.8.tgz 119939 SHA256 035737d0cc82b287386fdff8682b2c23ef620d7ef97dff7a1b1fe1777e4c4fb7 SHA512 f3443ac558203b6921458761174ebc060936ae9f8a834670044152b9af52e0919075ac8110ba47b4b6f4e8261afa917e9fe49492b8d40d38d69987353ddd5189 WHIRLPOOL 9531a30229fe78bb2f55621d085d561923cae4b7db6c91f46320c81516936389f765fa0ef8bc65c19fefae40a60e50b5541f1e751a03aabf56d6b57dbf4cb165
diff --git a/app-editors/e3/e3-2.8.ebuild b/app-editors/e3/e3-2.8.ebuild
new file mode 100644
index 000000000000..b7ed30080e75
--- /dev/null
+++ b/app-editors/e3/e3-2.8.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="Very tiny editor in ASM with emacs, pico, wordstar, and vi keybindings"
+HOMEPAGE="http://sites.google.com/site/e3editor/"
+SRC_URI="http://sites.google.com/site/e3editor/Home/${P}.tgz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+RESTRICT="strip"
+
+DEPEND=">=dev-lang/nasm-2.09.04"
+RDEPEND=""
+
+src_prepare() {
+ sed -i 's/-D$(EXMODE)//' Makefile || die
+}
+
+src_compile() {
+ emake -- $(usex amd64 64 32)
+}
+
+src_install() {
+ dobin e3
+ dosym e3 /usr/bin/e3em
+ dosym e3 /usr/bin/e3ne
+ dosym e3 /usr/bin/e3pi
+ dosym e3 /usr/bin/e3vi
+ dosym e3 /usr/bin/e3ws
+
+ newman e3.man e3.1
+ dohtml e3.html
+ dodoc ChangeLog README README_OLD
+}
diff --git a/app-editors/e3/metadata.xml b/app-editors/e3/metadata.xml
new file mode 100644
index 000000000000..ddec4ff80d90
--- /dev/null
+++ b/app-editors/e3/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>emacs</herd>
+<longdescription>
+ e3 is a full-screen, user-friendly text editor with an interface similar to
+ that of either WordStar, Emacs, Pico, Nedit, or vi. It's heavily optimized
+ for size and independent of libc or any other libraries, making it useful
+ for mini-Linux distributions and rescue disks. The assembler version
+ supports Linux, FreeBSD, OpenBSD, NetBSD, Win9x, QNX, Atheos, BeOS, ELKS,
+ and DOS. There is also a separately distributed version written in C which
+ supports some other Unix versions and CygWin. It is also possible to use
+ regular expressions by using child processes like sed. e3 has a built in
+ arithmetic calculator.
+</longdescription>
+</pkgmetadata>
diff --git a/app-editors/editra/Manifest b/app-editors/editra/Manifest
new file mode 100644
index 000000000000..ed31fdbe257b
--- /dev/null
+++ b/app-editors/editra/Manifest
@@ -0,0 +1 @@
+DIST Editra-0.7.20.tar.gz 4072243 SHA256 ed515bca58d87d9a2b3085f322a9fe7c6d1407a3b05db1434f80ea8f7e42ccc0 SHA512 e568ce2a5f04300c33223bf7a0e6fbc52d0a51c3472afb9b613fe21cfbeba0b9b453d87837e52c7c48050fc266ff5ff194a42f797053f21f0a25cd5c4579febe WHIRLPOOL ecfbc9610ba707aaad4995f9832e0f2bf2d79e56a5fadb27ae6c5b671c0f69a166c3d2d37163141789629a30fe56fbeb59c05c0203ae9201e2447ea479f52c55
diff --git a/app-editors/editra/editra-0.7.20-r1.ebuild b/app-editors/editra/editra-0.7.20-r1.ebuild
new file mode 100644
index 000000000000..ee0f358044f4
--- /dev/null
+++ b/app-editors/editra/editra-0.7.20-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils fdo-mime
+
+MY_PN=${PN/e/E}
+
+DESCRIPTION="Multi-platform text editor supporting over 50 programming languages"
+HOMEPAGE="http://editra.org http://pypi.python.org/pypi/Editra"
+SRC_URI="http://editra.org/uploads/src/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="wxWinLL-3.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="spell"
+
+DEPEND="
+ >=dev-python/wxpython-2.8.9.2:2.8[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-0.6[${PYTHON_USEDEP}]"
+# setuptools is RDEPEND because it's used by the runtime for installing plugins
+RDEPEND="${DEPEND}
+ spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}"/${MY_PN}-${PV}
+
+python_compile() {
+ # http://code.google.com/p/editra/issues/detail?id=481
+ distutils-r1_python_compile --no-clean
+}
+
+python_install() {
+ distutils-r1_python_install --no-clean
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ doicon "${S}"/pixmaps/editra.png
+ make_desktop_entry editra Editra editra "Utility;TextEditor"
+ dodoc FAQ THANKS
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}
diff --git a/app-editors/editra/editra-0.7.20.ebuild b/app-editors/editra/editra-0.7.20.ebuild
new file mode 100644
index 000000000000..86a005ef1bb1
--- /dev/null
+++ b/app-editors/editra/editra-0.7.20.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+SUPPORT_PYTHON_ABIS=1
+PYTHON_DEPEND="2:2.6"
+RESTRICT_PYTHON_ABIS="2.5 3.* *-jython 2.7-pypy-*"
+
+inherit distutils eutils fdo-mime python
+
+MY_PN=${PN/e/E}
+
+DESCRIPTION="Multi-platform text editor supporting over 50 programming languages"
+HOMEPAGE="http://editra.org http://pypi.python.org/pypi/Editra"
+SRC_URI="http://editra.org/uploads/src/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="wxWinLL-3.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="spell"
+
+DEPEND=">=dev-python/wxpython-2.8.9.2:2.8
+ >=dev-python/setuptools-0.6"
+# setuptools is RDEPEND because it's used by the runtime for installing plugins
+RDEPEND="${DEPEND}
+ spell? ( dev-python/pyenchant )"
+
+S="${WORKDIR}"/${MY_PN}-${PV}
+
+src_compile() {
+ distutils_src_compile --no-clean # http://code.google.com/p/editra/issues/detail?id=481
+}
+
+src_install() {
+ distutils_src_install --no-clean
+ doicon "${S}"/pixmaps/editra.png
+ make_desktop_entry editra Editra editra "Utility;TextEditor"
+ dodoc FAQ THANKS
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+ fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+ distutils_pkg_postrm
+ fdo-mime_desktop_database_update
+}
diff --git a/app-editors/editra/metadata.xml b/app-editors/editra/metadata.xml
new file mode 100644
index 000000000000..a191ef54b9b3
--- /dev/null
+++ b/app-editors/editra/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>wxwidgets</herd>
+</pkgmetadata>
diff --git a/app-editors/ee/Manifest b/app-editors/ee/Manifest
new file mode 100644
index 000000000000..edea0c5ab20d
--- /dev/null
+++ b/app-editors/ee/Manifest
@@ -0,0 +1,2 @@
+DIST ee-1.4.6.src.tgz 70511 SHA256 a85362dbc24c2bd0f675093fb593ba347b471749c0a0dbefdc75b6334a7b6e4c SHA512 e77fd6876886f7bad8b6c8a0cbf5c9d5da524be473e86721082495db3410fc4f2a7fce64bbbf221037e5c7d5e4f8f5b0712703eea8a51cc63926b16e6632f0a7 WHIRLPOOL 093a83d5fc0531b3afa5c49a91133872a0b37a16278300bef0633b625a4a5db7356731266157d2c5af74aaa3d82128fea8e88e1b94cf3004f0ef8ddb97da7a50
+DIST ee-1.5.2.src.tgz 69651 SHA256 e08d7511a48b43ee354042fe3fe7d9cb3431238caedcf4ac729c61a447003918 SHA512 9ca0e82d65971b0bce38e09c365b6eb8b81ca6ff5b244107ae254322e47e841e7f5345bf242a0a9dd66b731d46cead6f442016b9e070a1298e1a5319b1d7b97a WHIRLPOOL 60397b6cde372268d5785b13a3e8e9eddd9c489c0e1981787055d1df52b22f1a7179583a487be4243874b1f9a30a242b630df1a1d3bf6a13d7380b1cb8716b95
diff --git a/app-editors/ee/ee-1.4.6.ebuild b/app-editors/ee/ee-1.4.6.ebuild
new file mode 100644
index 000000000000..14abfe287ad3
--- /dev/null
+++ b/app-editors/ee/ee-1.4.6.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit toolchain-funcs
+
+DESCRIPTION="An easy to use text editor. Intended to be usable with little or no instruction"
+HOMEPAGE="http://mahon.cwx.net/"
+SRC_URI="http://mahon.cwx.net/sources/${P}.src.tgz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~mips ppc ppc64 ~sparc x86"
+IUSE=""
+
+RDEPEND="!app-editors/ersatz-emacs"
+S="${WORKDIR}/easyedit-${PV}"
+
+src_prepare() {
+ sed -i \
+ -e "s/\tcc /\t\\\\\$(CC) /" \
+ -e "/other_cflag/s/ *-s//" \
+ create.make
+}
+
+src_configure() {
+ emake localmake
+}
+
+src_compile() {
+ emake -f make.local CC="$(tc-getCC)"
+}
+
+src_install() {
+ dobin ee
+ doman ee.1
+ dodoc Changes README.ee ee.i18n.guide ee.msg
+}
diff --git a/app-editors/ee/ee-1.5.2.ebuild b/app-editors/ee/ee-1.5.2.ebuild
new file mode 100644
index 000000000000..fe61a0e30d44
--- /dev/null
+++ b/app-editors/ee/ee-1.5.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="An easy to use text editor. A subset of aee"
+HOMEPAGE="http://mahon.cwx.net/"
+SRC_URI="http://mahon.cwx.net/sources/${P}.src.tgz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~ia64 ~mips ppc ppc64 ~sparc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE=""
+
+RDEPEND="!app-editors/ersatz-emacs"
+S="${WORKDIR}/easyedit-${PV}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-*.diff
+
+ sed -i \
+ -e "s/make -/\$(MAKE) -/g" \
+ -e "/^buildee/s/$/ localmake/" \
+ Makefile
+
+ sed -i \
+ -e "s/\tcc /\t\\\\\$(CC) /" \
+ -e "/CFLAGS =/s/\" >/ \\\\\$(LDFLAGS)\" >/" \
+ -e "/other_cflag/s/ *-s//" \
+ create.make
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ dobin ee
+ doman ee.1
+ dodoc Changes README.ee ee.i18n.guide ee.msg
+ keepdir /usr/share/${PN}
+}
diff --git a/app-editors/ee/files/ee-init-location.diff b/app-editors/ee/files/ee-init-location.diff
new file mode 100644
index 000000000000..9d6179a03a59
--- /dev/null
+++ b/app-editors/ee/files/ee-init-location.diff
@@ -0,0 +1,40 @@
+--- easyedit-1.5.2.orig/ee.1
++++ easyedit-1.5.2/ee.1
+@@ -406,7 +406,7 @@
+ .PP
+ Since different users have different preferences, \fIee\fR allows some
+ slight configurability. There are three possible locations for an
+-initialization file for ee: the file \fI/usr/local/lib/init.ee\fR, the
++initialization file for ee: the file \fI/usr/share/ee/init.ee\fR, the
+ file \fI.init.ee\fR in the user's home directory, or the file \fI.init.ee\fR
+ in the current directory (if different from the home
+ directory). This allows system administrators to set some preferences for
+@@ -414,7 +414,7 @@
+ and the user to customize settings for particular directories (like one
+ for correspondence, and a different directory for programming).
+ .PP
+-The file \fI\/usr/local/lib/init.ee\fR is read first, then
++The file \fI\/usr/share/ee/init.ee\fR is read first, then
+ \fI$HOME/.init.ee\fR, then \fI.init.ee\fR, with the settings specified by the
+ most recent file read taking precedence.
+ .PP
+@@ -521,7 +521,7 @@
+ may be too slow for slower systems.
+ .SH FILES
+ .PP
+-.I /usr/local/lib/init.ee
++.I /usr/share/ee/init.ee
+ .br
+ .I $HOME/.init.ee
+ .br
+--- easyedit-1.5.2.orig/ee.c
++++ easyedit-1.5.2/ee.c
+@@ -4124,7 +4124,7 @@
+ }
+
+ unsigned char *init_name[3] = {
+- "/usr/local/lib/init.ee",
++ "/usr/share/ee/init.ee",
+ NULL,
+ ".init.ee"
+ };
diff --git a/app-editors/ee/metadata.xml b/app-editors/ee/metadata.xml
new file mode 100644
index 000000000000..d4a08224d284
--- /dev/null
+++ b/app-editors/ee/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>hattya@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-editors/efte/Manifest b/app-editors/efte/Manifest
new file mode 100644
index 000000000000..c1206053d5d1
--- /dev/null
+++ b/app-editors/efte/Manifest
@@ -0,0 +1 @@
+DIST efte-1.1.tar.bz2 429919 SHA256 b71b9301dc781555bd9f4c73d7d81eb92701ccd5119b17da9b86ede402d31e16 SHA512 4dbfcaaadc56996d1b4659db2a82ec5132cf45b6f65ef545274769aa47f44ba27a8af1488ed57e5ffec2d9f5f1d1ef4cb9ee97514414796f176c2272a6bb6661 WHIRLPOOL 0d14d090767d55fb6d46d183e5ff9b43ecc9aacfe8171c63c1e15f0fc10bc562cde196cd06589515ba97429d195d2927df085b799c793a21dda0fee37d84190f
diff --git a/app-editors/efte/efte-1.1-r1.ebuild b/app-editors/efte/efte-1.1-r1.ebuild
new file mode 100644
index 000000000000..d5f320cc6179
--- /dev/null
+++ b/app-editors/efte/efte-1.1-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils cmake-utils fdo-mime
+
+DESCRIPTION="A fast text editor supporting folding, syntax highlighting, etc."
+HOMEPAGE="http://efte.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="|| ( GPL-2 Artistic )"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="gpm X"
+
+RDEPEND="sys-libs/ncurses
+ gpm? ( sys-libs/gpm )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXpm
+ x11-libs/libXdmcp
+ x11-libs/libXau
+ media-fonts/font-misc-misc
+ )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-flags.patch \
+ "${FILESDIR}"/${P}-desktopfile.patch
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_build gpm)
+ $(cmake-utils_use_build X)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ rm -f "${D}"/usr/share/doc/${PN}/{COPYING,Artistic}
+ mv "${D}/usr/share/doc/${PN}" "${D}/usr/share/doc/${PF}" || die
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}
diff --git a/app-editors/efte/files/efte-1.1-desktopfile.patch b/app-editors/efte/files/efte-1.1-desktopfile.patch
new file mode 100644
index 000000000000..79cfc1c0ab34
--- /dev/null
+++ b/app-editors/efte/files/efte-1.1-desktopfile.patch
@@ -0,0 +1,18 @@
+--- efte-1.1/packaging/shared/efte.desktop
++++ efte-1.1/packaging/shared/efte.desktop
+@@ -1,6 +1,5 @@
+ [Desktop Entry]
+ Name=eFTE
+-Version=1.1
+ GenericName=Text Editor
+ GenericName[cz]=Textový editor
+ GenericName[de]=Texteditor
+@@ -29,7 +28,7 @@
+ Comment[sv]=Snabb, utbyggbar textredigerare för programmerare
+ MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
+ Exec=efte %f
+-Icon=efte
++Icon=efte48x48
+ Type=Application
+ Terminal=false
+ Categories=Development;TextEditor;
diff --git a/app-editors/efte/files/efte-1.1-flags.patch b/app-editors/efte/files/efte-1.1-flags.patch
new file mode 100644
index 000000000000..10c17cff322c
--- /dev/null
+++ b/app-editors/efte/files/efte-1.1-flags.patch
@@ -0,0 +1,15 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Fri Jan 4 20:17:34 UTC 2013
+Subject: respect system CXXFLAGS
+
+--- efte-1.1/src/CMakeLists.txt
++++ efte-1.1/src/CMakeLists.txt
+@@ -86,7 +86,7 @@
+ ENDIF( UNIX AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" )
+
+ IF( CMAKE_COMPILER_IS_GNUCC )
+- SET( CMAKE_CXX_FLAGS "-pedantic -Wall -Wno-long-long -Wpointer-arith -Wconversion -Wwrite-strings -Winline -fno-rtti -fno-exceptions" )
++ SET( CMAKE_CXX_FLAGS "-pedantic -Wall -Wno-long-long -Wpointer-arith -Wconversion -Wwrite-strings -Winline -fno-rtti -fno-exceptions ${CMAKE_CXX_FLAGS}" )
+ ENDIF( CMAKE_COMPILER_IS_GNUCC )
+
+ IF( CMAKE_SYSTEM_NAME MATCHES "HP/UX" )
diff --git a/app-editors/efte/metadata.xml b/app-editors/efte/metadata.xml
new file mode 100644
index 000000000000..1b5c6ecd9460
--- /dev/null
+++ b/app-editors/efte/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">efte</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/elvis/Manifest b/app-editors/elvis/Manifest
new file mode 100644
index 000000000000..b9f855fd559e
--- /dev/null
+++ b/app-editors/elvis/Manifest
@@ -0,0 +1 @@
+DIST elvis-2.2_0.tar.gz 1439293 SHA256 9a8466b2293798441056bc279736af3a616baaba2f11940396cc60ff71924ea0 SHA512 847cc9ac0af170798abd4725f7dc2ec74d4931fb761b58836d4016d36da5657176bd8cdcdae02bc08438b18e8ce2433eb3340ec2503630fd2992e83ba06adf42 WHIRLPOOL be087bc38507900852dbe1f9b59a14c3e135d14bc695f2ec23c6c70284c6f9b7d35b7d25a0dd2b36f32392537421aeb6804df477cfc98a206f101ffee5f2be8f
diff --git a/app-editors/elvis/elvis-2.2.0-r4.ebuild b/app-editors/elvis/elvis-2.2.0-r4.ebuild
new file mode 100644
index 000000000000..3136054524dc
--- /dev/null
+++ b/app-editors/elvis/elvis-2.2.0-r4.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils versionator toolchain-funcs
+
+MY_PV=$(replace_version_separator 2 '_')
+
+DESCRIPTION="A vi/ex clone"
+HOMEPAGE="ftp://ftp.cs.pdx.edu/pub/elvis/"
+SRC_URI="ftp://ftp.cs.pdx.edu/pub/elvis/${PN}-${MY_PV}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~x86-interix ~ppc-macos ~x86-macos ~m68k-mint ~sparc-solaris"
+IUSE="X"
+
+RDEPEND=">=sys-libs/ncurses-5.7-r7
+ X? ( >=x11-proto/xproto-7.0.4
+ >=x11-libs/libX11-1.0.0
+ >=x11-libs/libXt-1.0.0
+ >=x11-libs/libXpm-3.5.4.2
+ >=x11-libs/libXft-2.1.8.2 )
+ app-eselect/eselect-vi"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${PN}-${MY_PV}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/ft2.3-symbol-collision-fix.patch \
+ "${FILESDIR}"/${P}-glibc-2.10.patch \
+ "${FILESDIR}"/${P}-interix.patch
+}
+
+src_configure() {
+ ./configure \
+ --libs="$($(tc-getPKG_CONFIG) --libs ncurses)" \
+ --prefix="${EPREFIX}"/usr \
+ --bindir="${EPREFIX}"/usr/bin \
+ --datadir="${EPREFIX}"/usr/share/elvis \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ $(use_with X x) \
+ || die
+
+ # Some Makefile fixups (must happen after configure)
+ # Use our CFLAGS
+ sed -i -e "s:gcc -O2:$(tc-getCC) ${CFLAGS}:" Makefile || die "sed 1 failed"
+
+ # We'll install the man-pages ourselves
+ sed -i -e '/^ sh instman.sh/d' Makefile || die "sed 2 failed"
+
+ # Don't try to write to /etc
+ sed -i -e 's,/etc/elvis,${ED}/etc/elvis,g' Makefile || die "sed 3 failed"
+
+ # Use LDFLAGS
+ sed -i -e "s#\$(CC) \$(CFLAGS)#\$(CC) \$(CFLAGS) ${LDFLAGS}#" Makefile || \
+ die "sed 4 failed"
+}
+
+src_install() {
+ dodir /usr/bin
+ dodir /usr/share/man/man1
+ dodir /usr/share/elvis
+ dodir /usr/share/doc/${PF}
+ dodir /etc
+ emake install \
+ PREFIX="${ED}"/usr \
+ BINDIR="${ED}"/usr/bin \
+ DATADIR="${ED}"/usr/share/elvis \
+ DOCDIR="${ED}"/usr/share/doc/${PF}
+
+ # Install the man-pages
+ mv doc/elvis.man doc/elvis.1
+ mv doc/elvtags.man doc/elvtags.1
+ mv doc/ref.man doc/ref.1
+ doman doc/*.1
+
+ # Fixup some READMEs
+ sed -i -e "s,${ED},,g" "${ED}"/etc/elvis/README \
+ || die 'sed /etc/elvis/README failed'
+ sed -i -e "s,${ED},,g" "${ED}"/usr/share/elvis/README \
+ || die 'sed /usr/share/elvis/README failed'
+}
+
+pkg_postinst() {
+ einfo "Setting /usr/bin/vi symlink"
+ eselect vi set "${PN}"
+}
+
+pkg_postrm() {
+ einfo "Updating /usr/bin/vi symlink"
+ eselect vi update
+}
diff --git a/app-editors/elvis/files/elvis-2.2.0-glibc-2.10.patch b/app-editors/elvis/files/elvis-2.2.0-glibc-2.10.patch
new file mode 100644
index 000000000000..1a3d1affb303
--- /dev/null
+++ b/app-editors/elvis/files/elvis-2.2.0-glibc-2.10.patch
@@ -0,0 +1,48 @@
+diff -ur elvis-2.2_0.orig/ref.c elvis-2.2_0/ref.c
+--- elvis-2.2_0.orig/ref.c 2003-10-21 05:32:25.000000000 +0300
++++ elvis-2.2_0/ref.c 2009-08-05 21:28:30.000000000 +0300
+@@ -42,7 +42,7 @@
+
+ #if USE_PROTOTYPES
+ static void usage(char *argv0);
+-static char *getline(FILE *fp);
++static char *get_line(FILE *fp);
+ static void store(char *line, char **list);
+ static LINECLS classify(char *line, LINECLS prev);
+ static void lookup(TAG *tag);
+@@ -171,7 +171,7 @@
+ /* This function reads a single line, and replaces the terminating newline with
+ * a '\0' byte. The string will be in a static buffer. Returns NULL at EOF.
+ */
+-static char *getline(fp)
++static char *get_line(fp)
+ FILE *fp;
+ {
+ int ch;
+@@ -348,7 +348,7 @@
+ }
+
+ /* for each line... */
+- for (lnum = 1, lc = LC_COMPLETE; (line = getline(fp)) != NULL; lnum++)
++ for (lnum = 1, lc = LC_COMPLETE; (line = get_line(fp)) != NULL; lnum++)
+ {
+ /* is this the tag definition? */
+ if (taglnum > 0 ? taglnum == lnum : !strncmp(tagline, line, len))
+@@ -377,7 +377,7 @@
+ {
+ if (strchr(line, '(') != NULL)
+ {
+- while ((line = getline(fp)) != NULL
++ while ((line = get_line(fp)) != NULL
+ && *line
+ && ((*line != '#' && *line != '{')
+ || line[strlen(line) - 1] == '\\'))
+@@ -387,7 +387,7 @@
+ }
+ else if ((lc = classify(line, lc)) == LC_PARTIAL)
+ {
+- while ((line = getline(fp)) != NULL
++ while ((line = get_line(fp)) != NULL
+ && (lc = classify(line, lc)) == LC_PARTIAL)
+ {
+ puts(line);
diff --git a/app-editors/elvis/files/elvis-2.2.0-interix.patch b/app-editors/elvis/files/elvis-2.2.0-interix.patch
new file mode 100644
index 000000000000..e16024374716
--- /dev/null
+++ b/app-editors/elvis/files/elvis-2.2.0-interix.patch
@@ -0,0 +1,11 @@
+diff -ru -x '*.Po' -x '*.Plo' elvis-2.2_0.orig/osunix/osblock.c elvis-2.2_0/osunix/osblock.c
+--- elvis-2.2_0.orig/osunix/osblock.c 2008-04-03 12:00:26 +0200
++++ elvis-2.2_0/osunix/osblock.c 2008-04-03 12:01:53 +0200
+@@ -293,5 +293,7 @@
+ return;
+ #endif
+
++#ifndef __INTERIX
+ sync();
++#endif
+ }
diff --git a/app-editors/elvis/files/ft2.3-symbol-collision-fix.patch b/app-editors/elvis/files/ft2.3-symbol-collision-fix.patch
new file mode 100644
index 000000000000..aac099e56ef7
--- /dev/null
+++ b/app-editors/elvis/files/ft2.3-symbol-collision-fix.patch
@@ -0,0 +1,73 @@
+diff -ur elvis-2.2_0-orig/guix11/tags elvis-2.2_0/guix11/tags
+--- elvis-2.2_0-orig/guix11/tags 2003-10-20 19:32:26.000000000 -0700
++++ elvis-2.2_0/guix11/tags 2007-08-17 12:56:28.000000000 -0700
+@@ -31,7 +31,7 @@
+ DEFAULT_TOOLFG guix11.c 40;" d ln:40 file:
+ DEFAULT_XENCODING guix11.c 48;" d ln:48 file:
+ FT_DEFAULT xdialog.h 10;" ln:10 enum:X_FIELDTYPE
+-FT_FILE xdialog.h 10;" ln:10 enum:X_FIELDTYPE
++FT_FILEC xdialog.h 10;" ln:10 enum:X_FIELDTYPE
+ FT_LOCKED xdialog.h 10;" ln:10 enum:X_FIELDTYPE
+ FT_NUMBER xdialog.h 10;" ln:10 enum:X_FIELDTYPE
+ FT_ONEOF xdialog.h 10;" ln:10 enum:X_FIELDTYPE
+diff -ur elvis-2.2_0-orig/guix11/xdialog.c elvis-2.2_0/guix11/xdialog.c
+--- elvis-2.2_0-orig/guix11/xdialog.c 2003-10-20 19:32:26.000000000 -0700
++++ elvis-2.2_0/guix11/xdialog.c 2007-08-17 12:56:28.000000000 -0700
+@@ -387,7 +387,7 @@
+ case 'o': ft = FT_ONEOF, limit = scan; break;
+ case 'n': ft = FT_NUMBER, limit = scan; break;
+ case 's': ft = FT_STRING; break;
+- case 'f': ft = FT_FILE; break;
++ case 'f': ft = FT_FILEC; break;
+ case 'l': ft = FT_LOCKED; break;
+ }
+
+@@ -556,7 +556,7 @@
+ break;
+
+ case FT_STRING:
+- case FT_FILE:
++ case FT_FILEC:
+ button = addbutton(dia, "<", 'l', ELVCTRL('L'));
+ button->y = dia->y0 + dia->rowh * i;
+ button->x = dia->x0 + 3;
+@@ -1111,7 +1111,7 @@
+ newvalue = keystring(dia, key);
+ break;
+
+- case FT_FILE:
++ case FT_FILEC:
+ #ifdef FEATURE_COMPLETE
+ if (key == '\t')
+ {
+@@ -1179,7 +1179,7 @@
+ switch (dia->field[row].ft)
+ {
+ case FT_STRING:
+- case FT_FILE:
++ case FT_FILEC:
+ case FT_NUMBER:
+ case FT_LOCKED:
+ drawtext(dia, row);
+@@ -1207,7 +1207,7 @@
+ break;
+
+ case FT_STRING:
+- case FT_FILE:
++ case FT_FILEC:
+ if (button->shape == 'l')
+ if (row == dia->current
+ ? dia->shift > 0
+diff -ur elvis-2.2_0-orig/guix11/xdialog.h elvis-2.2_0/guix11/xdialog.h
+--- elvis-2.2_0-orig/guix11/xdialog.h 2003-10-20 19:32:26.000000000 -0700
++++ elvis-2.2_0/guix11/xdialog.h 2007-08-17 12:56:28.000000000 -0700
+@@ -5,7 +5,7 @@
+ FT_ONEOF, /* one of a preset list; includes boolean */
+ FT_NUMBER, /* numeric field */
+ FT_STRING, /* string field */
+- FT_FILE, /* string field where <Tab> does filename completion */
++ FT_FILEC, /* string field where <Tab> does filename completion */
+ FT_LOCKED /* non-editable field */
+ } X_FIELDTYPE;
+ typedef struct
+
diff --git a/app-editors/elvis/metadata.xml b/app-editors/elvis/metadata.xml
new file mode 100644
index 000000000000..5fcb67350f69
--- /dev/null
+++ b/app-editors/elvis/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>vim</herd>
+</pkgmetadata>
diff --git a/app-editors/emacs-vcs/Manifest b/app-editors/emacs-vcs/Manifest
new file mode 100644
index 000000000000..96b98ca78b79
--- /dev/null
+++ b/app-editors/emacs-vcs/Manifest
@@ -0,0 +1,4 @@
+DIST emacs-25.0.50_pre20150523.tar.xz 25311384 SHA256 2dd6e7adb8e3359e00a8cbc15a28ef31b631c8363602e3be7566908f2ee2b047 SHA512 a897c4a4d7bd19c9c9a181b23240aed102295e30f1ba9a167b5c1a3231c05a4613023e6810ca0226cedea6325999a35efb0ea2a2b7e535a0338b7b688592438f WHIRLPOOL ce81ceca640c15437af427cef79090f71c8f19a78c8b2d5966f1887e88fff3bd35c00bcb266fb0d8133ee95b22cac8576f12462fa04c41feebcc7aad2f1ddb7e
+DIST emacs-25.0.50_pre20150531.tar.xz 26741144 SHA256 ad984201fb56ca09f48a09fa2d3ae2cc151c31b724ffd7de3926780817f0e1b7 SHA512 f9f019a9cf53a33b9c2a3374fe132d321f4e39d3d46ba83c637aaf32d02bfbb518d0b392311e47cf1eba349fcbdc6fdf3d8bbb248afed587168dd5bff110563f WHIRLPOOL b3d42367f726c0bd5e8335c4925ba3e706b7f74679c76e655db94334a761085273d2d1279d4a16867fbf462a82ad504f60a17f0c2eaaa8444b3808045acd513a
+DIST emacs-25.0.50_pre20150630.tar.xz 26793504 SHA256 b2bac514c9f345ff8f515d8cbcfde7dacf69644bce9a1353c42d5d7940603f3c SHA512 9bbd7afe4a8053273b06b801b70c4397d4f60365ca50cfc4677224304ca79e0acb6d709c6de2461257f61befaa21f80311f82b5ca47f739193340c7c4bfefa92 WHIRLPOOL 7a9badcfa89a53557f255bc6eb28e03d364dddf6343e56bcaf2dd9229054c41e9b7c5b23440322ccd32950b2c7d7dd1edb6cc1ae5c7c82543585d21de8c29937
+DIST emacs-25.0.50_pre20150731.tar.xz 26825232 SHA256 80127a9d905918066c97df81f3e489dbd30f323e9dec2353d33f124522f91c81 SHA512 9834d191e98e780e8ba8f2fa07b50dda6d380a3e220ad0590bdc160d9e2c9cd3c0b0acd5e8d52f3f0f44070280e3686bd7facd78f9bd4b3f6ce0723f1b3311bf WHIRLPOOL 0c0ec4f99630771da61d5bc80b9001a61fa3b7f49f09b6e9a5dd402a383c4d13717c50d86da9d63ad01dd2fce5ac5d7812bcdcd3e31eefb5f0ad4b00d0cc342f
diff --git a/app-editors/emacs-vcs/emacs-vcs-24.5.9999.ebuild b/app-editors/emacs-vcs/emacs-vcs-24.5.9999.ebuild
new file mode 100644
index 000000000000..7715fdb83e0b
--- /dev/null
+++ b/app-editors/emacs-vcs/emacs-vcs-24.5.9999.ebuild
@@ -0,0 +1,372 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo
+
+if [[ ${PV##*.} = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://git.sv.gnu.org/emacs.git"
+ EGIT_BRANCH="emacs-24"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
+ S="${EGIT_CHECKOUT_DIR}"
+else
+ SRC_URI="http://dev.gentoo.org/~ulm/distfiles/emacs-${PV}.tar.xz
+ mirror://gnu-alpha/emacs/pretest/emacs-${PV}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+ # FULL_VERSION keeps the full version number, which is needed in
+ # order to determine some path information correctly for copy/move
+ # operations later on
+ FULL_VERSION="${PV%%_*}"
+ #S="${WORKDIR}/emacs-${FULL_VERSION}"
+ S="${WORKDIR}/emacs"
+fi
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="http://www.gnu.org/software/emacs/"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="24"
+IUSE="acl alsa aqua athena dbus games gconf gfile gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses
+ >=app-eselect/eselect-emacs-1.16
+ >=app-emacs/emacs-common-gentoo-1.4-r1[games?,X?]
+ net-libs/liblockfile
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ gfile? ( >=dev-libs/glib-2.28.6 )
+ gnutls? ( net-libs/gnutls )
+ gpm? ( sys-libs/gpm )
+ hesiod? ( net-dns/hesiod )
+ kerberos? ( virtual/krb5 )
+ libxml2? ( >=dev-libs/libxml2-2.2.0 )
+ selinux? ( sys-libs/libselinux )
+ zlib? ( sys-libs/zlib )
+ X? (
+ x11-libs/libXmu
+ x11-libs/libXt
+ x11-misc/xbitmaps
+ gconf? ( >=gnome-base/gconf-2.26.2 )
+ gsettings? ( >=dev-libs/glib-2.28.6 )
+ gif? ( media-libs/giflib )
+ jpeg? ( virtual/jpeg:0= )
+ png? ( >=media-libs/libpng-1.4:0= )
+ svg? ( >=gnome-base/librsvg-2.0 )
+ tiff? ( media-libs/tiff:0 )
+ xpm? ( x11-libs/libXpm )
+ imagemagick? ( >=media-gfx/imagemagick-6.6.2 )
+ xft? (
+ media-libs/fontconfig
+ media-libs/freetype
+ x11-libs/libXft
+ m17n-lib? (
+ >=dev-libs/libotf-0.9.4
+ >=dev-libs/m17n-lib-1.5.1
+ )
+ )
+ gtk? (
+ gtk3? ( x11-libs/gtk+:3 )
+ !gtk3? ( x11-libs/gtk+:2 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ Xaw3d? ( x11-libs/libXaw3d )
+ !Xaw3d? ( athena? ( x11-libs/libXaw ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ gzip-el? ( app-arch/gzip )
+ pax_kernel? (
+ sys-apps/attr
+ sys-apps/paxctl
+ )"
+
+if [[ ${PV##*.} = 9999 ]]; then
+ DEPEND="${DEPEND}
+ sys-apps/texinfo"
+fi
+
+EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
+SITEFILE="20${PN}-${SLOT}-gentoo.el"
+
+src_prepare() {
+ if [[ ${PV##*.} = 9999 ]]; then
+ FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \
+ configure.ac)
+ [[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version"
+ einfo "Emacs branch: ${EGIT_BRANCH}"
+ einfo "Commit: ${EGIT_VERSION}"
+ einfo "Emacs version number: ${FULL_VERSION}"
+ [[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \
+ || die "Upstream version number changed to ${FULL_VERSION}"
+ fi
+
+ epatch_user
+
+ # Fix filename reference in redirected man page
+ sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
+ || die "unable to sed ctags.1"
+
+ AT_M4DIR=m4 eautoreconf
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -pie #526948
+
+ if use sh; then
+ replace-flags "-O[1-9]" -O0 #262359
+ elif use ia64; then
+ replace-flags "-O[2-9]" -O1 #325373
+ else
+ replace-flags "-O[3-9]" -O2
+ fi
+
+ local myconf
+
+ if use alsa; then
+ use sound || ewarn \
+ "USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
+ myconf+=" --with-sound=alsa"
+ else
+ myconf+=" --with-sound=$(usex sound oss)"
+ fi
+
+ if use X; then
+ myconf+=" --with-x --without-ns"
+ myconf+=" $(use_with gconf)"
+ myconf+=" $(use_with gsettings)"
+ myconf+=" $(use_with toolkit-scroll-bars)"
+ myconf+=" $(use_with gif)"
+ myconf+=" $(use_with jpeg)"
+ myconf+=" $(use_with png)"
+ myconf+=" $(use_with svg rsvg)"
+ myconf+=" $(use_with tiff)"
+ myconf+=" $(use_with xpm)"
+ myconf+=" $(use_with imagemagick)"
+
+ if use xft; then
+ myconf+=" --with-xft"
+ myconf+=" $(use_with m17n-lib libotf)"
+ myconf+=" $(use_with m17n-lib m17n-flt)"
+ else
+ myconf+=" --without-xft"
+ myconf+=" --without-libotf --without-m17n-flt"
+ use m17n-lib && ewarn \
+ "USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
+ fi
+
+ local f
+ if use gtk; then
+ einfo "Configuring to build with GIMP Toolkit (GTK+)"
+ while read line; do ewarn "${line}"; done <<-EOF
+ Your version of GTK+ will have problems with closing open
+ displays. This is no problem if you just use one display, but
+ if you use more than one and close one of them Emacs may crash.
+ See <http://bugzilla.gnome.org/show_bug.cgi?id=85715>.
+ If you intend to use more than one display, then it is strongly
+ recommended that you compile Emacs with the Athena/Lucid or the
+ Motif toolkit instead.
+ EOF
+ myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
+ for f in motif Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"gtk\" is set."
+ done
+ elif use motif; then
+ einfo "Configuring to build with Motif toolkit"
+ myconf+=" --with-x-toolkit=motif"
+ for f in Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"motif\" is set."
+ done
+ elif use athena || use Xaw3d; then
+ einfo "Configuring to build with Athena/Lucid toolkit"
+ myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
+ else
+ einfo "Configuring to build with no toolkit"
+ myconf+=" --with-x-toolkit=no"
+ fi
+ elif use aqua; then
+ einfo "Configuring to build with Nextstep (Cocoa) support"
+ myconf+=" --with-ns --disable-ns-self-contained"
+ myconf+=" --without-x"
+ else
+ myconf+=" --without-x --without-ns"
+ fi
+
+ # Save version information in the Emacs binary. It will be available
+ # in variable "system-configuration-options".
+ myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
+ if [[ ${PV##*.} = 9999 ]]; then
+ myconf+=" EGIT_BRANCH=${EGIT_BRANCH} EGIT_VERSION=${EGIT_VERSION}"
+ fi
+
+ econf \
+ --program-suffix="-${EMACS_SUFFIX}" \
+ --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+ --localstatedir="${EPREFIX}"/var \
+ --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+ --with-gameuser="${GAMES_USER_DED:-games}" \
+ --without-compress-install \
+ --with-file-notification=$(usev gfile || usev inotify || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with gnutls) \
+ $(use_with gpm) \
+ $(use_with hesiod) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with libxml2 xml2) \
+ $(use_with selinux) \
+ $(use_with wide-int) \
+ $(use_with zlib) \
+ ${myconf}
+}
+
+src_compile() {
+ export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
+ emake
+}
+
+src_install () {
+ emake DESTDIR="${D}" NO_BIN_LINK=t install
+
+ mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
+ || die "moving emacs executable failed"
+ mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
+ || die "moving emacs man page failed"
+
+ # move info dir to avoid collisions with the dir file generated by portage
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
+ || die "moving info dir failed"
+ touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
+ docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
+
+ # avoid collision between slots, see bug #169033 e.g.
+ rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
+ rm -rf "${ED}"/usr/share/{applications,icons}
+ rm -rf "${ED}"/var
+
+ # remove unused <version>/site-lisp dir
+ rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
+
+ # remove COPYING file (except for etc/COPYING used by describe-copying)
+ rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
+
+ if use gzip-el; then
+ # compress .el files when a corresponding .elc exists
+ find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
+ -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
+ assert "gzip .el failed"
+ fi
+
+ local cdir
+ if use source; then
+ cdir="/usr/share/emacs/${FULL_VERSION}/src"
+ insinto "${cdir}"
+ # This is not meant to install all the source -- just the
+ # C source you might find via find-function
+ doins src/*.{c,h,m}
+ elif has installsources ${FEATURES}; then
+ cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
+ fi
+
+ sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF
+ X
+ ;;; ${PN}-${SLOT} site-lisp configuration
+ X
+ (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
+ Y (setq find-function-C-source-directory
+ Y "${EPREFIX}${cdir}")
+ X (let ((path (getenv "INFOPATH"))
+ X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
+ X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share/info
+ X (let* ((p (cons nil (split-string path ":" t))) (q p))
+ X (while (and (cdr q) (not (string-match re (cadr q))))
+ X (setq q (cdr q)))
+ X (setcdr q (cons dir (delete dir (cdr q))))
+ X (setq Info-directory-list (prune-directory-list (cdr p)))))))
+ EOF
+ elisp-site-file-install "${T}/${SITEFILE}" || die
+
+ dodoc README BUGS
+
+ if use aqua; then
+ dodir /Applications/Gentoo
+ rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
+ fi
+
+ DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
+ through the Emacs eselect module, which also redirects man and info
+ pages. Therefore, several Emacs versions can be installed at the
+ same time. \"man emacs.eselect\" for details.
+ \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
+ strongly recommended that you use app-admin/emacs-updater to rebuild
+ all byte-compiled elisp files of the installed Emacs packages."
+ use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
+ Installing media-fonts/font-adobe-{75,100}dpi on the X server's
+ machine would satisfy basic Emacs requirements under X11.
+ See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
+ for how to enable anti-aliased fonts."
+ use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
+ \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
+ it into /Applications by yourself."
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ # move Info dir file to correct name
+ local infodir=/usr/share/info/${EMACS_SUFFIX} f
+ if [[ -f ${ED}${infodir}/dir.orig ]]; then
+ mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
+ elif [[ -d "${ED}"${infodir} ]]; then
+ # this should not happen in EAPI 4
+ ewarn "Regenerating Info directory index in ${infodir} ..."
+ rm -f "${ED}"${infodir}/dir{,.*}
+ for f in "${ED}"${infodir}/*; do
+ if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
+ install-info --info-dir="${ED}"${infodir} "${f}" \
+ || die "install-info failed"
+ fi
+ done
+ fi
+}
+
+pkg_postinst() {
+ elisp-site-regen
+
+ local pvr
+ for pvr in ${REPLACING_VERSIONS}; do
+ [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1
+ done
+ readme.gentoo_print_elog
+
+ if use livecd; then
+ # force an update of the emacs symlink for the livecd/dvd,
+ # because some microemacs packages set it with USE=livecd
+ eselect emacs update
+ elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
+ # refresh symlinks in case any installed files have changed
+ eselect emacs set ${EMACS_SUFFIX}
+ else
+ eselect emacs update ifunset
+ fi
+}
+
+pkg_postrm() {
+ elisp-site-regen
+ eselect emacs update ifunset
+}
diff --git a/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150523.ebuild b/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150523.ebuild
new file mode 100644
index 000000000000..fd54e0adc8af
--- /dev/null
+++ b/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150523.ebuild
@@ -0,0 +1,372 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo
+
+if [[ ${PV##*.} = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://git.sv.gnu.org/emacs.git"
+ EGIT_BRANCH="master"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
+ S="${EGIT_CHECKOUT_DIR}"
+else
+ SRC_URI="http://dev.gentoo.org/~ulm/distfiles/emacs-${PV}.tar.xz
+ mirror://gnu-alpha/emacs/pretest/emacs-${PV}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+ # FULL_VERSION keeps the full version number, which is needed in
+ # order to determine some path information correctly for copy/move
+ # operations later on
+ FULL_VERSION="${PV%%_*}"
+ #S="${WORKDIR}/emacs-${FULL_VERSION}"
+ S="${WORKDIR}/emacs"
+fi
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="http://www.gnu.org/software/emacs/"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="25"
+IUSE="acl alsa aqua athena dbus games gconf gfile gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses
+ >=app-eselect/eselect-emacs-1.16
+ >=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ net-libs/liblockfile
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ gfile? ( >=dev-libs/glib-2.28.6 )
+ gnutls? ( net-libs/gnutls )
+ gpm? ( sys-libs/gpm )
+ hesiod? ( net-dns/hesiod )
+ kerberos? ( virtual/krb5 )
+ libxml2? ( >=dev-libs/libxml2-2.2.0 )
+ selinux? ( sys-libs/libselinux )
+ zlib? ( sys-libs/zlib )
+ X? (
+ x11-libs/libXmu
+ x11-libs/libXt
+ x11-misc/xbitmaps
+ gconf? ( >=gnome-base/gconf-2.26.2 )
+ gsettings? ( >=dev-libs/glib-2.28.6 )
+ gif? ( media-libs/giflib )
+ jpeg? ( virtual/jpeg:0= )
+ png? ( >=media-libs/libpng-1.4:0= )
+ svg? ( >=gnome-base/librsvg-2.0 )
+ tiff? ( media-libs/tiff:0 )
+ xpm? ( x11-libs/libXpm )
+ imagemagick? ( >=media-gfx/imagemagick-6.6.2 )
+ xft? (
+ media-libs/fontconfig
+ media-libs/freetype
+ x11-libs/libXft
+ m17n-lib? (
+ >=dev-libs/libotf-0.9.4
+ >=dev-libs/m17n-lib-1.5.1
+ )
+ )
+ gtk? (
+ gtk3? ( x11-libs/gtk+:3 )
+ !gtk3? ( x11-libs/gtk+:2 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ Xaw3d? ( x11-libs/libXaw3d )
+ !Xaw3d? ( athena? ( x11-libs/libXaw ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ gzip-el? ( app-arch/gzip )
+ pax_kernel? (
+ sys-apps/attr
+ sys-apps/paxctl
+ )"
+
+if [[ ${PV##*.} = 9999 ]]; then
+ DEPEND="${DEPEND}
+ sys-apps/texinfo"
+fi
+
+EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
+SITEFILE="20${PN}-${SLOT}-gentoo.el"
+
+src_prepare() {
+ if [[ ${PV##*.} = 9999 ]]; then
+ FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \
+ configure.ac)
+ [[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version"
+ einfo "Emacs branch: ${EGIT_BRANCH}"
+ einfo "Commit: ${EGIT_VERSION}"
+ einfo "Emacs version number: ${FULL_VERSION}"
+ [[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \
+ || die "Upstream version number changed to ${FULL_VERSION}"
+ fi
+
+ epatch_user
+
+ # Fix filename reference in redirected man page
+ sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
+ || die "unable to sed ctags.1"
+
+ AT_M4DIR=m4 eautoreconf
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -pie #526948
+
+ if use sh; then
+ replace-flags "-O[1-9]" -O0 #262359
+ elif use ia64; then
+ replace-flags "-O[2-9]" -O1 #325373
+ else
+ replace-flags "-O[3-9]" -O2
+ fi
+
+ local myconf
+
+ if use alsa; then
+ use sound || ewarn \
+ "USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
+ myconf+=" --with-sound=alsa"
+ else
+ myconf+=" --with-sound=$(usex sound oss)"
+ fi
+
+ if use X; then
+ myconf+=" --with-x --without-ns"
+ myconf+=" $(use_with gconf)"
+ myconf+=" $(use_with gsettings)"
+ myconf+=" $(use_with toolkit-scroll-bars)"
+ myconf+=" $(use_with gif)"
+ myconf+=" $(use_with jpeg)"
+ myconf+=" $(use_with png)"
+ myconf+=" $(use_with svg rsvg)"
+ myconf+=" $(use_with tiff)"
+ myconf+=" $(use_with xpm)"
+ myconf+=" $(use_with imagemagick)"
+
+ if use xft; then
+ myconf+=" --with-xft"
+ myconf+=" $(use_with m17n-lib libotf)"
+ myconf+=" $(use_with m17n-lib m17n-flt)"
+ else
+ myconf+=" --without-xft"
+ myconf+=" --without-libotf --without-m17n-flt"
+ use m17n-lib && ewarn \
+ "USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
+ fi
+
+ local f
+ if use gtk; then
+ einfo "Configuring to build with GIMP Toolkit (GTK+)"
+ while read line; do ewarn "${line}"; done <<-EOF
+ Your version of GTK+ will have problems with closing open
+ displays. This is no problem if you just use one display, but
+ if you use more than one and close one of them Emacs may crash.
+ See <http://bugzilla.gnome.org/show_bug.cgi?id=85715>.
+ If you intend to use more than one display, then it is strongly
+ recommended that you compile Emacs with the Athena/Lucid or the
+ Motif toolkit instead.
+ EOF
+ myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
+ for f in motif Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"gtk\" is set."
+ done
+ elif use motif; then
+ einfo "Configuring to build with Motif toolkit"
+ myconf+=" --with-x-toolkit=motif"
+ for f in Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"motif\" is set."
+ done
+ elif use athena || use Xaw3d; then
+ einfo "Configuring to build with Athena/Lucid toolkit"
+ myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
+ else
+ einfo "Configuring to build with no toolkit"
+ myconf+=" --with-x-toolkit=no"
+ fi
+ elif use aqua; then
+ einfo "Configuring to build with Nextstep (Cocoa) support"
+ myconf+=" --with-ns --disable-ns-self-contained"
+ myconf+=" --without-x"
+ else
+ myconf+=" --without-x --without-ns"
+ fi
+
+ # Save version information in the Emacs binary. It will be available
+ # in variable "system-configuration-options".
+ myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
+ if [[ ${PV##*.} = 9999 ]]; then
+ myconf+=" EGIT_BRANCH=${EGIT_BRANCH} EGIT_VERSION=${EGIT_VERSION}"
+ fi
+
+ econf \
+ --program-suffix="-${EMACS_SUFFIX}" \
+ --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+ --localstatedir="${EPREFIX}"/var \
+ --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+ --with-gameuser=":gamestat" \
+ --without-compress-install \
+ --with-file-notification=$(usev gfile || usev inotify || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with gnutls) \
+ $(use_with gpm) \
+ $(use_with hesiod) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with libxml2 xml2) \
+ $(use_with selinux) \
+ $(use_with wide-int) \
+ $(use_with zlib) \
+ ${myconf}
+}
+
+src_compile() {
+ export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
+ emake
+}
+
+src_install () {
+ emake DESTDIR="${D}" NO_BIN_LINK=t install
+
+ mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
+ || die "moving emacs executable failed"
+ mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
+ || die "moving emacs man page failed"
+
+ # move info dir to avoid collisions with the dir file generated by portage
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
+ || die "moving info dir failed"
+ touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
+ docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
+
+ # avoid collision between slots, see bug #169033 e.g.
+ rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
+ rm -rf "${ED}"/usr/share/{appdata,applications,icons}
+ rm -rf "${ED}"/var
+
+ # remove unused <version>/site-lisp dir
+ rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
+
+ # remove COPYING file (except for etc/COPYING used by describe-copying)
+ rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
+
+ if use gzip-el; then
+ # compress .el files when a corresponding .elc exists
+ find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
+ -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
+ assert "gzip .el failed"
+ fi
+
+ local cdir
+ if use source; then
+ cdir="/usr/share/emacs/${FULL_VERSION}/src"
+ insinto "${cdir}"
+ # This is not meant to install all the source -- just the
+ # C source you might find via find-function
+ doins src/*.{c,h,m}
+ elif has installsources ${FEATURES}; then
+ cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
+ fi
+
+ sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF
+ X
+ ;;; ${PN}-${SLOT} site-lisp configuration
+ X
+ (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
+ Y (setq find-function-C-source-directory
+ Y "${EPREFIX}${cdir}")
+ X (let ((path (getenv "INFOPATH"))
+ X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
+ X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share/info
+ X (let* ((p (cons nil (split-string path ":" t))) (q p))
+ X (while (and (cdr q) (not (string-match re (cadr q))))
+ X (setq q (cdr q)))
+ X (setcdr q (cons dir (delete dir (cdr q))))
+ X (setq Info-directory-list (prune-directory-list (cdr p)))))))
+ EOF
+ elisp-site-file-install "${T}/${SITEFILE}" || die
+
+ dodoc README BUGS CONTRIBUTE
+
+ if use aqua; then
+ dodir /Applications/Gentoo
+ rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
+ fi
+
+ DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
+ through the Emacs eselect module, which also redirects man and info
+ pages. Therefore, several Emacs versions can be installed at the
+ same time. \"man emacs.eselect\" for details.
+ \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
+ strongly recommended that you use app-admin/emacs-updater to rebuild
+ all byte-compiled elisp files of the installed Emacs packages."
+ use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
+ Installing media-fonts/font-adobe-{75,100}dpi on the X server's
+ machine would satisfy basic Emacs requirements under X11.
+ See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
+ for how to enable anti-aliased fonts."
+ use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
+ \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
+ it into /Applications by yourself."
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ # move Info dir file to correct name
+ local infodir=/usr/share/info/${EMACS_SUFFIX} f
+ if [[ -f ${ED}${infodir}/dir.orig ]]; then
+ mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
+ elif [[ -d "${ED}"${infodir} ]]; then
+ # this should not happen in EAPI 4
+ ewarn "Regenerating Info directory index in ${infodir} ..."
+ rm -f "${ED}"${infodir}/dir{,.*}
+ for f in "${ED}"${infodir}/*; do
+ if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
+ install-info --info-dir="${ED}"${infodir} "${f}" \
+ || die "install-info failed"
+ fi
+ done
+ fi
+}
+
+pkg_postinst() {
+ elisp-site-regen
+
+ local pvr
+ for pvr in ${REPLACING_VERSIONS}; do
+ [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1
+ done
+ readme.gentoo_print_elog
+
+ if use livecd; then
+ # force an update of the emacs symlink for the livecd/dvd,
+ # because some microemacs packages set it with USE=livecd
+ eselect emacs update
+ elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
+ # refresh symlinks in case any installed files have changed
+ eselect emacs set ${EMACS_SUFFIX}
+ else
+ eselect emacs update ifunset
+ fi
+}
+
+pkg_postrm() {
+ elisp-site-regen
+ eselect emacs update ifunset
+}
diff --git a/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150531.ebuild b/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150531.ebuild
new file mode 100644
index 000000000000..7f056c1929bf
--- /dev/null
+++ b/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150531.ebuild
@@ -0,0 +1,377 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo
+
+if [[ ${PV##*.} = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://git.sv.gnu.org/emacs.git"
+ EGIT_BRANCH="master"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
+ S="${EGIT_CHECKOUT_DIR}"
+else
+ SRC_URI="http://dev.gentoo.org/~ulm/distfiles/emacs-${PV}.tar.xz
+ mirror://gnu-alpha/emacs/pretest/emacs-${PV}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+ # FULL_VERSION keeps the full version number, which is needed in
+ # order to determine some path information correctly for copy/move
+ # operations later on
+ FULL_VERSION="${PV%%_*}"
+ #S="${WORKDIR}/emacs-${FULL_VERSION}"
+ S="${WORKDIR}/emacs"
+fi
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="http://www.gnu.org/software/emacs/"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="25"
+IUSE="acl alsa aqua athena cairo dbus games gconf gfile gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses
+ >=app-eselect/eselect-emacs-1.16
+ >=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ net-libs/liblockfile
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ gfile? ( >=dev-libs/glib-2.28.6 )
+ gnutls? ( net-libs/gnutls )
+ gpm? ( sys-libs/gpm )
+ hesiod? ( net-dns/hesiod )
+ kerberos? ( virtual/krb5 )
+ libxml2? ( >=dev-libs/libxml2-2.2.0 )
+ selinux? ( sys-libs/libselinux )
+ zlib? ( sys-libs/zlib )
+ X? (
+ x11-libs/libXmu
+ x11-libs/libXt
+ x11-misc/xbitmaps
+ gconf? ( >=gnome-base/gconf-2.26.2 )
+ gsettings? ( >=dev-libs/glib-2.28.6 )
+ gif? ( media-libs/giflib )
+ jpeg? ( virtual/jpeg:0= )
+ png? ( >=media-libs/libpng-1.4:0= )
+ svg? ( >=gnome-base/librsvg-2.0 )
+ tiff? ( media-libs/tiff:0 )
+ xpm? ( x11-libs/libXpm )
+ imagemagick? ( >=media-gfx/imagemagick-6.6.2 )
+ xft? (
+ media-libs/fontconfig
+ media-libs/freetype
+ x11-libs/libXft
+ cairo? ( >=x11-libs/cairo-1.12.18 )
+ m17n-lib? (
+ >=dev-libs/libotf-0.9.4
+ >=dev-libs/m17n-lib-1.5.1
+ )
+ )
+ gtk? (
+ gtk3? ( x11-libs/gtk+:3 )
+ !gtk3? ( x11-libs/gtk+:2 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ Xaw3d? ( x11-libs/libXaw3d )
+ !Xaw3d? ( athena? ( x11-libs/libXaw ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ gzip-el? ( app-arch/gzip )
+ pax_kernel? (
+ sys-apps/attr
+ sys-apps/paxctl
+ )"
+
+if [[ ${PV##*.} = 9999 ]]; then
+ DEPEND="${DEPEND}
+ sys-apps/texinfo"
+fi
+
+EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
+SITEFILE="20${PN}-${SLOT}-gentoo.el"
+
+src_prepare() {
+ if [[ ${PV##*.} = 9999 ]]; then
+ FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \
+ configure.ac)
+ [[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version"
+ einfo "Emacs branch: ${EGIT_BRANCH}"
+ einfo "Commit: ${EGIT_VERSION}"
+ einfo "Emacs version number: ${FULL_VERSION}"
+ [[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \
+ || die "Upstream version number changed to ${FULL_VERSION}"
+ fi
+
+ epatch_user
+
+ # Fix filename reference in redirected man page
+ sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
+ || die "unable to sed ctags.1"
+
+ AT_M4DIR=m4 eautoreconf
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -pie #526948
+
+ if use sh; then
+ replace-flags "-O[1-9]" -O0 #262359
+ elif use ia64; then
+ replace-flags "-O[2-9]" -O1 #325373
+ else
+ replace-flags "-O[3-9]" -O2
+ fi
+
+ local myconf
+
+ if use alsa; then
+ use sound || ewarn \
+ "USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
+ myconf+=" --with-sound=alsa"
+ else
+ myconf+=" --with-sound=$(usex sound oss)"
+ fi
+
+ if use X; then
+ myconf+=" --with-x --without-ns"
+ myconf+=" $(use_with gconf)"
+ myconf+=" $(use_with gsettings)"
+ myconf+=" $(use_with toolkit-scroll-bars)"
+ myconf+=" $(use_with gif)"
+ myconf+=" $(use_with jpeg)"
+ myconf+=" $(use_with png)"
+ myconf+=" $(use_with svg rsvg)"
+ myconf+=" $(use_with tiff)"
+ myconf+=" $(use_with xpm)"
+ myconf+=" $(use_with imagemagick)"
+
+ if use xft; then
+ myconf+=" --with-xft"
+ myconf+=" $(use_with cairo)"
+ myconf+=" $(use_with m17n-lib libotf)"
+ myconf+=" $(use_with m17n-lib m17n-flt)"
+ else
+ myconf+=" --without-xft"
+ myconf+=" --without-cairo"
+ myconf+=" --without-libotf --without-m17n-flt"
+ use cairo && ewarn \
+ "USE flag \"cairo\" has no effect if \"xft\" is not set."
+ use m17n-lib && ewarn \
+ "USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
+ fi
+
+ local f
+ if use gtk; then
+ einfo "Configuring to build with GIMP Toolkit (GTK+)"
+ while read line; do ewarn "${line}"; done <<-EOF
+ Your version of GTK+ will have problems with closing open
+ displays. This is no problem if you just use one display, but
+ if you use more than one and close one of them Emacs may crash.
+ See <http://bugzilla.gnome.org/show_bug.cgi?id=85715>.
+ If you intend to use more than one display, then it is strongly
+ recommended that you compile Emacs with the Athena/Lucid or the
+ Motif toolkit instead.
+ EOF
+ myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
+ for f in motif Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"gtk\" is set."
+ done
+ elif use motif; then
+ einfo "Configuring to build with Motif toolkit"
+ myconf+=" --with-x-toolkit=motif"
+ for f in Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"motif\" is set."
+ done
+ elif use athena || use Xaw3d; then
+ einfo "Configuring to build with Athena/Lucid toolkit"
+ myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
+ else
+ einfo "Configuring to build with no toolkit"
+ myconf+=" --with-x-toolkit=no"
+ fi
+ elif use aqua; then
+ einfo "Configuring to build with Nextstep (Cocoa) support"
+ myconf+=" --with-ns --disable-ns-self-contained"
+ myconf+=" --without-x"
+ else
+ myconf+=" --without-x --without-ns"
+ fi
+
+ # Save version information in the Emacs binary. It will be available
+ # in variable "system-configuration-options".
+ myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
+ if [[ ${PV##*.} = 9999 ]]; then
+ myconf+=" EGIT_BRANCH=${EGIT_BRANCH} EGIT_VERSION=${EGIT_VERSION}"
+ fi
+
+ econf \
+ --program-suffix="-${EMACS_SUFFIX}" \
+ --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+ --localstatedir="${EPREFIX}"/var \
+ --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+ --with-gameuser=":gamestat" \
+ --without-compress-install \
+ --with-file-notification=$(usev gfile || usev inotify || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with gnutls) \
+ $(use_with gpm) \
+ $(use_with hesiod) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with libxml2 xml2) \
+ $(use_with selinux) \
+ $(use_with wide-int) \
+ $(use_with zlib) \
+ ${myconf}
+}
+
+src_compile() {
+ export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
+ emake
+}
+
+src_install () {
+ emake DESTDIR="${D}" NO_BIN_LINK=t install
+
+ mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
+ || die "moving emacs executable failed"
+ mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
+ || die "moving emacs man page failed"
+
+ # move info dir to avoid collisions with the dir file generated by portage
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
+ || die "moving info dir failed"
+ touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
+ docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
+
+ # avoid collision between slots, see bug #169033 e.g.
+ rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
+ rm -rf "${ED}"/usr/share/{appdata,applications,icons}
+ rm -rf "${ED}"/var
+
+ # remove unused <version>/site-lisp dir
+ rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
+
+ # remove COPYING file (except for etc/COPYING used by describe-copying)
+ rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
+
+ if use gzip-el; then
+ # compress .el files when a corresponding .elc exists
+ find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
+ -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
+ assert "gzip .el failed"
+ fi
+
+ local cdir
+ if use source; then
+ cdir="/usr/share/emacs/${FULL_VERSION}/src"
+ insinto "${cdir}"
+ # This is not meant to install all the source -- just the
+ # C source you might find via find-function
+ doins src/*.{c,h,m}
+ elif has installsources ${FEATURES}; then
+ cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
+ fi
+
+ sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF
+ X
+ ;;; ${PN}-${SLOT} site-lisp configuration
+ X
+ (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
+ Y (setq find-function-C-source-directory
+ Y "${EPREFIX}${cdir}")
+ X (let ((path (getenv "INFOPATH"))
+ X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
+ X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share/info
+ X (let* ((p (cons nil (split-string path ":" t))) (q p))
+ X (while (and (cdr q) (not (string-match re (cadr q))))
+ X (setq q (cdr q)))
+ X (setcdr q (cons dir (delete dir (cdr q))))
+ X (setq Info-directory-list (prune-directory-list (cdr p)))))))
+ EOF
+ elisp-site-file-install "${T}/${SITEFILE}" || die
+
+ dodoc README BUGS CONTRIBUTE
+
+ if use aqua; then
+ dodir /Applications/Gentoo
+ rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
+ fi
+
+ DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
+ through the Emacs eselect module, which also redirects man and info
+ pages. Therefore, several Emacs versions can be installed at the
+ same time. \"man emacs.eselect\" for details.
+ \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
+ strongly recommended that you use app-admin/emacs-updater to rebuild
+ all byte-compiled elisp files of the installed Emacs packages."
+ use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
+ Installing media-fonts/font-adobe-{75,100}dpi on the X server's
+ machine would satisfy basic Emacs requirements under X11.
+ See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
+ for how to enable anti-aliased fonts."
+ use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
+ \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
+ it into /Applications by yourself."
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ # move Info dir file to correct name
+ local infodir=/usr/share/info/${EMACS_SUFFIX} f
+ if [[ -f ${ED}${infodir}/dir.orig ]]; then
+ mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
+ elif [[ -d "${ED}"${infodir} ]]; then
+ # this should not happen in EAPI 4
+ ewarn "Regenerating Info directory index in ${infodir} ..."
+ rm -f "${ED}"${infodir}/dir{,.*}
+ for f in "${ED}"${infodir}/*; do
+ if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
+ install-info --info-dir="${ED}"${infodir} "${f}" \
+ || die "install-info failed"
+ fi
+ done
+ fi
+}
+
+pkg_postinst() {
+ elisp-site-regen
+
+ local pvr
+ for pvr in ${REPLACING_VERSIONS}; do
+ [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1
+ done
+ readme.gentoo_print_elog
+
+ if use livecd; then
+ # force an update of the emacs symlink for the livecd/dvd,
+ # because some microemacs packages set it with USE=livecd
+ eselect emacs update
+ elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
+ # refresh symlinks in case any installed files have changed
+ eselect emacs set ${EMACS_SUFFIX}
+ else
+ eselect emacs update ifunset
+ fi
+}
+
+pkg_postrm() {
+ elisp-site-regen
+ eselect emacs update ifunset
+}
diff --git a/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150630.ebuild b/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150630.ebuild
new file mode 100644
index 000000000000..7f056c1929bf
--- /dev/null
+++ b/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150630.ebuild
@@ -0,0 +1,377 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo
+
+if [[ ${PV##*.} = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://git.sv.gnu.org/emacs.git"
+ EGIT_BRANCH="master"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
+ S="${EGIT_CHECKOUT_DIR}"
+else
+ SRC_URI="http://dev.gentoo.org/~ulm/distfiles/emacs-${PV}.tar.xz
+ mirror://gnu-alpha/emacs/pretest/emacs-${PV}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+ # FULL_VERSION keeps the full version number, which is needed in
+ # order to determine some path information correctly for copy/move
+ # operations later on
+ FULL_VERSION="${PV%%_*}"
+ #S="${WORKDIR}/emacs-${FULL_VERSION}"
+ S="${WORKDIR}/emacs"
+fi
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="http://www.gnu.org/software/emacs/"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="25"
+IUSE="acl alsa aqua athena cairo dbus games gconf gfile gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses
+ >=app-eselect/eselect-emacs-1.16
+ >=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ net-libs/liblockfile
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ gfile? ( >=dev-libs/glib-2.28.6 )
+ gnutls? ( net-libs/gnutls )
+ gpm? ( sys-libs/gpm )
+ hesiod? ( net-dns/hesiod )
+ kerberos? ( virtual/krb5 )
+ libxml2? ( >=dev-libs/libxml2-2.2.0 )
+ selinux? ( sys-libs/libselinux )
+ zlib? ( sys-libs/zlib )
+ X? (
+ x11-libs/libXmu
+ x11-libs/libXt
+ x11-misc/xbitmaps
+ gconf? ( >=gnome-base/gconf-2.26.2 )
+ gsettings? ( >=dev-libs/glib-2.28.6 )
+ gif? ( media-libs/giflib )
+ jpeg? ( virtual/jpeg:0= )
+ png? ( >=media-libs/libpng-1.4:0= )
+ svg? ( >=gnome-base/librsvg-2.0 )
+ tiff? ( media-libs/tiff:0 )
+ xpm? ( x11-libs/libXpm )
+ imagemagick? ( >=media-gfx/imagemagick-6.6.2 )
+ xft? (
+ media-libs/fontconfig
+ media-libs/freetype
+ x11-libs/libXft
+ cairo? ( >=x11-libs/cairo-1.12.18 )
+ m17n-lib? (
+ >=dev-libs/libotf-0.9.4
+ >=dev-libs/m17n-lib-1.5.1
+ )
+ )
+ gtk? (
+ gtk3? ( x11-libs/gtk+:3 )
+ !gtk3? ( x11-libs/gtk+:2 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ Xaw3d? ( x11-libs/libXaw3d )
+ !Xaw3d? ( athena? ( x11-libs/libXaw ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ gzip-el? ( app-arch/gzip )
+ pax_kernel? (
+ sys-apps/attr
+ sys-apps/paxctl
+ )"
+
+if [[ ${PV##*.} = 9999 ]]; then
+ DEPEND="${DEPEND}
+ sys-apps/texinfo"
+fi
+
+EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
+SITEFILE="20${PN}-${SLOT}-gentoo.el"
+
+src_prepare() {
+ if [[ ${PV##*.} = 9999 ]]; then
+ FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \
+ configure.ac)
+ [[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version"
+ einfo "Emacs branch: ${EGIT_BRANCH}"
+ einfo "Commit: ${EGIT_VERSION}"
+ einfo "Emacs version number: ${FULL_VERSION}"
+ [[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \
+ || die "Upstream version number changed to ${FULL_VERSION}"
+ fi
+
+ epatch_user
+
+ # Fix filename reference in redirected man page
+ sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
+ || die "unable to sed ctags.1"
+
+ AT_M4DIR=m4 eautoreconf
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -pie #526948
+
+ if use sh; then
+ replace-flags "-O[1-9]" -O0 #262359
+ elif use ia64; then
+ replace-flags "-O[2-9]" -O1 #325373
+ else
+ replace-flags "-O[3-9]" -O2
+ fi
+
+ local myconf
+
+ if use alsa; then
+ use sound || ewarn \
+ "USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
+ myconf+=" --with-sound=alsa"
+ else
+ myconf+=" --with-sound=$(usex sound oss)"
+ fi
+
+ if use X; then
+ myconf+=" --with-x --without-ns"
+ myconf+=" $(use_with gconf)"
+ myconf+=" $(use_with gsettings)"
+ myconf+=" $(use_with toolkit-scroll-bars)"
+ myconf+=" $(use_with gif)"
+ myconf+=" $(use_with jpeg)"
+ myconf+=" $(use_with png)"
+ myconf+=" $(use_with svg rsvg)"
+ myconf+=" $(use_with tiff)"
+ myconf+=" $(use_with xpm)"
+ myconf+=" $(use_with imagemagick)"
+
+ if use xft; then
+ myconf+=" --with-xft"
+ myconf+=" $(use_with cairo)"
+ myconf+=" $(use_with m17n-lib libotf)"
+ myconf+=" $(use_with m17n-lib m17n-flt)"
+ else
+ myconf+=" --without-xft"
+ myconf+=" --without-cairo"
+ myconf+=" --without-libotf --without-m17n-flt"
+ use cairo && ewarn \
+ "USE flag \"cairo\" has no effect if \"xft\" is not set."
+ use m17n-lib && ewarn \
+ "USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
+ fi
+
+ local f
+ if use gtk; then
+ einfo "Configuring to build with GIMP Toolkit (GTK+)"
+ while read line; do ewarn "${line}"; done <<-EOF
+ Your version of GTK+ will have problems with closing open
+ displays. This is no problem if you just use one display, but
+ if you use more than one and close one of them Emacs may crash.
+ See <http://bugzilla.gnome.org/show_bug.cgi?id=85715>.
+ If you intend to use more than one display, then it is strongly
+ recommended that you compile Emacs with the Athena/Lucid or the
+ Motif toolkit instead.
+ EOF
+ myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
+ for f in motif Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"gtk\" is set."
+ done
+ elif use motif; then
+ einfo "Configuring to build with Motif toolkit"
+ myconf+=" --with-x-toolkit=motif"
+ for f in Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"motif\" is set."
+ done
+ elif use athena || use Xaw3d; then
+ einfo "Configuring to build with Athena/Lucid toolkit"
+ myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
+ else
+ einfo "Configuring to build with no toolkit"
+ myconf+=" --with-x-toolkit=no"
+ fi
+ elif use aqua; then
+ einfo "Configuring to build with Nextstep (Cocoa) support"
+ myconf+=" --with-ns --disable-ns-self-contained"
+ myconf+=" --without-x"
+ else
+ myconf+=" --without-x --without-ns"
+ fi
+
+ # Save version information in the Emacs binary. It will be available
+ # in variable "system-configuration-options".
+ myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
+ if [[ ${PV##*.} = 9999 ]]; then
+ myconf+=" EGIT_BRANCH=${EGIT_BRANCH} EGIT_VERSION=${EGIT_VERSION}"
+ fi
+
+ econf \
+ --program-suffix="-${EMACS_SUFFIX}" \
+ --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+ --localstatedir="${EPREFIX}"/var \
+ --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+ --with-gameuser=":gamestat" \
+ --without-compress-install \
+ --with-file-notification=$(usev gfile || usev inotify || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with gnutls) \
+ $(use_with gpm) \
+ $(use_with hesiod) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with libxml2 xml2) \
+ $(use_with selinux) \
+ $(use_with wide-int) \
+ $(use_with zlib) \
+ ${myconf}
+}
+
+src_compile() {
+ export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
+ emake
+}
+
+src_install () {
+ emake DESTDIR="${D}" NO_BIN_LINK=t install
+
+ mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
+ || die "moving emacs executable failed"
+ mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
+ || die "moving emacs man page failed"
+
+ # move info dir to avoid collisions with the dir file generated by portage
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
+ || die "moving info dir failed"
+ touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
+ docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
+
+ # avoid collision between slots, see bug #169033 e.g.
+ rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
+ rm -rf "${ED}"/usr/share/{appdata,applications,icons}
+ rm -rf "${ED}"/var
+
+ # remove unused <version>/site-lisp dir
+ rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
+
+ # remove COPYING file (except for etc/COPYING used by describe-copying)
+ rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
+
+ if use gzip-el; then
+ # compress .el files when a corresponding .elc exists
+ find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
+ -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
+ assert "gzip .el failed"
+ fi
+
+ local cdir
+ if use source; then
+ cdir="/usr/share/emacs/${FULL_VERSION}/src"
+ insinto "${cdir}"
+ # This is not meant to install all the source -- just the
+ # C source you might find via find-function
+ doins src/*.{c,h,m}
+ elif has installsources ${FEATURES}; then
+ cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
+ fi
+
+ sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF
+ X
+ ;;; ${PN}-${SLOT} site-lisp configuration
+ X
+ (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
+ Y (setq find-function-C-source-directory
+ Y "${EPREFIX}${cdir}")
+ X (let ((path (getenv "INFOPATH"))
+ X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
+ X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share/info
+ X (let* ((p (cons nil (split-string path ":" t))) (q p))
+ X (while (and (cdr q) (not (string-match re (cadr q))))
+ X (setq q (cdr q)))
+ X (setcdr q (cons dir (delete dir (cdr q))))
+ X (setq Info-directory-list (prune-directory-list (cdr p)))))))
+ EOF
+ elisp-site-file-install "${T}/${SITEFILE}" || die
+
+ dodoc README BUGS CONTRIBUTE
+
+ if use aqua; then
+ dodir /Applications/Gentoo
+ rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
+ fi
+
+ DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
+ through the Emacs eselect module, which also redirects man and info
+ pages. Therefore, several Emacs versions can be installed at the
+ same time. \"man emacs.eselect\" for details.
+ \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
+ strongly recommended that you use app-admin/emacs-updater to rebuild
+ all byte-compiled elisp files of the installed Emacs packages."
+ use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
+ Installing media-fonts/font-adobe-{75,100}dpi on the X server's
+ machine would satisfy basic Emacs requirements under X11.
+ See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
+ for how to enable anti-aliased fonts."
+ use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
+ \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
+ it into /Applications by yourself."
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ # move Info dir file to correct name
+ local infodir=/usr/share/info/${EMACS_SUFFIX} f
+ if [[ -f ${ED}${infodir}/dir.orig ]]; then
+ mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
+ elif [[ -d "${ED}"${infodir} ]]; then
+ # this should not happen in EAPI 4
+ ewarn "Regenerating Info directory index in ${infodir} ..."
+ rm -f "${ED}"${infodir}/dir{,.*}
+ for f in "${ED}"${infodir}/*; do
+ if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
+ install-info --info-dir="${ED}"${infodir} "${f}" \
+ || die "install-info failed"
+ fi
+ done
+ fi
+}
+
+pkg_postinst() {
+ elisp-site-regen
+
+ local pvr
+ for pvr in ${REPLACING_VERSIONS}; do
+ [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1
+ done
+ readme.gentoo_print_elog
+
+ if use livecd; then
+ # force an update of the emacs symlink for the livecd/dvd,
+ # because some microemacs packages set it with USE=livecd
+ eselect emacs update
+ elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
+ # refresh symlinks in case any installed files have changed
+ eselect emacs set ${EMACS_SUFFIX}
+ else
+ eselect emacs update ifunset
+ fi
+}
+
+pkg_postrm() {
+ elisp-site-regen
+ eselect emacs update ifunset
+}
diff --git a/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150731.ebuild b/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150731.ebuild
new file mode 100644
index 000000000000..7f056c1929bf
--- /dev/null
+++ b/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150731.ebuild
@@ -0,0 +1,377 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo
+
+if [[ ${PV##*.} = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://git.sv.gnu.org/emacs.git"
+ EGIT_BRANCH="master"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
+ S="${EGIT_CHECKOUT_DIR}"
+else
+ SRC_URI="http://dev.gentoo.org/~ulm/distfiles/emacs-${PV}.tar.xz
+ mirror://gnu-alpha/emacs/pretest/emacs-${PV}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+ # FULL_VERSION keeps the full version number, which is needed in
+ # order to determine some path information correctly for copy/move
+ # operations later on
+ FULL_VERSION="${PV%%_*}"
+ #S="${WORKDIR}/emacs-${FULL_VERSION}"
+ S="${WORKDIR}/emacs"
+fi
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="http://www.gnu.org/software/emacs/"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="25"
+IUSE="acl alsa aqua athena cairo dbus games gconf gfile gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses
+ >=app-eselect/eselect-emacs-1.16
+ >=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ net-libs/liblockfile
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ gfile? ( >=dev-libs/glib-2.28.6 )
+ gnutls? ( net-libs/gnutls )
+ gpm? ( sys-libs/gpm )
+ hesiod? ( net-dns/hesiod )
+ kerberos? ( virtual/krb5 )
+ libxml2? ( >=dev-libs/libxml2-2.2.0 )
+ selinux? ( sys-libs/libselinux )
+ zlib? ( sys-libs/zlib )
+ X? (
+ x11-libs/libXmu
+ x11-libs/libXt
+ x11-misc/xbitmaps
+ gconf? ( >=gnome-base/gconf-2.26.2 )
+ gsettings? ( >=dev-libs/glib-2.28.6 )
+ gif? ( media-libs/giflib )
+ jpeg? ( virtual/jpeg:0= )
+ png? ( >=media-libs/libpng-1.4:0= )
+ svg? ( >=gnome-base/librsvg-2.0 )
+ tiff? ( media-libs/tiff:0 )
+ xpm? ( x11-libs/libXpm )
+ imagemagick? ( >=media-gfx/imagemagick-6.6.2 )
+ xft? (
+ media-libs/fontconfig
+ media-libs/freetype
+ x11-libs/libXft
+ cairo? ( >=x11-libs/cairo-1.12.18 )
+ m17n-lib? (
+ >=dev-libs/libotf-0.9.4
+ >=dev-libs/m17n-lib-1.5.1
+ )
+ )
+ gtk? (
+ gtk3? ( x11-libs/gtk+:3 )
+ !gtk3? ( x11-libs/gtk+:2 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ Xaw3d? ( x11-libs/libXaw3d )
+ !Xaw3d? ( athena? ( x11-libs/libXaw ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ gzip-el? ( app-arch/gzip )
+ pax_kernel? (
+ sys-apps/attr
+ sys-apps/paxctl
+ )"
+
+if [[ ${PV##*.} = 9999 ]]; then
+ DEPEND="${DEPEND}
+ sys-apps/texinfo"
+fi
+
+EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
+SITEFILE="20${PN}-${SLOT}-gentoo.el"
+
+src_prepare() {
+ if [[ ${PV##*.} = 9999 ]]; then
+ FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \
+ configure.ac)
+ [[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version"
+ einfo "Emacs branch: ${EGIT_BRANCH}"
+ einfo "Commit: ${EGIT_VERSION}"
+ einfo "Emacs version number: ${FULL_VERSION}"
+ [[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \
+ || die "Upstream version number changed to ${FULL_VERSION}"
+ fi
+
+ epatch_user
+
+ # Fix filename reference in redirected man page
+ sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
+ || die "unable to sed ctags.1"
+
+ AT_M4DIR=m4 eautoreconf
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -pie #526948
+
+ if use sh; then
+ replace-flags "-O[1-9]" -O0 #262359
+ elif use ia64; then
+ replace-flags "-O[2-9]" -O1 #325373
+ else
+ replace-flags "-O[3-9]" -O2
+ fi
+
+ local myconf
+
+ if use alsa; then
+ use sound || ewarn \
+ "USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
+ myconf+=" --with-sound=alsa"
+ else
+ myconf+=" --with-sound=$(usex sound oss)"
+ fi
+
+ if use X; then
+ myconf+=" --with-x --without-ns"
+ myconf+=" $(use_with gconf)"
+ myconf+=" $(use_with gsettings)"
+ myconf+=" $(use_with toolkit-scroll-bars)"
+ myconf+=" $(use_with gif)"
+ myconf+=" $(use_with jpeg)"
+ myconf+=" $(use_with png)"
+ myconf+=" $(use_with svg rsvg)"
+ myconf+=" $(use_with tiff)"
+ myconf+=" $(use_with xpm)"
+ myconf+=" $(use_with imagemagick)"
+
+ if use xft; then
+ myconf+=" --with-xft"
+ myconf+=" $(use_with cairo)"
+ myconf+=" $(use_with m17n-lib libotf)"
+ myconf+=" $(use_with m17n-lib m17n-flt)"
+ else
+ myconf+=" --without-xft"
+ myconf+=" --without-cairo"
+ myconf+=" --without-libotf --without-m17n-flt"
+ use cairo && ewarn \
+ "USE flag \"cairo\" has no effect if \"xft\" is not set."
+ use m17n-lib && ewarn \
+ "USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
+ fi
+
+ local f
+ if use gtk; then
+ einfo "Configuring to build with GIMP Toolkit (GTK+)"
+ while read line; do ewarn "${line}"; done <<-EOF
+ Your version of GTK+ will have problems with closing open
+ displays. This is no problem if you just use one display, but
+ if you use more than one and close one of them Emacs may crash.
+ See <http://bugzilla.gnome.org/show_bug.cgi?id=85715>.
+ If you intend to use more than one display, then it is strongly
+ recommended that you compile Emacs with the Athena/Lucid or the
+ Motif toolkit instead.
+ EOF
+ myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
+ for f in motif Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"gtk\" is set."
+ done
+ elif use motif; then
+ einfo "Configuring to build with Motif toolkit"
+ myconf+=" --with-x-toolkit=motif"
+ for f in Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"motif\" is set."
+ done
+ elif use athena || use Xaw3d; then
+ einfo "Configuring to build with Athena/Lucid toolkit"
+ myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
+ else
+ einfo "Configuring to build with no toolkit"
+ myconf+=" --with-x-toolkit=no"
+ fi
+ elif use aqua; then
+ einfo "Configuring to build with Nextstep (Cocoa) support"
+ myconf+=" --with-ns --disable-ns-self-contained"
+ myconf+=" --without-x"
+ else
+ myconf+=" --without-x --without-ns"
+ fi
+
+ # Save version information in the Emacs binary. It will be available
+ # in variable "system-configuration-options".
+ myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
+ if [[ ${PV##*.} = 9999 ]]; then
+ myconf+=" EGIT_BRANCH=${EGIT_BRANCH} EGIT_VERSION=${EGIT_VERSION}"
+ fi
+
+ econf \
+ --program-suffix="-${EMACS_SUFFIX}" \
+ --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+ --localstatedir="${EPREFIX}"/var \
+ --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+ --with-gameuser=":gamestat" \
+ --without-compress-install \
+ --with-file-notification=$(usev gfile || usev inotify || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with gnutls) \
+ $(use_with gpm) \
+ $(use_with hesiod) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with libxml2 xml2) \
+ $(use_with selinux) \
+ $(use_with wide-int) \
+ $(use_with zlib) \
+ ${myconf}
+}
+
+src_compile() {
+ export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
+ emake
+}
+
+src_install () {
+ emake DESTDIR="${D}" NO_BIN_LINK=t install
+
+ mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
+ || die "moving emacs executable failed"
+ mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
+ || die "moving emacs man page failed"
+
+ # move info dir to avoid collisions with the dir file generated by portage
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
+ || die "moving info dir failed"
+ touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
+ docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
+
+ # avoid collision between slots, see bug #169033 e.g.
+ rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
+ rm -rf "${ED}"/usr/share/{appdata,applications,icons}
+ rm -rf "${ED}"/var
+
+ # remove unused <version>/site-lisp dir
+ rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
+
+ # remove COPYING file (except for etc/COPYING used by describe-copying)
+ rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
+
+ if use gzip-el; then
+ # compress .el files when a corresponding .elc exists
+ find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
+ -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
+ assert "gzip .el failed"
+ fi
+
+ local cdir
+ if use source; then
+ cdir="/usr/share/emacs/${FULL_VERSION}/src"
+ insinto "${cdir}"
+ # This is not meant to install all the source -- just the
+ # C source you might find via find-function
+ doins src/*.{c,h,m}
+ elif has installsources ${FEATURES}; then
+ cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
+ fi
+
+ sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF
+ X
+ ;;; ${PN}-${SLOT} site-lisp configuration
+ X
+ (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
+ Y (setq find-function-C-source-directory
+ Y "${EPREFIX}${cdir}")
+ X (let ((path (getenv "INFOPATH"))
+ X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
+ X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share/info
+ X (let* ((p (cons nil (split-string path ":" t))) (q p))
+ X (while (and (cdr q) (not (string-match re (cadr q))))
+ X (setq q (cdr q)))
+ X (setcdr q (cons dir (delete dir (cdr q))))
+ X (setq Info-directory-list (prune-directory-list (cdr p)))))))
+ EOF
+ elisp-site-file-install "${T}/${SITEFILE}" || die
+
+ dodoc README BUGS CONTRIBUTE
+
+ if use aqua; then
+ dodir /Applications/Gentoo
+ rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
+ fi
+
+ DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
+ through the Emacs eselect module, which also redirects man and info
+ pages. Therefore, several Emacs versions can be installed at the
+ same time. \"man emacs.eselect\" for details.
+ \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
+ strongly recommended that you use app-admin/emacs-updater to rebuild
+ all byte-compiled elisp files of the installed Emacs packages."
+ use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
+ Installing media-fonts/font-adobe-{75,100}dpi on the X server's
+ machine would satisfy basic Emacs requirements under X11.
+ See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
+ for how to enable anti-aliased fonts."
+ use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
+ \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
+ it into /Applications by yourself."
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ # move Info dir file to correct name
+ local infodir=/usr/share/info/${EMACS_SUFFIX} f
+ if [[ -f ${ED}${infodir}/dir.orig ]]; then
+ mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
+ elif [[ -d "${ED}"${infodir} ]]; then
+ # this should not happen in EAPI 4
+ ewarn "Regenerating Info directory index in ${infodir} ..."
+ rm -f "${ED}"${infodir}/dir{,.*}
+ for f in "${ED}"${infodir}/*; do
+ if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
+ install-info --info-dir="${ED}"${infodir} "${f}" \
+ || die "install-info failed"
+ fi
+ done
+ fi
+}
+
+pkg_postinst() {
+ elisp-site-regen
+
+ local pvr
+ for pvr in ${REPLACING_VERSIONS}; do
+ [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1
+ done
+ readme.gentoo_print_elog
+
+ if use livecd; then
+ # force an update of the emacs symlink for the livecd/dvd,
+ # because some microemacs packages set it with USE=livecd
+ eselect emacs update
+ elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
+ # refresh symlinks in case any installed files have changed
+ eselect emacs set ${EMACS_SUFFIX}
+ else
+ eselect emacs update ifunset
+ fi
+}
+
+pkg_postrm() {
+ elisp-site-regen
+ eselect emacs update ifunset
+}
diff --git a/app-editors/emacs-vcs/emacs-vcs-25.0.9999-r1.ebuild b/app-editors/emacs-vcs/emacs-vcs-25.0.9999-r1.ebuild
new file mode 100644
index 000000000000..7f056c1929bf
--- /dev/null
+++ b/app-editors/emacs-vcs/emacs-vcs-25.0.9999-r1.ebuild
@@ -0,0 +1,377 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo
+
+if [[ ${PV##*.} = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://git.sv.gnu.org/emacs.git"
+ EGIT_BRANCH="master"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
+ S="${EGIT_CHECKOUT_DIR}"
+else
+ SRC_URI="http://dev.gentoo.org/~ulm/distfiles/emacs-${PV}.tar.xz
+ mirror://gnu-alpha/emacs/pretest/emacs-${PV}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+ # FULL_VERSION keeps the full version number, which is needed in
+ # order to determine some path information correctly for copy/move
+ # operations later on
+ FULL_VERSION="${PV%%_*}"
+ #S="${WORKDIR}/emacs-${FULL_VERSION}"
+ S="${WORKDIR}/emacs"
+fi
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="http://www.gnu.org/software/emacs/"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="25"
+IUSE="acl alsa aqua athena cairo dbus games gconf gfile gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses
+ >=app-eselect/eselect-emacs-1.16
+ >=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ net-libs/liblockfile
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ gfile? ( >=dev-libs/glib-2.28.6 )
+ gnutls? ( net-libs/gnutls )
+ gpm? ( sys-libs/gpm )
+ hesiod? ( net-dns/hesiod )
+ kerberos? ( virtual/krb5 )
+ libxml2? ( >=dev-libs/libxml2-2.2.0 )
+ selinux? ( sys-libs/libselinux )
+ zlib? ( sys-libs/zlib )
+ X? (
+ x11-libs/libXmu
+ x11-libs/libXt
+ x11-misc/xbitmaps
+ gconf? ( >=gnome-base/gconf-2.26.2 )
+ gsettings? ( >=dev-libs/glib-2.28.6 )
+ gif? ( media-libs/giflib )
+ jpeg? ( virtual/jpeg:0= )
+ png? ( >=media-libs/libpng-1.4:0= )
+ svg? ( >=gnome-base/librsvg-2.0 )
+ tiff? ( media-libs/tiff:0 )
+ xpm? ( x11-libs/libXpm )
+ imagemagick? ( >=media-gfx/imagemagick-6.6.2 )
+ xft? (
+ media-libs/fontconfig
+ media-libs/freetype
+ x11-libs/libXft
+ cairo? ( >=x11-libs/cairo-1.12.18 )
+ m17n-lib? (
+ >=dev-libs/libotf-0.9.4
+ >=dev-libs/m17n-lib-1.5.1
+ )
+ )
+ gtk? (
+ gtk3? ( x11-libs/gtk+:3 )
+ !gtk3? ( x11-libs/gtk+:2 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ Xaw3d? ( x11-libs/libXaw3d )
+ !Xaw3d? ( athena? ( x11-libs/libXaw ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ gzip-el? ( app-arch/gzip )
+ pax_kernel? (
+ sys-apps/attr
+ sys-apps/paxctl
+ )"
+
+if [[ ${PV##*.} = 9999 ]]; then
+ DEPEND="${DEPEND}
+ sys-apps/texinfo"
+fi
+
+EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
+SITEFILE="20${PN}-${SLOT}-gentoo.el"
+
+src_prepare() {
+ if [[ ${PV##*.} = 9999 ]]; then
+ FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \
+ configure.ac)
+ [[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version"
+ einfo "Emacs branch: ${EGIT_BRANCH}"
+ einfo "Commit: ${EGIT_VERSION}"
+ einfo "Emacs version number: ${FULL_VERSION}"
+ [[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \
+ || die "Upstream version number changed to ${FULL_VERSION}"
+ fi
+
+ epatch_user
+
+ # Fix filename reference in redirected man page
+ sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
+ || die "unable to sed ctags.1"
+
+ AT_M4DIR=m4 eautoreconf
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -pie #526948
+
+ if use sh; then
+ replace-flags "-O[1-9]" -O0 #262359
+ elif use ia64; then
+ replace-flags "-O[2-9]" -O1 #325373
+ else
+ replace-flags "-O[3-9]" -O2
+ fi
+
+ local myconf
+
+ if use alsa; then
+ use sound || ewarn \
+ "USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
+ myconf+=" --with-sound=alsa"
+ else
+ myconf+=" --with-sound=$(usex sound oss)"
+ fi
+
+ if use X; then
+ myconf+=" --with-x --without-ns"
+ myconf+=" $(use_with gconf)"
+ myconf+=" $(use_with gsettings)"
+ myconf+=" $(use_with toolkit-scroll-bars)"
+ myconf+=" $(use_with gif)"
+ myconf+=" $(use_with jpeg)"
+ myconf+=" $(use_with png)"
+ myconf+=" $(use_with svg rsvg)"
+ myconf+=" $(use_with tiff)"
+ myconf+=" $(use_with xpm)"
+ myconf+=" $(use_with imagemagick)"
+
+ if use xft; then
+ myconf+=" --with-xft"
+ myconf+=" $(use_with cairo)"
+ myconf+=" $(use_with m17n-lib libotf)"
+ myconf+=" $(use_with m17n-lib m17n-flt)"
+ else
+ myconf+=" --without-xft"
+ myconf+=" --without-cairo"
+ myconf+=" --without-libotf --without-m17n-flt"
+ use cairo && ewarn \
+ "USE flag \"cairo\" has no effect if \"xft\" is not set."
+ use m17n-lib && ewarn \
+ "USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
+ fi
+
+ local f
+ if use gtk; then
+ einfo "Configuring to build with GIMP Toolkit (GTK+)"
+ while read line; do ewarn "${line}"; done <<-EOF
+ Your version of GTK+ will have problems with closing open
+ displays. This is no problem if you just use one display, but
+ if you use more than one and close one of them Emacs may crash.
+ See <http://bugzilla.gnome.org/show_bug.cgi?id=85715>.
+ If you intend to use more than one display, then it is strongly
+ recommended that you compile Emacs with the Athena/Lucid or the
+ Motif toolkit instead.
+ EOF
+ myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
+ for f in motif Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"gtk\" is set."
+ done
+ elif use motif; then
+ einfo "Configuring to build with Motif toolkit"
+ myconf+=" --with-x-toolkit=motif"
+ for f in Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"motif\" is set."
+ done
+ elif use athena || use Xaw3d; then
+ einfo "Configuring to build with Athena/Lucid toolkit"
+ myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
+ else
+ einfo "Configuring to build with no toolkit"
+ myconf+=" --with-x-toolkit=no"
+ fi
+ elif use aqua; then
+ einfo "Configuring to build with Nextstep (Cocoa) support"
+ myconf+=" --with-ns --disable-ns-self-contained"
+ myconf+=" --without-x"
+ else
+ myconf+=" --without-x --without-ns"
+ fi
+
+ # Save version information in the Emacs binary. It will be available
+ # in variable "system-configuration-options".
+ myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
+ if [[ ${PV##*.} = 9999 ]]; then
+ myconf+=" EGIT_BRANCH=${EGIT_BRANCH} EGIT_VERSION=${EGIT_VERSION}"
+ fi
+
+ econf \
+ --program-suffix="-${EMACS_SUFFIX}" \
+ --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+ --localstatedir="${EPREFIX}"/var \
+ --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+ --with-gameuser=":gamestat" \
+ --without-compress-install \
+ --with-file-notification=$(usev gfile || usev inotify || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with gnutls) \
+ $(use_with gpm) \
+ $(use_with hesiod) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with libxml2 xml2) \
+ $(use_with selinux) \
+ $(use_with wide-int) \
+ $(use_with zlib) \
+ ${myconf}
+}
+
+src_compile() {
+ export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
+ emake
+}
+
+src_install () {
+ emake DESTDIR="${D}" NO_BIN_LINK=t install
+
+ mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
+ || die "moving emacs executable failed"
+ mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
+ || die "moving emacs man page failed"
+
+ # move info dir to avoid collisions with the dir file generated by portage
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
+ || die "moving info dir failed"
+ touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
+ docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
+
+ # avoid collision between slots, see bug #169033 e.g.
+ rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
+ rm -rf "${ED}"/usr/share/{appdata,applications,icons}
+ rm -rf "${ED}"/var
+
+ # remove unused <version>/site-lisp dir
+ rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
+
+ # remove COPYING file (except for etc/COPYING used by describe-copying)
+ rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
+
+ if use gzip-el; then
+ # compress .el files when a corresponding .elc exists
+ find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
+ -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
+ assert "gzip .el failed"
+ fi
+
+ local cdir
+ if use source; then
+ cdir="/usr/share/emacs/${FULL_VERSION}/src"
+ insinto "${cdir}"
+ # This is not meant to install all the source -- just the
+ # C source you might find via find-function
+ doins src/*.{c,h,m}
+ elif has installsources ${FEATURES}; then
+ cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
+ fi
+
+ sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF
+ X
+ ;;; ${PN}-${SLOT} site-lisp configuration
+ X
+ (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
+ Y (setq find-function-C-source-directory
+ Y "${EPREFIX}${cdir}")
+ X (let ((path (getenv "INFOPATH"))
+ X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
+ X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share/info
+ X (let* ((p (cons nil (split-string path ":" t))) (q p))
+ X (while (and (cdr q) (not (string-match re (cadr q))))
+ X (setq q (cdr q)))
+ X (setcdr q (cons dir (delete dir (cdr q))))
+ X (setq Info-directory-list (prune-directory-list (cdr p)))))))
+ EOF
+ elisp-site-file-install "${T}/${SITEFILE}" || die
+
+ dodoc README BUGS CONTRIBUTE
+
+ if use aqua; then
+ dodir /Applications/Gentoo
+ rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
+ fi
+
+ DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
+ through the Emacs eselect module, which also redirects man and info
+ pages. Therefore, several Emacs versions can be installed at the
+ same time. \"man emacs.eselect\" for details.
+ \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
+ strongly recommended that you use app-admin/emacs-updater to rebuild
+ all byte-compiled elisp files of the installed Emacs packages."
+ use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
+ Installing media-fonts/font-adobe-{75,100}dpi on the X server's
+ machine would satisfy basic Emacs requirements under X11.
+ See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
+ for how to enable anti-aliased fonts."
+ use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
+ \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
+ it into /Applications by yourself."
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ # move Info dir file to correct name
+ local infodir=/usr/share/info/${EMACS_SUFFIX} f
+ if [[ -f ${ED}${infodir}/dir.orig ]]; then
+ mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
+ elif [[ -d "${ED}"${infodir} ]]; then
+ # this should not happen in EAPI 4
+ ewarn "Regenerating Info directory index in ${infodir} ..."
+ rm -f "${ED}"${infodir}/dir{,.*}
+ for f in "${ED}"${infodir}/*; do
+ if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
+ install-info --info-dir="${ED}"${infodir} "${f}" \
+ || die "install-info failed"
+ fi
+ done
+ fi
+}
+
+pkg_postinst() {
+ elisp-site-regen
+
+ local pvr
+ for pvr in ${REPLACING_VERSIONS}; do
+ [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1
+ done
+ readme.gentoo_print_elog
+
+ if use livecd; then
+ # force an update of the emacs symlink for the livecd/dvd,
+ # because some microemacs packages set it with USE=livecd
+ eselect emacs update
+ elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
+ # refresh symlinks in case any installed files have changed
+ eselect emacs set ${EMACS_SUFFIX}
+ else
+ eselect emacs update ifunset
+ fi
+}
+
+pkg_postrm() {
+ elisp-site-regen
+ eselect emacs update ifunset
+}
diff --git a/app-editors/emacs-vcs/metadata.xml b/app-editors/emacs-vcs/metadata.xml
new file mode 100644
index 000000000000..88ecff51f01c
--- /dev/null
+++ b/app-editors/emacs-vcs/metadata.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>emacs</herd>
+<longdescription>
+ GNU Emacs is an extensible, customizable text editor - and more. At its core
+ is an interpreter for Emacs Lisp, a dialect of the Lisp programming language
+ with extensions to support text editing. The features of GNU Emacs include:
+ * Content-sensitive editing modes, including syntax coloring, for a variety
+ of file types including plain text, source code, and HTML.
+ * Complete built-in documentation, including a tutorial for new users.
+ * Full Unicode support for nearly all human languages and their scripts.
+ * Highly customizable, using Emacs Lisp code or a graphical interface.
+ * A large number of extensions that add other functionality, including a
+ project planner, mail and news reader, debugger interface, calendar, and
+ more. Many of these extensions are distributed with GNU Emacs; others are
+ available separately.
+</longdescription>
+<use>
+ <flag name='athena'>Enable the MIT Athena widget set
+ (<pkg>x11-libs/libXaw</pkg>)</flag>
+ <flag name='games'>Support shared score files for games</flag>
+ <flag name='gconf'>Use <pkg>gnome-base/gconf</pkg> to read the system
+ font name</flag>
+ <flag name='gfile'>Use gfile (<pkg>dev-libs/glib</pkg>) for file
+ notification</flag>
+ <flag name='gsettings'>Use gsettings (<pkg>dev-libs/glib</pkg>) to read the
+ system font name</flag>
+ <flag name='gtk3'>Link against version 3 of the GIMP Toolkit instead of
+ version 2 (<pkg>x11-libs/gtk+</pkg>)</flag>
+ <flag name='gzip-el'>Compress bundled Emacs Lisp source</flag>
+ <flag name='hesiod'>Enable support for <pkg>net-dns/hesiod</pkg></flag>
+ <flag name='imagemagick'>Use <pkg>media-gfx/imagemagick</pkg> for image
+ processing</flag>
+ <flag name='libxml2'>Use <pkg>dev-libs/libxml2</pkg> to parse XML instead
+ of the internal Lisp implementations</flag>
+ <flag name='pax_kernel'>Enable building under a PaX enabled kernel</flag>
+ <flag name='source'>Install C source files and make them available for
+ find-function</flag>
+ <flag name='toolkit-scroll-bars'>Use the selected toolkit's scrollbars in
+ preference to Emacs' own scrollbars</flag>
+ <flag name='wide-int'>Prefer wide Emacs integers (typically 62-bit).
+ This option has an effect only on architectures where "long" and
+ "long long" types have different size.</flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/emacs/Manifest b/app-editors/emacs/Manifest
new file mode 100644
index 000000000000..fecd59c21521
--- /dev/null
+++ b/app-editors/emacs/Manifest
@@ -0,0 +1,9 @@
+DIST emacs-18.59-linux22x-elf-glibc21.diff.gz 15671 SHA256 fb810d893938883d50a3a8d7c43fbeb1604d5454f760b8f1f700326c8ee659dd SHA512 c6c6ea33850dadf08d68fff56fc6aacc80ad1aa36661260715d50b95438942d56e6244094427d50356cfe716f26559feb885254c436399bff7be639637d605b6 WHIRLPOOL cafaa0fb0d06058cac8e445a7a1b5cba145d23186477a9c681efdab8ca0f18a9675dec3a93851fd7138890701f83fab83300c28a548c8fc22478a0cfff95d5da
+DIST emacs-18.59-patches-8.tar.bz2 19667 SHA256 637542bf5ee07d4abac11b76e742598a60787f3869dbf377eed99ae005fbc59d SHA512 a6564bc16724bfdb22f77b0e21b6064ca5e0e1bc91f3223c1037c26f8a048f28ac7a5da6817dc940a5f00f1f39bbfcda2277645409cd7e143a55fabdc3d3fe5d WHIRLPOOL 6b81f978aef2b429262e79ab1d995cca9237dc9c9d98144d2dc3de07bc2cdcec8547adbaf5ad41d9cce3239554918c04c7b9ff783b7931582a3a7398eb2b66f1
+DIST emacs-18.59.tar.gz 2962652 SHA256 1e27e33f91984a91e9b4c1f21433f931aba03670960ecc147bb6d7b0de0f051e SHA512 03ce565e346e89b7aacb1852f4783e8907f394de7da0c543b475cb038eb89b87f980d0f7ca1841b1d2108b20f211e95113c7214e4a33e5767a1827ff43173f33 WHIRLPOOL 5e98e71518f665e2a8278afe54e0ace6d7fdd9df23ff0a3354ffc1d5cc25cd21b0dd4d82766fcb436d4f24e9291c933295e956e1ffea43cfeedf915175763be6
+DIST emacs-23.4-patches-17.tar.xz 16164 SHA256 bc9d4a36239f2749e218d903b67102e211a3a62ef162f5ab2801865dab77b752 SHA512 ceccd559b4f53328d75016b64d246ecf6fca7edebd080ce3bbba5f4d000bec38be5da91f3195c972ede0710da14b3be0545891321259b0a0b2963981c8fd62de WHIRLPOOL 4b70ce4d876e92a006e3dc0a31301f604aa8fa53a198515d1cbb3517a94933b1d7a11636494c1bd28ad1049a5a233d4ec13213e74e1eaff1cf96bb1fd095c345
+DIST emacs-23.4.tar.bz2 38646508 SHA256 26576f9e664397c729f78f5ffcd092969251988461896fe8793062346ee988b9 SHA512 def7a95ecaefae24d8102b96b1d575a23def1b11a8f0bb17b68f7913bd118e2ea4449a8feee76c1bd649f099b70419f0d494ddd9bb32b26f92720cda842b0296 WHIRLPOOL 2384c3f63ff153c3975e373334d6021d46b23ad3cab448ed2e1180501236453a61d13bf1dfbb2e6075bb141dd8511d85f77e37c763b39769f98de48eacc56f3b
+DIST emacs-24.4-patches-5.tar.xz 6000 SHA256 967dac364282a51933f90c56f368bc3f2741efe0b7ff42d3151bb4824b70fa04 SHA512 0a337ad5b7601f5e453645d1fba99717328c6bc7a5505bcb4bd8e853179cf61be43eb6f3b9370edf0f44aa6485d4847c14554c1592ccc7da87b10dabaaa9d421 WHIRLPOOL 149f3a431d055963c544d9fa6c6447a16aa093840f6bf4086f50506979356a12407af16291c46ee62a92b3ee41767452046f45a7163214be33ab7bdbcd6059dc
+DIST emacs-24.4.tar.xz 39733124 SHA256 47e391170db4ca0a3c724530c7050655f6d573a711956b4cd84693c194a9d4fd SHA512 f51f88a4736a3f153ef01f3ad710571e967cd3d0c0112b066169a4040725d370ec29b14a4ca8fa3e3f4c657c726ba8e64c3ac4e390b8e911ea47a3afb5ac755c WHIRLPOOL eae38c2382731fecf0ccf8f717f8c96cc130d01a893ff560caecde903294eb843660492761ea8cce9920b79bfc55e821921924e27c040f25355110f56cd2255b
+DIST emacs-24.5-patches-1.tar.xz 3744 SHA256 dbcad232dff47e5540fff33351d76a92165e3d379a9c1fe52c04268a1ae245f8 SHA512 0c17546211493a521eec026e05722ebfa0988d2d97c916f8ddbe4d54220fbb6256cb8ad76769a8832fe7028051ecfe04d8ac46da71d7c5a6d2906b57466496db WHIRLPOOL 29cbd3513a62b025994918c6fbf86d70e282dfc0b1fc70639afcf356946e7c46ecc099a552e3735346d6b13c494db93246605eff002c34f1d0859ac04f1025fe
+DIST emacs-24.5.tar.xz 39759804 SHA256 dd47d71dd2a526cf6b47cb49af793ec2e26af69a0951cc40e43ae290eacfc34e SHA512 89dee4c3aadb6e505c523f84c65b5e40e5bf28a586cc8a4518a59581c22972f942bb6f3c772df0d5b2685c3e78247c545c6bb2576e981d1ef0f9298c18ad1677 WHIRLPOOL 3d9f8fb840f4c846246e642369f967ba0ec357c7cf718ed865523a3cd39605ba14b8c15fc9ae3f076c27e5b6e41fcb681d15f1c6ffc5934430c0a2bf47c233a3
diff --git a/app-editors/emacs/emacs-18.59-r10.ebuild b/app-editors/emacs/emacs-18.59-r10.ebuild
new file mode 100644
index 000000000000..c21857a391b1
--- /dev/null
+++ b/app-editors/emacs/emacs-18.59-r10.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs flag-o-matic multilib
+
+DESCRIPTION="The extensible self-documenting text editor"
+HOMEPAGE="http://www.gnu.org/software/emacs/"
+SRC_URI="ftp://ftp.gnu.org/old-gnu/emacs/${P}.tar.gz
+ ftp://ftp.splode.com/pub/users/friedman/emacs/${P}-linux22x-elf-glibc21.diff.gz
+ http://dev.gentoo.org/~ulm/emacs/${P}-patches-8.tar.bz2"
+
+LICENSE="GPL-1+ GPL-2+ BSD" #HPND
+SLOT="18"
+KEYWORDS="amd64 x86"
+IUSE="abi_x86_x32"
+
+RDEPEND=">=app-eselect/eselect-emacs-1.16
+ sys-libs/ncurses
+ amd64? (
+ abi_x86_x32? ( >=sys-libs/ncurses-5.9-r3[abi_x86_x32(-)?] )
+ !abi_x86_x32? ( >=sys-libs/ncurses-5.9-r3[abi_x86_32(-)] )
+ )"
+# X? ( x11-libs/libX11[-xcb] )
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${WORKDIR}/${P}-linux22x-elf-glibc21.diff"
+ EPATCH_SUFFIX=patch epatch
+ epatch_user
+}
+
+src_configure() {
+ # autoconf? What's autoconf? We are living in 1992. ;-)
+ local arch
+ case ${ARCH} in
+ amd64)
+ if use abi_x86_x32; then
+ arch=x86-x32
+ multilib_toolchain_setup x32
+ else
+ arch=intel386
+ multilib_toolchain_setup x86
+ fi
+ ;;
+ x86) arch=intel386 ;;
+ *) die "Architecture ${ARCH} not yet supported" ;;
+ esac
+ local cmd="s/\"s-.*\.h\"/\"s-linux.h\"/;s/\"m-.*\.h\"/\"m-${arch}.h\"/"
+ #use X && cmd="${cmd};s/.*\(#define HAVE_X_WINDOWS\).*/\1/"
+ sed -e "${cmd}" src/config.h-dist >src/config.h || die
+
+ cat <<-END >src/paths.h
+ #define PATH_LOADSEARCH "/usr/share/emacs/${PV}/lisp"
+ #define PATH_EXEC "/usr/share/emacs/${PV}/etc"
+ #define PATH_LOCK "/var/lib/emacs/lock/"
+ #define PATH_SUPERLOCK "/var/lib/emacs/lock/!!!SuperLock!!!"
+ END
+
+ sed -i -e "s:/usr/lib/\([^ ]*\).o:/usr/$(get_libdir)/\1.o:g" \
+ -e "s:-lncurses:$("$(tc-getPKG_CONFIG)" --libs ncurses):" \
+ src/s-linux.h || die
+
+ # -O3 and -finline-functions cause segmentation faults at run time.
+ filter-flags -finline-functions
+ replace-flags -O[3-9] -O2
+ strip-flags
+}
+
+src_compile() {
+ # Do not use the sandbox, or the dumped Emacs will be twice as large
+ export SANDBOX_ON=0
+ emake --jobs=1 \
+ CC="$(tc-getCC)" CFLAGS="${CFLAGS} -Demacs" \
+ LD="$(tc-getCC) -nostdlib" LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ local basedir="/usr/share/emacs/${PV}" i
+
+ dodir ${basedir}
+ dodir /usr/share/man/man1
+ emake --jobs=1 \
+ LIBDIR="${D}"${basedir} \
+ BINDIR="${D}"/usr/bin \
+ MANDIR="${D}"/usr/share/man/man1 \
+ install
+
+ rmdir "${D}"${basedir}/lock || die
+ find "${D}"${basedir} -type f \( -name "*.c" -o -name ChangeLog \
+ -o -name COPYING ! -path "*/etc/COPYING" \) -exec rm "{}" + || die
+ fperms -R go-w ${basedir}
+
+ # remove duplicate DOC file
+ rm "${D}"${basedir}/etc/DOC || die
+
+ # move executables to the correct place
+ mv "${D}"/usr/bin/emacs{,-${SLOT}} || die
+ for i in etags ctags emacsclient; do
+ mv "${D}"/usr/bin/${i}{,-emacs-${SLOT}} || die
+ rm "${D}"${basedir}/etc/${i} || die
+ done
+
+ dodir /usr/libexec/emacs/${PV}
+ for i in wakeup digest-doc sorted-doc movemail cvtmail fakemail \
+ yow env server
+ do
+ mv "${D}"${basedir}/etc/${i} "${D}"/usr/libexec/emacs/${PV}/${i} || die
+ dosym ../../../../libexec/emacs/${PV}/${i} ${basedir}/etc/${i}
+ done
+ for i in test-distrib make-docfile; do
+ rm "${D}"${basedir}/etc/${i} || die
+ done
+
+ # move man page
+ mv "${D}"/usr/share/man/man1/emacs{,-${SLOT}}.1 || die
+
+ # move Info files
+ dodir /usr/share/info
+ mv "${D}"${basedir}/info "${D}"/usr/share/info/emacs-${SLOT} || die
+ dosym ../../info/emacs-${SLOT} "${basedir}"/info
+ docompress -x /usr/share/info
+
+ # move Info dir to avoid collisions with the dir file generated by portage
+ mv "${D}"/usr/share/info/emacs-${SLOT}/dir{,.orig} || die
+ touch "${D}"/usr/share/info/emacs-${SLOT}/.keepinfodir
+
+ dodir /var/lib/emacs
+ diropts -m0777
+ keepdir /var/lib/emacs/lock
+
+ dodoc README PROBLEMS
+}
+
+pkg_preinst() {
+ # move Info dir file to correct name
+ if [[ -d "${D}"/usr/share/info ]]; then
+ mv "${D}"/usr/share/info/emacs-${SLOT}/dir{.orig,} || die
+ fi
+}
+
+pkg_postinst() {
+ eselect emacs update ifunset
+}
+
+pkg_postrm() {
+ eselect emacs update ifunset
+}
diff --git a/app-editors/emacs/emacs-23.4-r13.ebuild b/app-editors/emacs/emacs-23.4-r13.ebuild
new file mode 100644
index 000000000000..d160ecab1703
--- /dev/null
+++ b/app-editors/emacs/emacs-23.4-r13.ebuild
@@ -0,0 +1,348 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+WANT_AUTOMAKE="none"
+
+inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="http://www.gnu.org/software/emacs/"
+SRC_URI="mirror://gnu/emacs/${P}.tar.bz2
+ http://dev.gentoo.org/~ulm/emacs/${P}-patches-17.tar.xz"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="23"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="alsa aqua athena dbus games gconf gif gpm gtk gzip-el hesiod jpeg kerberos livecd m17n-lib motif pax_kernel png sound source svg tiff toolkit-scroll-bars X Xaw3d xft +xpm"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses
+ >=app-eselect/eselect-emacs-1.16
+ >=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ net-libs/liblockfile
+ hesiod? ( net-dns/hesiod )
+ kerberos? ( virtual/krb5 )
+ alsa? ( media-libs/alsa-lib )
+ gpm? ( sys-libs/gpm )
+ dbus? ( sys-apps/dbus )
+ X? (
+ x11-libs/libXmu
+ x11-libs/libXt
+ x11-misc/xbitmaps
+ gconf? ( >=gnome-base/gconf-2.26.2 )
+ gif? ( media-libs/giflib )
+ jpeg? ( virtual/jpeg:0= )
+ png? ( >=media-libs/libpng-1.4:0= )
+ svg? ( >=gnome-base/librsvg-2.0 )
+ tiff? ( media-libs/tiff:0 )
+ xpm? ( x11-libs/libXpm )
+ xft? (
+ media-libs/fontconfig
+ media-libs/freetype
+ x11-libs/libXft
+ m17n-lib? (
+ >=dev-libs/libotf-0.9.4
+ >=dev-libs/m17n-lib-1.5.1
+ )
+ )
+ gtk? ( x11-libs/gtk+:2 )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ Xaw3d? ( x11-libs/libXaw3d )
+ !Xaw3d? ( athena? ( x11-libs/libXaw ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ alsa? ( virtual/pkgconfig )
+ dbus? ( virtual/pkgconfig )
+ X? ( virtual/pkgconfig )
+ gzip-el? ( app-arch/gzip )
+ pax_kernel? (
+ sys-apps/attr
+ sys-apps/paxctl
+ )"
+
+RDEPEND="${RDEPEND}
+ !<app-editors/emacs-vcs-${PV}"
+
+EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
+SITEFILE="20${PN}-${SLOT}-gentoo.el"
+# FULL_VERSION keeps the full version number, which is needed in
+# order to determine some path information correctly for copy/move
+# operations later on
+FULL_VERSION="${PV%%_*}"
+S="${WORKDIR}/emacs-${FULL_VERSION}"
+
+src_prepare() {
+ EPATCH_SUFFIX=patch epatch
+ epatch_user
+
+ sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
+ || die "unable to sed ctags.1"
+
+ if ! use alsa; then
+ # ALSA is detected even if not requested by its USE flag.
+ # Suppress it by supplying pkg-config with a wrong library name.
+ sed -i -e "/ALSA_MODULES=/s/alsa/DiSaBlEaLsA/" configure.in \
+ || die "unable to sed configure.in"
+ fi
+ if ! use gzip-el; then
+ # Emacs' build system automatically detects the gzip binary and
+ # compresses el files. We don't want that so confuse it with a
+ # wrong binary name
+ sed -i -e "s/ gzip/ PrEvEnTcOmPrEsSiOn/" configure.in \
+ || die "unable to sed configure.in"
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -fstrict-aliasing -pie
+ append-flags $(test-flags -fno-strict-aliasing)
+
+ if use sh; then
+ replace-flags "-O[1-9]" -O0 #262359
+ elif use ia64; then
+ replace-flags "-O[2-9]" -O1 #325373
+ else
+ replace-flags "-O[3-9]" -O2
+ fi
+
+ local myconf
+
+ if use alsa && ! use sound; then
+ einfo "Although sound USE flag is disabled you chose to have alsa,"
+ einfo "so sound is switched on anyway."
+ myconf+=" --with-sound"
+ else
+ myconf+=" $(use_with sound)"
+ fi
+
+ if use X; then
+ myconf+=" --with-x --without-ns"
+ myconf+=" $(use_with gconf)"
+ myconf+=" $(use_with toolkit-scroll-bars)"
+ myconf+=" $(use_with gif)"
+ myconf+=" $(use_with jpeg)"
+ myconf+=" $(use_with png)"
+ myconf+=" $(use_with svg rsvg)"
+ myconf+=" $(use_with tiff)"
+ myconf+=" $(use_with xpm)"
+
+ if use xft; then
+ myconf+=" --with-xft"
+ myconf+=" $(use_with m17n-lib libotf)"
+ myconf+=" $(use_with m17n-lib m17n-flt)"
+ else
+ myconf+=" --without-xft"
+ myconf+=" --without-libotf --without-m17n-flt"
+ use m17n-lib && ewarn \
+ "USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
+ fi
+
+ # GTK+ is the default toolkit if USE=gtk is chosen with other
+ # possibilities. Emacs upstream thinks this should be standard
+ # policy on all distributions
+ local f
+ if use gtk; then
+ einfo "Configuring to build with GIMP Toolkit (GTK+)"
+ myconf+=" --with-x-toolkit=gtk"
+ for f in motif Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"gtk\" is set."
+ done
+ elif use motif; then
+ einfo "Configuring to build with Motif toolkit"
+ myconf+=" --with-x-toolkit=motif"
+ for f in Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"motif\" is set."
+ done
+ elif use athena || use Xaw3d; then
+ einfo "Configuring to build with Athena/Lucid toolkit"
+ myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
+ else
+ einfo "Configuring to build with no toolkit"
+ myconf+=" --with-x-toolkit=no"
+ fi
+ elif use aqua; then
+ einfo "Configuring to build with Nextstep (Cocoa) support"
+ myconf+=" --with-ns --disable-ns-self-contained"
+ myconf+=" --without-x"
+ else
+ myconf+=" --without-x --without-ns"
+ fi
+
+ # Save version information in the Emacs binary. It will be available
+ # in variable "system-configuration-options".
+ myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
+
+ # According to configure, this option is only used for GNU/Linux
+ # (x86_64 and s390). For Gentoo Prefix we have to explicitly spell
+ # out the location because $(get_libdir) does not necessarily return
+ # something that matches the host OS's libdir naming (e.g. RHEL).
+ local crtdir=$($(tc-getCC) -print-file-name=crt1.o)
+ crtdir=${crtdir%/*}
+
+ econf \
+ --program-suffix="-${EMACS_SUFFIX}" \
+ --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+ --localstatedir="${EPREFIX}"/var \
+ --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+ --with-crt-dir="${crtdir}" \
+ --with-gameuser=":gamestat" \
+ $(use_with hesiod) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with gpm) \
+ $(use_with dbus) \
+ ${myconf}
+}
+
+src_compile() {
+ export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
+ emake CC="$(tc-getCC)" \
+ AR="$(tc-getAR) cq" \
+ RANLIB="$(tc-getRANLIB)"
+}
+
+src_install () {
+ emake DESTDIR="${D}" install
+
+ rm "${ED}"/usr/bin/emacs-${FULL_VERSION}-${EMACS_SUFFIX} \
+ || die "removing duplicate emacs executable failed"
+ mv "${ED}"/usr/bin/emacs-${EMACS_SUFFIX} "${ED}"/usr/bin/${EMACS_SUFFIX} \
+ || die "moving emacs executable failed"
+
+ # move man pages to the correct place
+ local m
+ mv "${ED}"/usr/share/man/man1/{emacs,${EMACS_SUFFIX}}.1 \
+ || die "moving emacs man page failed"
+ for m in b2m ctags ebrowse emacsclient etags grep-changelog rcs-checkin; do
+ mv "${ED}"/usr/share/man/man1/${m}{,-${EMACS_SUFFIX}}.1 \
+ || die "moving ${m} man page failed"
+ done
+
+ # move info dir to avoid collisions with the dir file generated by portage
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
+ || die "moving info dir failed"
+ touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
+ docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
+
+ # avoid collision between slots, see bug #169033 e.g.
+ rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
+ rm -rf "${ED}"/usr/share/{applications,icons}
+ rm -rf "${ED}"/var
+
+ # remove unused <version>/site-lisp dir
+ rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
+
+ # remove COPYING file (except for etc/COPYING used by describe-copying)
+ rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
+
+ local cdir
+ if use source; then
+ cdir="/usr/share/emacs/${FULL_VERSION}/src"
+ insinto "${cdir}"
+ # This is not meant to install all the source -- just the
+ # C source you might find via find-function
+ doins src/*.{c,h,m}
+ doins -r src/{m,s}
+ rm "${ED}"/usr/share/emacs/${FULL_VERSION}/src/Makefile.c
+ rm "${ED}"/usr/share/emacs/${FULL_VERSION}/src/{m,s}/README
+ elif has installsources ${FEATURES}; then
+ cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
+ fi
+
+ sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF
+ X
+ ;;; ${PN}-${SLOT} site-lisp configuration
+ X
+ (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
+ Y (setq find-function-C-source-directory
+ Y "${EPREFIX}${cdir}")
+ X (let ((path (getenv "INFOPATH"))
+ X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
+ X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share/info
+ X (let* ((p (cons nil (split-string path ":" t))) (q p))
+ X (while (and (cdr q) (not (string-match re (cadr q))))
+ X (setq q (cdr q)))
+ X (setcdr q (cons dir (delete dir (cdr q))))
+ X (setq Info-directory-list (prune-directory-list (cdr p)))))))
+ EOF
+ elisp-site-file-install "${T}/${SITEFILE}" || die
+
+ dodoc README BUGS
+
+ if use aqua; then
+ dodir /Applications/Gentoo
+ rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
+ fi
+
+ DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
+ through the Emacs eselect module, which also redirects man and info
+ pages. Therefore, several Emacs versions can be installed at the
+ same time. \"man emacs.eselect\" for details.
+ \\n\\nIf you upgrade from a previous major version of Emacs, then
+ it is strongly recommended that you use app-admin/emacs-updater
+ to rebuild all byte-compiled elisp files of the installed Emacs
+ packages."
+ use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
+ Installing media-fonts/font-adobe-{75,100}dpi on the X server's
+ machine would satisfy basic Emacs requirements under X11.
+ See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
+ for how to enable anti-aliased fonts."
+ use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
+ \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
+ it into /Applications by yourself."
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ # move Info dir file to correct name
+ local infodir=/usr/share/info/${EMACS_SUFFIX} f
+ if [[ -f ${ED}${infodir}/dir.orig ]]; then
+ mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
+ elif [[ -d "${ED}"${infodir} ]]; then
+ # this should not happen in EAPI 4
+ ewarn "Regenerating Info directory index in ${infodir} ..."
+ rm -f "${ED}"${infodir}/dir{,.*}
+ for f in "${ED}"${infodir}/*; do
+ if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
+ install-info --info-dir="${ED}"${infodir} "${f}" \
+ || die "install-info failed"
+ fi
+ done
+ fi
+}
+
+pkg_postinst() {
+ elisp-site-regen
+ readme.gentoo_print_elog
+
+ if use livecd; then
+ # force an update of the emacs symlink for the livecd/dvd,
+ # because some microemacs packages set it with USE=livecd
+ eselect emacs update
+ elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
+ # refresh symlinks in case any installed files have changed
+ eselect emacs set ${EMACS_SUFFIX}
+ else
+ eselect emacs update ifunset
+ fi
+}
+
+pkg_postrm() {
+ elisp-site-regen
+ eselect emacs update ifunset
+}
diff --git a/app-editors/emacs/emacs-24.4-r4.ebuild b/app-editors/emacs/emacs-24.4-r4.ebuild
new file mode 100644
index 000000000000..57e556c5ff4c
--- /dev/null
+++ b/app-editors/emacs/emacs-24.4-r4.ebuild
@@ -0,0 +1,338 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="http://www.gnu.org/software/emacs/"
+SRC_URI="mirror://gnu/emacs/${P}.tar.xz
+ http://dev.gentoo.org/~ulm/emacs/${P}-patches-5.tar.xz"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="24"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="acl alsa aqua athena dbus games gconf gfile gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses
+ >=app-eselect/eselect-emacs-1.16
+ >=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ net-libs/liblockfile
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ gfile? ( >=dev-libs/glib-2.28.6 )
+ gnutls? ( net-libs/gnutls )
+ gpm? ( sys-libs/gpm )
+ hesiod? ( net-dns/hesiod )
+ kerberos? ( virtual/krb5 )
+ libxml2? ( >=dev-libs/libxml2-2.2.0 )
+ selinux? ( sys-libs/libselinux )
+ zlib? ( sys-libs/zlib )
+ X? (
+ x11-libs/libXmu
+ x11-libs/libXt
+ x11-misc/xbitmaps
+ gconf? ( >=gnome-base/gconf-2.26.2 )
+ gsettings? ( >=dev-libs/glib-2.28.6 )
+ gif? ( media-libs/giflib )
+ jpeg? ( virtual/jpeg:0= )
+ png? ( >=media-libs/libpng-1.4:0= )
+ svg? ( >=gnome-base/librsvg-2.0 )
+ tiff? ( media-libs/tiff:0 )
+ xpm? ( x11-libs/libXpm )
+ imagemagick? ( >=media-gfx/imagemagick-6.6.2 )
+ xft? (
+ media-libs/fontconfig
+ media-libs/freetype
+ x11-libs/libXft
+ m17n-lib? (
+ >=dev-libs/libotf-0.9.4
+ >=dev-libs/m17n-lib-1.5.1
+ )
+ )
+ gtk? (
+ gtk3? ( x11-libs/gtk+:3 )
+ !gtk3? ( x11-libs/gtk+:2 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ Xaw3d? ( x11-libs/libXaw3d )
+ !Xaw3d? ( athena? ( x11-libs/libXaw ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ gzip-el? ( app-arch/gzip )
+ pax_kernel? (
+ sys-apps/attr
+ sys-apps/paxctl
+ )"
+
+RDEPEND="${RDEPEND}
+ !<app-editors/emacs-vcs-${PV}"
+
+EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
+SITEFILE="20${PN}-${SLOT}-gentoo.el"
+# FULL_VERSION keeps the full version number, which is needed in
+# order to determine some path information correctly for copy/move
+# operations later on
+FULL_VERSION="${PV%%_*}"
+S="${WORKDIR}/emacs-${FULL_VERSION}"
+
+src_prepare() {
+ EPATCH_SUFFIX=patch epatch
+ epatch_user
+
+ # Fix filename reference in redirected man page
+ sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
+ || die "unable to sed ctags.1"
+
+ AT_M4DIR=m4 eautoreconf
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -pie #526948
+
+ if use sh; then
+ replace-flags "-O[1-9]" -O0 #262359
+ elif use ia64; then
+ replace-flags "-O[2-9]" -O1 #325373
+ else
+ replace-flags "-O[3-9]" -O2
+ fi
+
+ local myconf
+
+ if use alsa; then
+ use sound || ewarn \
+ "USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
+ myconf+=" --with-sound=alsa"
+ else
+ myconf+=" --with-sound=$(usex sound oss)"
+ fi
+
+ if use X; then
+ myconf+=" --with-x --without-ns"
+ myconf+=" $(use_with gconf)"
+ myconf+=" $(use_with gsettings)"
+ myconf+=" $(use_with toolkit-scroll-bars)"
+ myconf+=" $(use_with gif)"
+ myconf+=" $(use_with jpeg)"
+ myconf+=" $(use_with png)"
+ myconf+=" $(use_with svg rsvg)"
+ myconf+=" $(use_with tiff)"
+ myconf+=" $(use_with xpm)"
+ myconf+=" $(use_with imagemagick)"
+
+ if use xft; then
+ myconf+=" --with-xft"
+ myconf+=" $(use_with m17n-lib libotf)"
+ myconf+=" $(use_with m17n-lib m17n-flt)"
+ else
+ myconf+=" --without-xft"
+ myconf+=" --without-libotf --without-m17n-flt"
+ use m17n-lib && ewarn \
+ "USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
+ fi
+
+ local f
+ if use gtk; then
+ einfo "Configuring to build with GIMP Toolkit (GTK+)"
+ myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
+ for f in motif Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"gtk\" is set."
+ done
+ elif use motif; then
+ einfo "Configuring to build with Motif toolkit"
+ myconf+=" --with-x-toolkit=motif"
+ for f in Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"motif\" is set."
+ done
+ elif use athena || use Xaw3d; then
+ einfo "Configuring to build with Athena/Lucid toolkit"
+ myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
+ else
+ einfo "Configuring to build with no toolkit"
+ myconf+=" --with-x-toolkit=no"
+ fi
+ elif use aqua; then
+ einfo "Configuring to build with Nextstep (Cocoa) support"
+ myconf+=" --with-ns --disable-ns-self-contained"
+ myconf+=" --without-x"
+ else
+ myconf+=" --without-x --without-ns"
+ fi
+
+ # Save version information in the Emacs binary. It will be available
+ # in variable "system-configuration-options".
+ myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
+
+ econf \
+ --program-suffix="-${EMACS_SUFFIX}" \
+ --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+ --localstatedir="${EPREFIX}"/var \
+ --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+ --with-gameuser=":gamestat" \
+ --without-compress-install \
+ --with-file-notification=$(usev gfile || usev inotify || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with gnutls) \
+ $(use_with gpm) \
+ $(use_with hesiod) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with libxml2 xml2) \
+ $(use_with selinux) \
+ $(use_with wide-int) \
+ $(use_with zlib) \
+ ${myconf}
+}
+
+src_compile() {
+ export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
+ emake
+}
+
+src_install () {
+ emake DESTDIR="${D}" NO_BIN_LINK=t install
+
+ mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
+ || die "moving emacs executable failed"
+ mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
+ || die "moving emacs man page failed"
+
+ # move info dir to avoid collisions with the dir file generated by portage
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
+ || die "moving info dir failed"
+ touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
+ docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
+
+ # avoid collision between slots, see bug #169033 e.g.
+ rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
+ rm -rf "${ED}"/usr/share/{applications,icons}
+ rm -rf "${ED}"/var
+
+ # remove unused <version>/site-lisp dir
+ rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
+
+ # remove COPYING file (except for etc/COPYING used by describe-copying)
+ rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
+
+ if use gzip-el; then
+ # compress .el files when a corresponding .elc exists
+ find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
+ -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
+ assert "gzip .el failed"
+ fi
+
+ local cdir
+ if use source; then
+ cdir="/usr/share/emacs/${FULL_VERSION}/src"
+ insinto "${cdir}"
+ # This is not meant to install all the source -- just the
+ # C source you might find via find-function
+ doins src/*.{c,h,m}
+ elif has installsources ${FEATURES}; then
+ cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
+ fi
+
+ sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF
+ X
+ ;;; ${PN}-${SLOT} site-lisp configuration
+ X
+ (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
+ Y (setq find-function-C-source-directory
+ Y "${EPREFIX}${cdir}")
+ X (let ((path (getenv "INFOPATH"))
+ X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
+ X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share/info
+ X (let* ((p (cons nil (split-string path ":" t))) (q p))
+ X (while (and (cdr q) (not (string-match re (cadr q))))
+ X (setq q (cdr q)))
+ X (setcdr q (cons dir (delete dir (cdr q))))
+ X (setq Info-directory-list (prune-directory-list (cdr p)))))))
+ EOF
+ elisp-site-file-install "${T}/${SITEFILE}" || die
+
+ dodoc README BUGS
+
+ if use aqua; then
+ dodir /Applications/Gentoo
+ rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
+ fi
+
+ DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
+ through the Emacs eselect module, which also redirects man and info
+ pages. Therefore, several Emacs versions can be installed at the
+ same time. \"man emacs.eselect\" for details.
+ \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
+ strongly recommended that you use app-admin/emacs-updater to rebuild
+ all byte-compiled elisp files of the installed Emacs packages."
+ use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
+ Installing media-fonts/font-adobe-{75,100}dpi on the X server's
+ machine would satisfy basic Emacs requirements under X11.
+ See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
+ for how to enable anti-aliased fonts."
+ use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
+ \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
+ it into /Applications by yourself."
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ # move Info dir file to correct name
+ local infodir=/usr/share/info/${EMACS_SUFFIX} f
+ if [[ -f ${ED}${infodir}/dir.orig ]]; then
+ mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
+ elif [[ -d "${ED}"${infodir} ]]; then
+ # this should not happen in EAPI 4
+ ewarn "Regenerating Info directory index in ${infodir} ..."
+ rm -f "${ED}"${infodir}/dir{,.*}
+ for f in "${ED}"${infodir}/*; do
+ if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
+ install-info --info-dir="${ED}"${infodir} "${f}" \
+ || die "install-info failed"
+ fi
+ done
+ fi
+}
+
+pkg_postinst() {
+ elisp-site-regen
+
+ local pvr
+ for pvr in ${REPLACING_VERSIONS}; do
+ [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1
+ done
+ readme.gentoo_print_elog
+
+ if use livecd; then
+ # force an update of the emacs symlink for the livecd/dvd,
+ # because some microemacs packages set it with USE=livecd
+ eselect emacs update
+ elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
+ # refresh symlinks in case any installed files have changed
+ eselect emacs set ${EMACS_SUFFIX}
+ else
+ eselect emacs update ifunset
+ fi
+}
+
+pkg_postrm() {
+ elisp-site-regen
+ eselect emacs update ifunset
+}
diff --git a/app-editors/emacs/emacs-24.5.ebuild b/app-editors/emacs/emacs-24.5.ebuild
new file mode 100644
index 000000000000..1b891db7704c
--- /dev/null
+++ b/app-editors/emacs/emacs-24.5.ebuild
@@ -0,0 +1,347 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="http://www.gnu.org/software/emacs/"
+SRC_URI="mirror://gnu/emacs/${P}.tar.xz
+ http://dev.gentoo.org/~ulm/emacs/${P}-patches-1.tar.xz"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="24"
+KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="acl alsa aqua athena dbus games gconf gfile gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses
+ >=app-eselect/eselect-emacs-1.16
+ >=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ net-libs/liblockfile
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ gfile? ( >=dev-libs/glib-2.28.6 )
+ gnutls? ( net-libs/gnutls )
+ gpm? ( sys-libs/gpm )
+ hesiod? ( net-dns/hesiod )
+ kerberos? ( virtual/krb5 )
+ libxml2? ( >=dev-libs/libxml2-2.2.0 )
+ selinux? ( sys-libs/libselinux )
+ zlib? ( sys-libs/zlib )
+ X? (
+ x11-libs/libXmu
+ x11-libs/libXt
+ x11-misc/xbitmaps
+ gconf? ( >=gnome-base/gconf-2.26.2 )
+ gsettings? ( >=dev-libs/glib-2.28.6 )
+ gif? ( media-libs/giflib )
+ jpeg? ( virtual/jpeg:0= )
+ png? ( >=media-libs/libpng-1.4:0= )
+ svg? ( >=gnome-base/librsvg-2.0 )
+ tiff? ( media-libs/tiff:0 )
+ xpm? ( x11-libs/libXpm )
+ imagemagick? ( >=media-gfx/imagemagick-6.6.2 )
+ xft? (
+ media-libs/fontconfig
+ media-libs/freetype
+ x11-libs/libXft
+ m17n-lib? (
+ >=dev-libs/libotf-0.9.4
+ >=dev-libs/m17n-lib-1.5.1
+ )
+ )
+ gtk? (
+ gtk3? ( x11-libs/gtk+:3 )
+ !gtk3? ( x11-libs/gtk+:2 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ Xaw3d? ( x11-libs/libXaw3d )
+ !Xaw3d? ( athena? ( x11-libs/libXaw ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ gzip-el? ( app-arch/gzip )
+ pax_kernel? (
+ sys-apps/attr
+ sys-apps/paxctl
+ )"
+
+RDEPEND="${RDEPEND}
+ !<app-editors/emacs-vcs-${PV}"
+
+EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
+SITEFILE="20${PN}-${SLOT}-gentoo.el"
+# FULL_VERSION keeps the full version number, which is needed in
+# order to determine some path information correctly for copy/move
+# operations later on
+FULL_VERSION="${PV%%_*}"
+S="${WORKDIR}/emacs-${FULL_VERSION}"
+
+src_prepare() {
+ EPATCH_SUFFIX=patch epatch
+ epatch_user
+
+ # Fix filename reference in redirected man page
+ sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
+ || die "unable to sed ctags.1"
+
+ AT_M4DIR=m4 eautoreconf
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -pie #526948
+
+ if use sh; then
+ replace-flags "-O[1-9]" -O0 #262359
+ elif use ia64; then
+ replace-flags "-O[2-9]" -O1 #325373
+ else
+ replace-flags "-O[3-9]" -O2
+ fi
+
+ local myconf
+
+ if use alsa; then
+ use sound || ewarn \
+ "USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
+ myconf+=" --with-sound=alsa"
+ else
+ myconf+=" --with-sound=$(usex sound oss)"
+ fi
+
+ if use X; then
+ myconf+=" --with-x --without-ns"
+ myconf+=" $(use_with gconf)"
+ myconf+=" $(use_with gsettings)"
+ myconf+=" $(use_with toolkit-scroll-bars)"
+ myconf+=" $(use_with gif)"
+ myconf+=" $(use_with jpeg)"
+ myconf+=" $(use_with png)"
+ myconf+=" $(use_with svg rsvg)"
+ myconf+=" $(use_with tiff)"
+ myconf+=" $(use_with xpm)"
+ myconf+=" $(use_with imagemagick)"
+
+ if use xft; then
+ myconf+=" --with-xft"
+ myconf+=" $(use_with m17n-lib libotf)"
+ myconf+=" $(use_with m17n-lib m17n-flt)"
+ else
+ myconf+=" --without-xft"
+ myconf+=" --without-libotf --without-m17n-flt"
+ use m17n-lib && ewarn \
+ "USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
+ fi
+
+ local f
+ if use gtk; then
+ einfo "Configuring to build with GIMP Toolkit (GTK+)"
+ while read line; do ewarn "${line}"; done <<-EOF
+ Your version of GTK+ will have problems with closing open
+ displays. This is no problem if you just use one display, but
+ if you use more than one and close one of them Emacs may crash.
+ See <http://bugzilla.gnome.org/show_bug.cgi?id=85715>.
+ If you intend to use more than one display, then it is strongly
+ recommended that you compile Emacs with the Athena/Lucid or the
+ Motif toolkit instead.
+ EOF
+ myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
+ for f in motif Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"gtk\" is set."
+ done
+ elif use motif; then
+ einfo "Configuring to build with Motif toolkit"
+ myconf+=" --with-x-toolkit=motif"
+ for f in Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"motif\" is set."
+ done
+ elif use athena || use Xaw3d; then
+ einfo "Configuring to build with Athena/Lucid toolkit"
+ myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
+ else
+ einfo "Configuring to build with no toolkit"
+ myconf+=" --with-x-toolkit=no"
+ fi
+ elif use aqua; then
+ einfo "Configuring to build with Nextstep (Cocoa) support"
+ myconf+=" --with-ns --disable-ns-self-contained"
+ myconf+=" --without-x"
+ else
+ myconf+=" --without-x --without-ns"
+ fi
+
+ # Save version information in the Emacs binary. It will be available
+ # in variable "system-configuration-options".
+ myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
+
+ econf \
+ --program-suffix="-${EMACS_SUFFIX}" \
+ --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+ --localstatedir="${EPREFIX}"/var \
+ --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+ --with-gameuser=":gamestat" \
+ --without-compress-install \
+ --with-file-notification=$(usev gfile || usev inotify || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with gnutls) \
+ $(use_with gpm) \
+ $(use_with hesiod) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with libxml2 xml2) \
+ $(use_with selinux) \
+ $(use_with wide-int) \
+ $(use_with zlib) \
+ ${myconf}
+}
+
+src_compile() {
+ export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
+ emake
+}
+
+src_install () {
+ emake DESTDIR="${D}" NO_BIN_LINK=t install
+
+ mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
+ || die "moving emacs executable failed"
+ mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
+ || die "moving emacs man page failed"
+
+ # move info dir to avoid collisions with the dir file generated by portage
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
+ || die "moving info dir failed"
+ touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
+ docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
+
+ # avoid collision between slots, see bug #169033 e.g.
+ rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
+ rm -rf "${ED}"/usr/share/{applications,icons}
+ rm -rf "${ED}"/var
+
+ # remove unused <version>/site-lisp dir
+ rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
+
+ # remove COPYING file (except for etc/COPYING used by describe-copying)
+ rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
+
+ if use gzip-el; then
+ # compress .el files when a corresponding .elc exists
+ find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
+ -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
+ assert "gzip .el failed"
+ fi
+
+ local cdir
+ if use source; then
+ cdir="/usr/share/emacs/${FULL_VERSION}/src"
+ insinto "${cdir}"
+ # This is not meant to install all the source -- just the
+ # C source you might find via find-function
+ doins src/*.{c,h,m}
+ elif has installsources ${FEATURES}; then
+ cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
+ fi
+
+ sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF
+ X
+ ;;; ${PN}-${SLOT} site-lisp configuration
+ X
+ (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
+ Y (setq find-function-C-source-directory
+ Y "${EPREFIX}${cdir}")
+ X (let ((path (getenv "INFOPATH"))
+ X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
+ X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share/info
+ X (let* ((p (cons nil (split-string path ":" t))) (q p))
+ X (while (and (cdr q) (not (string-match re (cadr q))))
+ X (setq q (cdr q)))
+ X (setcdr q (cons dir (delete dir (cdr q))))
+ X (setq Info-directory-list (prune-directory-list (cdr p)))))))
+ EOF
+ elisp-site-file-install "${T}/${SITEFILE}" || die
+
+ dodoc README BUGS
+
+ if use aqua; then
+ dodir /Applications/Gentoo
+ rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
+ fi
+
+ DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
+ through the Emacs eselect module, which also redirects man and info
+ pages. Therefore, several Emacs versions can be installed at the
+ same time. \"man emacs.eselect\" for details.
+ \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
+ strongly recommended that you use app-admin/emacs-updater to rebuild
+ all byte-compiled elisp files of the installed Emacs packages."
+ use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
+ Installing media-fonts/font-adobe-{75,100}dpi on the X server's
+ machine would satisfy basic Emacs requirements under X11.
+ See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
+ for how to enable anti-aliased fonts."
+ use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
+ \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
+ it into /Applications by yourself."
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ # move Info dir file to correct name
+ local infodir=/usr/share/info/${EMACS_SUFFIX} f
+ if [[ -f ${ED}${infodir}/dir.orig ]]; then
+ mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
+ elif [[ -d "${ED}"${infodir} ]]; then
+ # this should not happen in EAPI 4
+ ewarn "Regenerating Info directory index in ${infodir} ..."
+ rm -f "${ED}"${infodir}/dir{,.*}
+ for f in "${ED}"${infodir}/*; do
+ if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
+ install-info --info-dir="${ED}"${infodir} "${f}" \
+ || die "install-info failed"
+ fi
+ done
+ fi
+}
+
+pkg_postinst() {
+ elisp-site-regen
+
+ local pvr
+ for pvr in ${REPLACING_VERSIONS}; do
+ [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1
+ done
+ readme.gentoo_print_elog
+
+ if use livecd; then
+ # force an update of the emacs symlink for the livecd/dvd,
+ # because some microemacs packages set it with USE=livecd
+ eselect emacs update
+ elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
+ # refresh symlinks in case any installed files have changed
+ eselect emacs set ${EMACS_SUFFIX}
+ else
+ eselect emacs update ifunset
+ fi
+}
+
+pkg_postrm() {
+ elisp-site-regen
+ eselect emacs update ifunset
+}
diff --git a/app-editors/emacs/metadata.xml b/app-editors/emacs/metadata.xml
new file mode 100644
index 000000000000..88ecff51f01c
--- /dev/null
+++ b/app-editors/emacs/metadata.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>emacs</herd>
+<longdescription>
+ GNU Emacs is an extensible, customizable text editor - and more. At its core
+ is an interpreter for Emacs Lisp, a dialect of the Lisp programming language
+ with extensions to support text editing. The features of GNU Emacs include:
+ * Content-sensitive editing modes, including syntax coloring, for a variety
+ of file types including plain text, source code, and HTML.
+ * Complete built-in documentation, including a tutorial for new users.
+ * Full Unicode support for nearly all human languages and their scripts.
+ * Highly customizable, using Emacs Lisp code or a graphical interface.
+ * A large number of extensions that add other functionality, including a
+ project planner, mail and news reader, debugger interface, calendar, and
+ more. Many of these extensions are distributed with GNU Emacs; others are
+ available separately.
+</longdescription>
+<use>
+ <flag name='athena'>Enable the MIT Athena widget set
+ (<pkg>x11-libs/libXaw</pkg>)</flag>
+ <flag name='games'>Support shared score files for games</flag>
+ <flag name='gconf'>Use <pkg>gnome-base/gconf</pkg> to read the system
+ font name</flag>
+ <flag name='gfile'>Use gfile (<pkg>dev-libs/glib</pkg>) for file
+ notification</flag>
+ <flag name='gsettings'>Use gsettings (<pkg>dev-libs/glib</pkg>) to read the
+ system font name</flag>
+ <flag name='gtk3'>Link against version 3 of the GIMP Toolkit instead of
+ version 2 (<pkg>x11-libs/gtk+</pkg>)</flag>
+ <flag name='gzip-el'>Compress bundled Emacs Lisp source</flag>
+ <flag name='hesiod'>Enable support for <pkg>net-dns/hesiod</pkg></flag>
+ <flag name='imagemagick'>Use <pkg>media-gfx/imagemagick</pkg> for image
+ processing</flag>
+ <flag name='libxml2'>Use <pkg>dev-libs/libxml2</pkg> to parse XML instead
+ of the internal Lisp implementations</flag>
+ <flag name='pax_kernel'>Enable building under a PaX enabled kernel</flag>
+ <flag name='source'>Install C source files and make them available for
+ find-function</flag>
+ <flag name='toolkit-scroll-bars'>Use the selected toolkit's scrollbars in
+ preference to Emacs' own scrollbars</flag>
+ <flag name='wide-int'>Prefer wide Emacs integers (typically 62-bit).
+ This option has an effect only on architectures where "long" and
+ "long long" types have different size.</flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/emact/Manifest b/app-editors/emact/Manifest
new file mode 100644
index 000000000000..575bdfcbf562
--- /dev/null
+++ b/app-editors/emact/Manifest
@@ -0,0 +1 @@
+DIST emact-2.56.0.tar.gz 578640 SHA256 dfe5c17ed6bab49bdb46425bf616a6ce689b73f498a61c094eb97d1765007e57 SHA512 96fce3bf3e00e84abd9de0778a02cfd284689073391e6f9eb3bb4a54e8899ae32d9e8acd45d0f1d575e36f171ca148fc574c9ecc71615df9a9907ee1d30bb99d WHIRLPOOL 8d4e821c4a24c3cb2b9a5ca898a9a8e0d245242c1c0f8e2986212939d772df503222023d19918b32276e3061d92c7dbe6292a720a0255464e614254c7f7d742a
diff --git a/app-editors/emact/emact-2.56.0.ebuild b/app-editors/emact/emact-2.56.0.ebuild
new file mode 100644
index 000000000000..f93143a19b35
--- /dev/null
+++ b/app-editors/emact/emact-2.56.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="EmACT, a fork of Conroy's MicroEmacs"
+HOMEPAGE="http://www.eligis.com/emacs/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2+ BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="X"
+
+DEPEND="sys-libs/ncurses
+ X? ( x11-libs/libX11 )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # files in the tarball have all mode bits set to zero ...
+ chmod +x configure || die
+}
+
+src_configure() {
+ econf $(use_with X x)
+}
+
+src_install() {
+ emake INSTALL="${D}"/usr install
+ #dodoc README
+}
diff --git a/app-editors/emact/metadata.xml b/app-editors/emact/metadata.xml
new file mode 100644
index 000000000000..f0b7b2b3c64c
--- /dev/null
+++ b/app-editors/emact/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>emacs</herd>
+<longdescription>
+ This product is an original development made to provide an emacs-like editor
+ on the PC for the purpose of writing Lisp code with the same features found
+ on other Lisp development systems. In 1985, with about 512 Ko of memory, it
+ was obvious that Gosling, GNU or other emacs written in Lisp were too big to
+ run on M$-DOG. So I decided to write my own editor that closely works like
+ those I used on VAX Unix at that time. I started with Conroy's MicroEMACS.
+
+ After a great amount of time, made essentially after hours, EmACT is now
+ a pretty good clone of GNU Emacs. It has all the features that programmers
+ enjoy, like parentheses matching, auto-indent for Lisp, C, C++, compile
+ mode, tags and even a Lisp interpreter which is not however compatible with
+ GNU MockLisp. It can be ported to all UN*X systems (terminal and X-Window)
+ and it runs of course on all Intel based system in text or graphic mode
+ (MSDOS, OS/2, Windows 3.x, Windows NT/2000/XP and Windows 95/98/Me).
+</longdescription>
+<upstream>
+ <remote-id type="sourceforge">emact</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-editors/ersatz-emacs/Manifest b/app-editors/ersatz-emacs/Manifest
new file mode 100644
index 000000000000..bcbfd55be3b0
--- /dev/null
+++ b/app-editors/ersatz-emacs/Manifest
@@ -0,0 +1 @@
+DIST ersatz-emacs-20060515.tar.gz 45581 SHA256 7585aaa0aba1232204332ecf91906e0d74da9cb33dfa2889e45bcf0f251f99a5 SHA512 c30ede63ebb44076762aa430a73c73d3fa3bcd0e3d0016162aab31347257124479f464a1003012f7418e807abfd3c613c81f5196ccf65b0cb3f939b7ad5c989d WHIRLPOOL 0c19be0c1b891abf4e09d641e56008743da7297a5d6b3fa48de14b75e5a5d1bc2e9caf53d96d995a0807e47618d091bbb1348ee781bc980f2a1a79d0f582b71d
diff --git a/app-editors/ersatz-emacs/ersatz-emacs-20060515.ebuild b/app-editors/ersatz-emacs/ersatz-emacs-20060515.ebuild
new file mode 100644
index 000000000000..a0abfc41932f
--- /dev/null
+++ b/app-editors/ersatz-emacs/ersatz-emacs-20060515.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="A very minimal imitation of the famous GNU Emacs editor"
+HOMEPAGE="http://hunter.apana.org.au/~cjb/Code/"
+# taken from http://hunter.apana.org.au/~cjb/Code/ersatz.tar.gz
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="!app-editors/ee
+ sys-libs/ncurses"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gentoo.patch
+ sed -i -e "s%/usr/local/share/%/usr/share/doc/${PF}/%" ee.1 \
+ || die "sed failed"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS} -Wall" \
+ LFLAGS="${LDFLAGS} $("$(tc-getPKG_CONFIG)" --libs ncurses)"
+}
+
+src_install() {
+ # Note: /usr/bin/ee is "easy edit" on FreeBSD, so if this
+ # is ever keyworded *-fbsd the binary has to be renamed.
+ dobin ee
+ doman ee.1
+ dodoc ChangeLog ERSATZ.keys README
+}
diff --git a/app-editors/ersatz-emacs/files/ersatz-emacs-20060515-gentoo.patch b/app-editors/ersatz-emacs/files/ersatz-emacs-20060515-gentoo.patch
new file mode 100644
index 000000000000..67c40e789241
--- /dev/null
+++ b/app-editors/ersatz-emacs/files/ersatz-emacs-20060515-gentoo.patch
@@ -0,0 +1,57 @@
+--- display.c
++++ display.c
+@@ -5,6 +5,7 @@
+ * hints that are left in the windows by the commands
+ */
+
++#include <stdlib.h>
+ #include <string.h>
+ #include "estruct.h"
+ #include "edef.h"
+@@ -100,7 +101,6 @@
+ void vtinit ()
+ {
+ VIDEO *vp;
+- char *malloc ();
+ int i;
+
+ (*term.t_open) ();
+--- line.c
++++ line.c
+@@ -47,7 +47,6 @@
+ {
+ LINE *lp;
+ int size;
+- char *malloc ();
+
+ size = (used + NBLOCK - 1) & ~(NBLOCK - 1);
+ if (size == 0) /* Assume that an empty */
+@@ -469,8 +468,6 @@
+ */
+ int kinsert (int c)
+ {
+- char *realloc ();
+- char *malloc ();
+ char *nbufp;
+
+ if (kused == ksize)
+--- tcap.c
++++ tcap.c
+@@ -2,6 +2,7 @@
+
+ #define termdef 1 /* don't define "term" external */
+
++#include <stdlib.h>
+ #include <stdio.h> /* puts(3), snprintf(3) */
+ #include "estruct.h"
+ #include "edef.h"
+--- termio.c
++++ termio.c
+@@ -5,6 +5,7 @@
+ */
+
+ #undef CTRL
++#include <stdlib.h>
+ #include <termios.h>
+ #include <unistd.h>
+ #include <signal.h>
diff --git a/app-editors/ersatz-emacs/metadata.xml b/app-editors/ersatz-emacs/metadata.xml
new file mode 100644
index 000000000000..21a5d93d303f
--- /dev/null
+++ b/app-editors/ersatz-emacs/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>emacs</herd>
+<longdescription>
+ Ersatz Emacs is a very minimal imitation of the famous GNU Emacs editor.
+ Unlike most popular Emacs derivatives, Ersatz strives to use as little
+ system resources as possible and be simple enough for the casual programmer
+ to understand, yet still include all the functionality required for most
+ text editing jobs.
+</longdescription>
+</pkgmetadata>
diff --git a/app-editors/fb2edit/Manifest b/app-editors/fb2edit/Manifest
new file mode 100644
index 000000000000..0f480edf8def
--- /dev/null
+++ b/app-editors/fb2edit/Manifest
@@ -0,0 +1,2 @@
+DIST fb2edit-0.0.8.tar.bz2 222684 SHA256 f6f6fe21fb8651f8aaff12bfd923257dab17e64a47557669a2ad93ce22c8ed89 SHA512 05b79c5c7965af410fda335fc6fe2612f541c8bae6241c115affdd33b9375bba5710e689933f1745dbf2c132896a843e532bf62c079f0d646f97bedd0e81a572 WHIRLPOOL 993558bdab1a66295c5189e1c05886caa3e590a9779be876ad6d6f46b11958ff53e2e3db50c018ee63c20e9b2108308c03eb5b5a83f54badf93d99f16b94d1e0
+DIST fb2edit-0.0.9.tar.gz 242568 SHA256 6d64fe1597911170d6d6d59d4b36d406a9389a37c2ef5c68051176bf6f45f181 SHA512 a51eb9e7c7f70d55dc1eb06f4f7e03a031ce229570ee9620f6299cac6c2b435c8bcd702def7a50783055c066227d77b5c235f2bba231b328831b4666cc0f61b9 WHIRLPOOL 2f4ab29352318211c36fe1bfd739d69633f31ec0ce0c0a2edf4dac7965896074900f8c5b840943d900a5ff12d6cc3a819a19f7ea77201465446f17dcc9aba8cb
diff --git a/app-editors/fb2edit/fb2edit-0.0.8.ebuild b/app-editors/fb2edit/fb2edit-0.0.8.ebuild
new file mode 100644
index 000000000000..4488bb484a26
--- /dev/null
+++ b/app-editors/fb2edit/fb2edit-0.0.8.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="a WYSIWYG FictionBook (fb2) editor"
+HOMEPAGE="http://fb2edit.lintest.ru/"
+SRC_URI="http://fb2edit.lintest.ru/pub/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="dev-libs/libxml2
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtwebkit:4
+ dev-qt/qtxmlpatterns:4"
+RDEPEND="${DEPEND}
+ x11-themes/hicolor-icon-theme"
+
+DOCS=( AUTHORS README )
+
+src_prepare() {
+ # drop -g from CFLAGS
+ sed -i -e '/^add_definitions(-W/s/-g//' CMakeLists.txt || die 'sed failed'
+
+ cmake-utils_src_prepare
+}
diff --git a/app-editors/fb2edit/fb2edit-0.0.9.ebuild b/app-editors/fb2edit/fb2edit-0.0.9.ebuild
new file mode 100644
index 000000000000..333147d05e47
--- /dev/null
+++ b/app-editors/fb2edit/fb2edit-0.0.9.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="a WYSIWYG FictionBook (fb2) editor"
+HOMEPAGE="http://fb2edit.lintest.ru/"
+SRC_URI="https://github.com/lintest/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-libs/libxml2
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtwebkit:4
+ dev-qt/qtxmlpatterns:4"
+RDEPEND="${DEPEND}
+ x11-themes/hicolor-icon-theme"
+
+DOCS=( AUTHORS README )
+
+PATCHES=( "${FILESDIR}/${P}-fix-compiler-warnings.patch" )
+
+src_prepare() {
+ # drop -g from CFLAGS
+ sed -i -e '/^add_definitions(-W/s/-g//' CMakeLists.txt || die 'sed failed'
+
+ cmake-utils_src_prepare
+}
diff --git a/app-editors/fb2edit/files/fb2edit-0.0.9-fix-compiler-warnings.patch b/app-editors/fb2edit/files/fb2edit-0.0.9-fix-compiler-warnings.patch
new file mode 100644
index 000000000000..7422c505858e
--- /dev/null
+++ b/app-editors/fb2edit/files/fb2edit-0.0.9-fix-compiler-warnings.patch
@@ -0,0 +1,101 @@
+commit 5a378858e83e95f88ffec5e14ae1fd8157101ed0
+Author: Kandrashin Denis <mail@lintest.ru>
+Date: Fri Jul 18 23:03:05 2014 +0400
+
+ Remove compiler warning
+
+diff --git a/source/fb2main.cpp b/source/fb2main.cpp
+index 50c5a80..504ccd8 100644
+--- a/source/fb2main.cpp
++++ b/source/fb2main.cpp
+@@ -27,6 +27,7 @@ FbMainWindow::FbMainWindow(const QString &filename, ViewMode mode)
+ , isSwitched(false)
+ , isUntitled(true)
+ {
++ Q_UNUSED(mode);
+ connect(qApp, SIGNAL(logMessage(QtMsgType, QString)), SLOT(logMessage(QtMsgType, QString)));
+
+ setUnifiedTitleAndToolBarOnMac(true);
+@@ -50,16 +51,22 @@ FbMainWindow::FbMainWindow(const QString &filename, ViewMode mode)
+
+ void FbMainWindow::warning(int row, int col, const QString &msg)
+ {
++ Q_UNUSED(row);
++ Q_UNUSED(col);
+ logMessage(QtWarningMsg, msg.simplified());
+ }
+
+ void FbMainWindow::error(int row, int col, const QString &msg)
+ {
++ Q_UNUSED(row);
++ Q_UNUSED(col);
+ logMessage(QtCriticalMsg, msg.simplified());
+ }
+
+ void FbMainWindow::fatal(int row, int col, const QString &msg)
+ {
++ Q_UNUSED(row);
++ Q_UNUSED(col);
+ logMessage(QtFatalMsg, msg.simplified());
+ }
+
+@@ -164,6 +171,7 @@ void FbMainWindow::createActions()
+ FbTextEdit *text = mainDock->text();
+ FbHeadEdit *head = mainDock->head();
+ FbCodeEdit *code = mainDock->code();
++ Q_UNUSED(head)
+
+ menu = menuBar()->addMenu(tr("&File"));
+ tool = addToolBar(tr("File"));
+diff --git a/source/fb2text.cpp b/source/fb2text.cpp
+index 0ea146f..aa2d276 100644
+--- a/source/fb2text.cpp
++++ b/source/fb2text.cpp
+@@ -37,14 +37,14 @@ FbTextAction::FbTextAction(const QIcon &icon, const QString &text, QWebPage::Web
+ {
+ }
+
+-QAction * FbTextAction::action(QWebPage::WebAction action)
++QAction * FbTextAction::action()
+ {
+ return m_parent->pageAction(m_action);
+ }
+
+ void FbTextAction::updateAction()
+ {
+- if (QAction * act = action(m_action)) {
++ if (QAction * act = action()) {
+ if (isCheckable()) setChecked(act->isChecked());
+ setEnabled(act->isEnabled());
+ }
+@@ -52,7 +52,7 @@ void FbTextAction::updateAction()
+
+ void FbTextAction::connectAction()
+ {
+- if (QAction * act = action(m_action)) {
++ if (QAction * act = action()) {
+ connect(this, SIGNAL(triggered(bool)), act, SIGNAL(triggered(bool)));
+ connect(act, SIGNAL(changed()), this, SLOT(updateAction()));
+ if (isCheckable()) setChecked(act->isChecked());
+@@ -65,7 +65,7 @@ void FbTextAction::connectAction()
+
+ void FbTextAction::disconnectAction()
+ {
+- QAction * act = action(m_action);
++ QAction * act = action();
+ disconnect(act, 0, this, 0);
+ disconnect(this, 0, act, 0);
+ }
+diff --git a/source/fb2text.hpp b/source/fb2text.hpp
+index c1d1cb4..41f8a6c 100644
+--- a/source/fb2text.hpp
++++ b/source/fb2text.hpp
+@@ -169,7 +169,7 @@ private slots:
+ void updateAction();
+
+ private:
+- QAction * action(QWebPage::WebAction action);
++ QAction * action();
+
+ private:
+ QWebPage::WebAction m_action;
diff --git a/app-editors/fb2edit/metadata.xml b/app-editors/fb2edit/metadata.xml
new file mode 100644
index 000000000000..2bc00486b218
--- /dev/null
+++ b/app-editors/fb2edit/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>pinkbyte@gentoo.org</email>
+ <name>Sergey Popov</name>
+ </maintainer>
+ <upstream>
+ <maintainer>
+ <email>mail@lintest.ru</email>
+ <name>Denis Kandrashin</name>
+ </maintainer>
+ <remote-id type="github">lintest/fb2edit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/fe/Manifest b/app-editors/fe/Manifest
new file mode 100644
index 000000000000..4cfbe51edacb
--- /dev/null
+++ b/app-editors/fe/Manifest
@@ -0,0 +1,2 @@
+DIST fe-1.8.tar.gz 169151 SHA256 ee8473dd37662b8a8067005bc0f258389057281981c5034fcad6a7b4e4786013 SHA512 c00f23769193b8b74867da32e7424ecb7f807a0186c8f91cd007f83a543777e1ca70909ee17a54ac8e7da743cd3fcb6b0e8cdd6d2fefbfb6766122ade125893b WHIRLPOOL 226af461ce132dcd5d524898971d948dbe61e18fd1e37e58a9e417a4cd754ac04782eea350a9a1bcd7164db4c2843faa2e006cec35400d36d83dc275e3a890e5
+DIST fe-1.9.tar.gz 178678 SHA256 3221e946f95271b88e73b19964e04a6848984824e1ddd0925fc7b191f741a689 SHA512 38121a21c1539ff8ad4f61b92ddfd0582c100f1bc1c5524faf7a60a162c5f8a0b2d1528da7719e522e9b75a527166223c2636f78c9f516abbb33434a9f6e6251 WHIRLPOOL f556433b2100e34100e909d40cdad411ebfe6a0a780c411a1bf58a9c380615de609711b9a1ced7442c6d05e24036183eb19551297fbc74cf589a0eb20b9a1cc1
diff --git a/app-editors/fe/fe-1.8.ebuild b/app-editors/fe/fe-1.8.ebuild
new file mode 100644
index 000000000000..2be3dd75b643
--- /dev/null
+++ b/app-editors/fe/fe-1.8.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="A small and easy to use folding editor"
+HOMEPAGE="http://www.moria.de/~michael/fe/"
+SRC_URI="http://www.moria.de/~michael/fe/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="sendmail"
+
+DEPEND="sys-libs/ncurses
+ sendmail? ( virtual/mta )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-makefile.patch"
+}
+
+src_configure() {
+ econf $(use_enable sendmail)
+}
+
+src_install() {
+ emake \
+ prefix="${D}"/usr \
+ datadir="${D}"/usr/share \
+ MANDIR="${D}"/usr/share/man \
+ install
+
+ dodoc NEWS README
+ dohtml fe.html
+}
diff --git a/app-editors/fe/fe-1.9.ebuild b/app-editors/fe/fe-1.9.ebuild
new file mode 100644
index 000000000000..beeeeff77572
--- /dev/null
+++ b/app-editors/fe/fe-1.9.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="A small and easy to use folding editor"
+HOMEPAGE="http://www.moria.de/~michael/fe/"
+SRC_URI="http://www.moria.de/~michael/fe/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="sendmail"
+
+DEPEND="sys-libs/ncurses
+ sendmail? ( virtual/mta )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-1.8-makefile.patch"
+}
+
+src_configure() {
+ econf $(use_enable sendmail)
+}
+
+src_install() {
+ emake \
+ prefix="${D}"/usr \
+ datadir="${D}"/usr/share \
+ MANDIR="${D}"/usr/share/man \
+ install
+
+ dodoc NEWS README
+ dohtml fe.html
+}
diff --git a/app-editors/fe/files/fe-1.8-makefile.patch b/app-editors/fe/files/fe-1.8-makefile.patch
new file mode 100644
index 000000000000..73f7e09020da
--- /dev/null
+++ b/app-editors/fe/files/fe-1.8-makefile.patch
@@ -0,0 +1,16 @@
+diff -Nur fe-1.8-orig/Makefile.in fe-1.8/Makefile.in
+--- fe-1.8-orig/Makefile.in 2007-08-31 20:47:09.000000000 +0200
++++ fe-1.8/Makefile.in 2011-08-27 21:07:43.000000000 +0200
+@@ -40,10 +40,10 @@
+
+ install: all
+ $(INSTALL) -m 755 -d $(BINDIR)
+- $(INSTALL_PROGRAM) -s fe $(BINDIR)/fe
++ $(INSTALL_PROGRAM) fe $(BINDIR)/fe
+ $(INSTALL) -m 755 -d $(MANDIR)/man1
+ $(INSTALL_DATA) fe.1 $(MANDIR)/man1/fe.1
+- make install-po
++ $(MAKE) install-po
+
+ .c.o:
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $<
diff --git a/app-editors/fe/metadata.xml b/app-editors/fe/metadata.xml
new file mode 100644
index 000000000000..f2371402a162
--- /dev/null
+++ b/app-editors/fe/metadata.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>emacs</herd>
+<longdescription>
+ Fe is a small and easy to use folding editor.
+
+ Fe allows to fold arbitrary text regions; it is not bound to syntactic
+ units. Unlike Origami, folds are not attributed with a trailing comment,
+ instead you can put folds before or after any text in the line, as you like.
+
+ Fe has no configuration or extension language and requires no setup. Its
+ user interface is emacs-like and it has menues for the very most important
+ functions to help beginners. Further there is a reference card. It offers:
+
+ * Regions and Emacs-like kill ring
+ * Incremental search
+ * Keyboard macros
+ * Editing binary files
+ * Multiple windows and views
+ * Compose function for Latin 1 characters
+
+ In case you can't stand the emacs interface and want ultimate flexibility,
+ fe can easily be modified, because it is structured as an editor library
+ with a user interface frontend, all written in C.
+</longdescription>
+<use>
+ <flag name='sendmail'>Send mail after editor abend</flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/focuswriter/Manifest b/app-editors/focuswriter/Manifest
new file mode 100644
index 000000000000..c2bf16344ccc
--- /dev/null
+++ b/app-editors/focuswriter/Manifest
@@ -0,0 +1,2 @@
+DIST focuswriter-1.5.3-src.tar.bz2 5201148 SHA256 1c48c72879a7b40cf7d97c28abf5cf713c063b7f83a1179093b1241f5797a8c4 SHA512 6796fc8dbe5d5ba545fc8ee5797f620e56dea67a038f4c4eb9e404940a863b32ea2ceb30ed7ea8e22187be2763cc128def3f08f61187ba11de94ec9ae16f807f WHIRLPOOL c5dbf0e739928833bbccdc2e5de6305ca553a3e8f0f1d54d1d2a6bd4636b8ede85c3adedcaee85d66779e25cd53678428cc3817bdedcf30be42c89fc1aebdf07
+DIST focuswriter-1.5.4-src.tar.bz2 5247111 SHA256 5ffd74a2d5a790e432d819dfd269ddb8d6c1a0168c91e441b2121fa6eaf8f565 SHA512 f532dac5a0691d7b82a16b5dae115c7d79b161484ba1ad2243fd1ccaeba8ae9c9ed0019eba6cd87cc4155a51f5a97cad16c92b9453671426e214e139d78bc526 WHIRLPOOL aca3722b60aee8bec0979f71a04d28217c82c9a2fb60b49a19a58596c9d67bd160626d14cc950eeaa9c0543001f93ec9576a1561c24bbe29a98eeec708287331
diff --git a/app-editors/focuswriter/files/focuswriter-1.5.2-unbundle-qtsingleapplication.patch b/app-editors/focuswriter/files/focuswriter-1.5.2-unbundle-qtsingleapplication.patch
new file mode 100644
index 000000000000..e7815be0ee5f
--- /dev/null
+++ b/app-editors/focuswriter/files/focuswriter-1.5.2-unbundle-qtsingleapplication.patch
@@ -0,0 +1,36 @@
+--- focuswriter.pro.orig 2014-07-20 17:37:05.000000000 +0400
++++ focuswriter.pro 2014-07-31 17:56:00.702801120 +0400
+@@ -90,13 +90,14 @@
+ src/spelling/dictionary_provider_voikko.cpp
+
+ lessThan(QT_MAJOR_VERSION, 5) {
++ CONFIG += qtsingleapplication
+ SOURCES += src/sdl/sound.cpp
+ } else {
+ SOURCES += src/sound.cpp
+ }
+ }
+
+-INCLUDEPATH += src src/fileformats src/qtsingleapplication src/qtzip src/spelling
++INCLUDEPATH += src src/fileformats src/qtzip src/spelling
+
+ # Specify program sources
+ HEADERS += src/action_manager.h \
+@@ -155,8 +156,6 @@
+ src/fileformats/rtf_tokenizer.h \
+ src/fileformats/rtf_writer.h \
+ src/fileformats/txt_reader.h \
+- src/qtsingleapplication/qtsingleapplication.h \
+- src/qtsingleapplication/qtlocalpeer.h \
+ src/qtzip/qtzipreader.h \
+ src/qtzip/qtzipwriter.h \
+ src/spelling/abstract_dictionary.h \
+@@ -219,8 +218,6 @@
+ src/fileformats/rtf_tokenizer.cpp \
+ src/fileformats/rtf_writer.cpp \
+ src/fileformats/txt_reader.cpp \
+- src/qtsingleapplication/qtsingleapplication.cpp \
+- src/qtsingleapplication/qtlocalpeer.cpp \
+ src/qtzip/qtzip.cpp \
+ src/spelling/dictionary_dialog.cpp \
+ src/spelling/dictionary_manager.cpp \
diff --git a/app-editors/focuswriter/focuswriter-1.5.3.ebuild b/app-editors/focuswriter/focuswriter-1.5.3.ebuild
new file mode 100644
index 000000000000..fc6e598f6aa1
--- /dev/null
+++ b/app-editors/focuswriter/focuswriter-1.5.3.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PLOCALES="ar ca cs da de el en en_GB es_MX es fi fr he hu hy id it ja ko nl pl
+pt_BR pt ro ru sk sr sv tr uk vi zh_CN zh_TW"
+PLOCALE_BACKUP="en"
+inherit fdo-mime gnome2-utils l10n readme.gentoo qt4-r2
+
+DESCRIPTION="A fullscreen and distraction-free word processor"
+HOMEPAGE="http://gottcode.org/focuswriter/"
+SRC_URI="http://gottcode.org/${PN}/${P}-src.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug"
+
+RDEPEND="app-text/hunspell
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtsingleapplication[qt4(+),X]
+ sys-libs/zlib"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( ChangeLog CREDITS NEWS README )
+DOC_CONTENTS="Focuswriter has optional sound support if media-libs/sdl-mixer is
+installed with wav useflag enabled."
+
+PATCHES=( "${FILESDIR}/${PN}-1.5.2-unbundle-qtsingleapplication.patch" )
+
+rm_loc() {
+ sed -e "s|translations/${PN}_${1}.ts||" -i ${PN}.pro || die 'sed failed'
+ rm translations/${PN}_${1}.{ts,qm} || die "removing ${1} locale failed"
+}
+
+src_prepare() {
+ l10n_for_each_disabled_locale_do rm_loc
+ qt4-r2_src_prepare
+}
+
+src_configure() {
+ eqmake4 PREFIX="${EPREFIX}/usr"
+}
+
+src_install() {
+ readme.gentoo_create_doc
+ qt4-r2_src_install
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ readme.gentoo_pkg_postinst
+ gnome2_icon_cache_update
+ fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ fdo-mime_desktop_database_update
+}
diff --git a/app-editors/focuswriter/focuswriter-1.5.4.ebuild b/app-editors/focuswriter/focuswriter-1.5.4.ebuild
new file mode 100644
index 000000000000..f2e23064f6b9
--- /dev/null
+++ b/app-editors/focuswriter/focuswriter-1.5.4.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PLOCALES="ar ca cs da de el en en_GB es_MX es fi fr he hu hy id it ja ko nl pl
+pt_BR pt ro ru sk sr sv tr uk vi zh_CN zh_TW"
+PLOCALE_BACKUP="en"
+inherit fdo-mime gnome2-utils l10n readme.gentoo qt4-r2
+
+DESCRIPTION="A fullscreen and distraction-free word processor"
+HOMEPAGE="http://gottcode.org/focuswriter/"
+SRC_URI="http://gottcode.org/${PN}/${P}-src.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug"
+
+RDEPEND="app-text/hunspell
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtsingleapplication[qt4(+),X]
+ sys-libs/zlib"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( ChangeLog CREDITS NEWS README )
+DOC_CONTENTS="Focuswriter has optional sound support if media-libs/sdl-mixer is
+installed with wav useflag enabled."
+
+PATCHES=( "${FILESDIR}/${PN}-1.5.2-unbundle-qtsingleapplication.patch" )
+
+rm_loc() {
+ sed -e "s|translations/${PN}_${1}.ts||" -i ${PN}.pro || die 'sed failed'
+ rm translations/${PN}_${1}.{ts,qm} || die "removing ${1} locale failed"
+}
+
+src_prepare() {
+ l10n_for_each_disabled_locale_do rm_loc
+ qt4-r2_src_prepare
+}
+
+src_configure() {
+ eqmake4 PREFIX="${EPREFIX}/usr"
+}
+
+src_install() {
+ readme.gentoo_create_doc
+ qt4-r2_src_install
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ readme.gentoo_pkg_postinst
+ gnome2_icon_cache_update
+ fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ fdo-mime_desktop_database_update
+}
diff --git a/app-editors/focuswriter/metadata.xml b/app-editors/focuswriter/metadata.xml
new file mode 100644
index 000000000000..ab02f994fdd2
--- /dev/null
+++ b/app-editors/focuswriter/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>qt</herd>
+</pkgmetadata>
diff --git a/app-editors/fte/Manifest b/app-editors/fte/Manifest
new file mode 100644
index 000000000000..cda9d5e331b0
--- /dev/null
+++ b/app-editors/fte/Manifest
@@ -0,0 +1,4 @@
+DIST fte-20051115-common.zip 187849 SHA256 794031dd1d06156259d21ddcb3dec3196001818ea7116e9786b54314484dabf4 SHA512 18e1657a6fe1b48449dc97a357f00bfeb6626450520b48647e2751cc946d9d1bfc6d77d4b0fbdff0a980121502da870f739846b1db9569ff0b305530ee717323 WHIRLPOOL 5d515bdac01d5730a961b153df202e9ed6535ef536d1163166f9934dea002bb7fe7a6ac4b48d552e7c0ac1b1c96b3a44b6e0d4a7f32c25948f94691a910eb11b
+DIST fte-20051115-src.zip 549216 SHA256 bb4135e5c39223fa346d20613052e69090b14ed46855d5134bf2dbc4ba40d962 SHA512 320c2c4f27041ff5e7417288e5acc8c776013da4aa7cfc187e6207086851642a7ed961383ca19f6ae6c1717a59453c6a9ca40a1c7eb77dae6e5b9184cd7c346a WHIRLPOOL e8c3e84b7986a7900ea81dfc2b5285edb1f8d413769b400898a3b08083a7b954502d8e57f8a0d74d3d487ad7ea93227e334a89a6e178112cf1dfcf72c25357e4
+DIST fte-20110708-common.zip 200007 SHA256 58411578b31958765f42d2bf29b7aedd9f916955c2c19c96909a1c03e0246af7 SHA512 0bb59a5b6b4a5ef6c1234dadd8922cd50a13ad1f0c06d6046b74a95592ad55f720b43bbc78a42cab63dfc68c5e073d44d5179bd6ed72f346563f43f3c5c146f1 WHIRLPOOL 9d3ed7205b8daf8c4959b8683e979d47a3c842471f312fdcf03a6c6dc36f66bd7dede6a3bb9d4e91f7a91f554165b7360c755857d685dfe55478ae18672cbe55
+DIST fte-20110708-src.zip 504199 SHA256 d6311c542d3f0f2890a54a661c3b67228e27b894b4164e9faf29f014f254499e SHA512 2d59fadcdd988ee85b87425c343341e1b768a7e9ef838c5f8a1f22c4adc5bf2cc37d547f36354ca1740bce07b33d5ae93d14e24001b9dbd3b1b267986564a089 WHIRLPOOL 8a2c7a9053780092fe690b19dfb419bdb66c0617ac49c1fec312ce75fd480bbf691d24da34eeeb38ee267af0eafbc5fd6c6caf06c25ee809b917caa32a9dce51
diff --git a/app-editors/fte/files/fte b/app-editors/fte/files/fte
new file mode 100644
index 000000000000..2e4621b92a62
--- /dev/null
+++ b/app-editors/fte/files/fte
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# simple wrapper shell script which selects appropriate fte executable
+#
+
+if [ -n "$DISPLAY" ]; then
+ if which xfte >/dev/null; then
+ exec xfte "$@"
+ elif which sfte >/dev/null; then
+ exec sfte "$@"
+ elif which vfte >/dev/null; then
+ echo "Only Console version installed!"
+ fi
+else
+ if [ "$TERM" = linux ] && which vfte >/dev/null; then
+ exec vfte "$@"
+ elif which sfte >/dev/null; then
+ exec sfte "$@"
+ elif which xfte >/dev/null; then
+ echo "Only X-Window version installed!"
+ fi
+
+fi
+
+echo "No binary executable from the FTE family has been found!"
+echo "Please install one of them."
diff --git a/app-editors/fte/files/fte-gcc34 b/app-editors/fte/files/fte-gcc34
new file mode 100644
index 000000000000..51940e650657
--- /dev/null
+++ b/app-editors/fte/files/fte-gcc34
@@ -0,0 +1,38 @@
+--- fte/src/con_slang.cpp 2003-02-16 19:23:58.000000000 +0100
++++ fte-gcc34/src/con_slang.cpp 2005-01-12 16:57:38.050369064 +0100
+@@ -246,7 +246,7 @@
+ SLsmg_write_nchars(slang_dchs, sizeof(slang_dchs));
+
+ SLsmg_gotorc(0, 0);
+- SLsmg_read_raw(linebuf, sizeof(slang_dchs));
++ SLsmg_read_raw((SLsmg_Char_Type*)linebuf, sizeof(slang_dchs));
+ for (i = 0; i < sizeof(slang_dchs); i++)
+ raw_dchs[i] = (linebuf[i]) & 0xff;
+
+@@ -368,7 +368,7 @@
+ ConQueryCursorPos(&CurX, &CurY);
+ while (H > 0) {
+ SLsmg_gotorc(Y++, X);
+- SLsmg_write_raw(box, W);
++ SLsmg_write_raw((SLsmg_Char_Type*)box, W);
+ box += W;
+ H--;
+ }
+@@ -386,7 +386,7 @@
+ ConQueryCursorPos(&CurX, &CurY);
+ while (H > 0) {
+ SLsmg_gotorc(Y++, X);
+- SLsmg_read_raw(Cell, W);
++ SLsmg_read_raw((SLsmg_Char_Type*)Cell, W);
+ for (i = 0; i < W; i++)
+ if (Cell[i] & 0x8000) {
+ ch = Cell[i] & 0xff;
+@@ -409,7 +409,7 @@
+ ConQueryCursorPos(&CurX, &CurY);
+ while (H > 0) {
+ SLsmg_gotorc(Y++, X);
+- SLsmg_read_raw(box, W);
++ SLsmg_read_raw((SLsmg_Char_Type*)box, W);
+ box += W;
+ H--;
+ }
diff --git a/app-editors/fte/files/fte-interix.patch b/app-editors/fte/files/fte-interix.patch
new file mode 100644
index 000000000000..1df0a49f488a
--- /dev/null
+++ b/app-editors/fte/files/fte-interix.patch
@@ -0,0 +1,38 @@
+https://sourceforge.net/tracker/?func=detail&aid=3554646&group_id=943&atid=100943
+
+diff -ru fte.orig/src/g_unix_pipe.cpp fte/src/g_unix_pipe.cpp
+--- fte.orig/src/g_unix_pipe.cpp 2008-04-03 13:33:49 +0200
++++ fte/src/g_unix_pipe.cpp 2008-04-03 13:34:20 +0200
+@@ -4,6 +4,10 @@
+ #include <signal.h>
+ #include <sys/wait.h>
+
++#ifdef __INTERIX
++# include <sys/time.h>
++#endif
++
+ #include "sysdep.h"
+ #include "c_config.h"
+ #include "console.h"
+diff -ru fte.orig/src/sysdep.h fte/src/sysdep.h
+--- fte.orig/src/sysdep.h 2008-04-03 13:33:58 +0200
++++ fte/src/sysdep.h 2008-04-03 13:30:43 +0200
+@@ -15,7 +15,7 @@
+ #include <stdlib.h>
+ #include <stdarg.h>
+ #include <string.h>
+-#if defined(AIX) || defined(SCO) || defined(NCR)
++#if defined(AIX) || defined(SCO) || defined(NCR) || defined(__INTERIX)
+ #include <strings.h>
+ #endif
+ #include <stdio.h>
+@@ -38,7 +38,8 @@
+ !defined(IRIX) && \
+ !defined(SCO) && \
+ !defined(SUNOS) && \
+- !defined(NCR)
++ !defined(NCR) && \
++ !defined(__INTERIX)
+ # error Target not supported.
+ #endif
+
diff --git a/app-editors/fte/files/fte-new_keyword.patch b/app-editors/fte/files/fte-new_keyword.patch
new file mode 100644
index 000000000000..c7b2a2b64554
--- /dev/null
+++ b/app-editors/fte/files/fte-new_keyword.patch
@@ -0,0 +1,14 @@
+--- src/con_linux.cpp.orig 2005-01-30 22:46:54.170485296 +0300
++++ src/con_linux.cpp 2005-01-30 22:46:28.859333176 +0300
+@@ -50,7 +50,11 @@
+ #include <linux/major.h>
+ #include <linux/kdev_t.h>
+ #include <linux/kd.h>
++extern "C" {
++#define new xnew
+ #include <linux/keyboard.h>
++#undef new
++}
+ #ifdef USE_GPM
+ extern "C" {
+ #include <gpm.h>
diff --git a/app-editors/fte/files/fte-slang.patch b/app-editors/fte/files/fte-slang.patch
new file mode 100644
index 000000000000..50470bd6b7ef
--- /dev/null
+++ b/app-editors/fte/files/fte-slang.patch
@@ -0,0 +1,131 @@
+diff -Nru /tmp/wgHyQebD7F/fte-0.50.0/src/con_slang.cpp /tmp/PQJo4szkUb/fte-0.50.0/src/con_slang.cpp
+--- a/fte-0.50.0/src/con_slang.cpp 2005-12-28 16:53:24.000000000 +0100
++++ b/fte-0.50.0/src/con_slang.cpp 2006-06-05 06:02:37.000000000 +0200
+@@ -99,12 +99,14 @@
+ '+'
+ };
+
+-static char raw_dchs[sizeof(slang_dchs)];
++static SLsmg_Char_Type raw_dchs[sizeof(slang_dchs)];
+
+-static unsigned char ftesl_get_dch(char raw)
++static unsigned char ftesl_get_dch(SLsmg_Char_Type raw)
+ {
+ for (int i = 0; i < (int) sizeof(slang_dchs); i++)
+- if (raw_dchs[i] == raw)
++ if (raw_dchs[i].nchars == raw.nchars
++ && !memcmp(raw_dchs[i].wchars, raw.wchars,
++ raw.nchars * sizeof(*raw.wchars)))
+ return DCH_SLANG_C1 + i;
+ return DCH_SLANG_EOL;
+ }
+@@ -215,7 +217,6 @@
+ int ConInit(int /*XSize */ , int /*YSize */ )
+ {
+ unsigned i;
+- unsigned short linebuf[sizeof(slang_dchs)];
+
+ SLtt_get_terminfo();
+
+@@ -246,9 +247,7 @@
+ SLsmg_write_nchars(slang_dchs, sizeof(slang_dchs));
+
+ SLsmg_gotorc(0, 0);
+- SLsmg_read_raw((SLsmg_Char_Type*)linebuf, sizeof(slang_dchs));
+- for (i = 0; i < sizeof(slang_dchs); i++)
+- raw_dchs[i] = (linebuf[i]) & 0xff;
++ SLsmg_read_raw(raw_dchs, sizeof(slang_dchs));
+
+ SLsmg_set_char_set(0);
+
+@@ -361,14 +360,14 @@
+ return 0;
+ }
+
+-static int ConPutBoxRaw(int X, int Y, int W, int H, unsigned short *box)
++static int ConPutBoxRaw(int X, int Y, int W, int H, SLsmg_Char_Type *box)
+ {
+ int CurX, CurY;
+
+ ConQueryCursorPos(&CurX, &CurY);
+ while (H > 0) {
+ SLsmg_gotorc(Y++, X);
+- SLsmg_write_raw((SLsmg_Char_Type*)box, W);
++ SLsmg_write_raw(box, W);
+ box += W;
+ H--;
+ }
+@@ -381,35 +380,51 @@
+ int ConGetBox(int X, int Y, int W, int H, PCell Cell)
+ {
+ int CurX, CurY, i;
+- char ch;
++ SLsmg_Char_Type *linebuf;
++
++ linebuf = new SLsmg_Char_Type [W];
+
+ ConQueryCursorPos(&CurX, &CurY);
+ while (H > 0) {
+ SLsmg_gotorc(Y++, X);
+- SLsmg_read_raw((SLsmg_Char_Type*)Cell, W);
+- for (i = 0; i < W; i++)
+- if (Cell[i] & 0x8000) {
+- ch = Cell[i] & 0xff;
+- Cell[i] &= 0x7f00;
+- Cell[i] |= ftesl_get_dch(ch);
+- }
++ SLsmg_read_raw(linebuf, W);
++ for (i = 0; i < W; i++) {
++ if (linebuf[i].color & SLSMG_ACS_MASK)
++ Cell[i] = ftesl_get_dch(linebuf[i]);
++ else
++ /*
++ * FIXME: Handle UTF-8 -- way beyond a quick-and-dirty
++ * fix. --MV
++ */
++ Cell[i] = SLSMG_EXTRACT_CHAR(linebuf[i]);
++ /*
++ * FIXME: This preserves only 7 out of 15 bits of color.
++ * Fortunately, we're dealing with color handles rather than
++ * colors themselves -- S-Lang jumps through an extra hoop to
++ * map these to color data. As long as we use less than 127
++ * different colors, things should be OK. I think. --MV
++ */
++ Cell[i] |= (linebuf[i].color & 0x7f) << 8;
++ }
+ Cell += W;
+ H--;
+ }
+ ConSetCursorPos(CurX, CurY);
+
++ delete [] (linebuf);
++
+ return 0;
+
+ }
+
+-static int ConGetBoxRaw(int X, int Y, int W, int H, unsigned short *box)
++static int ConGetBoxRaw(int X, int Y, int W, int H, SLsmg_Char_Type *box)
+ {
+ int CurX, CurY;
+
+ ConQueryCursorPos(&CurX, &CurY);
+ while (H > 0) {
+ SLsmg_gotorc(Y++, X);
+- SLsmg_read_raw((SLsmg_Char_Type*)box, W);
++ SLsmg_read_raw(box, W);
+ box += W;
+ H--;
+ }
+@@ -451,9 +466,9 @@
+
+ int ConScroll(int Way, int X, int Y, int W, int H, TAttr Fill, int Count)
+ {
+- unsigned short *box;
++ SLsmg_Char_Type *box;
+
+- box = new unsigned short [W * H];
++ box = new SLsmg_Char_Type [W * H];
+
+ TCell fill = (((unsigned) Fill) << 8) | ' ';
+
diff --git a/app-editors/fte/fte-20051115-r3.ebuild b/app-editors/fte/fte-20051115-r3.ebuild
new file mode 100644
index 000000000000..4f8ff930364f
--- /dev/null
+++ b/app-editors/fte/fte-20051115-r3.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Lightweight text-mode editor"
+HOMEPAGE="http://fte.sourceforge.net"
+SRC_URI="
+ mirror://sourceforge/fte/${P}-src.zip
+ mirror://sourceforge/fte/${P}-common.zip"
+
+LICENSE="|| ( GPL-2 Artistic )"
+SLOT="0"
+KEYWORDS="~alpha amd64 ppc -sparc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="gpm slang X"
+
+S="${WORKDIR}/${PN}"
+
+RDEPEND="
+ >=sys-libs/ncurses-5.2
+ X? (
+ x11-libs/libXdmcp
+ x11-libs/libXau
+ x11-libs/libX11
+ x11-libs/libXpm
+ )
+ gpm? ( >=sys-libs/gpm-1.20 )"
+DEPEND="${RDEPEND}
+ slang? ( >=sys-libs/slang-2.1.3 )
+ app-arch/unzip"
+
+set_targets() {
+ export TARGETS=""
+ use slang && TARGETS="${TARGETS} sfte"
+ use X && TARGETS="${TARGETS} xfte"
+
+ [[ ${CHOST} == *-linux-gnu* ]] \
+ && TARGETS="${TARGETS} vfte" \
+ || TARGETS="${TARGETS} nfte"
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/fte-gcc34 \
+ "${FILESDIR}"/${PN}-new_keyword.patch \
+ "${FILESDIR}"/${PN}-slang.patch \
+ "${FILESDIR}"/${PN}-interix.patch
+
+ [[ -e /usr/include/linux/keyboard.h ]] && \
+ sed /usr/include/linux/keyboard.h -e '/wait.h/d' > src/hacked_keyboard.h
+
+ sed \
+ -e "s:<linux/keyboard.h>:\"hacked_keyboard.h\":" \
+ -i src/con_linux.cpp || die "sed keyboard"
+ sed \
+ -e 's:^OPTIMIZE:#&:g' \
+ -e '/^LDFLAGS/s:=:+=:g' \
+ -e 's:= g++:= $(CXX):g' \
+ -i src/fte-unix.mak || die "sed CFLAGS, LDFLAGS, CC"
+ ecvs_clean
+}
+
+src_configure() {
+ set_targets
+ sed \
+ -e "s:@targets@:${TARGETS}:" \
+ -e '/^XINCDIR =/c\XINCDIR =' \
+ -e '/^XLIBDIR =/c\XLIBDIR = -lstdc++' \
+ -e '/^SINCDIR =/c\SINCDIR = -I'"${EPREFIX}"'/usr/include/slang' \
+ -i src/fte-unix.mak || die "sed targets"
+
+ if ! use gpm; then
+ sed \
+ -e "s:#define USE_GPM://#define USE_GPM:" \
+ -i src/con_linux.cpp || die "sed USE_GPM"
+ sed \
+ -e "s:-lgpm::" \
+ -i src/fte-unix.mak || die "sed -lgpm"
+ fi
+}
+
+src_compile() {
+ local os="-DLINUX" # by now the default in makefile
+ [[ ${CHOST} == *-interix* ]] && os=
+
+ DEFFLAGS="PREFIX='${EPREFIX}'/usr CONFIGDIR='${EPREFIX}'/usr/share/fte \
+ DEFAULT_FTE_CONFIG=../config/main.fte UOS=${os}"
+
+ set_targets
+ emake CXX=$(tc-getCXX) OPTIMIZE="${CXXFLAGS}" ${DEFFLAGS} TARGETS="${TARGETS}" all
+}
+
+src_install() {
+ local files
+
+ keepdir /etc/fte
+
+ into /usr
+
+ set_targets
+ files="${TARGETS} cfte"
+
+ for i in ${files}; do
+ dobin src/$i
+ done
+
+ dobin "${FILESDIR}"/fte
+
+ dodoc CHANGES BUGS HISTORY README TODO
+ dohtml doc/*
+
+ insinto /usr/share/fte
+ doins -r config/*
+}
+
+pkg_postinst() {
+ ebegin "Compiling configuration"
+ cd "${EPREFIX}"/usr/share/fte || die "missing configuration dir"
+ "${EPREFIX}"/usr/bin/cfte main.fte "${EPREFIX}"/etc/fte/system.fterc
+ eend $?
+}
diff --git a/app-editors/fte/fte-20110708.ebuild b/app-editors/fte/fte-20110708.ebuild
new file mode 100644
index 000000000000..19c53c6494b6
--- /dev/null
+++ b/app-editors/fte/fte-20110708.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Lightweight text-mode editor"
+HOMEPAGE="http://fte.sourceforge.net"
+SRC_URI="
+ mirror://sourceforge/${PN}/${P}-src.zip
+ mirror://sourceforge/${PN}/${P}-common.zip"
+
+LICENSE="|| ( GPL-2 Artistic )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc -sparc ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="gpm slang X"
+
+S="${WORKDIR}/${PN}"
+
+RDEPEND="
+ >=sys-libs/ncurses-5.2
+ X? (
+ x11-libs/libXdmcp
+ x11-libs/libXau
+ x11-libs/libX11
+ x11-libs/libXpm
+ )
+ gpm? ( >=sys-libs/gpm-1.20 )"
+DEPEND="${RDEPEND}
+ slang? ( >=sys-libs/slang-2.1.3 )
+ app-arch/unzip"
+
+set_targets() {
+ export TARGETS=""
+ use slang && TARGETS="${TARGETS} s${PN}"
+ use X && TARGETS="${TARGETS} x${PN}"
+
+ [[ ${CHOST} == *-linux-gnu* ]] \
+ && TARGETS="${TARGETS} v${PN}" \
+ || TARGETS="${TARGETS} n${PN}"
+}
+
+src_prepare() {
+ # Do not apply anymore, posibly deprecated. TODO: Check and clean up.
+ # epatch "${FILESDIR}"/${PN}-gcc34
+ # epatch "${FILESDIR}"/${PN}-new_keyword.patch
+ # epatch "${FILESDIR}"/${PN}-slang.patch
+ # epatch "${FILESDIR}"/${PN}-interix.patch
+
+ [[ -e /usr/include/linux/keyboard.h ]] && \
+ sed /usr/include/linux/keyboard.h -e '/wait.h/d' > src/hacked_keyboard.h
+
+ sed \
+ -e "s:<linux/keyboard.h>:\"hacked_keyboard.h\":" \
+ -i src/con_linux.cpp || die "sed keyboard"
+ sed \
+ -e 's:^OPTIMIZE:#&:g' \
+ -e '/^LDFLAGS/s:=:+=:g' \
+ -e 's:= g++:= $(CXX):g' \
+ -i src/${PN}-unix.mak || die "sed CFLAGS, LDFLAGS, CC"
+ ecvs_clean
+}
+
+src_configure() {
+ set_targets
+ sed \
+ -e "s:@targets@:${TARGETS}:" \
+ -e '/^XINCDIR =/c\XINCDIR =' \
+ -e '/^XLIBDIR =/c\XLIBDIR = -lstdc++' \
+ -e '/^SINCDIR =/c\SINCDIR = -I'"${EPREFIX}"'/usr/include/slang' \
+ -i src/${PN}-unix.mak || die "sed targets"
+
+ if ! use gpm; then
+ sed \
+ -e "s:#define USE_GPM://#define USE_GPM:" \
+ -i src/con_linux.cpp || die "sed USE_GPM"
+ sed \
+ -e "s:-lgpm::" \
+ -i src/fte-unix.mak || die "sed -lgpm"
+ fi
+}
+
+src_compile() {
+ local os="-DLINUX" # by now the default in makefile
+ [[ ${CHOST} == *-interix* ]] && os=
+
+ DEFFLAGS="PREFIX='${EPREFIX}'/usr CONFIGDIR='${EPREFIX}'/usr/share/${PN} \
+ DEFAULT_FTE_CONFIG=../config/main.${PN} UOS=${os}"
+
+ set_targets
+ emake CXX=$(tc-getCXX) OPTIMIZE="${CXXFLAGS}" ${DEFFLAGS} TARGETS="${TARGETS}" all
+}
+
+src_install() {
+ local files
+
+ keepdir /etc/${PN}
+
+ into /usr
+
+ set_targets
+ files="${TARGETS} c${PN}"
+
+ for i in ${files}; do
+ dobin src/$i
+ done
+
+ dobin "${FILESDIR}"/${PN}
+
+ dodoc BUGS README TODO
+ dohtml doc/*
+
+ insinto /usr/share/${PN}
+ doins -r config/*
+}
+
+pkg_postinst() {
+ ebegin "Compiling configuration"
+ cd "${EPREFIX}"/usr/share/${PN} || die "missing configuration dir"
+ "${EPREFIX}"/usr/bin/c${PN} main.${PN} "${EPREFIX}"/etc/${PN}/system.${PN}rc
+ eend $?
+}
diff --git a/app-editors/fte/metadata.xml b/app-editors/fte/metadata.xml
new file mode 100644
index 000000000000..fc3f5cf34dad
--- /dev/null
+++ b/app-editors/fte/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription>Lightweight text-mode editor.</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">fte</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/gedit-plugins/Manifest b/app-editors/gedit-plugins/Manifest
new file mode 100644
index 000000000000..067135469501
--- /dev/null
+++ b/app-editors/gedit-plugins/Manifest
@@ -0,0 +1,2 @@
+DIST gedit-plugins-3.14.1.tar.xz 1291776 SHA256 d0f4b8282e91dc3f77698aa4c8a6bd09df057b4df77fb86594c402fe7347b881 SHA512 bc385cae81d3b2c4faa26cb94612fbea0e503e556031594b72f3f176ad8846c42baa7bdfafffb85b226d9faf836237da56b91de593f41037ff8940307bc1c302 WHIRLPOOL d191a59c33a985144bb3264385f8c827e886c3183686df1f2d27a3db4b73bd22710463558bbefed45879ef27cdf1597efee6a86d69c8bc78b9fa92a11628b7cb
+DIST gedit-plugins-3.16.0.tar.xz 1280064 SHA256 b685b84ada8ca04f6aa201e402a0208591be4a37b874595a0a85d0a14b52f191 SHA512 336d57bf9a25bb70cf63bb4ea6e81215381e91a04126429fd4f930596ed1731ceb8ed36b091757fb6729ba032bd8af083a3ec056a2e91f7abddc505282e511e2 WHIRLPOOL a5ef32695c8b7bbe0fd19a53496d7390d306e9587a0228cfb0151ff59eb0d127ba85e7c481403fb6fb3aaf14fb95428c6b60d5b65cafcecab230edc2733bc918
diff --git a/app-editors/gedit-plugins/gedit-plugins-3.14.1.ebuild b/app-editors/gedit-plugins/gedit-plugins-3.14.1.ebuild
new file mode 100644
index 000000000000..0b2187387aa4
--- /dev/null
+++ b/app-editors/gedit-plugins/gedit-plugins-3.14.1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes" # plugins are dlopened
+PYTHON_COMPAT=( python3_{3,4} )
+PYTHON_REQ_USE="xml"
+
+inherit eutils gnome2 multilib python-r1
+
+DESCRIPTION="Official plugins for gedit"
+HOMEPAGE="https://wiki.gnome.org/Apps/Gedit/ShippedPlugins"
+
+LICENSE="GPL-2+"
+KEYWORDS="amd64 x86"
+SLOT="0"
+
+IUSE_plugins="charmap git terminal zeitgeist"
+IUSE="+python ${IUSE_plugins}"
+# python-single-r1 would request disabling PYTHON_TARGETS on libpeas
+REQUIRED_USE="
+ charmap? ( python )
+ git? ( python )
+ python? ( ^^ ( $(python_gen_useflags '*') ) )
+ terminal? ( python )
+ zeitgeist? ( python )
+"
+
+RDEPEND="
+ >=app-editors/gedit-3.14[python?]
+ >=dev-libs/glib-2.32:2
+ >=dev-libs/libpeas-1.7.0[gtk,python?]
+ >=x11-libs/gtk+-3.9:3
+ >=x11-libs/gtksourceview-3.14:3.0
+ python? (
+ ${PYTHON_DEPS}
+ >=app-editors/gedit-3.14[introspection,${PYTHON_USEDEP}]
+ dev-libs/libpeas[${PYTHON_USEDEP}]
+ >=dev-python/dbus-python-0.82[${PYTHON_USEDEP}]
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
+ >=x11-libs/gtk+-3.9:3[introspection]
+ >=x11-libs/gtksourceview-3.14:3.0[introspection]
+ x11-libs/pango[introspection]
+ x11-libs/gdk-pixbuf:2[introspection]
+ )
+ charmap? ( >=gnome-extra/gucharmap-3:2.90[introspection] )
+ git? ( >=dev-libs/libgit2-glib-0.0.6 )
+ terminal? ( x11-libs/vte:2.91[introspection] )
+ zeitgeist? ( >=gnome-extra/zeitgeist-0.9.12[introspection] )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/intltool-0.40.0
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+pkg_setup() {
+ use python && [[ ${MERGE_TYPE} != binary ]] && python_setup
+}
+
+src_configure() {
+ gnome2_src_configure \
+ $(use_enable python) \
+ ITSTOOL=$(type -P true)
+}
+
+src_install() {
+ gnome2_src_install
+
+ # FIXME: crazy !!!
+ if use python; then
+ find "${ED}"/usr/share/gedit -name "*.py*" -delete || die
+ find "${ED}"/usr/share/gedit -type d -empty -delete || die
+ fi
+
+ # FIXME: upstream made this automagic...
+ clean_plugin charmap
+ clean_plugin git
+ clean_plugin terminal
+ clean_plugin zeitgeist
+}
+
+clean_plugin() {
+ if use !${1} ; then
+ rm -rf "${ED}"/usr/share/gedit/plugins/${1}*
+ rm -rf "${ED}"/usr/$(get_libdir)/gedit/plugins/${1}*
+ fi
+}
diff --git a/app-editors/gedit-plugins/gedit-plugins-3.16.0.ebuild b/app-editors/gedit-plugins/gedit-plugins-3.16.0.ebuild
new file mode 100644
index 000000000000..9d530763657a
--- /dev/null
+++ b/app-editors/gedit-plugins/gedit-plugins-3.16.0.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes" # plugins are dlopened
+PYTHON_COMPAT=( python3_{3,4} )
+PYTHON_REQ_USE="xml"
+
+inherit eutils gnome2 multilib python-r1
+
+DESCRIPTION="Official plugins for gedit"
+HOMEPAGE="https://wiki.gnome.org/Apps/Gedit/ShippedPlugins"
+
+LICENSE="GPL-2+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+IUSE_plugins="charmap git terminal zeitgeist"
+IUSE="+python ${IUSE_plugins}"
+# python-single-r1 would request disabling PYTHON_TARGETS on libpeas
+REQUIRED_USE="
+ charmap? ( python )
+ git? ( python )
+ python? ( ^^ ( $(python_gen_useflags '*') ) )
+ terminal? ( python )
+ zeitgeist? ( python )
+"
+
+RDEPEND="
+ >=app-editors/gedit-3.16[python?]
+ >=dev-libs/glib-2.32:2
+ >=dev-libs/libpeas-1.7.0[gtk,python?]
+ >=x11-libs/gtk+-3.9:3
+ >=x11-libs/gtksourceview-3.14:3.0
+ python? (
+ ${PYTHON_DEPS}
+ >=app-editors/gedit-3.16[introspection,${PYTHON_USEDEP}]
+ dev-libs/libpeas[${PYTHON_USEDEP}]
+ >=dev-python/dbus-python-0.82[${PYTHON_USEDEP}]
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
+ >=x11-libs/gtk+-3.9:3[introspection]
+ >=x11-libs/gtksourceview-3.14:3.0[introspection]
+ x11-libs/pango[introspection]
+ x11-libs/gdk-pixbuf:2[introspection]
+ )
+ charmap? ( >=gnome-extra/gucharmap-3:2.90[introspection] )
+ git? ( >=dev-libs/libgit2-glib-0.0.6 )
+ terminal? ( x11-libs/vte:2.91[introspection] )
+ zeitgeist? ( >=gnome-extra/zeitgeist-0.9.12[introspection] )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/intltool-0.40.0
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+pkg_setup() {
+ use python && [[ ${MERGE_TYPE} != binary ]] && python_setup
+}
+
+src_configure() {
+ gnome2_src_configure \
+ $(use_enable python) \
+ $(use_enable zeitgeist) \
+ ITSTOOL=$(type -P true)
+}
+
+src_install() {
+ gnome2_src_install
+
+ # FIXME: crazy !!!
+ if use python; then
+ find "${ED}"/usr/share/gedit -name "*.py*" -delete || die
+ find "${ED}"/usr/share/gedit -type d -empty -delete || die
+ fi
+
+ # FIXME: upstream made this automagic...
+ clean_plugin charmap
+ clean_plugin git
+ clean_plugin terminal
+}
+
+clean_plugin() {
+ if use !${1} ; then
+ rm -rf "${ED}"/usr/share/gedit/plugins/${1}*
+ rm -rf "${ED}"/usr/$(get_libdir)/gedit/plugins/${1}*
+ fi
+}
diff --git a/app-editors/gedit-plugins/metadata.xml b/app-editors/gedit-plugins/metadata.xml
new file mode 100644
index 000000000000..12a7b7032fce
--- /dev/null
+++ b/app-editors/gedit-plugins/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<longdescription>Official plugins for gedit</longdescription>
+<use>
+ <flag name="charmap">Insert special characters just by clicking on
+ them</flag>
+ <flag name='git'>Shows document changes related to git's HEAD</flag>
+ <flag name="terminal">Embed a terminal in the bottom pane</flag>
+ <flag name="zeitgeist">Build the plugin to inject events to <pkg>gnome-extra/zeitgeist</pkg></flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/gedit/Manifest b/app-editors/gedit/Manifest
new file mode 100644
index 000000000000..e1dd10a66ca5
--- /dev/null
+++ b/app-editors/gedit/Manifest
@@ -0,0 +1,2 @@
+DIST gedit-3.14.3.tar.xz 2875192 SHA256 cd6c9f556ec12001e4b250091a1d7405cd807cce7fe767bc89ed2c25aa96a319 SHA512 2237ad697161cff5755336775cf128136d7cefdece0d335246735b3ae1b9d2cadb29ae36be2000cd7fb02d6a4187aac1d2ff7935bec5c64b5b880fe84f330b01 WHIRLPOOL 39ffa7ece00f712f052c78107b3f95cd0e3a744932d22f5e946141b3bc8954643ae091f75508d9761761fb041a18b43e50b23ed1c0ff3d7ac0bdce9464cc71cd
+DIST gedit-3.16.2.tar.xz 2905916 SHA256 db60a9408711b00f3780f5f5b657e9f44722c88c683ba6e9f2b4885631f429aa SHA512 511d70099eeb857a3e25d789c44302756d108ff84634c4c7386e1e1de8dd08834cf57991311c69aa81da23510027523bc7cde313b689feb1a8e08eb01b017648 WHIRLPOOL ce51f82265664839d686ea91388f8dc906c5dcf666032f4073792832aabfa9a04dbd99e4aeef5cfd733a753eaf63daaa5b55dce3c67bb0cdb01d96595d36b4f9
diff --git a/app-editors/gedit/gedit-3.14.3.ebuild b/app-editors/gedit/gedit-3.14.3.ebuild
new file mode 100644
index 000000000000..77bd7654bc4b
--- /dev/null
+++ b/app-editors/gedit/gedit-3.14.3.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes" # plugins are dlopened
+PYTHON_COMPAT=( python3_{3,4} )
+VALA_MIN_API_VERSION="0.26"
+VALA_USE_DEPEND="vapigen"
+
+inherit eutils gnome2 multilib python-r1 vala virtualx
+
+DESCRIPTION="A text editor for the GNOME desktop"
+HOMEPAGE="https://wiki.gnome.org/Apps/Gedit"
+
+LICENSE="GPL-2+ CC-BY-SA-3.0"
+SLOT="0"
+
+IUSE="+introspection +python spell vala"
+# python-single-r1 would request disabling PYTHON_TARGETS on libpeas
+# we need to fix that
+REQUIRED_USE="python? ( ^^ ( $(python_gen_useflags '*') ) )"
+
+KEYWORDS="~alpha amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux"
+
+# X libs are not needed for OSX (aqua)
+COMMON_DEPEND="
+ >=dev-libs/libxml2-2.5.0:2
+ >=dev-libs/glib-2.40:2[dbus]
+ >=x11-libs/gtk+-3.14:3[introspection?]
+ >=x11-libs/gtksourceview-3.14.3:3.0[introspection?]
+ >=dev-libs/libpeas-1.7.0[gtk]
+
+ gnome-base/gsettings-desktop-schemas
+ gnome-base/gvfs
+
+ x11-libs/libX11
+
+ net-libs/libsoup:2.4
+
+ introspection? ( >=dev-libs/gobject-introspection-0.9.3 )
+ python? (
+ ${PYTHON_DEPS}
+ >=dev-libs/gobject-introspection-0.9.3
+ >=x11-libs/gtk+-3:3[introspection]
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-3:3[cairo,${PYTHON_USEDEP}]
+ dev-libs/libpeas[${PYTHON_USEDEP}] )
+ spell? (
+ >=app-text/enchant-1.2:=
+ >=app-text/iso-codes-0.35 )
+"
+RDEPEND="${COMMON_DEPEND}
+ x11-themes/gnome-icon-theme-symbolic
+"
+DEPEND="${COMMON_DEPEND}
+ ${vala_depend}
+ app-text/docbook-xml-dtd:4.1.2
+ >=app-text/scrollkeeper-0.3.11
+ dev-libs/libxml2:2
+ >=dev-util/gtk-doc-am-1
+ >=dev-util/intltool-0.50.1
+ >=sys-devel/gettext-0.18
+ virtual/pkgconfig
+"
+# yelp-tools, gnome-common needed to eautoreconf
+
+pkg_setup() {
+ use python && [[ ${MERGE_TYPE} != binary ]] && python_setup
+}
+
+src_prepare() {
+ vala_src_prepare
+ gnome2_src_prepare
+}
+
+src_configure() {
+ DOCS="AUTHORS BUGS ChangeLog MAINTAINERS NEWS README"
+
+ gnome2_src_configure \
+ --disable-deprecations \
+ --enable-updater \
+ --enable-gvfs-metadata \
+ $(use_enable introspection) \
+ $(use_enable spell) \
+ $(use_enable python) \
+ $(use_enable vala) \
+ ITSTOOL=$(type -P true)
+}
+
+src_test() {
+ # FIXME: this should be handled at eclass level
+ "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/data" || die
+
+ unset DBUS_SESSION_BUS_ADDRESS
+ GSETTINGS_SCHEMA_DIR="${S}/data" Xemake check
+}
+
+src_install() {
+ local args=()
+ # manually set pyoverridesdir due to bug #524018 and AM_PATH_PYTHON limitations
+ use python && args+=( pyoverridesdir="$(python_get_sitedir)/gi/overrides" )
+
+ gnome2_src_install "${args[@]}"
+}
diff --git a/app-editors/gedit/gedit-3.16.2.ebuild b/app-editors/gedit/gedit-3.16.2.ebuild
new file mode 100644
index 000000000000..ab0ef9ad514b
--- /dev/null
+++ b/app-editors/gedit/gedit-3.16.2.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes" # plugins are dlopened
+PYTHON_COMPAT=( python3_{3,4} )
+VALA_MIN_API_VERSION="0.26"
+VALA_USE_DEPEND="vapigen"
+
+inherit eutils gnome2 multilib python-r1 vala virtualx
+
+DESCRIPTION="A text editor for the GNOME desktop"
+HOMEPAGE="https://wiki.gnome.org/Apps/Gedit"
+
+LICENSE="GPL-2+ CC-BY-SA-3.0"
+SLOT="0"
+
+IUSE="+introspection +python spell vala"
+# python-single-r1 would request disabling PYTHON_TARGETS on libpeas
+# we need to fix that
+REQUIRED_USE="
+ python? ( introspection )
+ python? ( ^^ ( $(python_gen_useflags '*') ) )
+"
+
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux"
+
+# X libs are not needed for OSX (aqua)
+COMMON_DEPEND="
+ >=dev-libs/libxml2-2.5.0:2
+ >=dev-libs/glib-2.40:2[dbus]
+ >=x11-libs/gtk+-3.16:3[introspection?]
+ >=x11-libs/gtksourceview-3.16:3.0[introspection?]
+ >=dev-libs/libpeas-1.7.0[gtk]
+
+ gnome-base/gsettings-desktop-schemas
+ gnome-base/gvfs
+
+ x11-libs/libX11
+
+ net-libs/libsoup:2.4
+
+ introspection? ( >=dev-libs/gobject-introspection-0.9.3 )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-3:3[cairo,${PYTHON_USEDEP}]
+ dev-libs/libpeas[${PYTHON_USEDEP}] )
+ spell? (
+ >=app-text/enchant-1.2:=
+ >=app-text/iso-codes-0.35 )
+"
+RDEPEND="${COMMON_DEPEND}
+ x11-themes/gnome-icon-theme-symbolic
+"
+DEPEND="${COMMON_DEPEND}
+ ${vala_depend}
+ app-text/docbook-xml-dtd:4.1.2
+ >=app-text/scrollkeeper-0.3.11
+ dev-libs/libxml2:2
+ >=dev-util/gtk-doc-am-1
+ >=dev-util/intltool-0.50.1
+ >=sys-devel/gettext-0.18
+ virtual/pkgconfig
+"
+# yelp-tools, gnome-common needed to eautoreconf
+
+pkg_setup() {
+ use python && [[ ${MERGE_TYPE} != binary ]] && python_setup
+}
+
+src_prepare() {
+ vala_src_prepare
+ gnome2_src_prepare
+}
+
+src_configure() {
+ DOCS="AUTHORS BUGS ChangeLog MAINTAINERS NEWS README"
+
+ gnome2_src_configure \
+ --disable-deprecations \
+ --enable-updater \
+ --enable-gvfs-metadata \
+ $(use_enable introspection) \
+ $(use_enable spell) \
+ $(use_enable python) \
+ $(use_enable vala) \
+ ITSTOOL=$(type -P true)
+}
+
+src_test() {
+ # FIXME: this should be handled at eclass level
+ "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/data" || die
+
+ unset DBUS_SESSION_BUS_ADDRESS
+ GSETTINGS_SCHEMA_DIR="${S}/data" Xemake check
+}
+
+src_install() {
+ local args=()
+ # manually set pyoverridesdir due to bug #524018 and AM_PATH_PYTHON limitations
+ use python && args+=( pyoverridesdir="$(python_get_sitedir)/gi/overrides" )
+
+ gnome2_src_install "${args[@]}"
+}
diff --git a/app-editors/gedit/metadata.xml b/app-editors/gedit/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/app-editors/gedit/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/app-editors/ghex/Manifest b/app-editors/ghex/Manifest
new file mode 100644
index 000000000000..47d06bfe2d45
--- /dev/null
+++ b/app-editors/ghex/Manifest
@@ -0,0 +1,2 @@
+DIST ghex-3.10.0.tar.xz 1287520 SHA256 9c31383b1d32c8942ca0327c615336f5777309674c4fc090e8cceb1576c63255 SHA512 76c298a8156b778e8b1c0ee51a2388db51181b74270b898ebd5c720e6f1a88467bfe10578de74c8fde189706b62754a75ee9a1317a8e2b45c3ff32ec34a6da3a WHIRLPOOL ef2882d24a8148e06fa55a6a22f78148e8b565fc45cfe28a8630123a4f8e2f0fd243ad3a31f206a75926ddb262caa29eafa9ca210a01794ceb6926cf73f4a060
+DIST ghex-3.10.1.tar.xz 1424308 SHA256 34b66cb5c84410c420df72f229d25aee5979e58048a246ed719b046f0c241132 SHA512 bfb7f4af1c36698571ea176fd4bbba2ea11a337a8e02976da6b784bd5cc634a4b853e36918ebaeea382d680e796343838ce4709ac720da86755628894043c28c WHIRLPOOL f63bbd4256d4e6e3134e4f58a2b1667d3536aea62605f5762f0ed04191e192e986663c53c7537996553325003dec38f4419b1d9a84465f958e0f5f76cec6fe1e
diff --git a/app-editors/ghex/ghex-3.10.0.ebuild b/app-editors/ghex/ghex-3.10.0.ebuild
new file mode 100644
index 000000000000..fb8b5c67efef
--- /dev/null
+++ b/app-editors/ghex/ghex-3.10.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2
+
+DESCRIPTION="GNOME hexadecimal editor"
+HOMEPAGE="https://live.gnome.org/Ghex"
+
+LICENSE="GPL-2+ FDL-1.1+"
+SLOT="2"
+KEYWORDS="amd64 ~arm ~ppc x86 ~x86-interix ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ >=dev-libs/atk-1
+ >=dev-libs/glib-2.31.10:2
+ >=x11-libs/gtk+-3.3.8:3
+"
+DEPEND="${RDEPEND}
+ >=dev-util/intltool-0.41.1
+ >=sys-devel/gettext-0.17
+ app-text/yelp-tools
+ virtual/pkgconfig
+"
diff --git a/app-editors/ghex/ghex-3.10.1.ebuild b/app-editors/ghex/ghex-3.10.1.ebuild
new file mode 100644
index 000000000000..3ee0917268b5
--- /dev/null
+++ b/app-editors/ghex/ghex-3.10.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2
+
+DESCRIPTION="GNOME hexadecimal editor"
+HOMEPAGE="https://wiki.gnome.org/Apps/Ghex"
+
+LICENSE="GPL-2+ FDL-1.1+"
+SLOT="2"
+KEYWORDS="amd64 ~arm ~ppc x86 ~x86-interix ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ >=dev-libs/atk-1
+ >=dev-libs/glib-2.31.10:2
+ >=x11-libs/gtk+-3.3.8:3
+"
+DEPEND="${RDEPEND}
+ >=dev-util/intltool-0.41.1
+ >=sys-devel/gettext-0.17
+ app-text/yelp-tools
+ virtual/pkgconfig
+"
diff --git a/app-editors/ghex/metadata.xml b/app-editors/ghex/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/app-editors/ghex/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/app-editors/gobby/Manifest b/app-editors/gobby/Manifest
new file mode 100644
index 000000000000..3a2167dc2e52
--- /dev/null
+++ b/app-editors/gobby/Manifest
@@ -0,0 +1,2 @@
+DIST gobby-0.4.13.tar.gz 507676 SHA256 8cbd89ffbe3e056160a8d76e11d641f3b045793e35897546f98d2de368001871 SHA512 15017de52c8e627b2c1999b68e53862ca6387b83c1486c5bf7c98e9abba5ea73c9f001077518458883d82c1af0f756da50428a8707fd05260715df13ed0cc978 WHIRLPOOL 6b4826cd838d4841cc59a0d05e77f27906ba85f27e6ebeac87b8c5aa9739aceb3b369803194ed732be7066505cbcf0762fdedd9f2b2f3991fadaf01dc2416403
+DIST gobby-0.4.94.tar.gz 645815 SHA256 b9798808447cd94178430f0fb273d0e45d0ca30ab04560e3790bac469e03bb00 SHA512 62089e4f21c3eb6d822b7e240f694473b3f5b1585ddc3e42593503d68f8058645b04be137eb70a59c841b766f69791cbdfcfd82be1c9d126fca0ffd49ee7fe07 WHIRLPOOL 519d8b3ff8dacb3749a157c2fd641b33122751fe28ad0bc35ea5bb0cb6096dbbb89072799d14a1c2ee53a029a8f3f12b496052f27ffccc87cfa9ae6fc011dd02
diff --git a/app-editors/gobby/files/gobby-0.4.94-gtkmm3.patch b/app-editors/gobby/files/gobby-0.4.94-gtkmm3.patch
new file mode 100644
index 000000000000..e1fda8b7a149
--- /dev/null
+++ b/app-editors/gobby/files/gobby-0.4.94-gtkmm3.patch
@@ -0,0 +1,222 @@
+From 5932bfb4cf653b0588872fd6f8cc106b248ad964 Mon Sep 17 00:00:00 2001
+From: Armin Burgmeier <armin@arbur.net>
+Date: Sun, 29 Apr 2012 14:43:06 +0200
+Subject: [PATCH] Fix build against recent gtkmm3 versions
+
+2012-04-29 Armin Burgmeier <armin@arbur.net>
+
+ * code/commands/autosave-commands.cpp:
+ * code/commands/folder-commands.cpp:
+ * code/commands/user-join-commands.cpp:
+ * code/core/filechooser.cpp:
+ * code/core/folder.cpp:
+ * code/core/header.cpp:
+ * code/core/preferences.cpp:
+ * code/core/statusbar.cpp:
+ * code/core/textsessionview.cpp:
+ * code/dialogs/initial-dialog.cpp:
+ * code/dialogs/preferences-dialog.cpp:
+ * code/operations/operation-open.cpp:
+ * code/operations/operation-open.hpp:
+ * code/operations/operation-save.hpp: Add some missing glibmm includes
+ that are no longer pulled in by gtkmm since recent gtkmm3 versions.
+---
+ ChangeLog | 18 ++++++++++++++++++
+ code/commands/autosave-commands.cpp | 2 ++
+ code/commands/folder-commands.cpp | 2 ++
+ code/commands/user-join-commands.cpp | 2 ++
+ code/core/filechooser.cpp | 2 ++
+ code/core/folder.cpp | 2 ++
+ code/core/header.cpp | 1 +
+ code/core/preferences.cpp | 4 ++++
+ code/core/statusbar.cpp | 1 +
+ code/core/textsessionview.cpp | 3 +++
+ code/dialogs/initial-dialog.cpp | 1 +
+ code/dialogs/preferences-dialog.cpp | 1 +
+ code/operations/operation-open.cpp | 2 ++
+ code/operations/operation-open.hpp | 1 +
+ code/operations/operation-save.hpp | 1 +
+ 15 files changed, 43 insertions(+)
+
+diff --git a/code/commands/autosave-commands.cpp b/code/commands/autosave-commands.cpp
+index 0759b0d..827ffaf 100644
+--- a/code/commands/autosave-commands.cpp
++++ b/code/commands/autosave-commands.cpp
+@@ -23,6 +23,8 @@
+
+ #include "core/sessionuserview.hpp"
+
++#include <glibmm/main.h>
++
+ #include <ctime>
+
+ class Gobby::AutosaveCommands::Info
+diff --git a/code/commands/folder-commands.cpp b/code/commands/folder-commands.cpp
+index 92b7d71..8cc2bee 100644
+--- a/code/commands/folder-commands.cpp
++++ b/code/commands/folder-commands.cpp
+@@ -20,6 +20,8 @@
+ #include "commands/folder-commands.hpp"
+ #include "core/sessionuserview.hpp"
+
++#include <glibmm/main.h>
++
+ #include <libinftextgtk/inf-text-gtk-buffer.h>
+
+ // TODO: Make this work with non-text documents also... maybe split &
+diff --git a/code/commands/user-join-commands.cpp b/code/commands/user-join-commands.cpp
+index ebb0810..89ffdf2 100644
+--- a/code/commands/user-join-commands.cpp
++++ b/code/commands/user-join-commands.cpp
+@@ -20,6 +20,8 @@
+ #include "commands/user-join-commands.hpp"
+ #include "util/i18n.hpp"
+
++#include <glibmm/main.h>
++
+ #include <libinfinity/common/inf-error.h>
+
+ namespace
+diff --git a/code/core/filechooser.cpp b/code/core/filechooser.cpp
+index fbd7a67..23b85cf 100644
+--- a/code/core/filechooser.cpp
++++ b/code/core/filechooser.cpp
+@@ -19,6 +19,8 @@
+
+ #include "core/filechooser.hpp"
+
++#include <glibmm/miscutils.h>
++#include <glibmm/convert.h>
+ #include <gtkmm/stock.h>
+
+ Gobby::FileChooser::Dialog::Dialog(Gobby::FileChooser& chooser,
+diff --git a/code/core/folder.cpp b/code/core/folder.cpp
+index f9ebadc..7c84206 100644
+--- a/code/core/folder.cpp
++++ b/code/core/folder.cpp
+@@ -24,6 +24,8 @@
+ #include "core/texttablabel.hpp"
+ #include "util/file.hpp"
+
++#include <glibmm/miscutils.h>
++
+ #include <gdk/gdkkeysyms.h>
+ #include <stdexcept>
+ #include <iostream> // For std::cerr
+diff --git a/code/core/header.cpp b/code/core/header.cpp
+index d5d0c94..8f7f9f4 100644
+--- a/code/core/header.cpp
++++ b/code/core/header.cpp
+@@ -22,6 +22,7 @@
+ #include "util/i18n.hpp"
+ #include "features.hpp" // For PLATFORM_OSX_NATIVE
+
++#include <glibmm/markup.h>
+ #include <gtkmm/stock.h>
+
+ #ifdef PLATFORM_OSX_NATIVE
+diff --git a/code/core/preferences.cpp b/code/core/preferences.cpp
+index 9b8bfb3..a2952c6 100644
+--- a/code/core/preferences.cpp
++++ b/code/core/preferences.cpp
+@@ -20,6 +20,10 @@
+ #include "features.hpp"
+ #include "core/preferences.hpp"
+
++#include <glibmm/miscutils.h>
++#include <glibmm/fileutils.h>
++#include <glibmm/random.h>
++
+ // TODO: Support direct enum config storage via context specialization for
+ // enums.
+ Gobby::Preferences::User::User(Config::ParentEntry& entry):
+diff --git a/code/core/statusbar.cpp b/code/core/statusbar.cpp
+index 9b302b8..0a06a33 100644
+--- a/code/core/statusbar.cpp
++++ b/code/core/statusbar.cpp
+@@ -21,6 +21,7 @@
+ #include "util/gtk-compat.hpp"
+ #include "util/i18n.hpp"
+
++#include <glibmm/main.h>
+ #include <gtkmm/frame.h>
+ #include <gtkmm/stock.h>
+
+diff --git a/code/core/textsessionview.cpp b/code/core/textsessionview.cpp
+index 2246957..45eae14 100644
+--- a/code/core/textsessionview.cpp
++++ b/code/core/textsessionview.cpp
+@@ -21,6 +21,9 @@
+ #include "util/i18n.hpp"
+ #include "util/color.hpp"
+
++#include <glibmm/main.h>
++#include <glibmm/markup.h>
++#include <glibmm/pattern.h>
+ #include <gtkmm/scrolledwindow.h>
+ #include <gtkmm/textiter.h>
+
+diff --git a/code/dialogs/initial-dialog.cpp b/code/dialogs/initial-dialog.cpp
+index 031bc2c..494c859 100644
+--- a/code/dialogs/initial-dialog.cpp
++++ b/code/dialogs/initial-dialog.cpp
+@@ -24,6 +24,7 @@
+ #include "util/gtk-compat.hpp"
+ #include "features.hpp"
+
++#include <glibmm/markup.h>
+ #include <gtkmm/stock.h>
+ #include <gtkmm/alignment.h>
+
+diff --git a/code/dialogs/preferences-dialog.cpp b/code/dialogs/preferences-dialog.cpp
+index d0af7a0..be3690a 100644
+--- a/code/dialogs/preferences-dialog.cpp
++++ b/code/dialogs/preferences-dialog.cpp
+@@ -22,6 +22,7 @@
+ #include "util/i18n.hpp"
+ #include "util/gtk-compat.hpp"
+
++#include <glibmm/markup.h>
+ #include <gtkmm/messagedialog.h>
+ #include <gtkmm/scrolledwindow.h>
+ #include <gtkmm/stock.h>
+diff --git a/code/operations/operation-open.cpp b/code/operations/operation-open.cpp
+index 80b795f..26c53fd 100644
+--- a/code/operations/operation-open.cpp
++++ b/code/operations/operation-open.cpp
+@@ -22,6 +22,8 @@
+ #include "core/noteplugin.hpp"
+ #include "util/i18n.hpp"
+
++#include <glibmm/main.h>
++
+ #include <libinftextgtk/inf-text-gtk-buffer.h>
+ #include <gtksourceview/gtksourcebuffer.h>
+
+diff --git a/code/operations/operation-open.hpp b/code/operations/operation-open.hpp
+index 3e0e6f5..acf63ed 100644
+--- a/code/operations/operation-open.hpp
++++ b/code/operations/operation-open.hpp
+@@ -26,6 +26,7 @@
+
+ #include <giomm/file.h>
+ #include <giomm/inputstream.h>
++#include <glibmm/convert.h>
+
+ namespace Gobby
+ {
+diff --git a/code/operations/operation-save.hpp b/code/operations/operation-save.hpp
+index f7f2eb7..8fed55d 100644
+--- a/code/operations/operation-save.hpp
++++ b/code/operations/operation-save.hpp
+@@ -25,6 +25,7 @@
+
+ #include <giomm/file.h>
+ #include <giomm/outputstream.h>
++#include <glibmm/convert.h>
+
+ #include <ctime>
+
+--
+1.7.10
+
diff --git a/app-editors/gobby/files/gobby-0.4.94-missing-icon.patch b/app-editors/gobby/files/gobby-0.4.94-missing-icon.patch
new file mode 100644
index 000000000000..db167df6f6b9
--- /dev/null
+++ b/app-editors/gobby/files/gobby-0.4.94-missing-icon.patch
@@ -0,0 +1,44 @@
+From ba98f5e531f915637c535e0a0f90e4cd87ac4f74 Mon Sep 17 00:00:00 2001
+From: Philipp Kern <pkern@debian.org>
+Date: Sun, 18 Mar 2012 19:01:44 +0100
+Subject: [PATCH 2/2] code/util/gtk-compat.hpp: fix render_icon with missing
+ icons and Gtk3
+
+2012-03-18 Philipp Kern <phil@0x539.de>
+
+ * code/util/gtk-compat.hpp: Fix the call of
+ gtk-widget-render-icon-pixbuf, which is allowed to return NULL if
+ the stock icon does not exist. Guard it with MISSING_IMAGE.
+---
+ ChangeLog | 6 ++++++
+ code/util/gtk-compat.hpp | 7 ++++++-
+ 2 files changed, 12 insertions(+), 1 deletions(-)
+
+diff --git a/code/util/gtk-compat.hpp b/code/util/gtk-compat.hpp
+index 1de7383..73332ab 100644
+--- a/code/util/gtk-compat.hpp
++++ b/code/util/gtk-compat.hpp
+@@ -27,6 +27,7 @@
+ # define USE_GTKMM3
+ #endif
+
++#include <gtkmm/stock.h>
+ #include <gtkmm/combobox.h>
+ #include <gtkmm/notebook.h>
+ #ifndef USE_GTKMM3
+@@ -122,7 +123,11 @@ inline Glib::RefPtr<Gdk::Pixbuf> render_icon(Gtk::Widget& widget,
+ Gtk::IconSize size)
+ {
+ #ifdef USE_GTKMM3
+- return widget.render_icon_pixbuf(stock_id, size);
++ Glib::RefPtr<Gdk::Pixbuf> pixbuf = widget.render_icon_pixbuf(stock_id, size);
++ if(!pixbuf) // icon not found
++ pixbuf = widget.render_icon_pixbuf(Gtk::Stock::MISSING_IMAGE, size);
++ g_assert(pixbuf);
++ return pixbuf;
+ #else
+ return widget.render_icon(stock_id, size);
+ #endif
+--
+1.7.9.1
+
diff --git a/app-editors/gobby/gobby-0.4.13.ebuild b/app-editors/gobby/gobby-0.4.13.ebuild
new file mode 100644
index 000000000000..5ada8e9de361
--- /dev/null
+++ b/app-editors/gobby/gobby-0.4.13.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="GTK-based collaborative editor"
+HOMEPAGE="http://gobby.0x539.de/"
+SRC_URI="http://releases.0x539.de/${PN}/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE="avahi gnome"
+
+RDEPEND="dev-cpp/glibmm:2
+ dev-cpp/gtkmm:2.4
+ dev-libs/libsigc++:2
+ >=net-libs/obby-0.4.6[avahi?]
+ dev-cpp/libxmlpp:2.6
+ x11-libs/gtksourceview:2.0
+ gnome? ( gnome-base/gnome-vfs )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+# There's only one test and it needs X
+RESTRICT="test"
+
+src_configure() {
+ econf \
+ --with-gtksourceview2 \
+ $(use_with gnome)
+}
+
+src_install() {
+ default
+ domenu contrib/gobby.desktop
+}
diff --git a/app-editors/gobby/gobby-0.4.94.ebuild b/app-editors/gobby/gobby-0.4.94.ebuild
new file mode 100644
index 000000000000..d0bc9f666332
--- /dev/null
+++ b/app-editors/gobby/gobby-0.4.94.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+inherit eutils gnome2-utils toolchain-funcs
+
+DESCRIPTION="GTK-based collaborative editor"
+HOMEPAGE="http://gobby.0x539.de/"
+SRC_URI="http://releases.0x539.de/${PN}/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0.5"
+KEYWORDS="~amd64 ~x86"
+IUSE="avahi doc nls"
+
+RDEPEND="dev-cpp/glibmm:2
+ dev-cpp/gtkmm:3.0
+ dev-libs/libsigc++:2
+ >=net-libs/libinfinity-0.4[gtk,avahi?]
+ x11-libs/gtk+:3
+ dev-cpp/libxmlpp:2.6
+ x11-libs/gtksourceview:3.0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-text/gnome-doc-utils
+ app-text/scrollkeeper
+ )
+ nls? ( >=sys-devel/gettext-0.12.1 )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-missing-icon.patch \
+ "${FILESDIR}"/${P}-gtkmm3.patch
+}
+
+src_configure() {
+ econf $(use_enable nls) \
+ --with-gtk3
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ domenu contrib/gobby-0.5.desktop
+ doicon gobby-0.5.xpm
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/app-editors/gobby/metadata.xml b/app-editors/gobby/metadata.xml
new file mode 100644
index 000000000000..95b871a33212
--- /dev/null
+++ b/app-editors/gobby/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>dev-zero@gentoo.org</email>
+ <name>Tiziano Müller</name>
+ </maintainer>
+ <longdescription>Multiuser text editor.</longdescription>
+</pkgmetadata>
diff --git a/app-editors/gummi/Manifest b/app-editors/gummi/Manifest
new file mode 100644
index 000000000000..1f55505fae7e
--- /dev/null
+++ b/app-editors/gummi/Manifest
@@ -0,0 +1 @@
+DIST gummi-0.6.5.tar.gz 520902 SHA256 b23c2958376ea43c701a276ad19ceac5b50d9cb32a489a10897b25aa5004fffb SHA512 9a35533273ff5f2606ba1d79c01dcdf14f2a47628eb5d19613330650ed2a2bd542461492d031e51b773e13c6ac406b564e6703919f16e5f8d7e6bb3c4428b40e WHIRLPOOL 47e1ad5a15183ed0d24a88ebc3bc1af166604825da54db10461243ba4c1b8d6ca82d1afaf7306ef45a4df0f65d103b6cbc83db02cb6469fb7138545e16ae2728
diff --git a/app-editors/gummi/gummi-0.6.5.ebuild b/app-editors/gummi/gummi-0.6.5.ebuild
new file mode 100644
index 000000000000..20ec5c8258a8
--- /dev/null
+++ b/app-editors/gummi/gummi-0.6.5.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit base eutils readme.gentoo
+
+DESCRIPTION="Simple LaTeX editor for GTK+"
+HOMEPAGE="http://gummi.midnightcoding.org"
+SRC_URI="http://dev.midnightcoding.org/attachments/download/301/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+LANGS="ar ca cs da de el es fr hu it nl pl pt pt_BR ro ru sv zh_CN zh_TW"
+
+for X in ${LANGS} ; do
+ IUSE="${IUSE} linguas_${X}"
+done
+
+RDEPEND="app-text/gtkspell:2
+ >=dev-libs/glib-2.28.6
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ >=x11-libs/gtk+-2.24:2
+ x11-libs/gtksourceview:2.0"
+DEPEND="${RDEPEND}
+ app-text/poppler[cairo]
+ x11-libs/gtksourceview:2.0
+ x11-libs/pango"
+
+DOCS=( AUTHORS ChangeLog README )
+
+src_prepare() {
+ strip-linguas ${LANGS}
+ DOC_CONTENTS="Gummi supports spell-checking through gtkspell. Support for
+ additional languages can be added by installing myspell-** packages
+ for your language of choice."
+}
+
+src_install() {
+ base_src_install
+ readme.gentoo_create_doc
+}
diff --git a/app-editors/gummi/gummi-9999.ebuild b/app-editors/gummi/gummi-9999.ebuild
new file mode 100644
index 000000000000..8c828bb39337
--- /dev/null
+++ b/app-editors/gummi/gummi-9999.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit autotools base eutils subversion
+
+ESVN_REPO_URI="http://svn.midnightcoding.org/gummi/trunk"
+ESVN_PROJECT="${PN/-svn}"
+
+DESCRIPTION="Simple LaTeX editor for GTK+ users"
+HOMEPAGE="http://gummi.midnightcoding.org"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+LANGS="ca da de fr el it nl pt_BR ru zh_TW"
+
+for X in ${LANGS} ; do
+ IUSE="${IUSE} linguas_${X}"
+done
+
+RDEPEND=">=dev-libs/glib-2.16:2
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ >=x11-libs/gtk+-2.16:2"
+DEPEND="${RDEPEND}
+ app-text/gtkspell:2
+ app-text/poppler[cairo]
+ x11-libs/gtksourceview:2.0
+ x11-libs/pango"
+
+DOCS=( AUTHORS ChangeLog README )
+
+src_prepare() {
+ strip-linguas ${LANGS}
+ eautoreconf
+}
+
+pkg_postinst() {
+ elog "Gummi >=0.4.8 supports spell-checking through gtkspell. Support for"
+ elog "additional languages can be added by installing myspell-** packages"
+ elog "for your language of choice."
+}
diff --git a/app-editors/gummi/metadata.xml b/app-editors/gummi/metadata.xml
new file mode 100644
index 000000000000..8356a1fe2cad
--- /dev/null
+++ b/app-editors/gummi/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proxy-maintainers</herd>
+<maintainer>
+<email>alexvandermey@gmail.com</email>
+<name>Alexander van der Mey</name>
+<description>Upstream developer.</description>
+</maintainer>
+<maintainer>
+<email>hwoarang@gentoo.org</email>
+<name>Markos Chandras</name>
+<description>Proxy maintainer.</description>
+</maintainer>
+<longdescription lang="en">
+</longdescription>
+</pkgmetadata>
+
diff --git a/app-editors/gvim/Manifest b/app-editors/gvim/Manifest
new file mode 100644
index 000000000000..e2e8b9ba4b57
--- /dev/null
+++ b/app-editors/gvim/Manifest
@@ -0,0 +1,9 @@
+DIST vim-7.4.542-gentoo-patches.tar.bz2 3307 SHA256 0eb635f13e199de77846e0d363a473882f2186f138158271fabf0975747a2f3d SHA512 446c66764dac2533cc2f2b3d50481971d4c63a4e81d94c545862a1be620179fdcd81a79f2d81737d1188812a6ad41d90e2a752a05acf6913e7a71464f7cecdd9 WHIRLPOOL cfca8feef0eb8096897ef751afb0427acddd008530ded6cf908fcff51be9713da4ea3e5e613d544c5caba400d664ae19ca70925df3a218bec5c8be6f69aadda2
+DIST vim-7.4.591.patch.xz 805892 SHA256 6556595e75666b35cce58dcd585605e3d8910477761cee0fb34317d8969e0344 SHA512 fd98fa6e84fb1b6dc3c80f1e68694ee3711678e66234953962c6bad1aaf045c053c3824d25dd3df9842951e9c5e3ca630b65fafedc30fa6c31313822e3518968 WHIRLPOOL 47f5a75d2faec35460ee0af565437da275b2cd18259645456a76ba79d289d7b8f7392cde95d6cb5da5e2b4657043c11f5f363e99d1cb8457f83dfa884f5ab238
+DIST vim-7.4.622.patch.xz 816104 SHA256 f9d6624b7c8e5cbae749eff3f3bef30f7b10554fa04edf7fe3c85828b2b2e7a8 SHA512 544258cca6e46291743f95acba3dbc7844fddf0f579706cb7903f338b359b852cb4818238e7402e2b5413fa1a2ca9084246ffe39a7c23d29d14883594caa65c3 WHIRLPOOL 2b92e418892bc99c45e6b56592635804394e282c8f0959addf1a93434dccdfb06fa75f39f171624f484cc6a6420bfd6ea6a9d30b1b0a9694cb8a14cbf42e456e
+DIST vim-7.4.670.patch.xz 845000 SHA256 5ffbb05466c68aea08fda6067a6a46e068beece3e26d33098964e5e472439ec0 SHA512 04e2c54fe4b6afba6f8b123ef24d63e898667c808083b91ea5affa6607ad1661b081fa0bd6536a5a2260dbd2b818e7942ef3896719ed82fcc071355239cba536 WHIRLPOOL 6b632e757101d4a54989bd85c0b6186326573794504dc0dd0ebf25e14fca5827b4a884677c380381359968687e40d4aa4ea27b42d5419538a0e843c4356227e6
+DIST vim-7.4.712.patch.xz 890304 SHA256 fa385439a55703715704b7163dc7ac4a53908d908bd456af432dd5618144c630 SHA512 639847f6c5e92c5838b259f83ffb8b473e8ad7142589e72e2dcd0d51a9e9d272c29ec4fd4239ee21bcf5599f3cc6cc790aee02fe2b860f7d79ce1d3a811a6dd0 WHIRLPOOL f9fe642fe68f324e2e68d1fcdda80d15e2eac6e7a246561728fa467c90e271cd83aab6b24adfec65977ab12cf0fd9ec5c1848bbfdc2342e63114f321234e95d9
+DIST vim-7.4.738.tar.gz 12178346 SHA256 f95cf39278ca67837538f8146dd4701de4a4da610d95687da252d458137dcb40 SHA512 4ef990c5b869a571f0ddafac7c14ef17b62e2a9e2e74f1adaa8a69f92f3c6f56a21f60a3b53cbb64922df8c709d4e8ba9aee081476ce90f5665b1124a7de9a3a WHIRLPOOL 92e9c019f2e0677fb2db99995f56b49a034abe5da2051d0012c05e6f74ab88070b635e5159c09c6635d69c23fc81afafdc11e37e17e9338a9ca41de9381cd1a1
+DIST vim-7.4.769.tar.gz 12189506 SHA256 d9b9c3af27161545a1e086e1ee9485432c0b1a792a1a59755f04ef94136c5042 SHA512 ce3917cc68dba8b69696eb43436f90347c68a687f1e8c4b2f15f4a232ff7ce1a581a61737042ec49548d78c5f010e55e4c40b051b1a2574bbc27146a9249f15c WHIRLPOOL 230304892e501ef9851bf9f0c9fc9c888bfe1ad2cd703bcd62c449866e28308027c37c7ed466966951ec9c5feb5d9ec82e843528861212cb40a5bf4cec6e8947
+DIST vim-7.4.tar.bz2 9843297 SHA256 d0f5a6d2c439f02d97fa21bd9121f4c5abb1f6cd8b5a79d3ca82867495734ade SHA512 65d55da556ee283a364b376d251b70e430b7a157bb5a8ee89565060ff9937907966d416cffd33f701b3314d0fdf16efe00065f66bc8459469f5ae2f713418e0e WHIRLPOOL 914fc2c4fd485196410d853990bb5cc4c0071bc36dc0794655ec05cc0b5f7d2971dea780cc7293fcfbd4495a30a7437a3b1e33a2b6795c10a9f05a2eac3ca6f4
+DIST vim-patches-7.4.273.patch.bz2 506378 SHA256 065447179d22602315e2965d135cf9f1db4394ff5655520719f6338ff29e89ca SHA512 029a5cef758e4b201eabbc82458f3e1c3674582715a8c78a7270f3ecd57980b1cef66a0152526fd3505685c27c07f6e6742da48da9ad9546e3cfc2a5e7c11164 WHIRLPOOL 305322e991e9640b80147dd5ceac9dd6dae93a07610f807bbf01c0fdf37cba67ea41a1b2720c8a43da0161c57e0a522086f135efc712fb0106497a21288a872a
diff --git a/app-editors/gvim/files/gvim-completion b/app-editors/gvim/files/gvim-completion
new file mode 100644
index 000000000000..6488a82bc76e
--- /dev/null
+++ b/app-editors/gvim/files/gvim-completion
@@ -0,0 +1,40 @@
+# Author: Ciaran McCreesh <ciaranm@gentoo.org>
+#
+# completion for gvim
+
+_gvim()
+{
+ local cur prev cmd args
+
+ COMPREPLY=()
+ cur=${COMP_WORDS[COMP_CWORD]}
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+ cmd=${COMP_WORDS[0]}
+
+ if [[ "${prev}" == "--servername" ]] ; then
+ local servers
+ servers=$(gvim --serverlist )
+ COMPREPLY=( $( compgen -W "${servers}" -- $cur ) )
+
+ elif [[ "${prev}" == -[uUi] ]] ; then
+ COMPREPLY=( $( compgen -W "NONE" ) \
+ $( compgen -f -X "!*vim*" -- "$cur" ) )
+
+ elif [[ "${cur}" == -* ]] ; then
+ args='-t -q -c -S --cmd -A -b -C -d -D -e -E -f --nofork \
+ -F -g -h -H -i -L -l -m -M -N -n -nb -o -R -r -s \
+ -T -u -U -V -v -w -W -x -X -y -Y -Z --echo-wid \
+ --help --literal --noplugin --version'
+ args="${args} --echo-wid --remote --remote-expr \
+ --remote-send --remote-silent --remote-wait \
+ --remote-wait-silent --serverlist \
+ --servername --socketid"
+ COMPREPLY=( $( compgen -W "${args}" -- $cur ) )
+ else
+ _filedir
+ fi
+}
+
+complete -o filenames -F _gvim gvim evim eview gview gvimdiff rgvim rgview
+
+# vim: set ft=sh sw=4 et sts=4 :
diff --git a/app-editors/gvim/files/gvim.desktop-r2 b/app-editors/gvim/files/gvim.desktop-r2
new file mode 100644
index 000000000000..45b55d036929
--- /dev/null
+++ b/app-editors/gvim/files/gvim.desktop-r2
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=gVim
+Comment=A highly configurable text editor
+Exec=gvim -f %F
+Icon=gvim
+Terminal=false
+Type=Application
+MimeType=text/plain;
+Categories=Development;
diff --git a/app-editors/gvim/files/gvim.svg b/app-editors/gvim/files/gvim.svg
new file mode 100644
index 000000000000..b82742a79012
--- /dev/null
+++ b/app-editors/gvim/files/gvim.svg
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="256"
+ height="256"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="vim.svg">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2884"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.7"
+ inkscape:cx="107.83967"
+ inkscape:cy="146.01885"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="743"
+ inkscape:window-height="605"
+ inkscape:window-x="88"
+ inkscape:window-y="321"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-796.36218)">
+ <path
+ style="fill:#19953f;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="M 128.02596,805.31213 8.0259779,926.7407 127.31168,1046.0264 l 120,-120.71427 -119.28572,-120 z"
+ id="path2890" />
+ <path
+ style="fill:#d0d0cf;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 26.24294,816.92274 -5,5 0,19.28572 5.446429,5.26785 7.232142,0.17858 0.178571,168.12501 7.142857,7.1429 22.142858,0 177.142853,-180.00006 0,-18.57143 -5,-5 -80,-0.71428 -5,7.14285 0,15.71429 5,6.42857 6.42857,0 -62.142855,60.00001 0.625005,-59.73215 7.14285,-10e-6 5.80357,-5.98214 0,-15.71429 -6.42857,-7.14286 -80.71428,-1.42857 0,10e-6 z"
+ id="path3664"
+ sodipodi:nodetypes="cccccccccccccccccccccccc" />
+ <path
+ style="fill:#d0d0cf;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 136.90826,933.24978 4.28572,-3.57143 12.14285,0.35715 3.92857,3.92857 -4.28571,12.14286 -3.57143,3.21428 -12.64794,-0.14794 -3.42349,-4.13777 3.57143,-11.78572 z"
+ id="path3666"
+ sodipodi:nodetypes="ccccccccc" />
+ <path
+ style="fill:#d0d0cf;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 121.90826,956.10693 28.57143,0.35714 -15,45.00003 5.35714,0 -3.21428,8.9285 -26.78572,-0.3571 14.64286,-43.21429 -7.14286,0.35714 3.57143,-11.07142 z"
+ id="path3668" />
+ <path
+ style="fill:#d0d0cf;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 157.2654,956.46407 -3.71936,9.68618 6.82905,0 -15.25254,44.24235 23.57143,0 3.40554,-8.7193 -6.11475,-0.4005 8.42349,-26.2373 15,-0.35715 -11.07143,34.99995 23.15301,0.3572 2.91579,-8.2576 -5.56371,-0.1633 9.13777,-26.5791 12.85714,0 -11.07143,35 24.32904,0.2525 3.00508,-8.2729 -5.81626,-0.1939 11.69643,-37.14285 -4.64286,-7.5 -14.64285,0 -5.71429,5.71429 -5.71429,0 -6.07142,-6.07143 -12.5,0 -5.35715,5.35714 -6.07143,0 -6.07142,-5.71428 -18.92858,0 z"
+ id="path3670"
+ sodipodi:nodetypes="cccccccccccccccccccccccccccccc" />
+ </g>
+</svg>
diff --git a/app-editors/gvim/files/gvim.xpm b/app-editors/gvim/files/gvim.xpm
new file mode 100644
index 000000000000..694720ac309d
--- /dev/null
+++ b/app-editors/gvim/files/gvim.xpm
@@ -0,0 +1,46 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"32 32 8 1",
+" c Gray0",
+". c #000080",
+"X c #008000",
+"o c Green",
+"O c #808080",
+"+ c #c0c0c0",
+"@ c Gray100",
+"# c None",
+/* pixels */
+"############### ###############",
+"############## oo ##############",
+"### oXXo # ###",
+"## @@@@@@@@@@@ XXXo @@@@@@@@@ ##",
+"## @+++++++++++ XXX @+++++++++ #",
+"### ++++++++++O XXXX ++++++++O #",
+"#### O++++++OO XXXXXX O+++++OO #",
+"#### @++++++O XXXXXX @+++++OO ##",
+"#### @++++++O XXXXX @@++++OO ###",
+"#### @++++++O XXXX @@++++OO ####",
+"#### @++++++O XXX @@++++OO #####",
+"#### @++++++O XX @@++++OO . ####",
+"### @++++++O X @@++++OO XX. ###",
+"## o @++++++O @@++++OO XXXX. ##",
+"# oX @++++++O @@++++OO XXXXXX. #",
+" oXX @++++++O@@++++OO XXXXXXXX. ",
+" oXX @++++++O@++++OO XXXXXXXXX. ",
+"# oX @++++++O++++OO XXXXXXXXX. #",
+"## o @++++++++++ XXXXXXXXX. ##",
+"### @+++++++++ ++ XXXXXXXX. ###",
+"#### @+++++++++ ++ XXXXXXX. ####",
+"#### @++++++++O X X ###",
+"#### @+++++++O +++ +++ +++ ++ ##",
+"#### @++++++OO ++ ++++++++++ #",
+"#### @+++++OO ++ ++..++ + ##",
+"#### @++++OO X ++ ++. ++ ++ ##",
+"#### @+++OO XX ++ ++ ++ ++ ##",
+"#### @++OO X ++ ++ ++ ++ ###",
+"##### +OO ## +++ ++ ++ +++ ##",
+"###### #### . ## ## ###",
+"############## .. ##############",
+"############### ###############"
+};
diff --git a/app-editors/gvim/files/gvimrc-r1 b/app-editors/gvim/files/gvimrc-r1
new file mode 100644
index 000000000000..dcad07d09717
--- /dev/null
+++ b/app-editors/gvim/files/gvimrc-r1
@@ -0,0 +1,29 @@
+scriptencoding utf-8
+" ^^ Please leave the above line at the start of the file.
+
+" Default configuration file for gvim
+" $Id$
+"
+" Written by Aron Griffis <agriffis@gentoo.org>
+"
+" This file is read AFTER normal Vim initializations, like reading your .vimrc
+" file (and the default /usr/share/vim/vimrc). So there's no reason to
+" duplicate settings from vimrc. Red Hat has had this wrong for years, to the
+" great annoyance of users.
+
+" Pre-GUI settings
+set columns=80 lines=30 " don't inherit geometry from parent term
+set mousemodel=popup " right mouse button pops up a menu in the GUI
+
+" Use a sufficiently wide window automatically when started as "gvimdiff"
+if (&foldmethod == 'diff')
+ set columns=165
+endif
+
+" For bug 33327, add a mapping which allows shift-insert to function
+" as expected in insert and command-line modes
+map! <s-insert> <c-r>*
+
+if filereadable("@GENTOO_PORTAGE_EPREFIX@/etc/vim/gvimrc.local")
+ source @GENTOO_PORTAGE_EPREFIX@/etc/vim/gvimrc.local
+endif
diff --git a/app-editors/gvim/gvim-7.4.273.ebuild b/app-editors/gvim/gvim-7.4.273.ebuild
new file mode 100644
index 000000000000..a60f95d7b5eb
--- /dev/null
+++ b/app-editors/gvim/gvim-7.4.273.ebuild
@@ -0,0 +1,398 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 prefix python-single-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit mercurial
+ EHG_REPO_URI="https://vim.googlecode.com/hg/"
+ EHG_PROJECT="vim"
+else
+ VIM_ORG_PATCHES="vim-patches-${PV}.patch.bz2"
+
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2
+ http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCHES}"
+ KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ luajit? ( lua )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ gnome? ( >=gnome-base/libgnomeui-2.6 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ neXt? ( x11-libs/neXtaw )
+ !neXt? ( x11-libs/libXaw )
+ )
+ )
+ )
+ cscope? ( dev-util/cscope )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ nls? ( virtual/libintl )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.1 dev-lang/ruby:2.0 dev-lang/ruby:1.9 dev-lang/ruby:1.8 ) )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ dev-util/ctags
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+S=${WORKDIR}/vim${VIM_VERSION/.}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -f "${WORKDIR}"/${VIM_ORG_PATCHES%.bz2} ]] ; then
+ # Apply any patches available from vim.org for this version
+ epatch "${WORKDIR}"/${VIM_ORG_PATCHES%.bz2}
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's/ auto.config.mk:/:/' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf="--with-features=huge --disable-gpm --enable-multibyte"
+ myconf+=" $(use_enable acl)"
+ myconf+=" $(use_enable cscope)"
+ myconf+=" $(use_enable lua luainterp)"
+ myconf+=" $(use_with luajit)"
+ myconf+=" $(use_enable netbeans)"
+ myconf+=" $(use_enable nls)"
+ myconf+=" $(use_enable perl perlinterp)"
+ myconf+=" $(use_enable racket mzschemeinterp)"
+ myconf+=" $(use_enable ruby rubyinterp)"
+ myconf+=" $(use_enable selinux)"
+ myconf+=" $(use_enable session xsmp)"
+ myconf+=" $(use_enable tcl tclinterp)"
+
+ if use python ; then
+ if [[ ${EPYTHON} == python3* ]] ; then
+ myconf+=" --enable-python3interp"
+ export vi_cv_path_python3="${PYTHON}"
+ else
+ myconf+=" --enable-pythoninterp"
+ export vi_cv_path_python="${PYTHON}"
+ fi
+ else
+ myconf+=" --disable-pythoninterp --disable-python3interp"
+ fi
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk gnome GNOME2
+ # -aqua gtk -gnome GTK2
+ # -aqua -gtk motif MOTIF
+ # -aqua -gtk -motif neXt NEXTAW
+ # -aqua -gtk -motif -neXt ATHENA
+ echo ; echo
+ if use aqua ; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=" --enable-darwin --enable-gui=carbon"
+ elif use gtk ; then
+ myconf+=" --enable-gtk2-check"
+ if use gnome ; then
+ einfo "Building gvim with the Gnome 2 GUI"
+ myconf+=" --enable-gui=gnome2"
+ else
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=" --enable-gui=gtk2"
+ fi
+ elif use motif ; then
+ einfo "Building gvim with the MOTIF GUI"
+ myconf+=" --enable-gui=motif"
+ elif use neXt ; then
+ einfo "Building gvim with the neXtaw GUI"
+ myconf+=" --enable-gui=nextaw"
+ else
+ einfo "Building gvim with the Athena GUI"
+ myconf+=" --enable-gui=athena"
+ fi
+ echo ; echo
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=" --without-local-dir"
+
+ if [[ ${CHOST} == *-interix* ]]; then
+ # avoid finding of this function, to avoid having to patch either
+ # configure or the source, which would be much more hackish.
+ # after all vim does it right, only interix is badly broken (again)
+ export ac_cv_func_sigaction=no
+ fi
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --with-vim-name=gvim --with-x \
+ ${myconf}
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # We've got to call make test from within testdir, since the Makefiles
+ # don't pass through our VIMPROG argument
+ cd "${S}"/src/testdir
+
+ # Test 49 won't work inside a portage environment
+ einfo "Test 49 isn't sandbox-friendly, so it will be skipped."
+ sed -i 's~test49.out~~g' Makefile
+
+ # We don't want to rebuild vim before running the tests
+ sed -i 's,: \$(VIMPROG),: ,' Makefile
+
+ # Make gvim not try to connect to X. See :help gui-x11-start
+ # in vim for how this evil trickery works.
+ ln -s "${S}"/src/gvim "${S}"/src/testvim
+
+ # Don't try to do the additional GUI test
+ emake -j1 VIMPROG=../testvim nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ has "${EAPI:-0}" 0 1 2 && use !prefix && EROOT="${ROOT}"
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dobin src/gvim
+ dosym gvim /usr/bin/gvimdiff
+ dosym gvim /usr/bin/evim
+ dosym gvim /usr/bin/eview
+ dosym gvim /usr/bin/gview
+ dosym gvim /usr/bin/rgvim
+ dosym gvim /usr/bin/rgview
+
+ dodir /usr/share/man/man1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ newmenu "${FILESDIR}"/gvim.desktop-r2 gvim.desktop
+ doicon "${FILESDIR}"/gvim.xpm
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ fdo-mime_mime_database_update
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ echo
+ elog "Vim 7 includes an integrated spell checker. You need to install"
+ elog "word list files before you can use it. There are ebuilds for"
+ elog "some of these named app-vim/vim-spell-*. If your language of"
+ elog "choice is not included, please consult vim-spell.eclass for"
+ elog "instructions on how to make a package."
+ echo
+ ewarn "Note that the English word lists are no longer installed by"
+ ewarn "default."
+ echo
+ fi
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ fdo-mime_mime_database_update
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/gvim/gvim-7.4.591.ebuild b/app-editors/gvim/gvim-7.4.591.ebuild
new file mode 100644
index 000000000000..584b22786fb6
--- /dev/null
+++ b/app-editors/gvim/gvim-7.4.591.ebuild
@@ -0,0 +1,414 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 prefix python-single-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit mercurial
+ EHG_REPO_URI="https://vim.googlecode.com/hg/"
+ EHG_PROJECT="vim"
+else
+ VIM_ORG_PATCH="vim-${PV}.patch.xz"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2
+ http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCH}
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ luajit? ( lua )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ gnome? ( >=gnome-base/libgnomeui-2.6 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ neXt? ( x11-libs/neXtaw )
+ !neXt? ( x11-libs/libXaw )
+ )
+ )
+ )
+ cscope? ( dev-util/cscope )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ nls? ( virtual/libintl )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ dev-util/ctags
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+S=${WORKDIR}/vim${VIM_VERSION/.}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -f "${WORKDIR}"/${VIM_ORG_PATCH%.xz} ]] ; then
+ # Apply any patches available from vim.org for this version
+ epatch "${WORKDIR}"/${VIM_ORG_PATCH%.xz}
+ fi
+
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable lua luainterp)
+ $(use_with luajit)
+ $(use_enable netbeans)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ if use python ; then
+ if [[ ${EPYTHON} == python3* ]] ; then
+ myconf+=( --enable-python3interp )
+ export vi_cv_path_python3="${PYTHON}"
+ else
+ myconf+=( --enable-pythoninterp )
+ export vi_cv_path_python="${PYTHON}"
+ fi
+ else
+ myconf+=(
+ --disable-pythoninterp
+ --disable-python3interp
+ )
+ fi
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk gnome GNOME2
+ # -aqua gtk -gnome GTK2
+ # -aqua -gtk motif MOTIF
+ # -aqua -gtk -motif neXt NEXTAW
+ # -aqua -gtk -motif -neXt ATHENA
+ echo ; echo
+ if use aqua ; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk ; then
+ myconf+=( --enable-gtk2-check )
+ if use gnome ; then
+ einfo "Building gvim with the Gnome 2 GUI"
+ myconf+=( --enable-gui=gnome2 )
+ else
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ fi
+ elif use motif ; then
+ einfo "Building gvim with the MOTIF GUI"
+ myconf+=( --enable-gui=motif )
+ elif use neXt ; then
+ einfo "Building gvim with the neXtaw GUI"
+ myconf+=( --enable-gui=nextaw )
+ else
+ einfo "Building gvim with the Athena GUI"
+ myconf+=( --enable-gui=athena )
+ fi
+ echo ; echo
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ if [[ ${CHOST} == *-interix* ]]; then
+ # avoid finding of this function, to avoid having to patch either
+ # configure or the source, which would be much more hackish.
+ # after all vim does it right, only interix is badly broken (again)
+ export ac_cv_func_sigaction=no
+ fi
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --with-vim-name=gvim \
+ --with-x \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # We've got to call make test from within testdir, since the Makefiles
+ # don't pass through our VIMPROG argument
+ cd "${S}"/src/testdir
+
+ # Test 49 won't work inside a portage environment
+ einfo "Test 49 isn't sandbox-friendly, so it will be skipped."
+ sed -i 's~test49.out~~g' Makefile
+
+ # We don't want to rebuild vim before running the tests
+ sed -i 's,: \$(VIMPROG),: ,' Makefile
+
+ # Make gvim not try to connect to X. See :help gui-x11-start
+ # in vim for how this evil trickery works.
+ ln -s "${S}"/src/gvim "${S}"/src/testvim
+
+ # Don't try to do the additional GUI test
+ emake -j1 VIMPROG=../testvim nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dobin src/gvim
+ dosym gvim /usr/bin/gvimdiff
+ dosym gvim /usr/bin/evim
+ dosym gvim /usr/bin/eview
+ dosym gvim /usr/bin/gview
+ dosym gvim /usr/bin/rgvim
+ dosym gvim /usr/bin/rgview
+
+ dodir /usr/share/man/man1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ newmenu "${FILESDIR}"/gvim.desktop-r2 gvim.desktop
+ doicon "${FILESDIR}"/gvim.xpm
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ fdo-mime_mime_database_update
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ echo
+ elog "Vim 7 includes an integrated spell checker. You need to install"
+ elog "word list files before you can use it. There are ebuilds for"
+ elog "some of these named app-vim/vim-spell-*. If your language of"
+ elog "choice is not included, please consult vim-spell.eclass for"
+ elog "instructions on how to make a package."
+ echo
+ ewarn "Note that the English word lists are no longer installed by"
+ ewarn "default."
+ echo
+ fi
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ fdo-mime_mime_database_update
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/gvim/gvim-7.4.622.ebuild b/app-editors/gvim/gvim-7.4.622.ebuild
new file mode 100644
index 000000000000..1c52e7566fed
--- /dev/null
+++ b/app-editors/gvim/gvim-7.4.622.ebuild
@@ -0,0 +1,420 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 prefix python-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit mercurial
+ EHG_REPO_URI="https://vim.googlecode.com/hg/"
+ EHG_PROJECT="vim"
+else
+ VIM_ORG_PATCH="vim-${PV}.patch.xz"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2
+ http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCH}
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? (
+ || ( $(python_gen_useflags '*') )
+ ?? ( $(python_gen_useflags 'python2*') )
+ ?? ( $(python_gen_useflags 'python3*') )
+ )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ gnome? ( >=gnome-base/libgnomeui-2.6 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ neXt? ( x11-libs/neXtaw )
+ !neXt? ( x11-libs/libXaw )
+ )
+ )
+ )
+ cscope? ( dev-util/cscope )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ nls? ( virtual/libintl )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ dev-util/ctags
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+S=${WORKDIR}/vim${VIM_VERSION/.}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -f "${WORKDIR}"/${VIM_ORG_PATCH%.xz} ]] ; then
+ # Apply any patches available from vim.org for this version
+ epatch "${WORKDIR}"/${VIM_ORG_PATCH%.xz}
+ fi
+
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable lua luainterp)
+ $(use_with luajit)
+ $(use_enable netbeans)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ if use python ; then
+ py_add_interp() {
+ local v
+
+ [[ ${EPYTHON} == python3* ]] && v=3
+ myconf+=(
+ --enable-python${v}interp
+ vi_cv_path_python${v}="${PYTHON}"
+ )
+ }
+
+ python_foreach_impl py_add_interp
+ else
+ myconf+=(
+ --disable-pythoninterp
+ --disable-python3interp
+ )
+ fi
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk gnome GNOME2
+ # -aqua gtk -gnome GTK2
+ # -aqua -gtk motif MOTIF
+ # -aqua -gtk -motif neXt NEXTAW
+ # -aqua -gtk -motif -neXt ATHENA
+ echo ; echo
+ if use aqua ; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk ; then
+ myconf+=( --enable-gtk2-check )
+ if use gnome ; then
+ einfo "Building gvim with the Gnome 2 GUI"
+ myconf+=( --enable-gui=gnome2 )
+ else
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ fi
+ elif use motif ; then
+ einfo "Building gvim with the MOTIF GUI"
+ myconf+=( --enable-gui=motif )
+ elif use neXt ; then
+ einfo "Building gvim with the neXtaw GUI"
+ myconf+=( --enable-gui=nextaw )
+ else
+ einfo "Building gvim with the Athena GUI"
+ myconf+=( --enable-gui=athena )
+ fi
+ echo ; echo
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ if [[ ${CHOST} == *-interix* ]]; then
+ # avoid finding of this function, to avoid having to patch either
+ # configure or the source, which would be much more hackish.
+ # after all vim does it right, only interix is badly broken (again)
+ export ac_cv_func_sigaction=no
+ fi
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --with-vim-name=gvim \
+ --with-x \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # We've got to call make test from within testdir, since the Makefiles
+ # don't pass through our VIMPROG argument
+ cd "${S}"/src/testdir
+
+ # Test 49 won't work inside a portage environment
+ einfo "Test 49 isn't sandbox-friendly, so it will be skipped."
+ sed -i 's~test49.out~~g' Makefile
+
+ # We don't want to rebuild vim before running the tests
+ sed -i 's,: \$(VIMPROG),: ,' Makefile
+
+ # Make gvim not try to connect to X. See :help gui-x11-start
+ # in vim for how this evil trickery works.
+ ln -s "${S}"/src/gvim "${S}"/src/testvim
+
+ # Don't try to do the additional GUI test
+ emake -j1 VIMPROG=../testvim nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dobin src/gvim
+ dosym gvim /usr/bin/gvimdiff
+ dosym gvim /usr/bin/evim
+ dosym gvim /usr/bin/eview
+ dosym gvim /usr/bin/gview
+ dosym gvim /usr/bin/rgvim
+ dosym gvim /usr/bin/rgview
+
+ dodir /usr/share/man/man1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ newmenu "${FILESDIR}"/gvim.desktop-r2 gvim.desktop
+ doicon "${FILESDIR}"/gvim.xpm
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ fdo-mime_mime_database_update
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ echo
+ elog "Vim 7 includes an integrated spell checker. You need to install"
+ elog "word list files before you can use it. There are ebuilds for"
+ elog "some of these named app-vim/vim-spell-*. If your language of"
+ elog "choice is not included, please consult vim-spell.eclass for"
+ elog "instructions on how to make a package."
+ echo
+ ewarn "Note that the English word lists are no longer installed by"
+ ewarn "default."
+ echo
+ fi
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ fdo-mime_mime_database_update
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/gvim/gvim-7.4.670.ebuild b/app-editors/gvim/gvim-7.4.670.ebuild
new file mode 100644
index 000000000000..1c52e7566fed
--- /dev/null
+++ b/app-editors/gvim/gvim-7.4.670.ebuild
@@ -0,0 +1,420 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 prefix python-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit mercurial
+ EHG_REPO_URI="https://vim.googlecode.com/hg/"
+ EHG_PROJECT="vim"
+else
+ VIM_ORG_PATCH="vim-${PV}.patch.xz"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2
+ http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCH}
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? (
+ || ( $(python_gen_useflags '*') )
+ ?? ( $(python_gen_useflags 'python2*') )
+ ?? ( $(python_gen_useflags 'python3*') )
+ )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ gnome? ( >=gnome-base/libgnomeui-2.6 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ neXt? ( x11-libs/neXtaw )
+ !neXt? ( x11-libs/libXaw )
+ )
+ )
+ )
+ cscope? ( dev-util/cscope )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ nls? ( virtual/libintl )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ dev-util/ctags
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+S=${WORKDIR}/vim${VIM_VERSION/.}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -f "${WORKDIR}"/${VIM_ORG_PATCH%.xz} ]] ; then
+ # Apply any patches available from vim.org for this version
+ epatch "${WORKDIR}"/${VIM_ORG_PATCH%.xz}
+ fi
+
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable lua luainterp)
+ $(use_with luajit)
+ $(use_enable netbeans)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ if use python ; then
+ py_add_interp() {
+ local v
+
+ [[ ${EPYTHON} == python3* ]] && v=3
+ myconf+=(
+ --enable-python${v}interp
+ vi_cv_path_python${v}="${PYTHON}"
+ )
+ }
+
+ python_foreach_impl py_add_interp
+ else
+ myconf+=(
+ --disable-pythoninterp
+ --disable-python3interp
+ )
+ fi
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk gnome GNOME2
+ # -aqua gtk -gnome GTK2
+ # -aqua -gtk motif MOTIF
+ # -aqua -gtk -motif neXt NEXTAW
+ # -aqua -gtk -motif -neXt ATHENA
+ echo ; echo
+ if use aqua ; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk ; then
+ myconf+=( --enable-gtk2-check )
+ if use gnome ; then
+ einfo "Building gvim with the Gnome 2 GUI"
+ myconf+=( --enable-gui=gnome2 )
+ else
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ fi
+ elif use motif ; then
+ einfo "Building gvim with the MOTIF GUI"
+ myconf+=( --enable-gui=motif )
+ elif use neXt ; then
+ einfo "Building gvim with the neXtaw GUI"
+ myconf+=( --enable-gui=nextaw )
+ else
+ einfo "Building gvim with the Athena GUI"
+ myconf+=( --enable-gui=athena )
+ fi
+ echo ; echo
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ if [[ ${CHOST} == *-interix* ]]; then
+ # avoid finding of this function, to avoid having to patch either
+ # configure or the source, which would be much more hackish.
+ # after all vim does it right, only interix is badly broken (again)
+ export ac_cv_func_sigaction=no
+ fi
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --with-vim-name=gvim \
+ --with-x \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # We've got to call make test from within testdir, since the Makefiles
+ # don't pass through our VIMPROG argument
+ cd "${S}"/src/testdir
+
+ # Test 49 won't work inside a portage environment
+ einfo "Test 49 isn't sandbox-friendly, so it will be skipped."
+ sed -i 's~test49.out~~g' Makefile
+
+ # We don't want to rebuild vim before running the tests
+ sed -i 's,: \$(VIMPROG),: ,' Makefile
+
+ # Make gvim not try to connect to X. See :help gui-x11-start
+ # in vim for how this evil trickery works.
+ ln -s "${S}"/src/gvim "${S}"/src/testvim
+
+ # Don't try to do the additional GUI test
+ emake -j1 VIMPROG=../testvim nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dobin src/gvim
+ dosym gvim /usr/bin/gvimdiff
+ dosym gvim /usr/bin/evim
+ dosym gvim /usr/bin/eview
+ dosym gvim /usr/bin/gview
+ dosym gvim /usr/bin/rgvim
+ dosym gvim /usr/bin/rgview
+
+ dodir /usr/share/man/man1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ newmenu "${FILESDIR}"/gvim.desktop-r2 gvim.desktop
+ doicon "${FILESDIR}"/gvim.xpm
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ fdo-mime_mime_database_update
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ echo
+ elog "Vim 7 includes an integrated spell checker. You need to install"
+ elog "word list files before you can use it. There are ebuilds for"
+ elog "some of these named app-vim/vim-spell-*. If your language of"
+ elog "choice is not included, please consult vim-spell.eclass for"
+ elog "instructions on how to make a package."
+ echo
+ ewarn "Note that the English word lists are no longer installed by"
+ ewarn "default."
+ echo
+ fi
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ fdo-mime_mime_database_update
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/gvim/gvim-7.4.712.ebuild b/app-editors/gvim/gvim-7.4.712.ebuild
new file mode 100644
index 000000000000..5bfa6ad60e4b
--- /dev/null
+++ b/app-editors/gvim/gvim-7.4.712.ebuild
@@ -0,0 +1,421 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 prefix python-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit mercurial
+ EHG_REPO_URI="https://vim.googlecode.com/hg/"
+ EHG_PROJECT="vim"
+else
+ VIM_ORG_PATCH="vim-${PV}.patch.xz"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2
+ http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCH}
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? (
+ || ( $(python_gen_useflags '*') )
+ ?? ( $(python_gen_useflags 'python2*') )
+ ?? ( $(python_gen_useflags 'python3*') )
+ )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ gnome? ( >=gnome-base/libgnomeui-2.6 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ neXt? ( x11-libs/neXtaw )
+ !neXt? ( x11-libs/libXaw )
+ )
+ )
+ )
+ cscope? ( dev-util/cscope )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ nls? ( virtual/libintl )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ dev-util/ctags
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+S=${WORKDIR}/vim${VIM_VERSION/.}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -f "${WORKDIR}"/${VIM_ORG_PATCH%.xz} ]] ; then
+ # Apply any patches available from vim.org for this version
+ epatch "${WORKDIR}"/${VIM_ORG_PATCH%.xz}
+ fi
+
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable lua luainterp)
+ $(use_with luajit)
+ $(use_enable netbeans)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ if use python ; then
+ py_add_interp() {
+ local v
+
+ [[ ${EPYTHON} == python3* ]] && v=3
+ myconf+=(
+ --enable-python${v}interp
+ vi_cv_path_python${v}="${PYTHON}"
+ )
+ }
+
+ python_foreach_impl py_add_interp
+ else
+ myconf+=(
+ --disable-pythoninterp
+ --disable-python3interp
+ )
+ fi
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk gnome GNOME2
+ # -aqua gtk -gnome GTK2
+ # -aqua -gtk motif MOTIF
+ # -aqua -gtk -motif neXt NEXTAW
+ # -aqua -gtk -motif -neXt ATHENA
+ echo ; echo
+ if use aqua ; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk ; then
+ myconf+=( --enable-gtk2-check )
+ if use gnome ; then
+ einfo "Building gvim with the Gnome 2 GUI"
+ myconf+=( --enable-gui=gnome2 )
+ else
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ fi
+ elif use motif ; then
+ einfo "Building gvim with the MOTIF GUI"
+ myconf+=( --enable-gui=motif )
+ elif use neXt ; then
+ einfo "Building gvim with the neXtaw GUI"
+ myconf+=( --enable-gui=nextaw )
+ else
+ einfo "Building gvim with the Athena GUI"
+ myconf+=( --enable-gui=athena )
+ fi
+ echo ; echo
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ if [[ ${CHOST} == *-interix* ]]; then
+ # avoid finding of this function, to avoid having to patch either
+ # configure or the source, which would be much more hackish.
+ # after all vim does it right, only interix is badly broken (again)
+ export ac_cv_func_sigaction=no
+ fi
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --with-vim-name=gvim \
+ --with-x \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # We've got to call make test from within testdir, since the Makefiles
+ # don't pass through our VIMPROG argument
+ cd "${S}"/src/testdir
+
+ # Test 49 won't work inside a portage environment
+ einfo "Test 49 isn't sandbox-friendly, so it will be skipped."
+ sed -i 's~test49.out~~g' Makefile
+
+ # We don't want to rebuild vim before running the tests
+ sed -i 's,: \$(VIMPROG),: ,' Makefile
+
+ # Make gvim not try to connect to X. See :help gui-x11-start
+ # in vim for how this evil trickery works.
+ ln -s "${S}"/src/gvim "${S}"/src/testvim
+
+ # Don't try to do the additional GUI test
+ emake -j1 VIMPROG=../testvim nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dobin src/gvim
+ dosym gvim /usr/bin/gvimdiff
+ dosym gvim /usr/bin/evim
+ dosym gvim /usr/bin/eview
+ dosym gvim /usr/bin/gview
+ dosym gvim /usr/bin/rgvim
+ dosym gvim /usr/bin/rgview
+
+ dodir /usr/share/man/man1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ newmenu "${FILESDIR}"/gvim.desktop-r2 gvim.desktop
+ doicon "${FILESDIR}"/gvim.xpm
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ fdo-mime_mime_database_update
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ echo
+ elog "Vim 7 includes an integrated spell checker. You need to install"
+ elog "word list files before you can use it. There are ebuilds for"
+ elog "some of these named app-vim/vim-spell-*. If your language of"
+ elog "choice is not included, please consult vim-spell.eclass for"
+ elog "instructions on how to make a package."
+ echo
+ ewarn "Note that the English word lists are no longer installed by"
+ ewarn "default."
+ echo
+ fi
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ fdo-mime_mime_database_update
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/gvim/gvim-7.4.738.ebuild b/app-editors/gvim/gvim-7.4.738.ebuild
new file mode 100644
index 000000000000..37c5edbd0b31
--- /dev/null
+++ b/app-editors/gvim/gvim-7.4.738.ebuild
@@ -0,0 +1,416 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 prefix python-r1
+
+MY_PV=${PV//./-}
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${MY_PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${MY_PV}.tar.gz -> vim-${PV}.tar.gz
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? (
+ || ( $(python_gen_useflags '*') )
+ ?? ( $(python_gen_useflags 'python2*') )
+ ?? ( $(python_gen_useflags 'python3*') )
+ )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ gnome? ( >=gnome-base/libgnomeui-2.6 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ neXt? ( x11-libs/neXtaw )
+ !neXt? ( x11-libs/libXaw )
+ )
+ )
+ )
+ cscope? ( dev-util/cscope )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ nls? ( virtual/libintl )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ dev-util/ctags
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+S=${WORKDIR}/vim-${MY_PV}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable lua luainterp)
+ $(use_with luajit)
+ $(use_enable netbeans)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ if use python ; then
+ py_add_interp() {
+ local v
+
+ [[ ${EPYTHON} == python3* ]] && v=3
+ myconf+=(
+ --enable-python${v}interp
+ vi_cv_path_python${v}="${PYTHON}"
+ )
+ }
+
+ python_foreach_impl py_add_interp
+ else
+ myconf+=(
+ --disable-pythoninterp
+ --disable-python3interp
+ )
+ fi
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk gnome GNOME2
+ # -aqua gtk -gnome GTK2
+ # -aqua -gtk motif MOTIF
+ # -aqua -gtk -motif neXt NEXTAW
+ # -aqua -gtk -motif -neXt ATHENA
+ echo ; echo
+ if use aqua ; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk ; then
+ myconf+=( --enable-gtk2-check )
+ if use gnome ; then
+ einfo "Building gvim with the Gnome 2 GUI"
+ myconf+=( --enable-gui=gnome2 )
+ else
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ fi
+ elif use motif ; then
+ einfo "Building gvim with the MOTIF GUI"
+ myconf+=( --enable-gui=motif )
+ elif use neXt ; then
+ einfo "Building gvim with the neXtaw GUI"
+ myconf+=( --enable-gui=nextaw )
+ else
+ einfo "Building gvim with the Athena GUI"
+ myconf+=( --enable-gui=athena )
+ fi
+ echo ; echo
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ if [[ ${CHOST} == *-interix* ]]; then
+ # avoid finding of this function, to avoid having to patch either
+ # configure or the source, which would be much more hackish.
+ # after all vim does it right, only interix is badly broken (again)
+ export ac_cv_func_sigaction=no
+ fi
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --with-vim-name=gvim \
+ --with-x \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # We've got to call make test from within testdir, since the Makefiles
+ # don't pass through our VIMPROG argument
+ cd "${S}"/src/testdir
+
+ # Test 49 won't work inside a portage environment
+ einfo "Test 49 isn't sandbox-friendly, so it will be skipped."
+ sed -i 's~test49.out~~g' Makefile
+
+ # We don't want to rebuild vim before running the tests
+ sed -i 's,: \$(VIMPROG),: ,' Makefile
+
+ # Make gvim not try to connect to X. See :help gui-x11-start
+ # in vim for how this evil trickery works.
+ ln -s "${S}"/src/gvim "${S}"/src/testvim
+
+ # Don't try to do the additional GUI test
+ emake -j1 VIMPROG=../testvim nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dobin src/gvim
+ dosym gvim /usr/bin/gvimdiff
+ dosym gvim /usr/bin/evim
+ dosym gvim /usr/bin/eview
+ dosym gvim /usr/bin/gview
+ dosym gvim /usr/bin/rgvim
+ dosym gvim /usr/bin/rgview
+
+ dodir /usr/share/man/man1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ newmenu "${FILESDIR}"/gvim.desktop-r2 gvim.desktop
+ doicon "${FILESDIR}"/gvim.xpm
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ fdo-mime_mime_database_update
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ echo
+ elog "Vim 7 includes an integrated spell checker. You need to install"
+ elog "word list files before you can use it. There are ebuilds for"
+ elog "some of these named app-vim/vim-spell-*. If your language of"
+ elog "choice is not included, please consult vim-spell.eclass for"
+ elog "instructions on how to make a package."
+ echo
+ ewarn "Note that the English word lists are no longer installed by"
+ ewarn "default."
+ echo
+ fi
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ fdo-mime_mime_database_update
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/gvim/gvim-7.4.769.ebuild b/app-editors/gvim/gvim-7.4.769.ebuild
new file mode 100644
index 000000000000..37c5edbd0b31
--- /dev/null
+++ b/app-editors/gvim/gvim-7.4.769.ebuild
@@ -0,0 +1,416 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 prefix python-r1
+
+MY_PV=${PV//./-}
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${MY_PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${MY_PV}.tar.gz -> vim-${PV}.tar.gz
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? (
+ || ( $(python_gen_useflags '*') )
+ ?? ( $(python_gen_useflags 'python2*') )
+ ?? ( $(python_gen_useflags 'python3*') )
+ )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ gnome? ( >=gnome-base/libgnomeui-2.6 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ neXt? ( x11-libs/neXtaw )
+ !neXt? ( x11-libs/libXaw )
+ )
+ )
+ )
+ cscope? ( dev-util/cscope )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ nls? ( virtual/libintl )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ dev-util/ctags
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+S=${WORKDIR}/vim-${MY_PV}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable lua luainterp)
+ $(use_with luajit)
+ $(use_enable netbeans)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ if use python ; then
+ py_add_interp() {
+ local v
+
+ [[ ${EPYTHON} == python3* ]] && v=3
+ myconf+=(
+ --enable-python${v}interp
+ vi_cv_path_python${v}="${PYTHON}"
+ )
+ }
+
+ python_foreach_impl py_add_interp
+ else
+ myconf+=(
+ --disable-pythoninterp
+ --disable-python3interp
+ )
+ fi
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk gnome GNOME2
+ # -aqua gtk -gnome GTK2
+ # -aqua -gtk motif MOTIF
+ # -aqua -gtk -motif neXt NEXTAW
+ # -aqua -gtk -motif -neXt ATHENA
+ echo ; echo
+ if use aqua ; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk ; then
+ myconf+=( --enable-gtk2-check )
+ if use gnome ; then
+ einfo "Building gvim with the Gnome 2 GUI"
+ myconf+=( --enable-gui=gnome2 )
+ else
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ fi
+ elif use motif ; then
+ einfo "Building gvim with the MOTIF GUI"
+ myconf+=( --enable-gui=motif )
+ elif use neXt ; then
+ einfo "Building gvim with the neXtaw GUI"
+ myconf+=( --enable-gui=nextaw )
+ else
+ einfo "Building gvim with the Athena GUI"
+ myconf+=( --enable-gui=athena )
+ fi
+ echo ; echo
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ if [[ ${CHOST} == *-interix* ]]; then
+ # avoid finding of this function, to avoid having to patch either
+ # configure or the source, which would be much more hackish.
+ # after all vim does it right, only interix is badly broken (again)
+ export ac_cv_func_sigaction=no
+ fi
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --with-vim-name=gvim \
+ --with-x \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # We've got to call make test from within testdir, since the Makefiles
+ # don't pass through our VIMPROG argument
+ cd "${S}"/src/testdir
+
+ # Test 49 won't work inside a portage environment
+ einfo "Test 49 isn't sandbox-friendly, so it will be skipped."
+ sed -i 's~test49.out~~g' Makefile
+
+ # We don't want to rebuild vim before running the tests
+ sed -i 's,: \$(VIMPROG),: ,' Makefile
+
+ # Make gvim not try to connect to X. See :help gui-x11-start
+ # in vim for how this evil trickery works.
+ ln -s "${S}"/src/gvim "${S}"/src/testvim
+
+ # Don't try to do the additional GUI test
+ emake -j1 VIMPROG=../testvim nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dobin src/gvim
+ dosym gvim /usr/bin/gvimdiff
+ dosym gvim /usr/bin/evim
+ dosym gvim /usr/bin/eview
+ dosym gvim /usr/bin/gview
+ dosym gvim /usr/bin/rgvim
+ dosym gvim /usr/bin/rgview
+
+ dodir /usr/share/man/man1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ newmenu "${FILESDIR}"/gvim.desktop-r2 gvim.desktop
+ doicon "${FILESDIR}"/gvim.xpm
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ fdo-mime_mime_database_update
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ echo
+ elog "Vim 7 includes an integrated spell checker. You need to install"
+ elog "word list files before you can use it. There are ebuilds for"
+ elog "some of these named app-vim/vim-spell-*. If your language of"
+ elog "choice is not included, please consult vim-spell.eclass for"
+ elog "instructions on how to make a package."
+ echo
+ ewarn "Note that the English word lists are no longer installed by"
+ ewarn "default."
+ echo
+ fi
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ fdo-mime_mime_database_update
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/gvim/gvim-9999.ebuild b/app-editors/gvim/gvim-9999.ebuild
new file mode 100644
index 000000000000..37c5edbd0b31
--- /dev/null
+++ b/app-editors/gvim/gvim-9999.ebuild
@@ -0,0 +1,416 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 prefix python-r1
+
+MY_PV=${PV//./-}
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${MY_PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${MY_PV}.tar.gz -> vim-${PV}.tar.gz
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? (
+ || ( $(python_gen_useflags '*') )
+ ?? ( $(python_gen_useflags 'python2*') )
+ ?? ( $(python_gen_useflags 'python3*') )
+ )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ gnome? ( >=gnome-base/libgnomeui-2.6 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ neXt? ( x11-libs/neXtaw )
+ !neXt? ( x11-libs/libXaw )
+ )
+ )
+ )
+ cscope? ( dev-util/cscope )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ nls? ( virtual/libintl )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ dev-util/ctags
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+S=${WORKDIR}/vim-${MY_PV}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable lua luainterp)
+ $(use_with luajit)
+ $(use_enable netbeans)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ if use python ; then
+ py_add_interp() {
+ local v
+
+ [[ ${EPYTHON} == python3* ]] && v=3
+ myconf+=(
+ --enable-python${v}interp
+ vi_cv_path_python${v}="${PYTHON}"
+ )
+ }
+
+ python_foreach_impl py_add_interp
+ else
+ myconf+=(
+ --disable-pythoninterp
+ --disable-python3interp
+ )
+ fi
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk gnome GNOME2
+ # -aqua gtk -gnome GTK2
+ # -aqua -gtk motif MOTIF
+ # -aqua -gtk -motif neXt NEXTAW
+ # -aqua -gtk -motif -neXt ATHENA
+ echo ; echo
+ if use aqua ; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk ; then
+ myconf+=( --enable-gtk2-check )
+ if use gnome ; then
+ einfo "Building gvim with the Gnome 2 GUI"
+ myconf+=( --enable-gui=gnome2 )
+ else
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ fi
+ elif use motif ; then
+ einfo "Building gvim with the MOTIF GUI"
+ myconf+=( --enable-gui=motif )
+ elif use neXt ; then
+ einfo "Building gvim with the neXtaw GUI"
+ myconf+=( --enable-gui=nextaw )
+ else
+ einfo "Building gvim with the Athena GUI"
+ myconf+=( --enable-gui=athena )
+ fi
+ echo ; echo
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ if [[ ${CHOST} == *-interix* ]]; then
+ # avoid finding of this function, to avoid having to patch either
+ # configure or the source, which would be much more hackish.
+ # after all vim does it right, only interix is badly broken (again)
+ export ac_cv_func_sigaction=no
+ fi
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --with-vim-name=gvim \
+ --with-x \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # We've got to call make test from within testdir, since the Makefiles
+ # don't pass through our VIMPROG argument
+ cd "${S}"/src/testdir
+
+ # Test 49 won't work inside a portage environment
+ einfo "Test 49 isn't sandbox-friendly, so it will be skipped."
+ sed -i 's~test49.out~~g' Makefile
+
+ # We don't want to rebuild vim before running the tests
+ sed -i 's,: \$(VIMPROG),: ,' Makefile
+
+ # Make gvim not try to connect to X. See :help gui-x11-start
+ # in vim for how this evil trickery works.
+ ln -s "${S}"/src/gvim "${S}"/src/testvim
+
+ # Don't try to do the additional GUI test
+ emake -j1 VIMPROG=../testvim nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dobin src/gvim
+ dosym gvim /usr/bin/gvimdiff
+ dosym gvim /usr/bin/evim
+ dosym gvim /usr/bin/eview
+ dosym gvim /usr/bin/gview
+ dosym gvim /usr/bin/rgvim
+ dosym gvim /usr/bin/rgview
+
+ dodir /usr/share/man/man1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ newmenu "${FILESDIR}"/gvim.desktop-r2 gvim.desktop
+ doicon "${FILESDIR}"/gvim.xpm
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ fdo-mime_mime_database_update
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ echo
+ elog "Vim 7 includes an integrated spell checker. You need to install"
+ elog "word list files before you can use it. There are ebuilds for"
+ elog "some of these named app-vim/vim-spell-*. If your language of"
+ elog "choice is not included, please consult vim-spell.eclass for"
+ elog "instructions on how to make a package."
+ echo
+ ewarn "Note that the English word lists are no longer installed by"
+ ewarn "default."
+ echo
+ fi
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ fdo-mime_mime_database_update
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/gvim/metadata.xml b/app-editors/gvim/metadata.xml
new file mode 100644
index 000000000000..f4007d12d814
--- /dev/null
+++ b/app-editors/gvim/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>vim</herd>
+ <use>
+ <flag name="luajit">Use <pkg>dev-lang/luajit</pkg> instead of <pkg>dev-lang/lua</pkg></flag>
+ <flag name="netbeans">Include netbeans external editor integration support</flag>
+ <flag name="racket">Enable support for Scheme using <pkg>dev-lang/racket</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">vim/vim</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/hexcurse/Manifest b/app-editors/hexcurse/Manifest
new file mode 100644
index 000000000000..69ec25732b1e
--- /dev/null
+++ b/app-editors/hexcurse/Manifest
@@ -0,0 +1 @@
+DIST hexcurse-1.55.tar.gz 113512 SHA256 b8d589f80acfa590fddd60d9482cf6ba38b295bf785ae4e0aff37b5ab436cb16 SHA512 39f9eae0bb891bdfb702fb871b75c53d15acf6e74b3272b616f00303f444bfddced6fbe3041eb3769fa90fbc226dd584f5d84f7427b659e63f3b74511938a4a7 WHIRLPOOL ee8a5ac7db87db654db1486872687bd8c7dcea7b5376704522a16d58cc467a6ec5409dadacd2ddcb36fd30689268dec334f59cd5885a19b78e666a5ffb7befec
diff --git a/app-editors/hexcurse/files/1.55-gcc.patch b/app-editors/hexcurse/files/1.55-gcc.patch
new file mode 100644
index 000000000000..22b996b3437d
--- /dev/null
+++ b/app-editors/hexcurse/files/1.55-gcc.patch
@@ -0,0 +1,11 @@
+--- a/src/getopt.c
++++ b/src/getopt.c
+@@ -36,8 +36,6 @@
+ * enables hexcurse to be compiled with SGI's proprietary compiler */
+ #ifdef _SGIAPI
+ #include <alloca.h>
+-#else
+-char *alloca ();
+ #endif
+ #define __alloca alloca
+ /* end of modification */
diff --git a/app-editors/hexcurse/files/1.55-tinfo.patch b/app-editors/hexcurse/files/1.55-tinfo.patch
new file mode 100644
index 000000000000..f258c06f1cf7
--- /dev/null
+++ b/app-editors/hexcurse/files/1.55-tinfo.patch
@@ -0,0 +1,13 @@
+--- a/configure.in
++++ b/configure.in
+@@ -13,7 +13,9 @@
+
+ dnl Checks for libraries.
+ dnl Replace `main' with a function in -lncurses:
+-AC_CHECK_LIB(ncurses, initscr,,AC_CHECK_LIB(curses, initscr))
++AC_CHECK_LIB(ncurses, initscr)
++AC_SEARCH_LIBS(initscr,curses)
++AC_SEARCH_LIBS(LINES,tinfo)
+
+ dnl Checks for header files.
+ AC_HEADER_STDC
diff --git a/app-editors/hexcurse/hexcurse-1.55.ebuild b/app-editors/hexcurse/hexcurse-1.55.ebuild
new file mode 100644
index 000000000000..0668cedaeaac
--- /dev/null
+++ b/app-editors/hexcurse/hexcurse-1.55.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="ncurses based hex editor"
+HOMEPAGE="http://www.jewfish.net/description.php?title=HexCurse"
+SRC_URI="http://www.jewfish.net/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ppc s390 sh sparc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos"
+
+RDEPEND=">=sys-libs/ncurses-5.2"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PV}-gcc.patch \
+ "${FILESDIR}"/${PV}-tinfo.patch
+
+ eautoreconf
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die "Install failed"
+ dodoc AUTHORS ChangeLog NEWS README
+}
diff --git a/app-editors/hexcurse/metadata.xml b/app-editors/hexcurse/metadata.xml
new file mode 100644
index 000000000000..eccdb28e857d
--- /dev/null
+++ b/app-editors/hexcurse/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>base-system</herd>
+<longdescription>
+A console-based hex editor for the *NIX platform which uses the ncurses library.
+</longdescription>
+</pkgmetadata>
diff --git a/app-editors/hexedit/Manifest b/app-editors/hexedit/Manifest
new file mode 100644
index 000000000000..3996f23ecc6a
--- /dev/null
+++ b/app-editors/hexedit/Manifest
@@ -0,0 +1 @@
+DIST hexedit-1.2.13.src.tgz 68778 SHA256 6a126da30a77f5c0b08038aa7a881d910e3b65d13767fb54c58c983963b88dd7 SHA512 df9afb0b9b965e20ea8c427c1986b0200216601b157862199c35bae9e201ccc478ab0bfecd39d0dfaa85bf582f1cf372b0134fadcfeacf4734805a6e6dcaa2bb WHIRLPOOL 17da62fa584dd6fab86bde8ef732aaa533d01370fc6ca89a939b53e93fbef1bd0778bd477ea5918bf2db648b2335d97c8172881fa314f551d9d96c19375cbe62
diff --git a/app-editors/hexedit/hexedit-1.2.13.ebuild b/app-editors/hexedit/hexedit-1.2.13.ebuild
new file mode 100644
index 000000000000..f7a868c8eb8e
--- /dev/null
+++ b/app-editors/hexedit/hexedit-1.2.13.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="View and edit files in hex or ASCII"
+HOMEPAGE="http://rigaux.org/hexedit.html"
+SRC_URI="http://rigaux.org/${P}.src.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ~mips ppc ppc64 s390 sh sparc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="sys-libs/ncurses"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}"
+
+src_install() {
+ dobin hexedit || die "dobin failed"
+ doman hexedit.1
+ dodoc Changes
+}
diff --git a/app-editors/hexedit/metadata.xml b/app-editors/hexedit/metadata.xml
new file mode 100644
index 000000000000..835c76cab148
--- /dev/null
+++ b/app-editors/hexedit/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>
+ <email>tomjbe@gentoo.org</email>
+ <name>Thomas Beierlein</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-editors/hteditor/Manifest b/app-editors/hteditor/Manifest
new file mode 100644
index 000000000000..5c8dfb8959fc
--- /dev/null
+++ b/app-editors/hteditor/Manifest
@@ -0,0 +1,2 @@
+DIST ht-2.0.22.tar.bz2 904173 SHA256 c729d64bf7de440c7b1021d3d6657ccbdb103541b4082a58dca7c8402c773f58 SHA512 dafcb127f7a4c0151e1dc4a7f3f4ed9e08bab940283411aac7886c97f1c47b16b12de6fe1224f64cb78db1cd76c72a0df930aa15d0cea80f8bb9f20ffd060528 WHIRLPOOL 17b105397f3b9505a71cd71ef59d60d3c9f4781a5ab547dc6b7ccdc3a4eddc3dcc5bb2ce481bb61b846683ccc0b0a7612dcb6632816f653eadefd8346c5c97fa
+DIST ht-2.1.0.tar.bz2 884139 SHA256 31f5e8e2ca7f85d40bb18ef518bf1a105a6f602918a0755bc649f3f407b75d70 SHA512 6b5fc5fcbc63b9b7c85721158e044e4578ebfdc38618c760c0e6de06a276bccd3a960ab8bed172de788934515ad94d86349c4abd3228da66b1601deaaa2ce410 WHIRLPOOL c039658bb7e1d2391077cf02b51291e177e12a3701acda0917c16a25054cdad5330516b2d013ff4e4f2d9de7e8ae132a7cc574a5e77c093b6d2ad48501f2c053
diff --git a/app-editors/hteditor/hteditor-2.0.22.ebuild b/app-editors/hteditor/hteditor-2.0.22.ebuild
new file mode 100644
index 000000000000..182a1398b020
--- /dev/null
+++ b/app-editors/hteditor/hteditor-2.0.22.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit toolchain-funcs
+
+MY_P=${P/editor}
+
+DESCRIPTION="A file viewer, editor and analyzer for text, binary, and executable files"
+HOMEPAGE="http://hte.sourceforge.net/ https://github.com/sebastianbiallas/ht/"
+SRC_URI="mirror://sourceforge/hte/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="X"
+
+RDEPEND="sys-libs/ncurses
+ X? ( x11-libs/libX11 )
+ >=dev-libs/lzo-2"
+DEPEND="${RDEPEND}
+ virtual/yacc
+ sys-devel/flex"
+
+DOCS=( AUTHORS ChangeLog KNOWNBUGS README TODO )
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ econf \
+ $(use_enable X x11-textmode) \
+ --enable-maintainermode
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
+}
+
+src_install() {
+ #For prefix
+ chmod u+x "${S}/install-sh"
+
+ default
+
+ dohtml doc/*.html
+ doinfo doc/*.info
+}
diff --git a/app-editors/hteditor/hteditor-2.1.0.ebuild b/app-editors/hteditor/hteditor-2.1.0.ebuild
new file mode 100644
index 000000000000..8b9cf50392d0
--- /dev/null
+++ b/app-editors/hteditor/hteditor-2.1.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit toolchain-funcs
+
+MY_P=${P/editor}
+
+DESCRIPTION="A file viewer, editor and analyzer for text, binary, and executable files"
+HOMEPAGE="http://hte.sourceforge.net/ https://github.com/sebastianbiallas/ht/"
+SRC_URI="mirror://sourceforge/hte/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="X"
+
+RDEPEND="sys-libs/ncurses
+ X? ( x11-libs/libX11 )
+ >=dev-libs/lzo-2"
+DEPEND="${RDEPEND}
+ virtual/yacc
+ sys-devel/flex"
+
+DOCS=( AUTHORS ChangeLog KNOWNBUGS README TODO )
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ econf \
+ $(use_enable X x11-textmode) \
+ --enable-maintainermode
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
+}
+
+src_install() {
+ #For prefix
+ chmod u+x "${S}/install-sh"
+
+ default
+
+ dohtml doc/*.html
+ doinfo doc/*.info
+}
diff --git a/app-editors/hteditor/metadata.xml b/app-editors/hteditor/metadata.xml
new file mode 100644
index 000000000000..263fb1d4f4a9
--- /dev/null
+++ b/app-editors/hteditor/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">hte</remote-id>
+ <bugs-to>http://sourceforge.net/tracker/?group_id=1066</bugs-to>
+ <remote-id type="github">sebastianbiallas/ht</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/jasspa-microemacs/Manifest b/app-editors/jasspa-microemacs/Manifest
new file mode 100644
index 000000000000..0994b321db4b
--- /dev/null
+++ b/app-editors/jasspa-microemacs/Manifest
@@ -0,0 +1,4 @@
+DIST jasspa-mehtml-20091011.tar.gz 628008 SHA256 c106af1a7a1bd5862883ae237ae8a27dccfa30f300944211995658bcfb8621d0 SHA512 0328ad7af88b98840c76003c15461f45cba9f54b7935330ec881c588cdd02ee937684ce42c1889f7ca311cc80bd027ae6cb6b088c5ed5105107b22b384780a4e WHIRLPOOL cb5025c8ca711911d2e54c518a906e39c9ac31936853840bb6aa65e8873150eb4070c7ca53900044de44200d7ac596a6fc81ab39e8b2beadfe6af67d851b43e6
+DIST jasspa-memacros-20091017.tar.gz 1105437 SHA256 aa23d2bb4d5d5b87eb8aa5a28439ff1bcdd2162c5c14a186b84366c06691aa2d SHA512 08908acac4dbe56695362172dabe621b8cca77a35da599c6cf5b4e87700c03f4ee190ca12d5c69b2d88c623cec527daac0980dec2ed713ff563e88ebe636a725 WHIRLPOOL 2f36d5d280d0ec6dee793a6783ccfd860eca6622824b7a3727778564bebf91f05c5d77b2e4a9b464f078cf26de903aa42c25ac849752d33b480c8723203c11a4
+DIST jasspa-mesrc-20091011.tar.gz 810128 SHA256 44109a9118da34a1d026450ec85a3f85d983c4015c97db2b9abbad69e8d90889 SHA512 60cc5a83b3cafd8e517f88732dc94feb0329b962bc714eaa5616ba89776fbfac41833be88fd3a666443291184086494434fb8763747c1dc5e216ce793b694b68 WHIRLPOOL a896c4eb594c4cbc126c2980cf8efaf1f6f07b4846c3d70f93ee842ec9a719b04fd85e8c390a34091e5c913676af371bc2c28500cd9f223ebf4fa73e8778f635
+DIST meicons-extra.tar.gz 43345 SHA256 d56864a6abccda2b6f79b8b86c545ae4b2abb40b8761cd97bda986aed454e8ef SHA512 bb6879fb12ec1c7b346bc1df2412a837ffdd0569f6be2800a433307a7736bb31798b3c2a71e02cebdce39c59d93d1a986f80c92184604e4292606c98285fe02a WHIRLPOOL a33c89b4c9f47a82273d7789b397893402cb8d35b625d5f6378007062527b7510e86cb2d614a21757c98205508f10cf6fb8e2c65c72d4585735f8445bfa2135b
diff --git a/app-editors/jasspa-microemacs/files/20091011-linux3.patch b/app-editors/jasspa-microemacs/files/20091011-linux3.patch
new file mode 100644
index 000000000000..35a5b22a1dce
--- /dev/null
+++ b/app-editors/jasspa-microemacs/files/20091011-linux3.patch
@@ -0,0 +1,23 @@
+Work around build failure on Linux 3.0.
+
+--- me091011-orig/src/build
++++ me091011/src/build
+@@ -130,17 +130,7 @@
+ MAKEBAS=irix6
+ fi
+ elif [ $PLATFORM = "Linux" ] ; then
+- MACHINE=`uname -m | cut -c 1-3`
+- if [ $MACHINE = "arm" ] ; then
+- MAKEBAS=zaurus
+- else
+- KERNEL_MAJOR=`uname -r | cut -c 1-1`
+- KERNEL_MINOR=`uname -r | cut -c 3-3`
+- MAKEBAS="linux$KERNEL_MAJOR$KERNEL_MINOR"
+- if [ ! -r $MAKEBAS.gmk ] ; then
+- MAKEBAS="linux2"
+- fi
+- fi
++ MAKEBAS=linux26
+ X11_MAKELIB=/usr/X11R6/lib
+ elif [ $PLATFORM = "OpenBSD" ] ; then
+ MAKEBAS=openbsd
diff --git a/app-editors/jasspa-microemacs/files/20091011-ncurses.patch b/app-editors/jasspa-microemacs/files/20091011-ncurses.patch
new file mode 100644
index 000000000000..92a2885895b1
--- /dev/null
+++ b/app-editors/jasspa-microemacs/files/20091011-ncurses.patch
@@ -0,0 +1,15 @@
+--- me091011-orig/src/linux26.gmk
++++ me091011/src/linux26.gmk
+@@ -66,12 +66,7 @@
+ # accomplish this try to compile test.c and see if it can link termcap. For
+ # Linux 2.6 then preference would appear to be "ncurses" rather than "termcap".
+ #
+-test = $(shell echo "\#include <stdio.h>" > _t.c ; echo "main() { printf(\"HW\n\"); }" >> _t.c ; $(LD) $(LDFLAGS) -o /dev/null -lncurses _t.c 2>&1 ; rm -f _t.c)
+-ifneq "$(strip $(test))" ""
+-CONSOLE_LIBS = -ltermcap
+-else
+ CONSOLE_LIBS = -lncurses
+-endif
+ #
+ # Rules
+ .SUFFIXES: .c .oc .ow .ob .on .ov .oe .odc .odw .odb .odn .odv .ode
diff --git a/app-editors/jasspa-microemacs/files/jasspa-microemacs.desktop b/app-editors/jasspa-microemacs/files/jasspa-microemacs.desktop
new file mode 100644
index 000000000000..62204880bd96
--- /dev/null
+++ b/app-editors/jasspa-microemacs/files/jasspa-microemacs.desktop
@@ -0,0 +1,13 @@
+[Desktop Entry]
+Type=Application
+Version=1.0
+Name=Jasspa MicroEmacs
+GenericName=Text Editor
+Comment=Advanced Text Editor
+Icon=/usr/share/jasspa/icons/32x32/me.png
+TryExec=me
+Exec=me %F
+Terminal=false
+MimeType=text/plain;
+Categories=Development;TextEditor;
+StartupWMClass=MicroEmacs
diff --git a/app-editors/jasspa-microemacs/jasspa-microemacs-20091011-r2.ebuild b/app-editors/jasspa-microemacs/jasspa-microemacs-20091011-r2.ebuild
new file mode 100644
index 000000000000..debda3fc902e
--- /dev/null
+++ b/app-editors/jasspa-microemacs/jasspa-microemacs-20091011-r2.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils toolchain-funcs
+MACROS_PV="20091017"
+
+DESCRIPTION="Jasspa Microemacs"
+HOMEPAGE="http://www.jasspa.com/"
+SRC_URI="http://www.jasspa.com/release_20090909/jasspa-mesrc-${PV}.tar.gz
+ !nanoemacs? (
+ http://www.jasspa.com/release_20090909/jasspa-memacros-${MACROS_PV}.tar.gz
+ http://www.jasspa.com/release_20090909/jasspa-mehtml-${PV}.tar.gz
+ http://www.jasspa.com/release_20060909/meicons-extra.tar.gz )"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+IUSE="nanoemacs X xpm"
+
+RDEPEND="sys-libs/ncurses
+ X? ( x11-libs/libX11
+ xpm? ( x11-libs/libXpm ) )
+ nanoemacs? ( !app-editors/ne )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ X? ( x11-libs/libXt
+ x11-proto/xproto )"
+
+S="${WORKDIR}/me${PV:2}/src"
+
+src_unpack() {
+ unpack jasspa-mesrc-${PV}.tar.gz
+ if ! use nanoemacs; then
+ mkdir "${WORKDIR}/jasspa"
+ cd "${WORKDIR}/jasspa"
+ # everything except jasspa-mesrc
+ unpack ${A/jasspa-mesrc-${PV}.tar.gz/}
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PV}-ncurses.patch"
+ epatch "${FILESDIR}/${PV}-linux3.patch"
+
+ # allow for some variables to be passed to make
+ sed -i -e \
+ '/make/s/\$OPTIONS/& CC="$CC" COPTIMISE="$CFLAGS" LDFLAGS="$LDFLAGS" CONSOLE_LIBS="$CONSOLE_LIBS" STRIP=true/' \
+ build || die "sed failed"
+}
+
+src_compile() {
+ local pkgdatadir="${EPREFIX}/usr/share/jasspa"
+ local me="" type=c
+ use nanoemacs && me="-ne"
+ use X && type=cw
+ use xpm || export XPM_INCLUDE=. # prevent Xpm autodetection
+
+ CC="$(tc-getCC)" \
+ CONSOLE_LIBS="$("$(tc-getPKG_CONFIG)" --libs ncurses)" \
+ ./build ${me} \
+ -t ${type} \
+ -p "~/.jasspa:${pkgdatadir}/site:${pkgdatadir}" \
+ || die "build failed"
+}
+
+src_install() {
+ local me=me type=c
+ use nanoemacs && me=ne
+ use X && type=cw
+ newbin ${me}${type} ${me}
+
+ if ! use nanoemacs; then
+ keepdir /usr/share/jasspa/site
+ insinto /usr/share
+ doins -r "${WORKDIR}/jasspa"
+ use X && domenu "${FILESDIR}/${PN}.desktop"
+ fi
+
+ dodoc ../faq.txt ../readme.txt ../change.log
+}
diff --git a/app-editors/jasspa-microemacs/metadata.xml b/app-editors/jasspa-microemacs/metadata.xml
new file mode 100644
index 000000000000..4f5375ba4582
--- /dev/null
+++ b/app-editors/jasspa-microemacs/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>emacs</herd>
+<longdescription>
+ * An Emacs editor biased towards UNIX users, working across platforms by
+ providing a consistent interface under UNIX, Microsoft Windows '95/'98/NT
+ and DOS operating systems.
+ * Fully featured editor, retaining the lightness of the original
+ MicroEmacs 3.8 with much enhanced capability.
+ * Small memory and disk footprint.
+ * A much enhanced version of the Danial Lawrence's original MicroEmacs 3.8
+ of 1988. It is stressed that although Danial Lawrence's 3.8 version was
+ used as a base, he has had no involvement in the development of this
+ distribution.
+ * To avoid any confusion with the original MicroEmacs, this distribution
+ should be referred to as the JASSPA distribution.
+</longdescription>
+<use>
+ <flag name='nanoemacs'>Build NanoEmacs instead of MicroEmacs</flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/jed/Manifest b/app-editors/jed/Manifest
new file mode 100644
index 000000000000..d1898d992ada
--- /dev/null
+++ b/app-editors/jed/Manifest
@@ -0,0 +1 @@
+DIST jed-0.99-19.tar.bz2 884198 SHA256 97a339ce2fb0a446767ee550786e6914fa2e8cdbad39a402e48368cd0d6b5763 SHA512 db8a30284f9b8e3e2c5d1a600eeb7af29c9f943a5c23d7c74fce926e0b0252f54805e214670e7c9357ce0e6918ad67cba2769a523979bfbd285328f94fff747c WHIRLPOOL 7ba51882004bdb9a59b2fffcc7c976f3a32bdb95247e6c3c8e3c423b0345af0a6eb74d4ed0a69831db160f7f69250a32f114dfb679a343eb002adee94a4ec987
diff --git a/app-editors/jed/jed-0.99.19.ebuild b/app-editors/jed/jed-0.99.19.ebuild
new file mode 100644
index 000000000000..7be18bd0f898
--- /dev/null
+++ b/app-editors/jed/jed-0.99.19.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit versionator
+
+MY_P=${PN}-$(replace_version_separator 2 '-')
+
+DESCRIPTION="Console S-Lang-based editor"
+HOMEPAGE="http://www.jedsoft.org/jed/"
+SRC_URI="ftp://space.mit.edu/pub/davis/jed/v${PV%.*}/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="X gpm xft"
+
+RDEPEND=">=sys-libs/slang-2
+ gpm? ( sys-libs/gpm )
+ X? (
+ x11-libs/libX11
+ xft? (
+ >=media-libs/freetype-2
+ x11-libs/libXft
+ )
+ )"
+DEPEND="${RDEPEND}
+ X? (
+ x11-libs/libXt
+ x11-proto/xproto
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ export JED_ROOT="${EPREFIX}"/usr/share/jed
+ econf \
+ $(use_enable gpm) \
+ $(use_enable xft)
+}
+
+src_compile() {
+ emake
+ use X && emake xjed
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" install
+
+ dodoc changes.txt INSTALL{,.unx} README
+ doinfo info/jed*
+
+ insinto /etc
+ doins lib/jed.conf
+
+ # replace IDE mode with EMACS mode
+ sed -i \
+ -e 's/\(_Jed_Default_Emulation = \).*/\1"emacs";/' \
+ "${ED}"/etc/jed.conf || die
+}
diff --git a/app-editors/jed/metadata.xml b/app-editors/jed/metadata.xml
new file mode 100644
index 000000000000..36be58a2be04
--- /dev/null
+++ b/app-editors/jed/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>emacs</herd>
+<longdescription>
+ Jed is a powerful editor, terminal and X11 interface. Color syntax
+ highlighting is one of its strong suits, along with emulation of GNU Emacs,
+ Wordstar, EDT and Brief. It also supports use of GPM on Linux consoles.
+ Jed has a multitude of programming modes and couples with the Slang library
+ for powerful extensions.
+</longdescription>
+</pkgmetadata>
diff --git a/app-editors/jedit/Manifest b/app-editors/jedit/Manifest
new file mode 100644
index 000000000000..c45a9ad642b3
--- /dev/null
+++ b/app-editors/jedit/Manifest
@@ -0,0 +1,2 @@
+DIST jedit5.0.0source.tar.bz2 2224469 SHA256 4464cbfe8a01cae15476d6b0cf57b4b89c1cb3d7b541ec2f48ed283385c015ce SHA512 376803339251ee389e6be0cd5267140e36a09120882a9fb8d989c0ed424e6680ede3c509d10fc3d3b8956d1219ff5c009d9b4fbd04e76b81a9be38f77383562d WHIRLPOOL efa3dc731086ecffbf4490c14a597b24ec7849b5c16f1f5df9d1483b08004433b4a478e96963e9e70ec5f7d584075fb65c2d3e63bd516125907998de649c1a70
+DIST jedit5.2.0source.tar.bz2 2456541 SHA256 1d444d2ceab62e449523ae336603fedee322d3655c9e5606d3b4d00c125c950f SHA512 5af99ac864dd70701f24435840e26f73077ba02d155319965122bd24871e6825b82383054d29dfec72bbbedaac72bfb2d86097de6a0c79341f0a279dacd60126 WHIRLPOOL e6a8e837317a2068fe808bc3ada39bf4730a5aaebeca60f7501b5fad2353a5f889b76778c59ffe39b34563107ba3ec02eec550cd612ddcbd00ee03616910cc19
diff --git a/app-editors/jedit/files/jedit-5.2.0-build-xml.patch b/app-editors/jedit/files/jedit-5.2.0-build-xml.patch
new file mode 100644
index 000000000000..da0a91d54d22
--- /dev/null
+++ b/app-editors/jedit/files/jedit-5.2.0-build-xml.patch
@@ -0,0 +1,24 @@
+From 4dc53a4c320af0894bd600c77d4432c414cdee16 Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Sat, 8 Aug 2015 00:05:20 +0200
+Subject: [PATCH] Do not have target "build" call target "test"
+
+---
+ build.xml | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/build.xml b/build.xml
+index f34934f..da5272a 100644
+--- a/build.xml
++++ b/build.xml
+@@ -504,7 +504,6 @@
+ </copy>
+ </contrib:then>
+ </contrib:if>
+- <antcall target="test" />
+ </target>
+
+ <target name="build-exe-launcher"
+--
+2.5.0
+
diff --git a/app-editors/jedit/jedit-5.0.0.ebuild b/app-editors/jedit/jedit-5.0.0.ebuild
new file mode 100644
index 000000000000..a1058f9c8c73
--- /dev/null
+++ b/app-editors/jedit/jedit-5.0.0.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+JAVA_PKG_IUSE="doc test"
+
+inherit java-pkg-2 java-ant-2 eutils fdo-mime
+
+DESCRIPTION="Programmer's editor written in Java"
+HOMEPAGE="http://www.jedit.org"
+SRC_URI="mirror://sourceforge/${PN}/${PN}${PV}source.tar.bz2"
+
+LICENSE="GPL-2"
+KEYWORDS="amd64 ppc ppc64 x86"
+SLOT="0"
+IUSE=""
+
+# missing from tarball
+RESTRICT="test"
+
+COMMON_DEP="
+ dev-java/jsr305:0"
+RDEPEND="${COMMON_DEP}
+ >=virtual/jre-1.6"
+DEPEND="${COMMON_DEP}
+ >=virtual/jdk-1.6
+ dev-java/ant-apache-bsf:0
+ dev-java/ant-contrib:0
+ dev-java/bsh[bsf]
+ test? (
+ dev-java/ant-junit:0
+ )"
+
+S="${WORKDIR}/jEdit"
+
+JEDIT_HOME="/usr/share/${PN}"
+
+java_prepare() {
+ mkdir -p lib/{ant-contrib,compile,default-plugins,scripting} || die
+
+ # don't unconditionally run tests (which aren't even shipped)
+ sed -i -e 's|\(depends="init,retrieve,setup,compile\),test|\1|' \
+ build.xml || die
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="true"
+
+EANT_ANT_TASKS="ant-apache-bsf ant-contrib bsh"
+EANT_GENTOO_CLASSPATH="jsr305"
+EANT_EXTRA_ARGS="-Divy.jar.present=true -Divy.done=true"
+EANT_BUILD_TARGET="build"
+# TODO could build more docs, ie generate-doc-faq generate-doc-news
+# generate-doc-users-guide ua.
+EANT_DOC_TARGET="generate-javadoc"
+# in fact needed only for docs, but shouldn't hurt
+EANT_NEEDS_TOOLS="true"
+
+src_test() {
+ java-pkg-2_src_test
+}
+
+src_install () {
+ dodir ${JEDIT_HOME}
+ cp -R build/${PN}.jar jars doc keymaps macros modes properties startup \
+ "${D}${JEDIT_HOME}" || die
+
+ java-pkg_regjar ${JEDIT_HOME}/${PN}.jar
+
+ java-pkg_dolauncher ${PN} --main org.gjt.sp.jedit.jEdit
+
+ use doc && java-pkg_dojavadoc build/classes/javadoc/api
+
+ make_desktop_entry ${PN} \
+ jEdit \
+ ${JEDIT_HOME}/doc/${PN}.png \
+ "Development;Utility;TextEditor"
+
+ # keep the plugin directory
+ keepdir ${JEDIT_HOME}/jars
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+ elog "The system directory for jEdit plugins is"
+ elog "${JEDIT_HOME}/jars"
+ elog "If you get plugin related errors on startup, first try updating them."
+}
+
+pkg_postrm() {
+ if [[ -z ${REPLACED_BY_VERSION} ]]; then
+ fdo-mime_desktop_database_update
+ elog "jEdit plugins installed into /usr/share/jedit/jars"
+ elog "(after installation of jEdit itself) haven't been"
+ elog "removed. To get rid of jEdit completely, you may"
+ elog "want to run"
+ elog ""
+ elog " rm -r ${JEDIT_HOME}"
+ fi
+}
diff --git a/app-editors/jedit/jedit-5.2.0.ebuild b/app-editors/jedit/jedit-5.2.0.ebuild
new file mode 100644
index 000000000000..51f2d61b5064
--- /dev/null
+++ b/app-editors/jedit/jedit-5.2.0.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+JAVA_PKG_IUSE="doc test"
+
+inherit java-pkg-2 java-ant-2 eutils fdo-mime
+
+DESCRIPTION="Programmer's editor written in Java"
+HOMEPAGE="http://www.jedit.org"
+SRC_URI="mirror://sourceforge/${PN}/${PN}${PV}source.tar.bz2"
+
+LICENSE="BSD GPL-2"
+KEYWORDS="~amd64 ~ppc ~x86"
+SLOT="0"
+IUSE=""
+
+# missing from tarball
+RESTRICT="test"
+
+COMMON_DEP="
+ dev-java/jsr305:0"
+RDEPEND="${COMMON_DEP}
+ >=virtual/jre-1.7"
+DEPEND="${COMMON_DEP}
+ >=virtual/jdk-1.7
+ dev-java/ant-apache-bsf:0
+ dev-java/ant-contrib:0
+ dev-java/bsh[bsf]
+ test? (
+ dev-java/ant-junit:0
+ )"
+
+S="${WORKDIR}/jEdit"
+
+JEDIT_HOME="/usr/share/${PN}"
+
+java_prepare() {
+ mkdir -p lib/{ant-contrib,compile,default-plugins,scripting} || die
+
+ epatch "${FILESDIR}"/${P}-build-xml.patch
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="true"
+
+EANT_ANT_TASKS="ant-apache-bsf ant-contrib bsh"
+EANT_GENTOO_CLASSPATH="jsr305"
+EANT_EXTRA_ARGS="-Divy.jar.present=true -Divy.done=true"
+EANT_BUILD_TARGET="build"
+# TODO could build more docs, ie generate-doc-faq generate-doc-news
+# generate-doc-users-guide ua.
+EANT_DOC_TARGET="generate-javadoc"
+# in fact needed only for docs, but shouldn't hurt
+EANT_NEEDS_TOOLS="true"
+
+src_test() {
+ java-pkg-2_src_test
+}
+
+src_install () {
+ dodir ${JEDIT_HOME}
+ cp -R build/${PN}.jar jars doc keymaps macros modes properties startup \
+ "${D}${JEDIT_HOME}" || die
+
+ java-pkg_regjar ${JEDIT_HOME}/${PN}.jar
+
+ java-pkg_dolauncher ${PN} --main org.gjt.sp.jedit.jEdit
+
+ use doc && java-pkg_dojavadoc build/classes/javadoc/api
+
+ make_desktop_entry ${PN} \
+ jEdit \
+ ${JEDIT_HOME}/doc/${PN}.png \
+ "Development;Utility;TextEditor"
+
+ # keep the plugin directory
+ keepdir ${JEDIT_HOME}/jars
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+ elog "The system directory for jEdit plugins is"
+ elog "${JEDIT_HOME}/jars"
+ elog "If you get plugin related errors on startup, first try updating them."
+}
+
+pkg_postrm() {
+ if [[ -z ${REPLACED_BY_VERSION} ]]; then
+ fdo-mime_desktop_database_update
+ elog "jEdit plugins installed into /usr/share/jedit/jars"
+ elog "(after installation of jEdit itself) haven't been"
+ elog "removed. To get rid of jEdit completely, you may"
+ elog "want to run"
+ elog ""
+ elog " rm -r ${JEDIT_HOME}"
+ fi
+}
diff --git a/app-editors/jedit/metadata.xml b/app-editors/jedit/metadata.xml
new file mode 100644
index 000000000000..e0ffd1dacbbe
--- /dev/null
+++ b/app-editors/jedit/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>java</herd>
+ <upstream>
+ <remote-id type="sourceforge">jedit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/jext/Manifest b/app-editors/jext/Manifest
new file mode 100644
index 000000000000..742562a5a3db
--- /dev/null
+++ b/app-editors/jext/Manifest
@@ -0,0 +1 @@
+DIST jext-sources-5.0.tar.gz 1029772 SHA256 58a6b9d265f622bddba0a6165d582b7eadb2da5d14fd28e1fa1f4af0eaa70d19 SHA512 ac66babfca05d112541e40b0aa8ebde33a69a3a97f42966be24a28232d3c100b9fe8007e26618909fd78111d3eb4ddecc2258599bff40e0e1959ea6632f43682 WHIRLPOOL 7ed2b3b96d378a3b83f61f323fe25fb737600d02a8e701b711b6451b5009ff1fff5f385e3a11b1b3582424ab062627b8a9315ab378c2a5ed487a64e7353625ea
diff --git a/app-editors/jext/files/jext-5.0-enum-as-keyword.patch b/app-editors/jext/files/jext-5.0-enum-as-keyword.patch
new file mode 100644
index 000000000000..c773e571d182
--- /dev/null
+++ b/app-editors/jext/files/jext-5.0-enum-as-keyword.patch
@@ -0,0 +1,173 @@
+--- src/lib/org/gjt/sp/jedit/textarea/InputHandler.java.orig 2015-07-03 17:52:13.843000000 +0000
++++ src/lib/org/gjt/sp/jedit/textarea/InputHandler.java 2015-07-03 17:52:59.746000000 +0000
+@@ -141,10 +141,10 @@
+ */
+ public static String getActionName(ActionListener listener)
+ {
+- Enumeration enum = getActions();
+- while(enum.hasMoreElements())
++ Enumeration myEnum = getActions();
++ while(myEnum.hasMoreElements())
+ {
+- String name = (String)enum.nextElement();
++ String name = (String)myEnum.nextElement();
+ ActionListener _listener = getAction(name);
+ if(_listener == listener)
+ return name;
+--- src/lib/org/jext/options/OptionsDialog.java.orig 2015-07-03 17:54:19.179000000 +0000
++++ src/lib/org/jext/options/OptionsDialog.java 2015-07-03 17:54:33.377000000 +0000
+@@ -297,11 +297,11 @@
+
+ private void addOptionGroup(OptionGroup child, OptionGroup parent)
+ {
+- ArrayList enum = child.getMembers();
++ ArrayList myEnum = child.getMembers();
+
+- for (int i = 0; i < enum.size(); i++)
++ for (int i = 0; i < myEnum.size(); i++)
+ {
+- Object elem = enum.get(i);
++ Object elem = myEnum.get(i);
+
+ if (elem instanceof OptionPane)
+ {
+@@ -669,4 +669,4 @@
+
+ }
+
+-// End of OptionsDialog.java
+\ No newline at end of file
++// End of OptionsDialog.java
+--- src/lib/org/jext/misc/VirtualFolders.java.orig 2015-07-03 17:49:57.731000000 +0000
++++ src/lib/org/jext/misc/VirtualFolders.java 2015-07-03 17:51:11.418000000 +0000
+@@ -233,10 +233,10 @@
+ ret.append(crlf).append("<folderlist>");
+ }
+
+- Enumeration enum = parent.children();
+- while (enum.hasMoreElements())
++ Enumeration myEnum = parent.children();
++ while (myEnum.hasMoreElements())
+ {
+- VirtualFolderNode child = (VirtualFolderNode) enum.nextElement();
++ VirtualFolderNode child = (VirtualFolderNode) myEnum.nextElement();
+ ret.append(toXML(child, depth + 1));
+ }
+
+@@ -317,20 +317,20 @@
+
+ private void fixVisible()
+ {
+- Enumeration enum = root.depthFirstEnumeration();
++ Enumeration myEnum = root.depthFirstEnumeration();
+ VirtualFolderNode node = null;
+- while (enum.hasMoreElements())
++ while (myEnum.hasMoreElements())
+ {
+
+- node = (VirtualFolderNode)enum.nextElement();
++ node = (VirtualFolderNode)myEnum.nextElement();
+ TreePath path = new TreePath(node.getPath());
+ tree.collapsePath(path);
+ }
+
+- enum = root.depthFirstEnumeration();
+- while (enum.hasMoreElements())
++ myEnum = root.depthFirstEnumeration();
++ while (myEnum.hasMoreElements())
+ {
+- node = (VirtualFolderNode)enum.nextElement();
++ node = (VirtualFolderNode)myEnum.nextElement();
+ if (node.shouldBeVisible())
+ {
+ TreePath path = new TreePath(((VirtualFolderNode)node.getParent()).getPath());
+@@ -392,10 +392,10 @@
+ public static boolean folderExists(VirtualFolderNode parent, String name)
+ {
+ boolean exists = false;
+- Enumeration enum = parent.children();
+- while ((enum.hasMoreElements()) && !exists)
++ Enumeration myEnum = parent.children();
++ while ((myEnum.hasMoreElements()) && !exists)
+ {
+- VirtualFolderNode child = (VirtualFolderNode) enum.nextElement();
++ VirtualFolderNode child = (VirtualFolderNode) myEnum.nextElement();
+ exists = child.toString().equals(name);
+ }
+ return exists;
+@@ -526,10 +526,10 @@
+ } else {
+ if (fromMenu)
+ {
+- Enumeration enum = node.children();
+- while (enum.hasMoreElements())
++ Enumeration myEnum = node.children();
++ while (myEnum.hasMoreElements())
+ {
+- VirtualFolderNode child = (VirtualFolderNode) enum.nextElement();
++ VirtualFolderNode child = (VirtualFolderNode) myEnum.nextElement();
+ openNode(child, fromMenu);
+ }
+ }
+--- src/lib/com/microstar/xml/XmlParser.java.orig 2015-07-03 17:41:23.209000000 +0000
++++ src/lib/com/microstar/xml/XmlParser.java 2015-07-03 17:46:30.296000000 +0000
+@@ -1346,7 +1346,7 @@
+ {
+ String name;
+ int type;
+- String enum = null;
++ String myEnum = null;
+
+ // Read the attribute name.
+ name = readNmtoken(true);
+@@ -1358,12 +1358,12 @@
+ // Get the string of enumerated values
+ // if necessary.
+ if (type == ATTRIBUTE_ENUMERATED || type == ATTRIBUTE_NOTATION) {
+- enum = dataBufferToString();
++ myEnum = dataBufferToString();
+ }
+
+ // Read the default value.
+ requireWhitespace();
+- parseDefault(elementName, name, type, enum);
++ parseDefault(elementName, name, type, myEnum);
+ }
+
+
+@@ -1451,7 +1451,7 @@
+ * Parse the default value for an attribute.
+ * [62] Default ::= '#REQUIRED' | '#IMPLIED' | ((%'#FIXED' S)? %AttValue
+ */
+- void parseDefault (String elementName, String name, int type, String enum)
++ void parseDefault (String elementName, String name, int type, String myEnum)
+ throws java.lang.Exception
+ {
+ int valueType = ATTRIBUTE_DEFAULT_SPECIFIED;
+@@ -1477,7 +1477,7 @@
+ value = readLiteral(LIT_CHAR_REF);
+ context = CONTEXT_DTD;
+ }
+- setAttribute(elementName, name, type, enum, value, valueType);
++ setAttribute(elementName, name, type, myEnum, value, valueType);
+ }
+
+
+@@ -2714,7 +2714,7 @@
+ * - int value type
+ * *TODO: do something with attribute types.
+ */
+- void setAttribute (String elName, String name, int type, String enumeration,
++ void setAttribute (String elName, String name, int type, String myEnum,
+ String value, int valueType)
+ throws java.lang.Exception
+ {
+@@ -2736,7 +2736,7 @@
+ attribute[0] = new Integer(type);
+ attribute[1] = value;
+ attribute[2] = new Integer(valueType);
+- attribute[3] = enumeration;
++ attribute[3] = myEnum;
+ attribute[4] = null;
+ attlist.put(name.intern(), attribute);
+
diff --git a/app-editors/jext/files/jext-pre b/app-editors/jext/files/jext-pre
new file mode 100644
index 000000000000..5a02d4b71db8
--- /dev/null
+++ b/app-editors/jext/files/jext-pre
@@ -0,0 +1,91 @@
+# This script launches Jext, the Java text editor.
+# It checks for a $HOME/.jext directory and eventually creates it.
+# Next it checks for a /etc/jextrc and $JEXT_CONFFILE (~/.jext/variables) files which define the JEXT_HOME JAVA_CMD JAVA_OPT CLASSPATH and ToShow variables. The first is system wide(used in RPM install mainly), the second is per user.
+# If this file doesn't exist the script creates it by asking the options to the user.
+
+# Sharpshooter 23/02/2002
+# Blaisorblade 18/11/2002
+
+#For special cases about different config files(for developers with working
+#copy and an unstable one to be tested).
+if [ "$JEXT_CONFFILE" = "" ]
+then
+ JEXT_CONFFILE=~/.jext/variables
+fi
+
+# Help
+if [ "$1" = "--help" -o "$1" = "-h" ]
+then
+ echo "This script launch Jext the Java text editor."
+ echo "Usage : $0 [--reconf] [files]"
+ echo "--reconf doesn't start jext but clears the"
+ echo " $JEXT_CONFFILE file with the settings to start jext"
+ echo " (jext & java location and jext options)."
+ exit 0
+fi
+
+if [ "$1" = "--reconf" ]
+then
+ echo "Clearing $JEXT_CONFFILE, you'll have to reenter jext & java \
+interpreter location"
+ rm -f "$JEXT_CONFFILE"
+ exit 0
+fi
+
+
+# Check for the user's ~/.jext directory.
+if ! [ -d ~/.jext ]
+then
+ echo "It seems you don't have a .jext directory in your home dir."
+ echo "I create it."
+ echo
+ mkdir -p ~/.jext/xinsert
+fi
+
+
+
+# Check for the $HOME/.jext/variables file.
+if ! [ -f $JEXT_CONFFILE -o -f /etc/jextrc ]
+then
+ #Let's add some explaination in the config file.
+ cat >$JEXT_CONFFILE <<EOM
+#This is included when launching Jext. It is a normal shell script \
+used to define env vars
+#Meanings of settings:
+#JEXT_HOME The home dir of jext(under which it finds the lib and so on dirs)
+#JAVA_CMD The complete path for the java command
+#JAVA_OPT The options to be passed to the java command(not to Jext itself!)
+#CLASSPATH The extra classpath to be specified(for cases such as AntWork plugin)
+#ToShow If this is set to y the output is not redirected to /dev/null;
+# Mainly for developers who want to trace Jext output(you could also use
+# the DickTracy plugin).
+EOM
+#----
+ JEXT_HOME="/usr/share/jext/lib"
+ echo "JEXT_HOME="$JEXT_HOME >> $JEXT_CONFFILE
+#----
+ ToShow=
+ echo "ToShow="$ToShow>>$JEXT_CONFFILE
+fi
+
+# Extract the contents of the $JEXT_CONFFILE file.
+[ -f /etc/jextrc ] && source /etc/jextrc
+[ -f $JEXT_CONFFILE ] && source $JEXT_CONFFILE
+
+#Needed to make Jext find his plugins(it searches them in `pwd`/plugins)
+for i in $@
+do
+ if [ "${i:0:1}" != "/" -a "${i:0:1}" != "-" ]; then #If the first char of $i is not a / then
+ files="$files `pwd`/$i" #it is a relative path so we must make it absolute.
+ elif [ "$i" != "-" ]; then
+ files="$files $i"
+ else
+ case "$i" in
+ --reconf|--help|-h)
+ ;;
+ *)
+ files="$files $i"
+ ;;
+ esac
+ fi
+done
diff --git a/app-editors/jext/jext-5.0-r2.ebuild b/app-editors/jext/jext-5.0-r2.ebuild
new file mode 100644
index 000000000000..2b334c4fea92
--- /dev/null
+++ b/app-editors/jext/jext-5.0-r2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+JAVA_PKG_IUSE="doc"
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="A text editor written in Java"
+HOMEPAGE="http://sourceforge.net/projects/jext/"
+MY_PV="${PV/_}"
+SRC_URI="mirror://sourceforge/${PN}/${PN}-sources-${MY_PV}.tar.gz"
+LICENSE="|| ( GPL-2 JPython )"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+CDEPEND="dev-java/jython:2.7
+ dev-java/jgoodies-looks:1.2
+ dev-java/gnu-regexp:1"
+DEPEND=">=virtual/jdk-1.6
+ ${CDEPEND}"
+RDEPEND=">=virtual/jre-1.6
+ ${CDEPEND}"
+
+S="${WORKDIR}/${PN}-src-${MY_PV}"
+
+# Necessary otherwise it chokes on compiling with jdk-1.8
+# due to unmappable characters.
+JAVA_ANT_ENCODING="ISO-8859-1"
+
+java_prepare() {
+ # bundles some com.microstar.xml who knows what's that
+ # also com.jgoodies.uif_lite which is apparently some jgoodies-looks
+ # example code which we don't package and there is probably no point
+ rm -v "${S}"/extplugins/Admin/*.jar || die
+ rm -rf src/lib/gnu || die
+
+ # Fix "enum as a keyword" error.
+ epatch "${FILESDIR}"/"${P}"-enum-as-keyword.patch
+}
+
+src_compile() {
+ cd "${S}/src" || die
+ eant jar $(use_doc javadocs) \
+ -Dclasspath="$(java-pkg_getjars jython-2.7,jgoodies-looks-1.2,gnu-regexp-1)"
+}
+
+src_install () {
+ java-pkg_newjar lib/${P}.jar
+ java-pkg_dojar lib/dawn*.jar
+
+ java-pkg_dolauncher ${PN} \
+ --main org.jext.Jext \
+ --java_args '-Dpython.path=$(java-config --classpath=jython-2.7)' \
+ -pre "${FILESDIR}/${PN}-pre"
+
+ if use doc; then
+ java-pkg_dohtml -r docs/api
+ fi
+}
+
+pkg_postinst() {
+ elog "Plugins are currently not built/installed. Patches welcome."
+}
diff --git a/app-editors/jext/metadata.xml b/app-editors/jext/metadata.xml
new file mode 100644
index 000000000000..bf4c75acc9b5
--- /dev/null
+++ b/app-editors/jext/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>java</herd>
+ <upstream>
+ <remote-id type="sourceforge">jext</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/joe/Manifest b/app-editors/joe/Manifest
new file mode 100644
index 000000000000..80e17f3c8ca7
--- /dev/null
+++ b/app-editors/joe/Manifest
@@ -0,0 +1,2 @@
+DIST joe-3.7.tar.gz 696036 SHA256 cae456e1ad5a8c1d3c94920a3416c2347277739b260e3494d3bc0f2b9b73106f SHA512 1b6ac65309156c422c73194b82c1f855006bb7a73dec957c3a25f68a51e91e6a2a84df9d5d538f08c8900fe0eb0e2b41ef0936437859d5dae5ffc45005e8a90f WHIRLPOOL 4ee918936eb1a902fd4c6e60061180dfef215a57fb0700a5e078cb9db9717eea30094388a472a14f031d80267a5e0ba290360ed89fe44d89269dfddb4e9a31d1
+DIST joe-4.0.tar.gz 838783 SHA256 c556adff77fd97bf1b86198de6cb82e0b92cda18579c4fef6c83b608d2ed2915 SHA512 6d88ec9d4fd51f768dd35f74cc296f6e6469a3b36ff7aa0306796577d3a27c2719e8580483ab6184ffa3d00c6ec81d53548b501ae231845e4c0640988b0e7a31 WHIRLPOOL 029af0a45bb66008b2a40bd8bd8220741839c31e8d7d51bf428f244e55e6c8ee50138c06b8ebad181c36289c6d7c0c897580e7f192492a3376b3c68efbc6c214
diff --git a/app-editors/joe/files/joe-3.5-ftyperc.patch b/app-editors/joe/files/joe-3.5-ftyperc.patch
new file mode 100644
index 000000000000..834b57690440
--- /dev/null
+++ b/app-editors/joe/files/joe-3.5-ftyperc.patch
@@ -0,0 +1,43 @@
+--- rc/ftyperc 2006-07-20 16:35:56.000000000 +0100
++++ rc/ftyperc.gentoo 2013-04-05 15:05:11.000000000 +0100
+@@ -709,3 +709,40 @@
+ *jpicorc.in
+ -syntax joerc
+
++ Gentoo files
++*.ebuild
++-autoindent
++-syntax sh
++-pound_comment
++-text_delimiters do=done:if=elif=else=fi:case=esac
++-smarthome
++-smartbacks
++-indentc 9
++-istep 1
++-tab 4
++
++*.eclass
++-autoindent
++-syntax sh
++-pound_comment
++-text_delimiters do=done:if=elif=else=fi:case=esac
++-smarthome
++-smartbacks
++-indentc 9
++-istep 1
++-tab 4
++
++*/etc/portage/*
++-syntax conf
++
++*/make.conf
++-syntax sh
++
++*/etc/conf.d/*
++-syntax conf
++
++*/etc/env.d/*
++-syntax conf
++
++*/usr/portage/profiles/*
++-syntax conf
diff --git a/app-editors/joe/files/joe-3.7-ftyperc.patch b/app-editors/joe/files/joe-3.7-ftyperc.patch
new file mode 100644
index 000000000000..e570d6b1864f
--- /dev/null
+++ b/app-editors/joe/files/joe-3.7-ftyperc.patch
@@ -0,0 +1,43 @@
+--- rc/ftyperc 2008-10-31 01:42:29.000000000 +0000
++++ rc/ftyperc.gentoo 2013-04-05 15:04:49.000000000 +0100
+@@ -753,3 +753,40 @@
+ *jpicorc.in
+ -syntax joerc
+
++ Gentoo files
++*.ebuild
++-autoindent
++-syntax sh
++-pound_comment
++-text_delimiters do=done:if=elif=else=fi:case=esac
++-smarthome
++-smartbacks
++-indentc 9
++-istep 1
++-tab 4
++
++*.eclass
++-autoindent
++-syntax sh
++-pound_comment
++-text_delimiters do=done:if=elif=else=fi:case=esac
++-smarthome
++-smartbacks
++-indentc 9
++-istep 1
++-tab 4
++
++*/etc/portage/*
++-syntax conf
++
++*/make.conf
++-syntax sh
++
++*/etc/conf.d/*
++-syntax conf
++
++*/etc/env.d/*
++-syntax conf
++
++*/usr/portage/profiles/*
++-syntax conf
diff --git a/app-editors/joe/files/joe-3.7-sanitise-includes.patch b/app-editors/joe/files/joe-3.7-sanitise-includes.patch
new file mode 100644
index 000000000000..0d60cdb41e18
--- /dev/null
+++ b/app-editors/joe/files/joe-3.7-sanitise-includes.patch
@@ -0,0 +1,36 @@
+injecting random paths breaks random on Prefix platforms
+
+--- configure.ac
++++ configure.ac
+@@ -23,14 +23,6 @@
+ AC_PROG_INSTALL
+ AC_PROG_LN_S
+
+-case "$host" in
+- *-*-solaris*)
+- CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+- LDFLAGS="$LDFLAGS -L/usr/local/lib -R/usr/local/lib"
+- ;;
+- *) ;;
+-esac
+-
+ search_libs="$search_libs m"
+
+ # Checks for libraries.
+--- configure
++++ configure
+@@ -4071,14 +4071,6 @@
+ fi
+
+
+-case "$host" in
+- *-*-solaris*)
+- CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+- LDFLAGS="$LDFLAGS -L/usr/local/lib -R/usr/local/lib"
+- ;;
+- *) ;;
+-esac
+-
+ search_libs="$search_libs m"
+
+ # Checks for libraries.
diff --git a/app-editors/joe/files/joe-3.7-segfault-fix.patch b/app-editors/joe/files/joe-3.7-segfault-fix.patch
new file mode 100644
index 000000000000..38efac2e30c4
--- /dev/null
+++ b/app-editors/joe/files/joe-3.7-segfault-fix.patch
@@ -0,0 +1,17 @@
+Index: main.c
+===================================================================
+RCS file: /cvsroot/joe-editor/joe-current/main/main.c,v
+retrieving revision 1.5
+retrieving revision 1.6
+diff -u -r1.5 -r1.6
+--- main.c 27 Oct 2008 01:57:13 -0000 1.5
++++ main.c 23 Nov 2008 21:32:15 -0000 1.6
+@@ -431,7 +431,7 @@
+ b->orphan = 1;
+ b->oldcur = pdup(b->bof, USTR "main");
+ pline(b->oldcur, get_file_pos(b->name));
+- p_goto_bol(bw->cursor);
++ p_goto_bol(b->oldcur);
+ line = b->oldcur->line - (maint->h - 1) / 2;
+ if (line < 0)
+ line = 0;
diff --git a/app-editors/joe/joe-3.7-r2.ebuild b/app-editors/joe/joe-3.7-r2.ebuild
new file mode 100644
index 000000000000..aa73a7750f0c
--- /dev/null
+++ b/app-editors/joe/joe-3.7-r2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit flag-o-matic eutils
+
+DESCRIPTION="A free ASCII-Text Screen Editor for UNIX"
+HOMEPAGE="http://sourceforge.net/projects/joe-editor/"
+SRC_URI="mirror://sourceforge/joe-editor/${P}.tar.gz"
+
+LICENSE="GPL-1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris"
+IUSE="xterm"
+
+DEPEND=">=sys-libs/ncurses-5.2-r2"
+RDEPEND="xterm? ( >=x11-terms/xterm-239 )"
+
+src_prepare() {
+ # Fix segfault, bug 283508
+ epatch "${FILESDIR}/${P}-segfault-fix.patch"
+ epatch "${FILESDIR}/${P}-sanitise-includes.patch"
+ epatch "${FILESDIR}/${P}-ftyperc.patch"
+
+ cd "${S}"/rc
+
+ # Enable xterm mouse support in the rc files
+ if use xterm; then
+ for i in *rc*.in; do
+ sed -e 's/^ -\(mouse\|joexterm\)/-\1/' -i "${i}" || die "sed failed"
+ done
+ fi
+}
+
+src_configure() {
+ # Bug 34609 (joe 2.9.8 editor seg-faults on 'find and replace' when compiled with -Os)
+ replace-flags "-Os" "-O2"
+
+ econf --docdir="${EPREFIX}"/usr/share/doc/${PF} || die
+}
+
+src_install() {
+ make install DESTDIR="${D}" || die "make install failed"
+ dodoc ChangeLog HACKING HINTS LIST NEWS README TODO
+}
+
+pkg_postinst() {
+ if use xterm; then
+ elog "To enable full xterm clipboard you need to set the allowWindowOps"
+ elog "resources to true. This is usually found in /etc/X11/app-defaults/XTerm"
+ elog "This is false by default due to potential security problems on some"
+ elog "architectures (see bug #91453)."
+ fi
+}
diff --git a/app-editors/joe/joe-4.0.ebuild b/app-editors/joe/joe-4.0.ebuild
new file mode 100644
index 000000000000..8328d68f3309
--- /dev/null
+++ b/app-editors/joe/joe-4.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="A free ASCII-Text Screen Editor for UNIX"
+HOMEPAGE="http://sourceforge.net/projects/joe-editor/"
+SRC_URI="mirror://sourceforge/joe-editor/${P}.tar.gz"
+
+LICENSE="GPL-1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris"
+IUSE="xterm"
+
+DEPEND=">=sys-libs/ncurses-5.2-r2"
+RDEPEND="xterm? ( >=x11-terms/xterm-239 )"
+
+DOCS=( README.md NEWS.md docs/hacking.md docs/man.md )
+
+src_prepare() {
+ # Enable xterm mouse support in the rc files
+ if use xterm; then
+ cd "${S}"/rc
+ for i in *rc*.in; do
+ sed -e 's/^ -\(mouse\|joexterm\)/-\1/' -i "${i}" || die "sed failed"
+ done
+ fi
+}
+
+src_configure() {
+ econf \
+ --docdir="/usr/share/doc/${PF}"
+}
+
+pkg_postinst() {
+ if use xterm; then
+ elog "To enable full xterm clipboard you need to set the allowWindowOps"
+ elog "resources to true. This is usually found in /etc/X11/app-defaults/XTerm"
+ elog "This is false by default due to potential security problems on some"
+ elog "architectures (see bug #91453)."
+ fi
+}
diff --git a/app-editors/joe/metadata.xml b/app-editors/joe/metadata.xml
new file mode 100644
index 000000000000..e89efb84f4b0
--- /dev/null
+++ b/app-editors/joe/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>tomk@gentoo.org</email>
+ <name>Tom Knight</name>
+ </maintainer>
+ <longdescription>
+ JOE (Joe's own editor) has the feel of most IBM PC text editors: The
+ key-sequences are reminiscent of WordStar and Turbo-C. JOE is much more
+ powerful than those editors, however. JOE has all of the features a UNIX
+ user should expect: full use of termcap/terminfo, excellent screen update
+ optimizations, simple installation, and all of the UNIX-integration features
+ of VI.
+</longdescription>
+ <use>
+ <flag name="xterm">Enable full xterm clipboard support</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">joe-editor</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/jove/Manifest b/app-editors/jove/Manifest
new file mode 100644
index 000000000000..79067d1716d7
--- /dev/null
+++ b/app-editors/jove/Manifest
@@ -0,0 +1 @@
+DIST jove4.16.0.73.tgz 465214 SHA256 9c9e202607f5972c382098d10b63c815ac01e578f432626c982e6aa65000c630 SHA512 2198504f9a23590710acba7f27661fa5649fdbed559a4c6bde9d2c1d673c22ce7d99a690be45a4602d37cf6e70399230c4ae3a251d8451af0c5252bdca61b09d WHIRLPOOL aad67b0a4ed52f89719feffbacb8b3de9acf50ccb2fbc6cb8f35bb9bcb475794d5aeb4bfe7485c9ccfc41f687bb42a4d9a9242d1ba84fd17790c35a03b1a8000
diff --git a/app-editors/jove/files/jove-4.16.0.70.3.1-getline.patch b/app-editors/jove/files/jove-4.16.0.70.3.1-getline.patch
new file mode 100644
index 000000000000..98cef6011f8c
--- /dev/null
+++ b/app-editors/jove/files/jove-4.16.0.70.3.1-getline.patch
@@ -0,0 +1,81 @@
+http://bugs.gentoo.org/274352
+Fix build failure with glibc-2.10
+
+--- jove4.16.0.70-orig/insert.c
++++ jove4.16.0.70/insert.c
+@@ -504,7 +504,7 @@
+ atchar = 0;
+ }
+
+- getline(atline->l_dline, genbuf);
++ get_line(atline->l_dline, genbuf);
+ atchar += tchar;
+ linecopy(genbuf, atchar, save);
+ atline->l_dline = putline(genbuf);
+--- jove4.16.0.70-orig/io.c
++++ jove4.16.0.70/io.c
+@@ -1347,9 +1347,9 @@
+
+ void
+ #ifdef USE_PROTOTYPES
+-getline proto((daddr addr, register char *buf))
++get_line proto((daddr addr, register char *buf))
+ #else
+-getline(addr, buf)
++get_line(addr, buf)
+ daddr addr;
+ register char *buf;
+ #endif
+--- jove4.16.0.70-orig/io.h
++++ jove4.16.0.70/io.h
+@@ -40,7 +40,7 @@
+ close_file proto((File *fp)),
+ d_cache_init proto((void)),
+ file_write proto((char *fname, bool app)),
+- getline proto((daddr addr, char *buf)),
++ get_line proto((daddr addr, char *buf)),
+ lsave proto((void)),
+ putreg proto((File *fp,LinePtr line1,int char1,LinePtr line2,int char2,bool makesure)),
+ read_file proto((char *file, bool is_insert)),
+--- jove4.16.0.70-orig/recover.c
++++ jove4.16.0.70/recover.c
+@@ -165,7 +165,7 @@
+ private char *getblock proto((daddr atl));
+
+ void
+-getline(tl, buf)
++get_line(tl, buf)
+ daddr tl;
+ char *buf;
+ {
+@@ -580,7 +580,7 @@
+ Nchars = Nlines = 0L;
+ while (--nlines >= 0) {
+ addr = getaddr(ptrs_fp);
+- getline(addr, buf);
++ get_line(addr, buf);
+ Nlines += 1;
+ Nchars += 1 + strlen(buf);
+ fputs(buf, out);
+--- jove4.16.0.70-orig/util.c
++++ jove4.16.0.70/util.c
+@@ -280,7 +280,7 @@
+ strcpy(buf, linebuf);
+ Jr_Len = strlen(linebuf);
+ } else
+- getline(line->l_dline, buf);
++ get_line(line->l_dline, buf);
+ return buf;
+ }
+
+--- jove4.16.0.70-orig/util.h
++++ jove4.16.0.70/util.h
+@@ -18,7 +18,7 @@
+ #define eobp() (lastp(curline) && eolp())
+ #define eolp() (linebuf[curchar] == '\0')
+ #define firstp(line) ((line) == curbuf->b_first)
+-#define getDOT() getline(curline->l_dline, linebuf)
++#define getDOT() get_line(curline->l_dline, linebuf)
+ #define lastp(line) ((line) == curbuf->b_last)
+
+ extern UnivPtr
diff --git a/app-editors/jove/files/jove-4.16.0.73-build.patch b/app-editors/jove/files/jove-4.16.0.73-build.patch
new file mode 100644
index 000000000000..105d163d32be
--- /dev/null
+++ b/app-editors/jove/files/jove-4.16.0.73-build.patch
@@ -0,0 +1,188 @@
+Originally based on Debian patch jove_4.16.0.70-3.1.diff.gz
+
+--- jove4.16.0.73-orig/doc/jove.rc
++++ jove4.16.0.73/doc/jove.rc
+@@ -74,6 +74,6 @@
+ 1 source jove.rc.$TERM
+
+ # source local custom rc file, if present
+-1 source jove-local.rc
++1 source /etc/jove/jove-local.rc
+
+ popd
+--- jove4.16.0.73-orig/jove.c
++++ jove4.16.0.73/jove.c
+@@ -1576,7 +1576,7 @@
+ char Joverc[FILESIZE];
+
+ if (dosys) {
+- PathCat(Joverc, sizeof(Joverc), ShareDir, "jove.rc");
++ PathCat(Joverc, sizeof(Joverc), CONFIGDIR, "jove.rc");
+ (void) joverc(Joverc); /* system wide jove.rc */
+ }
+
+--- jove4.16.0.73-orig/Makefile
++++ jove4.16.0.73/Makefile
+@@ -21,13 +21,14 @@
+ # If they don't exist, this makefile will try to create the directories
+ # LIBDIR and SHAREDIR. All others must already exist.
+
+-JOVEHOME = /usr/local
+-SHAREDIR = $(JOVEHOME)/lib/jove
++JOVEHOME = ${DESTDIR}/usr
++SHAREDIR = $(JOVEHOME)/share/jove
+ LIBDIR = $(JOVEHOME)/lib/jove
+ BINDIR = $(JOVEHOME)/bin
+ XEXT=
+-MANDIR = $(JOVEHOME)/man/man$(MANEXT)
++MANDIR = $(JOVEHOME)/share/man/man$(MANEXT)
+ MANEXT = 1
++CONFIGDIR=${DESTDIR}/etc/jove
+
+ # TMPDIR is where the tmp files get stored, usually /tmp, /var/tmp, or
+ # /usr/tmp. If you wish to be able to recover buffers after a system
+@@ -38,11 +39,11 @@
+ # (in case the system startup salvages tempfiles by moving them,
+ # which is probably a good idea).
+
+-TMPDIR = /tmp
+-RECDIR = /var/preserve
++TMPDIR = /var/tmp
++RECDIR = ${DESTDIR}/var/lib/jove/preserve
+
+ # DFLTSHELL is the default shell invoked by JOVE and TEACHJOVE.
+-DFLTSHELL = /bin/csh
++DFLTSHELL = /bin/sh
+
+ # The install commands of BSD and System V differ in unpleasant ways:
+ # -c: copy (BSD); -c dir: destination directory (SysV)
+@@ -56,15 +57,18 @@
+ INSTALLFLAGS = # -g bin -o root
+
+ # to install executable files
+-XINSTALL=cp
++XINSTALL=install -m 755
+ #XINSTALL=/usr/ucb/install $(INSTALLFLAGS) -c -m 755 # -s
+ #CYGWIN32: XINSTALL=install $(INSTALLFLAGS) -c -m 755
+
+ # to install text files
+-TINSTALL=cp
++TINSTALL=install -m 644
+ #TINSTALL=/usr/ucb/install $(INSTALLFLAGS) -c -m 644
+ #CYGWIN32: TINSTALL=install $(INSTALLFLAGS) -c -m 644
+
++# to install directories
++DINSTALL=install -d 755
++
+ # These should all just be right if the above ones are.
+ # You will confuse JOVE if you move anything from LIBDIR or SHAREDIR.
+
+@@ -72,7 +76,7 @@
+ TEACHJOVE = $(BINDIR)/teachjove$(XEXT)
+ RECOVER = $(LIBDIR)/recover$(XEXT)
+ PORTSRV = $(LIBDIR)/portsrv$(XEXT)
+-JOVERC = $(SHAREDIR)/jove.rc
++JOVERC = $(CONFIGDIR)/jove.rc
+ TERMSDIR = $(SHAREDIR)
+ CMDS.DOC = $(SHAREDIR)/cmds.doc
+ TEACH-JOVE = $(SHAREDIR)/teach-jove
+@@ -160,7 +164,7 @@
+ # SCO UNIX: TERMCAPLIB = -lcurses
+ # AIX on the R6000s: TERMCAPLIB = -lcurses -ltermcap -ls
+
+-TERMCAPLIB = -ltermcap
++TERMCAPLIB = -lncurses
+
+ # Extra libraries flags needed by oddball systems.
+ # Modern BSD systems using openpty need its library.
+@@ -181,7 +185,7 @@
+ # PDP-11 with separate I&D: -i
+ # PDP-11 without separate I&D: -n
+
+-LDFLAGS =
++#LDFLAGS =
+
+ # for SCO Xenix, set
+ # MEMFLAGS = -Mle
+@@ -236,7 +240,8 @@
+ TROFF = troff -Tpost
+ TROFFPOST = | /usr/lib/lp/postscript/dpost -
+
+-MANUALS = $(JOVEM) $(TEACHJOVEM) $(XJOVEM) $(JOVETOOLM)
++MANUALS = $(JOVEM) $(TEACHJOVEM)
++# $(XJOVEM) $(JOVETOOLM)
+
+ C_SRC = commands.c commands.tab abbrev.c argcount.c ask.c buf.c c.c case.c jctype.c \
+ delete.c disp.c extend.c fp.c fmt.c insert.c io.c iproc.c \
+@@ -283,8 +288,7 @@
+ # all: default target.
+ # Builds everything that "install" needs.
+ all: jjove$(XEXT) recover$(XEXT) teachjove$(XEXT) portsrv$(XEXT) \
+- doc/cmds.doc doc/jove.$(MANEXT) doc/teachjove.$(MANEXT) \
+- doc/jovetool.$(MANEXT)
++ doc/cmds.doc doc/jove.$(MANEXT) doc/teachjove.$(MANEXT)
+
+ jjove$(XEXT): $(OBJECTS)
+ $(LDCC) $(LDFLAGS) $(OPTFLAGS) -o jjove$(XEXT) $(OBJECTS) $(TERMCAPLIB) $(EXTRALIBS)
+@@ -341,6 +345,7 @@
+ @echo \#define LIBDIR \"$(LIBDIR)\" >> paths.h
+ @echo \#define SHAREDIR \"$(SHAREDIR)\" >> paths.h
+ @echo \#define DFLTSHELL \"$(DFLTSHELL)\" >> paths.h
++ @echo \#define CONFIGDIR \"$(CONFIGDIR)\" >> paths.h
+
+ makexjove:
+ ( cd xjove ; make CC="$(CC)" OPTFLAGS="$(OPTFLAGS)" SYSDEFS="$(SYSDEFS)" $(TOOLMAKEEXTRAS) xjove )
+@@ -358,18 +363,31 @@
+ # Thus, if "all" is done first, "install" can be invoked with
+ # JOVEHOME pointing at a playpen where files are to be marshalled.
+ # This property is fragile.
+-install: $(LIBDIR) $(SHAREDIR) \
++install: $(BINDIR) $(LIBDIR) $(SHAREDIR) $(CONFIGDIR) $(RECDIR) \
+ $(TEACH-JOVE) $(CMDS.DOC) $(TERMSDIR)docs \
+ $(PORTSRVINST) $(RECOVER) $(JOVE) $(TEACHJOVE) $(MANUALS)
+- $(TINSTALL) doc/jove.rc $(JOVERC)
++ $(TINSTALL) doc/jove.rc $(CONFIGDIR)
+ @echo See the README about changes to /etc/rc or /etc/rc.local
+ @echo so that the system recovers jove files on reboot after a crash
+
++$(BINDIR)::
++ $(DINSTALL) $(BINDIR)
++
+ $(LIBDIR)::
+- test -d $(LIBDIR) || mkdir -p $(LIBDIR)
++ $(DINSTALL) $(LIBDIR)
+
+ $(SHAREDIR)::
+- test -d $(SHAREDIR) || mkdir -p $(SHAREDIR)
++ $(DINSTALL) $(SHAREDIR)
++
++$(CONFIGDIR)::
++ $(DINSTALL) $(CONFIGDIR)
++
++$(RECDIR)::
++ $(DINSTALL) $(RECDIR)
++ chmod 1777 $(RECDIR)
++
++$(MANDIR)::
++ $(DINSTALL) $(MANDIR)
+
+ $(TEACH-JOVE): doc/teach-jove
+ $(TINSTALL) doc/teach-jove $(TEACH-JOVE)
+@@ -410,7 +428,7 @@
+ -e 's;<SHAREDIR>;$(SHAREDIR);' \
+ -e 's;<SHELL>;$(DFLTSHELL);' doc/jove.nr > doc/jove.$(MANEXT)
+
+-$(JOVEM): doc/jove.$(MANEXT)
++$(JOVEM): $(MANDIR) doc/jove.$(MANEXT)
+ $(TINSTALL) doc/jove.$(MANEXT) $(JOVEM)
+
+ # doc/jove.doc is the formatted manpage (only needed by DOS)
+@@ -427,7 +445,7 @@
+ -e 's;<SHAREDIR>;$(SHAREDIR);' \
+ -e 's;<SHELL>;$(DFLTSHELL);' doc/teachjove.nr > doc/teachjove.$(MANEXT)
+
+-$(TEACHJOVEM): doc/teachjove.$(MANEXT)
++$(TEACHJOVEM): $(MANDIR) doc/teachjove.$(MANEXT)
+ $(TINSTALL) doc/teachjove.$(MANEXT) $(TEACHJOVEM)
+
+ $(XJOVEM): doc/xjove.nr
diff --git a/app-editors/jove/files/jove-4.16.0.73-doc.patch b/app-editors/jove/files/jove-4.16.0.73-doc.patch
new file mode 100644
index 000000000000..d62add543af6
--- /dev/null
+++ b/app-editors/jove/files/jove-4.16.0.73-doc.patch
@@ -0,0 +1,34 @@
+Originally based on Debian patch jove_4.16.0.70-3.1.diff.gz
+
+--- jove4.16.0.73-orig/doc/intro.nr
++++ jove4.16.0.73/doc/intro.nr
+@@ -56,9 +56,8 @@
+ ..
+ .
+ .\" Change the extra vertical spacing around .DS/.DE
+-.\" Does not work with groff's version of MS (GS is 1 iff groff MS)
+-.if !\n(GS .if n .nr DD 0v
+-.if !\n(GS .if t .nr DD \n(PD/2u
++.if n .nr DD 0v
++.if t .nr DD \n(PD/2u
+ .
+ .nr LL 6.5i
+ .nr LT 6.5i
+@@ -152,7 +151,7 @@
+ }
+
+ _
+-\fBJOVE\ (C OvrWt)\ \ \ [Main:1]\ \ "hello.c"\ \ \(**\ \ /home/foo\fP <\ the Mode Line
++\fBJOVE\ (C OvrWt)\ \ \ [Main:1]\ \ "hello.c"\ \ \(**\ \ /home/foo\ \ \ \ 15:23\fP <\ the Mode Line
+ _
+ : write-file (default hello.c) aloha.c\^\(sq <\ the Message Line
+ =
+@@ -1978,7 +1977,7 @@
+ \ \ \ \ return 0; <\ second Window
+ }\^\(sq
+ _
+-\fBJOVE\ (C OvrWt)\ \ \ [Main:1]\ \ "aloha.c"\ \ \-\-\ \ /home/foo\fP <\ the Mode Line
++\fBJOVE\ (C OvrWt)\ \ \ [Main:1]\ \ "aloha.c"\ \ \-\-\ \ /home/foo\ \ \ \ 15:28\fP <\ the Mode Line
+ _
+ [Point pushed] <\ the Message Line
+ =
diff --git a/app-editors/jove/files/jove-4.16.0.73-sendmail.patch b/app-editors/jove/files/jove-4.16.0.73-sendmail.patch
new file mode 100644
index 000000000000..072dd1f843ce
--- /dev/null
+++ b/app-editors/jove/files/jove-4.16.0.73-sendmail.patch
@@ -0,0 +1,19 @@
+--- jove4.16.0.73-orig/recover.c
++++ jove4.16.0.73/recover.c
+@@ -776,7 +776,7 @@
+
+ last_update = ctime(&(rec->UpdTime));
+ /* Start up mail */
+- sprintf(mail_cmd, "/bin/mail %s", pw->pw_name);
++ sprintf(mail_cmd, "/usr/sbin/sendmail -t %s", pw->pw_name);
+ setuid(getuid());
+ if ((mail_pipe = popen(mail_cmd, "w")) == NULL)
+ return;
+@@ -784,6 +784,7 @@
+ setbuf(mail_pipe, mail_cmd);
+ /* Let's be grammatically correct! */
+ buf_string = rec->Nbuffers == 1? "buffer" : "buffers";
++ fprintf(mail_pipe, "To: %s\n", pw->pw_name);
+ fprintf(mail_pipe, "Subject: Jove saved %d %s after \"%s\" crashed\n",
+ rec->Nbuffers, buf_string, hname());
+ fprintf(mail_pipe, " \n");
diff --git a/app-editors/jove/jove-4.16.0.73.ebuild b/app-editors/jove/jove-4.16.0.73.ebuild
new file mode 100644
index 000000000000..d3d1fcbad232
--- /dev/null
+++ b/app-editors/jove/jove-4.16.0.73.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Jonathan's Own Version of Emacs - a light emacs-like editor without LISP bindings"
+HOMEPAGE="ftp://ftp.cs.toronto.edu/cs/ftp/pub/hugh/jove-dev/"
+SRC_URI="ftp://ftp.cs.toronto.edu/cs/ftp/pub/hugh/jove-dev/${PN}${PV}.tgz"
+
+LICENSE="JOVE"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="doc"
+
+RDEPEND="sys-libs/ncurses"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}${PV}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-4.16.0.70.3.1-getline.patch"
+ epatch "${FILESDIR}/${P}-build.patch"
+ epatch "${FILESDIR}/${P}-sendmail.patch"
+ epatch "${FILESDIR}/${P}-doc.patch"
+}
+
+src_compile() {
+ tc-export CC
+
+ emake OPTFLAGS="${CFLAGS}" \
+ SYSDEFS="-DSYSVR4 -D_XOPEN_SOURCE=500" \
+ TERMCAPLIB="$("$(tc-getPKG_CONFIG)" --libs ncurses)"
+
+ if use doc; then
+ # Full manual (*not* man page)
+ emake doc/jove.man
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ keepdir /var/lib/jove/preserve
+
+ dodoc README
+ if use doc; then
+ dodoc doc/jove.man
+ fi
+}
diff --git a/app-editors/jove/metadata.xml b/app-editors/jove/metadata.xml
new file mode 100644
index 000000000000..5c7a37a88b60
--- /dev/null
+++ b/app-editors/jove/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>emacs</herd>
+<longdescription>
+ Jove is a compact, powerful, Emacs-style text-editor. It provides the common
+ emacs keyboard bindings, together with a reasonable assortment of the most
+ popular advanced features (e.g., interactive shell windows, compile-it,
+ language specific modes) while weighing in with CPU, memory, and disk
+ requirements comparable to vi.
+</longdescription>
+</pkgmetadata>
diff --git a/app-editors/juffed/Manifest b/app-editors/juffed/Manifest
new file mode 100644
index 000000000000..7a99c7f300e1
--- /dev/null
+++ b/app-editors/juffed/Manifest
@@ -0,0 +1 @@
+DIST juffed-0.10-1054.tar.bz2 1657118 SHA256 ac58d32acaf9d60e4758e9ae05b1a6b7fc0cb7ecd3b207db769dbb9c747be16c SHA512 023e9fca1f02fdb39645bd41700c7481fe8d6ae08ec62b0bf5ba58f627eb6872f96d27f05eae4bc92d90fd204dd0c30f868c858de873ab6511ac21748254b47c WHIRLPOOL ceb9e0dc9100dd5f2578abc14fff336adf664726d8e347f9832ffc4942c36e6e28aaff931fd528e6f572bcb29e4027ee486a82ee93d216d0751b5d8aa4233f6c
diff --git a/app-editors/juffed/files/0.10-link-libjuff-against-libenca.patch b/app-editors/juffed/files/0.10-link-libjuff-against-libenca.patch
new file mode 100644
index 000000000000..5bd3882309ae
--- /dev/null
+++ b/app-editors/juffed/files/0.10-link-libjuff-against-libenca.patch
@@ -0,0 +1,24 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ccad5d1..304c0aa 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -190,6 +190,9 @@ add_library ( ${JUFFLIB} SHARED
+ target_link_libraries ( ${JUFFLIB}
+ ${QT_LIBRARIES}
+ )
++if (ENCA_FOUND)
++ target_link_libraries( ${JUFFLIB} ${ENCA_LIBRARIES} )
++endif (ENCA_FOUND)
+
+ add_library ( ${QSCI_ENGINE} SHARED
+ ${juffed_qsci_SRCS}
+@@ -277,9 +280,6 @@ target_link_libraries ( ${JUFFED}
+ ${QT_LIBRARIES}
+ ${QT_QTNETWORK_LIBRARY}
+ )
+-if (ENCA_FOUND)
+- target_link_libraries( ${JUFFED} ${ENCA_LIBRARIES} )
+-endif (ENCA_FOUND)
+
+ if ( UNIX )
+ set(CMAKE_CXX_FLAGS "-Wall -Werror -Wextra")
diff --git a/app-editors/juffed/juffed-0.10.ebuild b/app-editors/juffed/juffed-0.10.ebuild
new file mode 100644
index 000000000000..068d98c47087
--- /dev/null
+++ b/app-editors/juffed/juffed-0.10.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="QScintilla-based tabbed text editor with syntax highlighting"
+HOMEPAGE="http://juffed.com/"
+SRC_URI="mirror://sourceforge/${PN}/${P}-1054.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86"
+IUSE="debug"
+
+RDEPEND="
+ app-i18n/enca
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtsingleapplication[qt4(+),X]
+ x11-libs/qscintilla:=
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( ChangeLog README )
+
+PATCHES=(
+ # bug 540554
+ "${FILESDIR}/0.10-link-libjuff-against-libenca.patch"
+)
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ sed -i -e '/set(CMAKE_CXX_FLAGS/d' CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_SYSTEM_QTSINGLEAPPLICATION=ON
+ )
+ cmake-utils_src_configure
+}
diff --git a/app-editors/juffed/metadata.xml b/app-editors/juffed/metadata.xml
new file mode 100644
index 000000000000..ac2cf167fb14
--- /dev/null
+++ b/app-editors/juffed/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>qt</herd>
+ <upstream>
+ <remote-id type="sourceforge">juffed</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/jupp/Manifest b/app-editors/jupp/Manifest
new file mode 100644
index 000000000000..864564c1ba6f
--- /dev/null
+++ b/app-editors/jupp/Manifest
@@ -0,0 +1,4 @@
+DIST joe-3.1jupp23.tgz 446234 SHA256 7f8b2e76ebb39544f5bbca2e4f7463f2afb685bc11f16603163acc3e8af0bae1 SHA512 df90b25013211407ab6476492c483d4707315629730b2bf891ad9d1b5dcd007eec1cc69872d8f2f08c7a1b4940a7284e5bd45d5839fbf9bd5878c96a9538b770 WHIRLPOOL f6fef8af3376017a3637dedfbcec0fef112e16f1a48aeef96ed35afeb8e7b983b393eaf598103e3139ad5b2c9592c61775f81425f2a109bc41d3ea99bdb1a7f3
+DIST joe-3.1jupp24.tgz 446572 SHA256 3bd25ad5c9364ce0ff33ec346ec34cbeff990e5d2be35960d68d79910f98cf55 SHA512 5f15e0339a087a947cb52e62ee4b12e1e101dd8459acfeb4a6eba6cb701149902c33df4a8903d6b96dc01264c4c7d2910be4a7ca37d54a15f327f16afeb5fa51 WHIRLPOOL 2d652d517d8b9a7c0999f245876781e50e0cfb42afa54963ff31ae92c0824b35e7117a39b5addf9600daeb9d2fe197a706e0cd5d2d488bdce6a9f070f69d3e31
+DIST joe-3.1jupp26.tgz 446563 SHA256 99985d6f0db5cc59ba45b30291ce6c3ef9626637f0cca039b2e03484cf5dda42 SHA512 478f5489534d109fa2ac0c5f6ae783cfdb1a8ac6df9d67bb09e11708e9a578bd1a5306916c33b98447c29b551aec593f6defa8a5a2ea70acb35c8f72da8dbbc3 WHIRLPOOL b2f743375f4f8c8484f1fa5a6d724989b7a8e393c892c773bb4b39d538e4433b43623415919e87fb808a3c3e5e0ef9782251f0c9cddc1c295018349e40968161
+DIST joe-3.1jupp27.tgz 455759 SHA256 80374fbd69c4b827ba33761c669dfcddab7222755bfb858600528bb8d6b98e6f SHA512 9f7b86275ed69151e79c2b8bea4e6e0b4fbaa4093646dbd894824d8cbe5a57ead385c5f37b102bd2647f14f5426791c8d8d9fab12b8951fd27a0be79ca72c96c WHIRLPOOL 617c390957aa0ef48a65d174123155c525a62c654c530bdda7cc54f3e05151200e8768d79d537cdf51154ce6d5827d2d73555e20d19f63b74c8af123f0410bfb
diff --git a/app-editors/jupp/jupp-3.1_p23.ebuild b/app-editors/jupp/jupp-3.1_p23.ebuild
new file mode 100644
index 000000000000..c72e5e33260b
--- /dev/null
+++ b/app-editors/jupp/jupp-3.1_p23.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="portable version of JOE's Own Editor"
+HOMEPAGE="https://www.mirbsd.org/jupp.htm"
+SRC_URI="https://www.mirbsd.org/MirOS/dist/${PN}/joe-${PV/_p/${PN}}.tgz"
+
+LICENSE="GPL-1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="ncurses"
+
+RDEPEND="ncurses? ( sys-libs/ncurses )
+ !app-editors/joe"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ chmod +x configure
+}
+
+src_configure() {
+ econf \
+ --enable-search_libs \
+ --enable-termcap \
+ $(use_enable ncurses curses)
+}
+
+src_install() {
+ default
+ dodoc HINTS INFO LIST
+}
diff --git a/app-editors/jupp/jupp-3.1_p24.ebuild b/app-editors/jupp/jupp-3.1_p24.ebuild
new file mode 100644
index 000000000000..939dbd89d599
--- /dev/null
+++ b/app-editors/jupp/jupp-3.1_p24.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="portable version of JOE's Own Editor"
+HOMEPAGE="https://www.mirbsd.org/jupp.htm"
+SRC_URI="https://www.mirbsd.org/MirOS/dist/${PN}/joe-${PV/_p/${PN}}.tgz"
+
+LICENSE="GPL-1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ncurses"
+
+RDEPEND="ncurses? ( sys-libs/ncurses )
+ !app-editors/joe"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ chmod +x configure
+}
+
+src_configure() {
+ econf \
+ --enable-search_libs \
+ --enable-termcap \
+ $(use_enable ncurses curses)
+}
+
+src_install() {
+ default
+ dodoc HINTS INFO LIST
+}
diff --git a/app-editors/jupp/jupp-3.1_p26.ebuild b/app-editors/jupp/jupp-3.1_p26.ebuild
new file mode 100644
index 000000000000..939dbd89d599
--- /dev/null
+++ b/app-editors/jupp/jupp-3.1_p26.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="portable version of JOE's Own Editor"
+HOMEPAGE="https://www.mirbsd.org/jupp.htm"
+SRC_URI="https://www.mirbsd.org/MirOS/dist/${PN}/joe-${PV/_p/${PN}}.tgz"
+
+LICENSE="GPL-1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ncurses"
+
+RDEPEND="ncurses? ( sys-libs/ncurses )
+ !app-editors/joe"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ chmod +x configure
+}
+
+src_configure() {
+ econf \
+ --enable-search_libs \
+ --enable-termcap \
+ $(use_enable ncurses curses)
+}
+
+src_install() {
+ default
+ dodoc HINTS INFO LIST
+}
diff --git a/app-editors/jupp/jupp-3.1_p27.ebuild b/app-editors/jupp/jupp-3.1_p27.ebuild
new file mode 100644
index 000000000000..b14c6b8edbba
--- /dev/null
+++ b/app-editors/jupp/jupp-3.1_p27.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="portable version of JOE's Own Editor"
+HOMEPAGE="https://www.mirbsd.org/jupp.htm"
+SRC_URI="https://www.mirbsd.org/MirOS/dist/${PN}/joe-${PV/_p/${PN}}.tgz"
+
+LICENSE="GPL-1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ncurses"
+
+RDEPEND="ncurses? ( sys-libs/ncurses )
+ !app-editors/joe"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ chmod +x configure
+}
+
+src_configure() {
+ econf \
+ --enable-search_libs \
+ --enable-termcap \
+ $(use_enable ncurses curses)
+}
+
+src_install() {
+ default
+ dodoc HINTS INFO LIST
+}
diff --git a/app-editors/jupp/metadata.xml b/app-editors/jupp/metadata.xml
new file mode 100644
index 000000000000..5b80fb94c393
--- /dev/null
+++ b/app-editors/jupp/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>
+<email>xmw@gentoo.org</email>
+<name>Michael Weber</name>
+</maintainer>
+</pkgmetadata>
diff --git a/app-editors/kile/Manifest b/app-editors/kile/Manifest
new file mode 100644
index 000000000000..6e062fc04396
--- /dev/null
+++ b/app-editors/kile/Manifest
@@ -0,0 +1 @@
+DIST kile-2.1.3.tar.bz2 4911212 SHA256 a063ec4fca1ba5a063ffdcdb538967af35ade01d71fa7db6ea691ba2cf88cea2 SHA512 820cb5e2579f243ce87409aa4d483a58b0a2cf1d86bff72dd12264570bfe72e7819c88aa4333080f8281e54e8315e2c11f961b41f13a6215913dfa4f7bd3feda WHIRLPOOL 1bc56ad82c72807fcf93ffeb4dbd4222a7660c00e852378a9007c7aa4a96a5130497ca23815a74c92f631fcb261dbf35f7d5453e849f6fb82c9f3c802058ab31
diff --git a/app-editors/kile/kile-2.1.3-r1.ebuild b/app-editors/kile/kile-2.1.3-r1.ebuild
new file mode 100644
index 000000000000..e6f2e9ee83bb
--- /dev/null
+++ b/app-editors/kile/kile-2.1.3-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+KDE_DOC_DIRS="doc"
+KDE_HANDBOOK="optional"
+MY_P=${P/_beta/b}
+inherit kde4-base
+
+DESCRIPTION="A Latex Editor and TeX shell for KDE"
+HOMEPAGE="http://kile.sourceforge.net/"
+[[ ${PV} != *9999* ]] && SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2"
+
+LICENSE="FDL-1.2 GPL-2"
+KEYWORDS="amd64 ~ppc x86"
+SLOT="4"
+IUSE="debug +pdf +png"
+
+DEPEND="
+ x11-misc/shared-mime-info
+"
+RDEPEND="${DEPEND}
+ $(add_kdeapps_dep kdebase-data)
+ $(add_kdeapps_dep konsole)
+ || (
+ $(add_kdeapps_dep okular 'pdf?,postscript')
+ app-text/acroread
+ )
+ virtual/latex-base
+ virtual/tex-base
+ pdf? (
+ || (
+ app-text/dvipdfmx
+ >=app-text/texlive-core-2014
+ )
+ app-text/ghostscript-gpl
+ )
+ png? (
+ app-text/dvipng
+ media-gfx/imagemagick[png]
+ )
+"
+
+S=${WORKDIR}/${MY_P}
+
+DOCS=( kile-remote-control.txt )
+
+src_prepare() {
+ kde4-base_src_prepare
+
+ # I know upstream wants to help us but it doesn't work..
+ sed -e '/INSTALL( FILES AUTHORS/s/^/#DISABLED /' \
+ -i CMakeLists.txt || die
+
+ [[ ${PV} != *9999* ]] && { use handbook || rm -fr doc ; }
+}
diff --git a/app-editors/kile/metadata.xml b/app-editors/kile/metadata.xml
new file mode 100644
index 000000000000..184766816831
--- /dev/null
+++ b/app-editors/kile/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>kde</herd>
+ <herd>tex</herd>
+ <upstream>
+ <remote-id type="sourceforge">kile</remote-id>
+ <bugs-to>https://bugs.kde.org/</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/latexila/Manifest b/app-editors/latexila/Manifest
new file mode 100644
index 000000000000..637ae354f647
--- /dev/null
+++ b/app-editors/latexila/Manifest
@@ -0,0 +1,2 @@
+DIST latexila-3.14.4.tar.xz 1139644 SHA256 8e087040260a6eb777382c55fd3d1260f1686453052ccdf1a5b9e0e4178c4d62 SHA512 88b3f2c8d931e49370614021f69e0711b3e78b1e49ad99601ea70f570c551b4f89558fdc3f5abaf68adba4e819a542ba3159c830b134c7e9679fbeffe8f3934d WHIRLPOOL 2d2925470e2fd27fa79b553ec8e1e9442c7817df36a907c47ace3b6b33d58977ae571aec6cc3f787e6de98c679f355592add59e3bf2e04d7090d75d8aae17068
+DIST latexila-3.16.1.tar.xz 1059308 SHA256 ab2d769546e10c86670e86271024c023c0a87f1b72856955c1883416a9f333f0 SHA512 b6854a301006c04c6f87cc3e9d5fc167ac7b3e0c7ac11fdce3dd6a0dca74d69b3ec51130feb8a8af505b50f6f85cb0684f7102bf5cc976fe1f845dd604863314 WHIRLPOOL 30ce694b1ddb5d71932679d31fb890aca0afc71634d6cdf744faddd792f47589c7593c43b6476b932002d70f74f4c738cef38f38fc6caa0452b1e13b205c57cc
diff --git a/app-editors/latexila/latexila-3.14.4.ebuild b/app-editors/latexila/latexila-3.14.4.ebuild
new file mode 100644
index 000000000000..485b38dcefd0
--- /dev/null
+++ b/app-editors/latexila/latexila-3.14.4.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+VALA_MIN_API_VERSION="0.26"
+
+inherit gnome2 vala
+
+DESCRIPTION="Integrated LaTeX environment for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Apps/LaTeXila"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+latexmk rubber"
+
+COMMON_DEPEND="
+ app-text/enchant
+ >=app-text/gtkspell-3.0.4:3
+ >=dev-libs/glib-2.40:2[dbus]
+ >=dev-libs/libgee-0.10:0.8=
+ gnome-base/gsettings-desktop-schemas
+ >=x11-libs/gtk+-3.14:3
+ >=x11-libs/gtksourceview-3.14.3:3.0
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libX11
+ x11-libs/pango
+ $(vala_depend)
+"
+RDEPEND="${COMMON_DEPEND}
+ virtual/latex-base
+ x11-themes/hicolor-icon-theme
+ latexmk? ( dev-tex/latexmk )
+ rubber? ( dev-tex/rubber )
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-util/intltool-0.50.1
+ dev-util/itstool
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ DOCS="AUTHORS HACKING NEWS README"
+ gnome2_src_prepare
+ vala_src_prepare
+}
diff --git a/app-editors/latexila/latexila-3.16.1.ebuild b/app-editors/latexila/latexila-3.16.1.ebuild
new file mode 100644
index 000000000000..ec405657d66e
--- /dev/null
+++ b/app-editors/latexila/latexila-3.16.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+VALA_MIN_API_VERSION="0.26"
+VALA_USE_DEPEND="vapigen"
+
+inherit gnome2 vala
+
+DESCRIPTION="Integrated LaTeX environment for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Apps/LaTeXila"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+introspection +latexmk rubber"
+
+COMMON_DEPEND="$(vala_depend)
+ app-text/enchant
+ >=app-text/gtkspell-3.0.4:3
+ >=dev-libs/glib-2.40:2[dbus]
+ >=dev-libs/libgee-0.10:0.8=
+ gnome-base/gsettings-desktop-schemas
+ >=x11-libs/gtk+-3.14:3
+ >=x11-libs/gtksourceview-3.16:3.0
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libX11
+ x11-libs/pango
+ introspection? ( >=dev-libs/gobject-introspection-1.30.0:= )
+"
+RDEPEND="${COMMON_DEPEND}
+ virtual/latex-base
+ x11-themes/hicolor-icon-theme
+ latexmk? ( dev-tex/latexmk )
+ rubber? ( dev-tex/rubber )
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-util/gtk-doc-am-1.14
+ >=dev-util/intltool-0.50.1
+ dev-util/itstool
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ DOCS="AUTHORS HACKING NEWS README"
+ gnome2_src_prepare
+ vala_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ $(use_enable introspection)
+}
diff --git a/app-editors/latexila/metadata.xml b/app-editors/latexila/metadata.xml
new file mode 100644
index 000000000000..bba9d6cb634f
--- /dev/null
+++ b/app-editors/latexila/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<use>
+ <flag name="latexmk">Install <pkg>dev-tex/latexmk</pkg> (used by default
+ for the build tools)</flag>
+ <flag name="rubber">Install <pkg>dev-tex/rubber</pkg> (can be used for the
+ build tools)</flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/le/Manifest b/app-editors/le/Manifest
new file mode 100644
index 000000000000..b55fc3de09aa
--- /dev/null
+++ b/app-editors/le/Manifest
@@ -0,0 +1 @@
+DIST le-1.14.3.tar.lzma 392205 SHA256 dae1222168f388f0aa264bb2849df50ce0a51f565257327409adf5076c6b4379 SHA512 5f09680ba365d80a71dcb09975d2347c0dcb725b8db6c08588fadd82a3a844bd370c3de597b644c57ecfed1c4557d22544a6e9aee6323b1e43f6d8c423843339 WHIRLPOOL 2cee978d8eadea0d213e514318f3ce780d037ce1059503441ad625e09033f2149579496d6effe9508a5059b7c0c10976970c641c0177b2918e8607ce05b2e960
diff --git a/app-editors/le/le-1.14.3.ebuild b/app-editors/le/le-1.14.3.ebuild
new file mode 100644
index 000000000000..e168400f2593
--- /dev/null
+++ b/app-editors/le/le-1.14.3.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="Terminal text editor"
+HOMEPAGE="http://www.gnu.org/directory/text/editors/le-editor.html"
+SRC_URI="ftp://ftp.yars.free.net/pub/source/le/le-${PV}.tar.lzma"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND=">=sys-libs/ncurses-5.2-r5"
+DEPEND="${RDEPEND}
+ app-arch/xz-utils"
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc ChangeLog FEATURES HISTORY INSTALL NEWS README TODO
+}
diff --git a/app-editors/le/metadata.xml b/app-editors/le/metadata.xml
new file mode 100644
index 000000000000..d9cd2cad66c2
--- /dev/null
+++ b/app-editors/le/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/app-editors/leafpad/Manifest b/app-editors/leafpad/Manifest
new file mode 100644
index 000000000000..1a3c54cc6622
--- /dev/null
+++ b/app-editors/leafpad/Manifest
@@ -0,0 +1 @@
+DIST leafpad-0.8.18.1.tar.gz 289117 SHA256 959d22ae07f22803bc66ff40d373a854532a6e4732680bf8a96a3fbcb9f80a2c SHA512 1caad712967f634f585ab32e406534b5ce2c5621008c1eb5b2b48f17ca0f48cd834ea2ea1c67eda4053fa84e8727ff0e708e99d3b5dad838dcf0701389788257 WHIRLPOOL a279cd431483595439fe79b3d842573d42c33b81d3d3a022ed2a54e490e508c1ad7f39c80467ec0175312de381680274c7c4b3c30a6300b739ffc47ab8da8cdd
diff --git a/app-editors/leafpad/files/leafpad-0.8.18.1-fdo.patch b/app-editors/leafpad/files/leafpad-0.8.18.1-fdo.patch
new file mode 100644
index 000000000000..f978275ce399
--- /dev/null
+++ b/app-editors/leafpad/files/leafpad-0.8.18.1-fdo.patch
@@ -0,0 +1,21 @@
+desktop-file-validate:
+
+leafpad.desktop: error: value "text/plain" for string list key "MimeType" in group "Desktop Entry"
+does not have a semicolon (';') as trailing character
+
+leafpad.desktop: warning: key "Encoding" in group "Desktop Entry" is deprecated
+
+--- data/leafpad.desktop.in
++++ data/leafpad.desktop.in
+@@ -1,10 +1,9 @@
+ [Desktop Entry]
+-Encoding=UTF-8
+ _Name=Leafpad
+ _Comment=Simple text editor
+ Exec=leafpad %f
+ Icon=leafpad
+ Terminal=false
+ Type=Application
+-MimeType=text/plain
++MimeType=text/plain;
+ Categories=GTK;Utility;TextEditor;
diff --git a/app-editors/leafpad/files/leafpad-0.8.18.1-format-security.patch b/app-editors/leafpad/files/leafpad-0.8.18.1-format-security.patch
new file mode 100644
index 000000000000..07f1e2ee111d
--- /dev/null
+++ b/app-editors/leafpad/files/leafpad-0.8.18.1-format-security.patch
@@ -0,0 +1,30 @@
+- dialog.c:39:3: error: format not a string literal and no format arguments [-Werror=format-security]
+
+--- src/dialog.c
++++ src/dialog.c
+@@ -36,6 +36,7 @@
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ type,
+ GTK_BUTTONS_NONE,
++ "%s",
+ str);
+ gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE);
+ gtk_dialog_add_buttons(GTK_DIALOG(dialog),
+@@ -61,6 +62,7 @@
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_QUESTION,
+ GTK_BUTTONS_NONE,
++ "%s",
+ str);
+ gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE);
+ gtk_dialog_add_buttons(GTK_DIALOG(dialog),
+--- src/gtkprint.c
++++ src/gtkprint.c
+@@ -165,6 +165,7 @@
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_NONE,
++ "%s",
+ message);
+ gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE);
+ gtk_dialog_add_buttons(GTK_DIALOG(dialog),
diff --git a/app-editors/leafpad/leafpad-0.8.18.1.ebuild b/app-editors/leafpad/leafpad-0.8.18.1.ebuild
new file mode 100644
index 000000000000..a2a995e6a2f1
--- /dev/null
+++ b/app-editors/leafpad/leafpad-0.8.18.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils fdo-mime gnome2-utils
+
+DESCRIPTION="A simple GTK2 text editor"
+HOMEPAGE="http://tarot.freeshell.org/leafpad/"
+SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86 ~x86-interix ~amd64-linux ~x86-linux"
+IUSE="emacs"
+
+RDEPEND="virtual/libintl
+ x11-libs/gtk+:2"
+DEPEND="${RDEPEND}
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+DOCS="AUTHORS ChangeLog NEWS README"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-fdo.patch \
+ "${FILESDIR}"/${P}-format-security.patch
+}
+
+src_configure() {
+ econf \
+ --enable-chooser \
+ --enable-print \
+ $(use_enable emacs)
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+ gnome2_icon_cache_update
+}
diff --git a/app-editors/leafpad/metadata.xml b/app-editors/leafpad/metadata.xml
new file mode 100644
index 000000000000..f7204cc3c2ff
--- /dev/null
+++ b/app-editors/leafpad/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>tristan@gentoo.org</email>
+ <name>Tristan Heaven</name>
+ </maintainer>
+ <use>
+ <flag name="emacs">Enable Emacs key theme</flag>
+ </use>
+</pkgmetadata>
diff --git a/app-editors/leo/Manifest b/app-editors/leo/Manifest
new file mode 100644
index 000000000000..6bc13108f74e
--- /dev/null
+++ b/app-editors/leo/Manifest
@@ -0,0 +1,3 @@
+DIST Leo-4.11-final.zip 7282503 SHA256 eb1fd0e07533db4886fd7962a7d7431244b75239fd161395859e20a7e0f6ba62 SHA512 01bd8e433d25d16d3a824fb917da1f974a3a06fa19f25c0686031e03af62bad281fc10a62ac95ef463b0cc0acdb8c566f25b434a28dd12469cc489f4fc60e526 WHIRLPOOL 64c2d229c2a2ad6887739ee94de98c89f09d5fb1f2246fc446b4bb52496d52e412bcdf258fbbe12b85ed17372c2bd4272c246da65234114087fee02d27c7ac2b
+DIST Leo-5.0-final.zip 8628999 SHA256 5635ac753b011a43a3096e5dc18e2d5c6e9f628a40c0ba628c789bccb10928d1 SHA512 771b00857143ea6de48bc0f1ace5c4518265462c8720a5b52868cf0490f4de7f4d987fd939141e00bf0c7abaddf1cb4b18a6186151739f6ec2024fd50d564c6e WHIRLPOOL b9cc3c22dcc4da204a00cdd2eec48f3e001cd5e4ba20e730f4bef0aadbc4e6c6f03521e1e04bc313b8f29479f1e839dbaac322af8b32a99bb46304677f135db1
+DIST Leo-5.1-final.zip 9028778 SHA256 2d742f9825959ba5c7624d1179b9f3065e14e055c90272fbce199f91770de826 SHA512 a8e1d42c0b7c8f6aa4465295515ef19965a03142997a1b65304fd72a2c541248b7dba66d7be295465fd6dbdd7fcd5c6e6542d222edb71ddcab093c0c360340b1 WHIRLPOOL b1a5bb5ba2a2a6c8afe3339a0097d0dadd01e7c18b3270784f69eb608691808bc99cf887be1079340f797b9659cd00ba2d372d3e37bf62b28774ed571a743301
diff --git a/app-editors/leo/leo-4.11.ebuild b/app-editors/leo/leo-4.11.ebuild
new file mode 100644
index 000000000000..c096d5f55a8f
--- /dev/null
+++ b/app-editors/leo/leo-4.11.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2:2.6"
+PYTHON_USE_WITH="tk"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="2.4 2.5 3.* *-pypy-* *-jython"
+
+inherit distutils eutils
+
+MY_P="Leo-${PV}-final"
+
+DESCRIPTION="Leo: Literate Editor with Outlines"
+HOMEPAGE="http://leo.sourceforge.net/ http://pypi.python.org/pypi/leo"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND="app-text/silvercity
+ dev-python/PyQt4[X]"
+
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+S="${WORKDIR}/${MY_P}"
+
+src_install() {
+ distutils_src_install
+ dohtml -r leo/doc/html/* || die "dohtml failed"
+}
diff --git a/app-editors/leo/leo-5.0.ebuild b/app-editors/leo/leo-5.0.ebuild
new file mode 100644
index 000000000000..a7e9881f7c67
--- /dev/null
+++ b/app-editors/leo/leo-5.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# Not py3 prepared
+# https://bugs.launchpad.net/leo-editor/+bug/1399895
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQUIRED_USE="tk"
+
+inherit distutils-r1
+
+MY_P="Leo-${PV}-final"
+MY_PN="Leo${PV}-final"
+
+DESCRIPTION="Leo: Literate Editor with Outlines"
+HOMEPAGE="https://github.com/leo-editor/leo-editor/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc"
+
+RDEPEND="app-text/silvercity[${PYTHON_USEDEP}]
+ dev-python/PyQt4[X,${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+S="${WORKDIR}/${MY_PN}"
+
+python_install_all() {
+ use doc && local HTML_DOCS=( leo/doc/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/app-editors/leo/leo-5.1.ebuild b/app-editors/leo/leo-5.1.ebuild
new file mode 100644
index 000000000000..719f3f565160
--- /dev/null
+++ b/app-editors/leo/leo-5.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# Not py3 prepared
+# https://bugs.launchpad.net/leo-editor/+bug/1399895
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQUIRED_USE="tk"
+
+inherit distutils-r1
+
+MY_P="Leo-${PV}-final"
+
+DESCRIPTION="Leo: Literate Editor with Outlines"
+HOMEPAGE="https://github.com/leo-editor/leo-editor/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ppc ~x86"
+IUSE="doc"
+
+RDEPEND="app-text/silvercity[${PYTHON_USEDEP}]
+ dev-python/PyQt4[X,${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+S="${WORKDIR}/${MY_P}"
+
+python_install_all() {
+ use doc && local HTML_DOCS=( leo/doc/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/app-editors/leo/metadata.xml b/app-editors/leo/metadata.xml
new file mode 100644
index 000000000000..31615d44deee
--- /dev/null
+++ b/app-editors/leo/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">leo-editor/leo-editor</remote-id>
+ <remote-id type="sourceforge">leo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/levee/Manifest b/app-editors/levee/Manifest
new file mode 100644
index 000000000000..25101099b142
--- /dev/null
+++ b/app-editors/levee/Manifest
@@ -0,0 +1 @@
+DIST levee-3.5a.tar.gz 67733 SHA256 eff1c937b1079c68725c26375969a8b51109b170bc1aba9529b989e32f7b34c8 SHA512 e95b4fc6370903dda07aff0a612c7f34425ab0b854d05a08f42b7e339d1a86a436316d31f3667748943e2ce2e68be7f2369e4a3b36c0715b00d31b8ab50cdaf1 WHIRLPOOL 44346342540da79f0a6bfde0e9a289ae4b1d8e64d04865dd9156fa2c1fc4d1edc6b4ff2578b2c4f98ec684bc9471947bd26230fc437c09d660ec52d10ed5fdf4
diff --git a/app-editors/levee/files/levee-3.4o-darwin.patch b/app-editors/levee/files/levee-3.4o-darwin.patch
new file mode 100644
index 000000000000..9481b1a3ade9
--- /dev/null
+++ b/app-editors/levee/files/levee-3.4o-darwin.patch
@@ -0,0 +1,16 @@
+--- unixcall.c.orig 2007-03-18 17:46:05 +0100
++++ unixcall.c 2007-03-18 17:51:13 +0100
+@@ -77,6 +77,13 @@
+ static int ioset = 0;
+ static struct termios old;
+
++#if defined(__MACH__)
++# define TCGETS TIOCGETA
++# define TCSETS TIOCSETA
++# define TCGETA TIOCGETA
++# define TCSETAF TIOCSETAF
++#endif
++
+ void
+ initcon()
+ {
diff --git a/app-editors/levee/files/levee-3.5-glibc210.patch b/app-editors/levee/files/levee-3.5-glibc210.patch
new file mode 100644
index 000000000000..51cc829cda25
--- /dev/null
+++ b/app-editors/levee/files/levee-3.5-glibc210.patch
@@ -0,0 +1,80 @@
+diff -NrU5 levee-3.5.original/editcor.c levee-3.5/editcor.c
+--- levee-3.5.original/editcor.c 2009-07-21 22:58:18.000000000 +0000
++++ levee-3.5/editcor.c 2009-07-21 23:07:21.000000000 +0000
+@@ -183,11 +183,11 @@
+
+ strcpy(scratch, "/tmp/lv.XXXXXX");
+
+ clrprompt();
+ printch('!');
+- if ( !getline(instring) )
++ if ( !get_line(instring) )
+ return FALSE;
+
+ if ( (tf = mkstemp(scratch)) < 0 ) {
+ prints("[tempfile error]");
+ return FALSE;
+diff -NrU5 levee-3.5.original/extern.h levee-3.5/extern.h
+--- levee-3.5.original/extern.h 2009-07-21 22:58:18.000000000 +0000
++++ levee-3.5/extern.h 2009-07-21 23:02:39.000000000 +0000
+@@ -195,11 +195,11 @@
+ extern exec_type PROC editcore();
+
+ extern char PROC line(), peekc(), readchar();
+ extern char PROC *findparse(),*makepat();
+
+-extern bool PROC getline();
++extern bool PROC get_line();
+ extern bool PROC putfile();
+ extern bool PROC doyank(), deletion(), putback();
+ extern bool PROC pushb(),pushi(),pushmem(),uputcmd(), delete_to_undo();
+ extern bool PROC ok_to_scroll(), move_to_undo();
+
+diff -NrU5 levee-3.5.original/main.c levee-3.5/main.c
+--- levee-3.5.original/main.c 2009-07-21 22:58:18.000000000 +0000
++++ levee-3.5/main.c 2009-07-21 23:09:52.000000000 +0000
+@@ -251,11 +251,11 @@
+ println();
+
+ mode=emode;
+ do {
+ prompt(FALSE,":");
+- if (getline(instring))
++ if (get_line(instring))
+ exec(instring, &mode, &noquit);
+ indirect = FALSE;
+ if (mode == E_VISUAL && zotscreen && noquit) { /*ask for more*/
+ prints(" [more]");
+ if ((ch=peekc()) == 13 || ch == ' ' || ch == ':')
+diff -NrU5 levee-3.5.original/misc.c levee-3.5/misc.c
+--- levee-3.5.original/misc.c 2009-07-21 22:58:18.000000000 +0000
++++ levee-3.5/misc.c 2009-07-21 23:09:10.000000000 +0000
+@@ -19,11 +19,11 @@
+ */
+ #include "levee.h"
+ #include "extern.h"
+
+ bool PROC
+-getline(str)
++get_line(str)
+ char *str;
+ {
+ int len;
+ char flag;
+
+diff -NrU5 levee-3.5.original/move.c levee-3.5/move.c
+--- levee-3.5.original/move.c 2009-07-21 22:58:18.000000000 +0000
++++ levee-3.5/move.c 2009-07-21 23:10:26.000000000 +0000
+@@ -158,11 +158,11 @@
+ case FSEARCH:
+ case BSEARCH:
+ clrprompt();
+ if (cmd == PATT_FWD || cmd == PATT_BACK) {
+ printch(tsearch = instring[0] = chars[cmd-PATT_FWD]);
+- if (!getline(&instring[1]))
++ if (!get_line(&instring[1]))
+ return ESCAPED; /* needs to skip later tests */
+ }
+ else {
+ if (!lsearch)
+ return BADMOVE;
diff --git a/app-editors/levee/files/levee-3.5a-QA.patch b/app-editors/levee/files/levee-3.5a-QA.patch
new file mode 100644
index 000000000000..7e37c76b34ac
--- /dev/null
+++ b/app-editors/levee/files/levee-3.5a-QA.patch
@@ -0,0 +1,16 @@
+diff -NrU5 levee-3.5a.original/configure.inc levee-3.5a/configure.inc
+--- levee-3.5a.original/configure.inc 2009-08-12 19:51:26.000000000 +0000
++++ levee-3.5a/configure.inc 2009-08-12 20:13:41.000000000 +0000
+@@ -1074,11 +1074,11 @@
+ else
+ PROG_INSTALL="$DEST"
+ fi
+
+ AC_SUB 'INSTALL' "$PROG_INSTALL"
+- AC_SUB 'INSTALL_PROGRAM' "$PROG_INSTALL -s -m 755"
++ AC_SUB 'INSTALL_PROGRAM' "$PROG_INSTALL -m 755"
+ AC_SUB 'INSTALL_DATA' "$PROG_INSTALL -m 444"
+
+ # finally build a little directory installer
+ # if mkdir -p works, use that, otherwise use install -d,
+ # otherwise build a script to do it by hand.
diff --git a/app-editors/levee/levee-3.5a.ebuild b/app-editors/levee/levee-3.5a.ebuild
new file mode 100644
index 000000000000..28f27644e20d
--- /dev/null
+++ b/app-editors/levee/levee-3.5a.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit toolchain-funcs eutils
+
+DESCRIPTION="Really tiny vi clone, for things like rescue disks"
+HOMEPAGE="http://www.pell.chi.il.us/~orc/Code/"
+SRC_URI="http://www.pell.chi.il.us/~orc/Code/levee/${P}.tar.gz"
+
+LICENSE="levee"
+SLOT="0"
+KEYWORDS="amd64 ppc sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="!app-text/lv
+ sys-libs/ncurses"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-3.4o-darwin.patch
+ epatch "${FILESDIR}"/${P}-QA.patch
+ epatch "${FILESDIR}"/${PN}-3.5-glibc210.patch
+}
+
+src_configure() {
+ export AC_CPP_PROG=$(tc-getCPP)
+ export AC_PATH=${PATH}
+ export AC_LIBDIR="$($(tc-getPKG_CONFIG) --libs ncurses)"
+ ./configure.sh --prefix="${PREFIX}"/usr || die "configure failed"
+}
+
+src_compile() {
+ emake CFLAGS="${CFLAGS} -Wall -Wextra ${LDFLAGS}" CC=$(tc-getCC)
+}
+
+src_install() {
+ emake PREFIX="${D}${EPREFIX}" install
+}
diff --git a/app-editors/levee/metadata.xml b/app-editors/levee/metadata.xml
new file mode 100644
index 000000000000..d9cd2cad66c2
--- /dev/null
+++ b/app-editors/levee/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/app-editors/lfhex/Manifest b/app-editors/lfhex/Manifest
new file mode 100644
index 000000000000..38da762892b1
--- /dev/null
+++ b/app-editors/lfhex/Manifest
@@ -0,0 +1 @@
+DIST lfhex-0.42.tar.gz 868287 SHA256 4e8f8b99eb271242937037a3af2fe07369b653f7f7d8becbd84554118bf8baba SHA512 5b0d61f732b4b3a0ff2d73ae3ea551af78047a2edd45916d6ad61fb6d89c18faa4e28ed321e51e034519635c3310ce7b0b67fb809ed67d6c37cb252b78696c88 WHIRLPOOL 720e812edb8d33968d7c89ccaf85096b80dd377743819111c436ce5315d36e070ac37727d4422bb982cf0f6aba69e41335a58a76b1e4d5f143a0948feb26aba5
diff --git a/app-editors/lfhex/files/01-abs-llabs.dpatch b/app-editors/lfhex/files/01-abs-llabs.dpatch
new file mode 100644
index 000000000000..74ffcbce7299
--- /dev/null
+++ b/app-editors/lfhex/files/01-abs-llabs.dpatch
@@ -0,0 +1,19 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 01-abs-llabs.dpatch by Thiemo Seufer
+##
+## DP: Fixes FTBFS due to abs() not being in the global anymore since g++ 4.3
+## (#495467)
+
+diff -up lfhex-0.42.orig/src/reader.cpp lfhex-0.42/src/reader.cpp
+--- lfhex-0.42.orig/src/reader.cpp 2008-10-08 19:25:57.000000000 +0200
++++ lfhex-0.42/src/reader.cpp 2008-10-08 19:26:16.000000000 +0200
+@@ -238,7 +238,7 @@ bool Reader::loadPage(off_t pageIdx)
+ // free the page which is the furthest away from the page we are loading
+
+ // this could be trouble if off_t is unsigned!
+- if( abs(_firstPage - pageIdx) > abs(_lastPage - pageIdx) )
++ if( ::llabs(_firstPage - pageIdx) > ::llabs(_lastPage - pageIdx) )
+ while(!freePage(_firstPage++));
+ else
+ while(!freePage(_lastPage--));
+
diff --git a/app-editors/lfhex/files/02-gcc-4.7.dpatch b/app-editors/lfhex/files/02-gcc-4.7.dpatch
new file mode 100644
index 000000000000..0d58072d9574
--- /dev/null
+++ b/app-editors/lfhex/files/02-gcc-4.7.dpatch
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 02-gcc-4.7.dpatch by gregor herrmann <gregoa@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: add missing include to avoid FTBFS with gcc 4.7
+## DP: Bug-Debian: http://bugs.debian.org/667238
+
+@DPATCH@
+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' lfhex-0.42~/src/expr.h lfhex-0.42/src/expr.h
+--- lfhex-0.42~/src/expr.h 2008-09-19 02:36:49.000000000 +0200
++++ lfhex-0.42/src/expr.h 2012-05-07 17:03:22.788794002 +0200
+@@ -19,6 +19,7 @@
+ */
+
+ #include <string>
++#include <sys/types.h>
+
+ bool expr_eval( const std::string &str, off_t &value );
+
diff --git a/app-editors/lfhex/lfhex-0.42.ebuild b/app-editors/lfhex/lfhex-0.42.ebuild
new file mode 100644
index 000000000000..0c18872bcdeb
--- /dev/null
+++ b/app-editors/lfhex/lfhex-0.42.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils qt4-r2
+
+DESCRIPTION="A fast, efficient hex-editor with support for large files and comparing binary files"
+HOMEPAGE="http://stoopidsimple.com/lfhex"
+SRC_URI="http://stoopidsimple.com/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND="dev-qt/qtgui:4
+ x11-libs/libXt"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ sys-devel/bison"
+
+S=${WORKDIR}/${P}/src
+
+src_prepare() {
+ # Apply Debian patches to fix compilation errors like gcc-4.7 compat
+ epatch "${FILESDIR}"/*.dpatch
+}
+
+src_configure() {
+ eqmake4
+}
+
+src_install() {
+ dobin lfhex
+ dodoc ../README
+ make_desktop_entry "${PN}" "${PN}"
+}
diff --git a/app-editors/lfhex/metadata.xml b/app-editors/lfhex/metadata.xml
new file mode 100644
index 000000000000..a40624fba8f0
--- /dev/null
+++ b/app-editors/lfhex/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/app-editors/lpe/Manifest b/app-editors/lpe/Manifest
new file mode 100644
index 000000000000..ce44a2747e8e
--- /dev/null
+++ b/app-editors/lpe/Manifest
@@ -0,0 +1 @@
+DIST lpe_1.2.6.13-0.1.tar.gz 600523 SHA256 7828147e8b8bcf518e6d7f2241b480fe3bbaa1285d3c7c74b8c7160222d76816 SHA512 f02769baca396285fe8f98c934f6274185d2bf8b08f3b007cbfa4e6aadb455abfb7cab13d53a3d1fa71ea0c29c4222784dcbc9a7508501c7d1839671503758ed WHIRLPOOL 885c1eaace95a47a78017a3ccf04c6cb053e14978f153270608175a6d3c5e0332d95556a0cafeb9f41abcaf36fe77acd36bf9ebf618bfbfe92de711cbf2262cc
diff --git a/app-editors/lpe/files/lpe-1.2.6.13-make-382.patch b/app-editors/lpe/files/lpe-1.2.6.13-make-382.patch
new file mode 100644
index 000000000000..f8d96ef087e9
--- /dev/null
+++ b/app-editors/lpe/files/lpe-1.2.6.13-make-382.patch
@@ -0,0 +1,23 @@
+http://bugs.gentoo.org/335324
+
+--- intl/Makefile.in
++++ intl/Makefile.in
+@@ -202,12 +202,12 @@
+ # The dependency for intlh.inst is different in gettext and all other
+ # packages. Because we cannot you GNU make features we have to solve
+ # the problem while rewriting Makefile.in.
+-@GT_YES@intlh.inst: intlh.inst.in ../config.status
+-@GT_YES@ cd .. \
+-@GT_YES@ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= \
+-@GT_YES@ $(SHELL) ./config.status
+-@GT_NO@.PHONY: intlh.inst
+-@GT_NO@intlh.inst:
++intlh.inst: intlh.inst.in ../config.status
++ cd .. \
++ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= \
++ $(SHELL) ./config.status
++.PHONY: intlh.inst
++intlh.inst:
+
+ # Tell versions [3.59,3.63) of GNU make not to export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/app-editors/lpe/lpe-1.2.6.13.ebuild b/app-editors/lpe/lpe-1.2.6.13.ebuild
new file mode 100644
index 000000000000..914b1cb8b9ff
--- /dev/null
+++ b/app-editors/lpe/lpe-1.2.6.13.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="a lightweight programmers editor"
+HOMEPAGE="http://packages.qa.debian.org/l/lpe.html"
+SRC_URI="mirror://debian/pool/main/l/${PN}/${PN}_${PV}-0.1.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc sparc x86 ~x86-linux"
+IUSE="nls"
+
+RDEPEND=">=sys-libs/slang-2.2.4
+ >=sys-libs/ncurses-5.7-r7"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-make-382.patch
+
+ # You should add PKG_CHECK_MODULES(NCURSES, ncurses) to configure.in and
+ # replace -lncurses in src/Makefile.am with $(NCURSES_LIBS)
+ # That is, if you need eautoreconf
+ sed -i \
+ -e "s:-lncurses:$($(tc-getPKG_CONFIG) --libs-only-l ncurses):" \
+ src/Makefile.in || die
+}
+
+src_configure() {
+ econf $(use_enable nls)
+}
+
+src_install() {
+ emake \
+ libdir="${ED}/usr/$(get_libdir)" \
+ prefix="${ED}/usr" \
+ datadir="${ED}/usr/share" \
+ mandir="${ED}/usr/share/man" \
+ infodir="${ED}/usr/share/info" \
+ docdir="${ED}/usr/share/doc/${PF}" \
+ exdir="${ED}/usr/share/doc/${PF}/examples" \
+ install
+
+ prune_libtool_files --all
+}
diff --git a/app-editors/lpe/metadata.xml b/app-editors/lpe/metadata.xml
new file mode 100644
index 000000000000..d9cd2cad66c2
--- /dev/null
+++ b/app-editors/lpe/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/app-editors/metadata.xml b/app-editors/metadata.xml
new file mode 100644
index 000000000000..195f8754aab5
--- /dev/null
+++ b/app-editors/metadata.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The app-editors category contains text editors.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie app-editors enthält Texteditoren.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría app-editors contiene editores de textos.
+ </longdescription>
+ <longdescription lang="ja">
+ app-editorsカテゴリにはテキストエディタが含まれます。
+ </longdescription>
+ <longdescription lang="nl">
+ De app-editors categorie bevat text editors.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm app-editors chứa các trình soạn thảo văn bản.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria app-editors contiene editor di testo.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria app-editors contém editores de texto.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria app-editors zawiera edytory tekstu.
+ </longdescription>
+</catmetadata>
+
diff --git a/app-editors/mg/Manifest b/app-editors/mg/Manifest
new file mode 100644
index 000000000000..3e7bfe22fa78
--- /dev/null
+++ b/app-editors/mg/Manifest
@@ -0,0 +1,3 @@
+DIST mg-20110905.tar.gz 138805 SHA256 1cd37d7e6a3eecc890a5718c38b8f38495057ba93856762a756ccee2f9618229 SHA512 b490a5a3526d35839353e138f33ac924c5afbbf7e5c9faa20ceccb82e1dc1e6a3f0726b32bac7d43dcf8a410b1b8525067da5557cf669c52a9e32d1d2f45a8a4 WHIRLPOOL 64dd179462a8c9e53946c756a4975ffd2e5bf1758a300fa699032542a6e2470f9ed03f9fe1a88ac441cf17ac20c2575f9b6c5c1c396c5a7915564fbedfb1c854
+DIST mg-20141127.tar.gz 143364 SHA256 33cccebca1cb129de5f26d74750d5a1654bd461e6ab0785703de9f16c19b0ba6 SHA512 97160f311b0409c70162dc80d72370e828db6181fa4bf11a045f01b7df8c272edeade5d6f3e2af7fa74f59152fe69130d5638b2c184974e59c4bb6fe27864d40 WHIRLPOOL 5591e36139e5da3329d9fa7f17b2e21987a8674c7c3c8edeb17bbd8c93879447374d70808af86d38de23f28f6e3b491def437b9135193abec02dc9eaae691b0b
+DIST mg-20150323.tar.gz 142105 SHA256 d71b24d47d3e1426f162e446d92dfa457df96dd47c1289419cba9fd14c2c3afb SHA512 747a04c203509cdbe84d9cea6c5be93585cdd5cb855b556ea5dee273a2923a4a68bee3f952cf92d584fcdd682049cb4442c21888304ba036851127174457351f WHIRLPOOL bdba74b62034a6613434fc3efea7b56fa1599b6059ab97dbd760b013be7dc50ab13dfcee3f5fb1f41f4c26c3f0146583680134d3809ec7977a14a28cb345c6db
diff --git a/app-editors/mg/metadata.xml b/app-editors/mg/metadata.xml
new file mode 100644
index 000000000000..41e5f9b7b110
--- /dev/null
+++ b/app-editors/mg/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>emacs</herd>
+<longdescription>
+ mg is Micro GNU/emacs, this is a portable version of the mg maintained by
+ the OpenBSD team.
+</longdescription>
+</pkgmetadata>
diff --git a/app-editors/mg/mg-20110905-r1.ebuild b/app-editors/mg/mg-20110905-r1.ebuild
new file mode 100644
index 000000000000..46d813d5ed40
--- /dev/null
+++ b/app-editors/mg/mg-20110905-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit toolchain-funcs
+
+DESCRIPTION="MicroGnuEmacs, a port from the BSDs"
+HOMEPAGE="http://homepage.boetes.org/software/mg/"
+SRC_URI="http://homepage.boetes.org/software/mg/${P}.tar.gz"
+
+LICENSE="public-domain ISC BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ppc ~ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="livecd"
+
+RDEPEND="sys-libs/ncurses"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ # remove OpenBSD specific easter egg
+ sed -i -e 's/theo\.o//' Makefile.in || die
+ sed -i -e '/theo_init/d' main.c || die
+}
+
+src_configure() {
+ # econf won't work, as this script does not accept any parameters
+ ./configure || die "configure failed"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ LIBS="$("$(tc-getPKG_CONFIG)" --libs ncurses)"
+}
+
+src_install() {
+ einstall
+ dodoc README tutorial
+}
+
+pkg_postinst() {
+ if use livecd; then
+ [[ -e ${EROOT}/usr/bin/emacs ]] || ln -s mg "${EROOT}"/usr/bin/emacs
+ fi
+}
diff --git a/app-editors/mg/mg-20141127.ebuild b/app-editors/mg/mg-20141127.ebuild
new file mode 100644
index 000000000000..d4e274817be2
--- /dev/null
+++ b/app-editors/mg/mg-20141127.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="MicroGnuEmacs, a port from the BSDs"
+HOMEPAGE="http://homepage.boetes.org/software/mg/"
+SRC_URI="http://homepage.boetes.org/software/mg/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ppc ~ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="livecd"
+
+RDEPEND="sys-libs/ncurses
+ !elibc_FreeBSD? ( >=dev-libs/libbsd-0.7.0 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch_user
+
+ # remove OpenBSD specific easter egg
+ sed -i -e 's/theo\.o//' GNUmakefile || die
+ sed -i -e '/theo_init/d' main.c || die
+
+ # fix path to tutorial in man page
+ sed -i -e "s:doc/mg/:doc/${PF}/:" mg.1 || die
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ CURSES_LIBS="$("$(tc-getPKG_CONFIG)" --libs ncurses)"
+}
+
+src_install() {
+ dobin mg
+ doman mg.1
+ dodoc README tutorial
+ # don't compress the tutorial, otherwise mg cannot open it
+ docompress -x /usr/share/doc/${PF}/tutorial
+}
+
+pkg_postinst() {
+ if use livecd; then
+ [[ -e ${EROOT}/usr/bin/emacs ]] || ln -s mg "${EROOT}"/usr/bin/emacs
+ fi
+}
diff --git a/app-editors/mg/mg-20150323.ebuild b/app-editors/mg/mg-20150323.ebuild
new file mode 100644
index 000000000000..905b7ac7b8d9
--- /dev/null
+++ b/app-editors/mg/mg-20150323.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="MicroGnuEmacs, a port from the BSDs"
+HOMEPAGE="http://homepage.boetes.org/software/mg/"
+SRC_URI="http://homepage.boetes.org/software/mg/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ppc ~ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="livecd"
+
+RDEPEND="sys-libs/ncurses
+ !elibc_FreeBSD? ( >=dev-libs/libbsd-0.7.0 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch_user
+
+ # remove OpenBSD specific easter egg
+ sed -i -e 's/theo\.o//' GNUmakefile || die
+ sed -i -e '/theo_init/d' main.c || die
+
+ # fix path to tutorial in man page
+ sed -i -e "s:doc/mg/:doc/${PF}/:" mg.1 || die
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ CURSES_LIBS="$("$(tc-getPKG_CONFIG)" --libs ncurses)"
+}
+
+src_install() {
+ dobin mg
+ doman mg.1
+ dodoc README tutorial
+ # don't compress the tutorial, otherwise mg cannot open it
+ docompress -x /usr/share/doc/${PF}/tutorial
+}
+
+pkg_postinst() {
+ if use livecd; then
+ [[ -e ${EROOT}/usr/bin/emacs ]] || ln -s mg "${EROOT}"/usr/bin/emacs
+ fi
+}
diff --git a/app-editors/mlview/Manifest b/app-editors/mlview/Manifest
new file mode 100644
index 000000000000..94d91e67e6f2
--- /dev/null
+++ b/app-editors/mlview/Manifest
@@ -0,0 +1 @@
+DIST mlview-0.9.0.tar.bz2 754148 SHA256 568ce3fefe83eb163b4fbd7d62954ec3cad3000e966cd9f7461c2c9a3edb4dca SHA512 646f375afa27d1e050f17ded2154af9667e51e345e3a66b4354fa1babe49a45f940114ee6c1106e04cab678ba68618aea0182872dab1c9628e2cabf3561521c7 WHIRLPOOL dc289552f057e977ae713b27a580fa8b552a275995cb9cf373989abf12dd18188945ce96c2080b8581a2addaeac2831b6a26721dc8203d42d20341d1ce60aacd
diff --git a/app-editors/mlview/files/mlview-0.9.0-desktop.patch b/app-editors/mlview/files/mlview-0.9.0-desktop.patch
new file mode 100644
index 000000000000..3906e6f30c4a
--- /dev/null
+++ b/app-editors/mlview/files/mlview-0.9.0-desktop.patch
@@ -0,0 +1,20 @@
+--- mlview.desktop.in
++++ mlview.desktop.in
+@@ -1,13 +1,10 @@
+ [Desktop Entry]
+-Version=0.9.4
+-Encoding=UTF-8
+ Type=Application
+ Name=MlView XML Editor
+ GenericName=MlView Generic XML Editor
+-Categories=Application;Development;
++Categories=Development;
+ Comment=A generic simple XML editor for GNOME
+-Icon=mlview-app-icon.xpm
+-TryExec=mlv
+-Exec=@MLVIEW_EXE@ %F
++Icon=mlview-app-icon
++TryExec=mlview
++Exec=mlview %F
+ Terminal=false
+-
diff --git a/app-editors/mlview/files/mlview-0.9.0-gcc44.patch b/app-editors/mlview/files/mlview-0.9.0-gcc44.patch
new file mode 100644
index 000000000000..b82398f726d7
--- /dev/null
+++ b/app-editors/mlview/files/mlview-0.9.0-gcc44.patch
@@ -0,0 +1,82 @@
+http://bugs.gentoo.org/311573
+
+--- src/mlview-tree-view.h
++++ src/mlview-tree-view.h
+@@ -178,7 +178,7 @@
+
+ enum MlViewStatus build_app_edit_menu () ;
+
+- GtkDialog * TreeView::get_expand_tree_dialog () ;
++ GtkDialog * get_expand_tree_dialog () ;
+
+ void clear_completion_popup_submenus () ;
+
+--- src/mlview-source-view.h
++++ src/mlview-source-view.h
+@@ -53,7 +53,7 @@
+
+ enum MlViewStatus set_default_options () ;
+
+- MlViewXMLDocument* SourceView::get_document () ;
++ MlViewXMLDocument* get_document () ;
+
+ GtkUIManager * get_ui_manager () ;
+
+--- src/mlview-validator.cc
++++ src/mlview-validator.cc
+@@ -25,6 +25,7 @@
+
+ #include "mlview-validator.h"
+ #include "mlview-safe-ptr-utils.h"
++#include <memory>
+
+ #define MESSAGE_LINE_LENGTH 55
+ namespace mlview
+--- src/mlview-plugin.h
++++ src/mlview-plugin.h
+@@ -46,12 +46,12 @@
+
+ //forbid assignation/copy
+ Plugin& operator= (Plugin const&) ;
+- Plugin::Plugin (Plugin const&) ;
++ Plugin (Plugin const&) ;
+
+ public:
+ Plugin (const PluginDescriptor &a_descr) ;
+
+- Plugin::Plugin (const UString &a_url) ;
++ Plugin (const UString &a_url) ;
+
+ virtual ~Plugin () ;
+
+--- src/mlview-editor.cc
++++ src/mlview-editor.cc
+@@ -157,7 +157,7 @@
+ contextual_menu (NULL)
+ {}
+
+- static void EditorPriv::schemas_window_destroy_cb
++ static void schemas_window_destroy_cb
+ (GtkWidget *a_widget, struct DocumentWindowData *a_win) ;
+
+ static void validation_window_destroy_cb
+@@ -406,17 +406,13 @@
+ gtk_dialog_run (GTK_DIALOG (dialog));
+
+
+- switch (button) {
+- case GTK_RESPONSE_OK:
++ if (button == GTK_RESPONSE_OK) {
+ sel_menu_item = gtk_menu_get_active(GTK_MENU(menu));
+
+ result = (ViewDescriptor *)g_object_get_data
+ (G_OBJECT(sel_menu_item), "mlview_view_desc");
+- break;
+-
+- default:
++ } else {
+ result = NULL ;
+- break;
+ }
+ gtk_widget_destroy (dialog);
+ return result;
diff --git a/app-editors/mlview/files/mlview-0.9.0-gcc45.patch b/app-editors/mlview/files/mlview-0.9.0-gcc45.patch
new file mode 100644
index 000000000000..55b922bcac04
--- /dev/null
+++ b/app-editors/mlview/files/mlview-0.9.0-gcc45.patch
@@ -0,0 +1,15 @@
+Fix building with gcc 4.5
+
+http://bugs.gentoo.org/show_bug.cgi?id=320377
+
+--- src/mlview-ustring.cc
++++ src/mlview-ustring.cc
+@@ -59,7 +59,7 @@
+ UString::~UString ()
+ {}
+
+-UString::UString&
++UString&
+ UString::operator= (const char *a_cstr)
+ {
+ if (!a_cstr)
diff --git a/app-editors/mlview/files/mlview-0.9.0-r1-10_port_to_gtksourceview2.patch b/app-editors/mlview/files/mlview-0.9.0-r1-10_port_to_gtksourceview2.patch
new file mode 100644
index 000000000000..0ce22957a478
--- /dev/null
+++ b/app-editors/mlview/files/mlview-0.9.0-r1-10_port_to_gtksourceview2.patch
@@ -0,0 +1,218 @@
+Downloaded from http://patch-tracker.debian.org/patch/series/view/mlview/0.9.0-2.2/10_port_to_gtksourceview2.patch
+
+diff -Nur -x '*.orig' -x '*~' mlview-0.9.0/configure.in mlview-0.9.0.new/configure.in
+--- mlview-0.9.0/configure.in 2005-08-07 09:42:07.000000000 +0200
++++ mlview-0.9.0.new/configure.in 2009-08-18 02:45:29.000000000 +0200
+@@ -29,7 +29,7 @@
+ LIBGNOME2_VERSION=2.4.1
+ GCONF2_VERSION=2.6.2
+ SEWFOX_VERSION=0.0.1
+-GTKSOURCEVIEW_VERSION=1.0
++GTKSOURCEVIEW_VERSION=2.0
+ VTE_VERSION=0.11.12
+ DBUS_VERSION=0.22
+ GTKMM2_VERSION=2.4.0
+@@ -306,7 +306,7 @@
+ dnl **********************
+ dnl libgtksourceview
+ dnl **********************
+-PKG_CHECK_MODULES(GTKSOURCEVIEW, gtksourceview-1.0 >= $GTKSOURCEVIEW_VERSION)
++PKG_CHECK_MODULES(GTKSOURCEVIEW, gtksourceview-2.0 >= $GTKSOURCEVIEW_VERSION)
+
+ dnl **********************
+ dnl vte
+diff -Nur -x '*.orig' -x '*~' mlview-0.9.0/src/mlview-source-view.cc mlview-0.9.0.new/src/mlview-source-view.cc
+--- mlview-0.9.0/src/mlview-source-view.cc 2005-08-07 09:42:28.000000000 +0200
++++ mlview-0.9.0.new/src/mlview-source-view.cc 2009-08-18 02:44:12.000000000 +0200
+@@ -25,9 +25,10 @@
+
+ #include <string.h>
+ #include <gtk/gtk.h>
++#include "config.h"
+ #include <gtksourceview/gtksourceview.h>
+ #include <gtksourceview/gtksourcelanguage.h>
+-#include <gtksourceview/gtksourcelanguagesmanager.h>
++#include <gtksourceview/gtksourcelanguagemanager.h>
+ #include <gtksourceview/gtksourcebuffer.h>
+ #include "mlview-safe-ptr-utils.h"
+ #include "mlview-source-view.h"
+@@ -36,6 +37,7 @@
+ #include "mlview-prefs.h"
+ #include "mlview-prefs-category-sourceview.h"
+
++
+ namespace mlview
+ {
+ struct SourceViewPriv
+@@ -48,7 +50,7 @@
+ SafePtr<GtkSourceView, GtkSourceViewRef, GtkSourceViewUnref> native_sv_ptr ;
+ SafePtr<Gtk::Widget, GtkWidgetMMRef, GtkWidgetMMUnref> native_sv_wrapper_ptr ;
+ /* The language manager, used by native_sv */
+- GtkSourceLanguagesManager *languages_manager ;
++ GtkSourceLanguageManager *languages_manager ;
+
+ GtkUIManager *ui_manager ;
+
+@@ -165,8 +167,8 @@
+ gtk_source_view_set_show_line_numbers (source_view,
+ m_prefs->show_line_numbers ());
+
+- gtk_source_view_set_tabs_width (source_view,
+- m_prefs->get_tabs_width ());
++ gtk_source_view_set_tab_width (source_view,
++ m_prefs->get_tabs_width ());
+
+ gtk_source_view_set_auto_indent (source_view,
+ m_prefs->auto_indent ());
+@@ -175,11 +177,11 @@
+ (source_view,
+ m_prefs->replace_tabs_with_spaces ());
+
+- gtk_source_view_set_show_margin (source_view,
+- m_prefs->show_margin ());
++ gtk_source_view_set_show_right_margin (source_view,
++ m_prefs->show_margin ());
+
+- gtk_source_view_set_margin (source_view,
+- m_prefs->get_margin_position ());
++ gtk_source_view_set_right_margin_position (source_view,
++ m_prefs->get_margin_position ());
+
+ const char* fontname = const_cast<char*> (
+ m_prefs->get_font_name ().c_str ());
+@@ -240,8 +242,8 @@
+ {
+ GtkSourceView *source_view = (GtkSourceView*)native_sv_ptr;
+
+- gtk_source_view_set_tabs_width (source_view,
+- m_prefs->get_tabs_width ());
++ gtk_source_view_set_tab_width (source_view,
++ m_prefs->get_tabs_width ());
+ }
+
+ void
+@@ -268,8 +270,8 @@
+ {
+ GtkSourceView *source_view = (GtkSourceView*)native_sv_ptr;
+
+- gtk_source_view_set_show_margin (source_view,
+- m_prefs->show_margin ());
++ gtk_source_view_set_show_right_margin (source_view,
++ m_prefs->show_margin ());
+ }
+
+ void
+@@ -277,8 +279,8 @@
+ {
+ GtkSourceView *source_view = (GtkSourceView*)native_sv_ptr;
+
+- gtk_source_view_set_margin (source_view,
+- m_prefs->get_margin_position ());
++ gtk_source_view_set_right_margin_position (source_view,
++ m_prefs->get_margin_position ());
+ }
+
+ void
+@@ -469,14 +471,13 @@
+ return false;
+ }
+
+-GtkSourceLanguagesManager *
++GtkSourceLanguageManager *
+ SourceView::get_languages_manager ()
+ {
+ THROW_IF_FAIL (m_priv) ;
+
+ if (!m_priv->languages_manager) {
+- m_priv->languages_manager =
+- gtk_source_languages_manager_new () ;
++ m_priv->languages_manager = gtk_source_language_manager_new () ;
+ THROW_IF_FAIL (m_priv->languages_manager) ;
+ }
+ return m_priv->languages_manager ;
+@@ -492,7 +493,7 @@
+ (gtk_text_view_get_buffer (GTK_TEXT_VIEW (m_priv->native_sv_ptr.get ()))) ;
+ THROW_IF_FAIL (source_buffer) ;
+
+- gtk_source_buffer_set_highlight (source_buffer, TRUE) ;
++ gtk_source_buffer_set_highlight_syntax (source_buffer, TRUE) ;
+ gtk_source_buffer_set_language (source_buffer, a_language) ;
+
+ return MLVIEW_OK ;
+@@ -501,22 +502,22 @@
+ enum MlViewStatus
+ SourceView::set_language_from_mime_type (const UString &a_mime_type)
+ {
+- GtkSourceLanguagesManager *lm = NULL ;
++ GtkSourceLanguageManager *lm = NULL ;
+ GtkSourceLanguage *language = NULL ;
+
+ THROW_IF_FAIL (m_priv) ;
+ lm = get_languages_manager () ;
+ THROW_IF_FAIL (lm) ;
+- language = gtk_source_languages_manager_get_language_from_mime_type
+- (lm, a_mime_type.c_str ()) ;
++ language = gtk_source_language_manager_guess_language
++ (lm, NULL, a_mime_type.c_str ()) ;
+ LOG_TO_ERROR_STREAM ("language associated to '"
+ << a_mime_type
+ <<"'mime type: "
+ << language) ;
+ if (!language) {
+ language =
+- gtk_source_languages_manager_get_language_from_mime_type
+- (lm,"text/xml") ;
++ gtk_source_language_manager_guess_language
++ (lm, NULL, "text/xml") ;
+ THROW_IF_FAIL (language) ;
+ LOG_TO_ERROR_STREAM ("falling back to the language associated to"
+ "mime type 'text/xml'") ;
+@@ -1305,7 +1306,7 @@
+ m_priv->show_line_numbers) ;
+
+ m_priv->tabs_width = 4 ;
+- gtk_source_view_set_tabs_width
++ gtk_source_view_set_tab_width
+ (m_priv->native_sv_ptr,
+ m_priv->tabs_width) ;
+
+@@ -1314,11 +1315,11 @@
+ m_priv->set_autoindent) ;
+
+ m_priv->set_show_margin = FALSE ;
+- gtk_source_view_set_show_margin (m_priv->native_sv_ptr,
+- m_priv->set_show_margin) ;
++ gtk_source_view_set_show_right_margin (m_priv->native_sv_ptr,
++ m_priv->set_show_margin) ;
+ m_priv->margin = 2 ;
+- gtk_source_view_set_margin (m_priv->native_sv_ptr,
+- m_priv->margin) ;
++ gtk_source_view_set_right_margin_position (m_priv->native_sv_ptr,
++ m_priv->margin) ;
+
+ set_default_language () ;
+
+diff -Nur -x '*.orig' -x '*~' mlview-0.9.0/src/mlview-source-view.h mlview-0.9.0.new/src/mlview-source-view.h
+--- mlview-0.9.0/src/mlview-source-view.h 2005-08-07 09:42:28.000000000 +0200
++++ mlview-0.9.0.new/src/mlview-source-view.h 2009-08-18 02:39:22.000000000 +0200
+@@ -25,9 +25,10 @@
+ #ifndef __MLVIEW_SOURCE_VIEW_H
+ #define __MLVIEW_SOURCE_VIEW_H
+
++#include "config.h"
+ #include <gtksourceview/gtksourceview.h>
+ #include <gtksourceview/gtksourcelanguage.h>
+-#include <gtksourceview/gtksourcelanguagesmanager.h>
++#include <gtksourceview/gtksourcelanguagemanager.h>
+ #include <gtksourceview/gtksourcebuffer.h>
+ #include "mlview-view-adapter.h"
+ #include "mlview-xml-document.h"
+@@ -112,7 +113,7 @@
+
+ enum MlViewStatus build_edit_menu_body (const UString &a_menu_root_path) ;
+
+- GtkSourceLanguagesManager * get_languages_manager () ;
++ GtkSourceLanguageManager * get_languages_manager () ;
+
+ enum MlViewStatus set_language (GtkSourceLanguage *a_language) ;
+
diff --git a/app-editors/mlview/files/mlview-0.9.0-r1-autoreconf.patch b/app-editors/mlview/files/mlview-0.9.0-r1-autoreconf.patch
new file mode 100644
index 000000000000..205a746c69d5
--- /dev/null
+++ b/app-editors/mlview/files/mlview-0.9.0-r1-autoreconf.patch
@@ -0,0 +1,25 @@
+--- mlview-0.9.0/configure.in
++++ mlview-0.9.0/configure.in
+@@ -77,11 +77,10 @@
+ MLVIEW_EXE=$prefix/bin/mlv
+ AC_SUBST(MLVIEW_VERSION_NUMBER)
+ AC_SUBST(MLVIEW_VERSION)
+-AC_SUBST(AC_PACKAGE_VERSION)
++AC_SUBST([AC_PACKAGE_VERSION])
+ AC_SUBST(LIBMLVIEW_VERSION_NUMBER)
+ AC_SUBST(LIBMLVIEW_VERSION_INFO)
+ AC_SUBST(LIBMLVIEW_VERSION)
+-AC_SUBST(AC_PACKAGE_VERSION)
+ AC_SUBST(MLVIEW_EXE)
+
+ dnl *********************
+--- mlview-0.9.0/pixmaps/Makefile.am
++++ mlview-0.9.0/pixmaps/Makefile.am
+@@ -4,7 +4,6 @@
+ xml-root.png \
+ xml-root-open.png \
+ xml-comment-node.png \
+- xml-text-node.png \
+ xml-pi-node.png \
+ xml-entity-ref-node.png \
+ mlview-xsd-schema.png \
diff --git a/app-editors/mlview/metadata.xml b/app-editors/mlview/metadata.xml
new file mode 100644
index 000000000000..23ee8a338f21
--- /dev/null
+++ b/app-editors/mlview/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+ </maintainer>
+ <longdescription>
+ The MlView project is an on going effort to develop an xml editor
+ for GNOME environment. It is written in C and uses the gnome
+ libraries (libxml2, gtk+, libgnome*, etc).
+ </longdescription>
+</pkgmetadata>
diff --git a/app-editors/mlview/mlview-0.9.0-r1.ebuild b/app-editors/mlview/mlview-0.9.0-r1.ebuild
new file mode 100644
index 000000000000..0e20ca1e158d
--- /dev/null
+++ b/app-editors/mlview/mlview-0.9.0-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+GCONF_DEBUG="no"
+GNOME_TARBALL_SUFFIX="bz2"
+
+inherit autotools eutils gnome2
+
+DESCRIPTION="XML editor for the GNOME environment"
+HOMEPAGE="http://www.nongnu.org/mlview/mlview-internals.html"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-interix ~amd64-linux ~x86-linux"
+IUSE="debug"
+
+RDEPEND="
+ >=dev-libs/libxml2-2.6.11:2
+ >=dev-libs/libxslt-1.1.8
+ >=dev-libs/glib-2.6:2
+ >=x11-libs/gtk+-2.6:2
+ >=dev-cpp/gtkmm-2.4:2.4
+ >=gnome-base/libglade-2.4:2.0
+ >=dev-cpp/libglademm-2.6:2.4
+ >=gnome-base/libgnome-2.8.1
+ >=gnome-base/gnome-vfs-2.6:2
+ >=gnome-base/libgnomeui-2.2
+ >=gnome-base/gconf-2.6.2:2
+ x11-libs/gtksourceview:2.0
+ >=x11-libs/vte-0.11.12:0
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ dev-util/intltool
+ sys-devel/gettext
+"
+
+src_prepare() {
+ DOCS="AUTHORS BRANCHES ChangeLog NEWS README"
+
+ # Fix tests
+ echo "ui/mlview-exec-command.glade" >> po/POTFILES.in || die
+ echo "ui/mlview-plugins-window.glade" >> po/POTFILES.in || die
+
+ epatch "${FILESDIR}"/${P}-desktop.patch
+ epatch "${FILESDIR}"/${P}-gcc44.patch
+ epatch "${FILESDIR}"/${P}-gcc45.patch
+ epatch "${FILESDIR}"/${PF}-10_port_to_gtksourceview2.patch
+ epatch "${FILESDIR}"/${PF}-autoreconf.patch
+
+ mkdir m4 || die
+ eautoreconf
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-static \
+ $(use_enable debug)
+}
diff --git a/app-editors/moe/Manifest b/app-editors/moe/Manifest
new file mode 100644
index 000000000000..018733f57453
--- /dev/null
+++ b/app-editors/moe/Manifest
@@ -0,0 +1,2 @@
+DIST moe-1.6.tar.lz 75108 SHA256 8cafd9c97b40ff002b4cb66f63eb149f5fd9b9b964c5b6306458d0a68f89dcb1 SHA512 0aa717c865d41f73adccddbb158ae67b611a64f24258bcce5a68fea8175d28d6db55a0fb356fb294bfe3106c0973607b1fcc76ceee17d360e30eb80650ec043b WHIRLPOOL b7e55d187185f9eccea731619f4a6c4816125b2514eec68a202d00c33efb687945f025ef45ad5c49af67719486283b35a5f4639f476f86be7c5f9d58580f31ae
+DIST moe-1.7.tar.lz 79644 SHA256 33ba66f948353c105232e9c8b2da8dc7b6ddc8cdff4beb3e3f55d78bc3acf1bb SHA512 e961291c55e5b2af09e3b5cb0d07b557b0af1f6143339390e5b06f4bdebace888f7c3866ec936bd20f25b23cc96fdfdb7bd3da6690e684ec24513b106ae53b49 WHIRLPOOL e909d66efc4a5cf7ed7d968e29ed7ed92b995fa0bdca38c4348396a1dae4b8e06968b012762f6bef3fbf0ec1dd736024ff466f649a47b9da67e67d97ae0e634c
diff --git a/app-editors/moe/files/moe-1.6-tinfo.patch b/app-editors/moe/files/moe-1.6-tinfo.patch
new file mode 100644
index 000000000000..6b91460e8e53
--- /dev/null
+++ b/app-editors/moe/files/moe-1.6-tinfo.patch
@@ -0,0 +1,11 @@
+--- Makefile.in.orig 2014-11-03 00:33:57.152593136 +0300
++++ Makefile.in 2014-11-03 00:34:21.121592519 +0300
+@@ -4,7 +4,7 @@
+ INSTALL_PROGRAM = $(INSTALL) -m 755
+ INSTALL_DATA = $(INSTALL) -m 644
+ INSTALL_DIR = $(INSTALL) -d -m 755
+-LIBS = -lncurses
++LIBS = $(shell ${PKG_CONFIG} --libs ncurses)
+ SHELL = /bin/sh
+
+ edobjs = basic_buffer.o block.o buffer.o buffer_handle.o \
diff --git a/app-editors/moe/metadata.xml b/app-editors/moe/metadata.xml
new file mode 100644
index 000000000000..1b9fb5b7d4b0
--- /dev/null
+++ b/app-editors/moe/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>zlogene@gentoo.org</email>
+ <name>Mikle Kolyada</name>
+ </maintainer>
+ <maintainer>
+ <email>pinkbyte@gentoo.org</email>
+ <name>Sergey Popov</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-editors/moe/moe-1.6.ebuild b/app-editors/moe/moe-1.6.ebuild
new file mode 100644
index 000000000000..b4ebcc801378
--- /dev/null
+++ b/app-editors/moe/moe-1.6.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs unpacker
+
+DESCRIPTION="A powerful and user-friendly console text editor"
+HOMEPAGE="http://www.gnu.org/software/moe/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.lz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 arm x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ sys-libs/ncurses
+"
+DEPEND="
+ $(unpacker_src_uri_depends)
+ ${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ tc-export CXX PKG_CONFIG
+ sed -i \
+ -e "/^CXXFLAGS=/d" \
+ -e "/^LDFLAGS=/d" \
+ -e "/^CXX=/d" \
+ configure || die "sed on configure failed"
+
+ epatch_user
+
+ epatch "${FILESDIR}/${P}-tinfo.patch"
+}
diff --git a/app-editors/moe/moe-1.7.ebuild b/app-editors/moe/moe-1.7.ebuild
new file mode 100644
index 000000000000..cbe5d767fd66
--- /dev/null
+++ b/app-editors/moe/moe-1.7.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs unpacker
+
+DESCRIPTION="A powerful and user-friendly console text editor"
+HOMEPAGE="http://www.gnu.org/software/moe/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.lz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ sys-libs/ncurses
+"
+DEPEND="
+ $(unpacker_src_uri_depends)
+ ${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ tc-export CXX PKG_CONFIG
+ sed -i \
+ -e "/^CXXFLAGS=/d" \
+ -e "/^LDFLAGS=/d" \
+ -e "/^CXX=/d" \
+ configure || die "sed on configure failed"
+
+ epatch_user
+
+ epatch "${FILESDIR}/${PN}-1.6-tinfo.patch"
+}
diff --git a/app-editors/mousepad/Manifest b/app-editors/mousepad/Manifest
new file mode 100644
index 000000000000..d069a48c3f9c
--- /dev/null
+++ b/app-editors/mousepad/Manifest
@@ -0,0 +1,2 @@
+DIST mousepad-0.3.0.tar.bz2 481125 SHA256 10f27506994d0d0b8f9e02555404a144babedab97517abe3b6be8b2d21ff046d SHA512 4e8f7cd8f05265c7f3964f0f5196721136c501351aa8c7bae1e3a6056fcd61f40364f2bb226817d458afa3707334dd600efbae2f8d050d65841ef03085717e42 WHIRLPOOL ed3582231bca8d3ea1f5a4adaf6279cd48d3628ba1154db80c6fb037b0efacbaf7535dad9bb4631982cfa5ee73514a628c340cb017514b0ab29d028b3c974b1c
+DIST mousepad-0.4.0.tar.bz2 578483 SHA256 60114431eac8db6bb6ce18bd38f1630cccb684375b97a445a1b6fd619848d132 SHA512 5196abd04268d1ace118dc485b72bfcfb7f9175eeaf52bc97c08c1646371d26401403a3bb199d882380bcb998547c65af9bd054f0365afd846c0ad74d3c3b1fe WHIRLPOOL dd087f38d75836d28cdae3a851d2ede0246a66db104710bab919928d32b63e470c95d77ff09c34c92e90322f14d5f85f83dc913acc529b8dd95ad8bc2712b9c1
diff --git a/app-editors/mousepad/files/mousepad-0.3.0-validate.patch b/app-editors/mousepad/files/mousepad-0.3.0-validate.patch
new file mode 100644
index 000000000000..dbbd31fb786d
--- /dev/null
+++ b/app-editors/mousepad/files/mousepad-0.3.0-validate.patch
@@ -0,0 +1,17 @@
+--- mousepad.desktop.in.in
++++ mousepad.desktop.in.in
+@@ -1,6 +1,4 @@
+-
+ [Desktop Entry]
+-Encoding=UTF-8
+ _Name=Mousepad
+ _Comment=Simple Text Editor
+ _GenericName=Text Editor
+@@ -9,5 +7,5 @@
+ Terminal=false
+ StartupNotify=true
+ Type=Application
+-Categories=Application;Utility;TextEditor;GTK;
+-MimeType=text/plain
++Categories=Utility;TextEditor;GTK;
++MimeType=text/plain;
diff --git a/app-editors/mousepad/metadata.xml b/app-editors/mousepad/metadata.xml
new file mode 100644
index 000000000000..6b976badcbc7
--- /dev/null
+++ b/app-editors/mousepad/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>xfce@gentoo.org</email>
+ <name>XFCE Team</name>
+ </maintainer>
+ <use>
+ <flag name='gtk3'>Use GTK+3 instead of GTK+2</flag>
+ </use>
+</pkgmetadata>
diff --git a/app-editors/mousepad/mousepad-0.3.0.ebuild b/app-editors/mousepad/mousepad-0.3.0.ebuild
new file mode 100644
index 000000000000..34d66f0ed058
--- /dev/null
+++ b/app-editors/mousepad/mousepad-0.3.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit xfconf
+
+DESCRIPTION="GTK+ 2.x based editor for the Xfce Desktop Environment"
+HOMEPAGE="http://goodies.xfce.org/projects/applications/start"
+SRC_URI="mirror://xfce/src/apps/${PN}/${PV%.*}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug dbus"
+
+RDEPEND=">=dev-libs/glib-2.12
+ >=x11-libs/gtk+-2.20:2
+ x11-libs/gtksourceview:2.0
+ dbus? ( >=dev-libs/dbus-glib-0.100 )"
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+pkg_setup() {
+ PATCHES=( "${FILESDIR}"/${P}-validate.patch )
+
+ XFCONF=(
+ $(xfconf_use_debug)
+ $(use_enable dbus)
+ )
+
+ DOCS=( AUTHORS ChangeLog NEWS README TODO )
+}
diff --git a/app-editors/mousepad/mousepad-0.4.0.ebuild b/app-editors/mousepad/mousepad-0.4.0.ebuild
new file mode 100644
index 000000000000..d5941cb8a15c
--- /dev/null
+++ b/app-editors/mousepad/mousepad-0.4.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit gnome2-utils xfconf
+
+DESCRIPTION="GTK+-based editor for the Xfce Desktop Environment"
+HOMEPAGE="http://goodies.xfce.org/projects/applications/start"
+SRC_URI="mirror://xfce/src/apps/${PN}/${PV%.*}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug dbus gtk3"
+
+RDEPEND=">=dev-libs/glib-2.30:2=
+ dbus? ( >=dev-libs/dbus-glib-0.100:0= )
+ !gtk3? ( >=x11-libs/gtk+-2.24:2=
+ x11-libs/gtksourceview:2.0= )
+ gtk3? ( x11-libs/gtk+:3=
+ x11-libs/gtksourceview:3.0= )"
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+pkg_setup() {
+ XFCONF=(
+ $(xfconf_use_debug)
+ $(use_enable dbus)
+ $(use_enable gtk3)
+ )
+
+ DOCS=( AUTHORS ChangeLog NEWS README TODO )
+}
+
+pkg_preinst() {
+ xfconf_pkg_preinst
+ gnome2_schemas_savelist
+}
+
+pkg_postinst() {
+ xfconf_pkg_postinst
+ gnome2_schemas_update
+}
diff --git a/app-editors/mp/Manifest b/app-editors/mp/Manifest
new file mode 100644
index 000000000000..08b737b15240
--- /dev/null
+++ b/app-editors/mp/Manifest
@@ -0,0 +1 @@
+DIST mp-5.2.2.tar.gz 583918 SHA256 f4c04315e6a0a3b831f218f73904afd3c227aa18b67ab21b39dffbb54edfea1f SHA512 44c9b7ded38c294ffc90240ac73848a799294584f20bb981d95f8dde4f281ea9242b6ff8aefdb490e9e02effaab6cbc5bdf94ea489af838a89038113c43da131 WHIRLPOOL 0feba9d14b0f0a5addf153e0ce4d4186b90392c78d2154200cea665880861cef07fdcbfc7d841ef736a3852d8523290d2f5fdbad87f1ab20894e2a32e9df78d7
diff --git a/app-editors/mp/files/mp-5.2.1-prll.patch b/app-editors/mp/files/mp-5.2.1-prll.patch
new file mode 100644
index 000000000000..a0fef7fd63a3
--- /dev/null
+++ b/app-editors/mp/files/mp-5.2.1-prll.patch
@@ -0,0 +1,46 @@
+--- mp-5.2.1/makefile.in
++++ mp-5.2.1/makefile.in
+@@ -4,7 +4,7 @@ all: $(APPNAME) docs build-mo
+
+ PROJ=mp
+
+-ADD_DOCS=AUTHORS README COPYING RELEASE_NOTES \
++ADD_DOCS=AUTHORS README RELEASE_NOTES \
+ mp_templates.sample doc/mp_function_reference.html
+ GRUTATXT_DOCS=doc/mp_index.html doc/mp_cookbook.html doc/mp_internals.html \
+ doc/mp_configuration.html doc/mp_data_model.html \
+@@ -26,10 +26,10 @@ version:
+ $(CC) $(CFLAGS) -I. `cat config.cflags` -c $<
+
+ $(MPDM)/libmpdm.a:
+- ( cd $(MPDM); $(MAKE) )
++ $(MAKE) -C $(MPDM)
+
+ $(MPSL)/libmpsl.a: $(MPDM)/libmpdm.a
+- ( cd $(MPSL); $(MAKE) )
++ $(MAKE) -C $(MPSL)
+
+ dep:
+ gcc -MM *.c `cat config.cflags` > makefile.depend
+@@ -88,8 +88,8 @@ $(APPNAME).1: doc/mp_man.txt
+ grutatxt -m man -t "Minimum Profit" < doc/mp_man.txt > $(APPNAME).1
+
+ docs: $(DOCS)
+- (cd $(MPDM); $(MAKE) docs)
+- (cd $(MPSL); $(MAKE) docs)
++ $(MAKE) -C $(MPDM) docs
++ $(MAKE) -C $(MPSL) docs
+
+ distcopy: distclean docs
+ mkdir -p $(DIST_TARGET) ; \
+@@ -134,8 +134,8 @@ install: $(INSTALL_MSG) installdoc install-mo
+
+ installdoc:
+ ./mkinstalldirs $(PREFIX)/share/doc/$(APPNAME)
+- ( cd $(MPDM); $(MAKE) installdoc )
+- ( cd $(MPSL); $(MAKE) installdoc )
++ $(MAKE) -C $(MPDM) installdoc
++ $(MAKE) -C $(MPSL) installdoc
+ install -m 644 doc/* $(PREFIX)/share/doc/$(APPNAME)
+ install -m 644 $(ADD_DOCS) $(PREFIX)/share/doc/$(APPNAME)
+ [ -f doc/mp_index.html ] && install -m 644 doc/mp_index.html $(PREFIX)/share/doc/$(APPNAME)/index.html || true
diff --git a/app-editors/mp/files/mp-5.2.2-gtk+.patch b/app-editors/mp/files/mp-5.2.2-gtk+.patch
new file mode 100644
index 000000000000..fc203e28a725
--- /dev/null
+++ b/app-editors/mp/files/mp-5.2.2-gtk+.patch
@@ -0,0 +1,40 @@
+ mpv_gtk.c | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/mpv_gtk.c b/mpv_gtk.c
+index 3abba24..ea99144 100644
+--- a/mpv_gtk.c
++++ b/mpv_gtk.c
+@@ -2499,12 +2499,12 @@ static mpdm_t gtk_drv_startup(mpdm_t a, mpdm_t ctxt)
+ #endif
+ gtk_notebook_set_scrollable(GTK_NOTEBOOK(file_tabs), 1);
+
+- vbox = gtk_vbox_new(FALSE, 2);
++ vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 2);
+ gtk_container_add(GTK_CONTAINER(window), vbox);
+
+ build_menu();
+
+- hbox = gtk_hbox_new(FALSE, 0);
++ hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), menu_bar, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), file_tabs, TRUE, TRUE, 0);
+@@ -2512,7 +2512,7 @@ static mpdm_t gtk_drv_startup(mpdm_t a, mpdm_t ctxt)
+ gtk_notebook_popup_enable(GTK_NOTEBOOK(file_tabs));
+
+ /* horizontal box holding the text and the scrollbar */
+- hbox = gtk_hbox_new(FALSE, 2);
++ hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 2);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0);
+
+ /* the Minimum Profit area */
+@@ -2578,7 +2578,7 @@ static mpdm_t gtk_drv_startup(mpdm_t a, mpdm_t ctxt)
+ G_CALLBACK(switch_page), NULL);
+
+ /* the scrollbar */
+- scrollbar = gtk_vscrollbar_new(NULL);
++ scrollbar = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, NULL);
+ gtk_box_pack_start(GTK_BOX(hbox), scrollbar, FALSE, FALSE, 0);
+
+ g_signal_connect(G_OBJECT
diff --git a/app-editors/mp/metadata.xml b/app-editors/mp/metadata.xml
new file mode 100644
index 000000000000..f9d50da18d39
--- /dev/null
+++ b/app-editors/mp/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>
+ <email>maintainer-needed@gentoo.org</email>
+ <description>This package lacks a primary herd or maintainer.</description>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-editors/mp/mp-5.2.2.ebuild b/app-editors/mp/mp-5.2.2.ebuild
new file mode 100644
index 000000000000..421815e08b42
--- /dev/null
+++ b/app-editors/mp/mp-5.2.2.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Minimum Profit: A text editor for programmers"
+HOMEPAGE="http://www.triptico.com/software/mp.html"
+SRC_URI="http://www.triptico.com/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86 ~x86-interix ~ppc-macos ~sparc-solaris ~x86-solaris"
+IUSE="gtk iconv kde ncurses nls pcre qt4"
+
+MP_LINGUAS="de es it nl ru sv"
+for mp_lingua in ${MP_LINGUAS}; do
+ IUSE+=" linguas_${mp_lingua}"
+done
+
+RDEPEND="
+ ncurses? ( sys-libs/ncurses )
+ gtk? (
+ || ( x11-libs/gtk+:3 x11-libs/gtk+:2 )
+ >=x11-libs/pango-1.8.0
+ dev-libs/atk
+ dev-libs/glib
+ media-libs/fontconfig
+ media-libs/freetype
+ x11-libs/cairo
+ )
+ !gtk? ( sys-libs/ncurses )
+ app-text/grutatxt
+ iconv? ( virtual/libiconv )
+ nls? ( sys-devel/gettext )
+ pcre? ( dev-libs/libpcre )
+"
+DEPEND="
+ ${RDEPEND}
+ app-text/grutatxt
+ virtual/pkgconfig
+ dev-lang/perl
+"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-gtk+.patch \
+ "${FILESDIR}"/${PN}-5.2.1-prll.patch
+ local mp_lingua
+ for mp_lingua in ${MP_LINGUAS}; do
+ if ! use linguas_${mp_lingua}; then
+ rm po/${mp_lingua/linguas_/}.[mp]o || die
+ fi
+ done
+ [[ $(ls po 2> /dev/null) ]] || \
+ sed \
+ -e '/^all/s:$(BUILDMO)::g' \
+ -e '/^install/s:$(INSTALLMO)::g' \
+ -i makefile.in || die
+}
+
+src_configure() {
+ local myconf="--prefix=${EPREFIX}/usr --without-win32"
+
+ if use gtk; then
+ ! use ncurses && myconf="${myconf} --without-curses"
+ else
+ myconf="${myconf} --without-gtk2"
+ fi
+
+ use iconv || myconf="${myconf} --without-iconv"
+
+ use kde || myconf="${myconf} --without-kde4"
+
+ use nls || myconfig="${myconf} --without-gettext"
+
+ myconf="${myconf} $(use_with pcre)"
+ use pcre || myconf="${myconf} --with-included-regex"
+
+ use qt4 || myconf="${myconf} --without-qt4"
+
+ tc-export AR CC
+ sh config.sh ${myconf} || die "Configure failed"
+
+ for i in "${S}" "${S}"/mpsl "${S}"/mpdm;do
+ echo ${CFLAGS} >> $i/config.cflags
+ echo ${CFLAGS} >> $i/config.ldflags
+ echo ${LDFLAGS} >> $i/config.ldflags
+ done
+}
+
+src_compile() {
+ emake CPP="$(tc-getCXX)" CCLINK="$(tc-getCXX)"
+}
+
+src_install() {
+ dodir /usr/bin
+ sh config.sh --prefix="${EPREFIX}/usr"
+ emake DESTDIR="${D}" install
+}
diff --git a/app-editors/nano/Manifest b/app-editors/nano/Manifest
new file mode 100644
index 000000000000..65e6438baa21
--- /dev/null
+++ b/app-editors/nano/Manifest
@@ -0,0 +1,12 @@
+DIST nano-1.3.12.tar.gz 1250777 SHA256 f5537b8a988618fa8524b6a4b0a6950184d37db983b4521ad843b98845da571c SHA512 30d95122486e13159c4e36d4408ab977351d0d46bb28e21b0e867ab6246a3a5a51d987fcca956d66d629753698188bffec34f076a1cf505cbadd6bec4cd54afb WHIRLPOOL a2ef9482ade321ffc231e5bc0429a363389049ab4fbb82f74719003ca3446681805fbcf8c78dd6fad62c0363030e9804f649b297a7c6840fff83148cb031c7d1
+DIST nano-2.0.9.tar.gz 1403773 SHA256 6d212385680d29dcda35dda7801da19c80182a8bc6bc6d5cf7533034c853d37f SHA512 9090dc005670998db2d10657e8c37751051a71ea4a6ba514d1c8e36d5d5030c778ede5d2c3734106a92e100e3755add828f3094b3b5c2b41def8e15e674e4907 WHIRLPOOL 4d16cb2c684bf34f441096311778b9249243cc84351af7586ff1bbbbbd7c0fb251548a1fc987cb91a08633b49fb0841e97d3ca79e8392b8f0ff2e12560b2b098
+DIST nano-2.1.10.tar.gz 1478204 SHA256 03af11adace9f6c482a06f5304c5aba5d134972a416ce4368307b604420b2e40 SHA512 647174879abb0658776e9f3c6734db0989cfe1cb445bda616997d24e2955f7df790bf1c6b7d8dd3fe4878c73d589d84c6c1acae6b851dbf6ab623f0992cf284e WHIRLPOOL 8b813d18c9b2d94c1ec11377f9b7467e18a0fd9d425fe84d9209f6a6c4192bbdd1377f78306c489830a563f4aba0962bfd7349086e59cd12fed6ea96ea67531a
+DIST nano-2.2.5.tar.gz 1554750 SHA256 9015945d1badabbada203b37c4779d3dd1066234235c714deb439989c5cd7d9e SHA512 5dd9bd1bccb8ab5c6592310e2e6cee5a59370595ab1ce2065f0d77a6eb58d8e115559a00b17582ccc6321dcd93a557af391e716977d3ce86f99d83b1aad648fc WHIRLPOOL b2b65c589dc4bfc665e3f73a6fa6bfecfc6bae0d68d99a43ec392fd625717b9e3792b868d84fece44622e245c15c8f20d0c97aa129813319327c42cc89fc96c3
+DIST nano-2.3.1.tar.gz 1624332 SHA256 b7bace9a8e543b84736d6ef5ce5430305746efea3aacb24391f692efc6f3c8d3 SHA512 ab8e17f712c0609e5e7e7caeec79c4bb28d1d6e1c837d2a9c2e7a691156f58c6770375d8c410898648a3629a38cf6b3bb2de9a6c02556e62a583c0500a1aec94 WHIRLPOOL ea14ce055f41884956ad5de5e763396522b9f63c8fd64720078f11c1c97e0fbc6f760789fc52bd3f485d1856dda2727899fb8e79cae3c87850ba0ad8793b1a4d
+DIST nano-2.3.2.tar.gz 1725485 SHA256 ff309248071486445609ad4269b798262a1324d7503dc09dea289f5b60106be8 SHA512 c4bf4a152e797e860e9f8aee5091b8e380f5305d3457d5503c2b6187897394510dd756948cce7157fe986bbb9db7a5b98c9cb5794d12cf6399d7e96e0db1be49 WHIRLPOOL 48111c18a50ab5215646b0a85a6f90a55274d349890fee54e18a66028b1b5a79f51c6f2f12a039751342845b3c8e5f58854e3368d7f8f18c1ab94d6f56f40b02
+DIST nano-2.3.3.tar.gz 1812671 SHA256 d80e0fce656b5cd2f327ea599c708c897dc1b8c608e87c756d63c79e97e8cc19 SHA512 542a12ac7dd8bd48b69e7c3c4850b5757372c0abb2082f12ca049a5857137ef93a7225ca9f23b8aaa934c639c2c1c1d54ae40da868b7c4adf3b3cfc9dec16a95 WHIRLPOOL a9b7c9d2f2904e588f0847d2b897649e780ca489c1240da49a5afdabf10c588191c8cbd3a6360409a26e24ad5604cb12172bb9680200e3edbad2bd94cb5fc3ca
+DIST nano-2.3.4.tar.gz 1812943 SHA256 1774129f4b933df5dbfdf45c4ecdbfc19eb6ff8c2fc6ad43c7f392aa7cd998c1 SHA512 5f0e3d170cce60a6b20647607745373727700fbb59d579ce5f62fd5915568ef0065f5e0e2923812a321dd3b13c77ab9231fd62f7b2a86965925d1da675fa646b WHIRLPOOL 2c703bbc79304a28c06154a451a5035967101ecc82cddbd005cb1a6599466d8b54c944f2aef9dd6c7f9b7a171b705177e3d0e7a496c43ffca39000244371547e
+DIST nano-2.3.6.tar.gz 1816012 SHA256 a74bf3f18b12c1c777ae737c0e463152439e381aba8720b4bc67449f36a09534 SHA512 00d66dbbd1ee59b3d606af8688599ce627aa98cee494611e255293347b9aa4f3f583820ac28adae5f7209410a28669cdd5211258411d83364d3eb788d909bb73 WHIRLPOOL 6900e40e41f7bbd23a0dc76fe24bbf29c46b65bead328cb574008045f397e92643a7cee35605ef044e1921029dca54e49831548828490abbf24b2c63f0f9092b
+DIST nano-2.4.0.tar.gz 1886052 SHA256 5076fb502680503e648cbdcbf2077e39fba193420ae19203f0a54cb2d94a75bd SHA512 7f079e307521a47405ba6d107d481df6869dbd7ea9297de6c69e831d00335cee403ac3ec1ef3578488cbec65c2e2ddec15edfddd45071f0fb4e2eccc94cbef1d WHIRLPOOL 1e4aaaa67c44bf051210b9c65db80c30189606fc2ba0d3e1a6802a41e7244901e60858ad412a0c6ee6e0eaa90d65925d8c954b398387cc12109a626811d8ad07
+DIST nano-2.4.1.tar.gz 1890805 SHA256 6a0ceb5e1b9b9bea72d5d1f46488ace4782b1f198ea6ba558480a86d994f29d2 SHA512 0e2bc99627682350496853b2dc8d3d4c25303b3723fd1dec2e26f2860b21d0f4c6cb99810517fc4e86312f3bec5481c327afab84dac55f4c388799453e6f5f11 WHIRLPOOL 3c3decdd0c94c33a2cb3854e6b8cda4082a9a98d55d8e1d256ec73febaa0de597d41b1f63c18cb6308fb7174b6ced0995434697f6c05a2efb53e3588f2ca7d8a
+DIST nano-2.4.2.tar.gz 1898633 SHA256 c8cd7f18fcf5696d9df3364ee2a840e0ab7b6bdbd22abf850bbdc951db7f65b9 SHA512 487b03b33ac8fac4a774223e038b00463ca03e08093c506b10f4df56795039eff1c23518c1a4f32695cee1bb9bb5eb0a2dd3e1f8a9befcc573e7fca3d69fa9d3 WHIRLPOOL ac5942114a48d428e64db47afb919feef506e18da8b21627ea421e59bf3c235083b17ffaf7a6e510193b6617c0e2ad9d2460f64d5d8bbd6b828547bcd41b5c7c
diff --git a/app-editors/nano/files/awk.nanorc b/app-editors/nano/files/awk.nanorc
new file mode 100644
index 000000000000..696ab6ad727c
--- /dev/null
+++ b/app-editors/nano/files/awk.nanorc
@@ -0,0 +1,38 @@
+## Here is an example for awk.
+##
+syntax "awk" "\.awk$"
+## records
+icolor brightred "\$[0-9A-Z_!@#$*?-]+"
+## awk-set variables
+color red "\<(ARGC|ARGIND|ARGV|BINMODE|CONVFMT|ENVIRON|ERRNO|FIELDWIDTHS)\>"
+color red "\<(FILENAME|FNR|FS|IGNORECASE|LINT|NF|NR|OFMT|OFS|ORS)\>"
+color red "\<(PROCINFO|RS|RT|RSTART|RLENGTH|SUBSEP|TEXTDOMAIN)\>"
+## function declarations and special patterns
+color brightgreen "\<(function|extension|BEGIN|END)\>"
+## operators
+color green "(\{|\}|\(|\)|\;|\]|\[|\\|<|>|!|=|&|\+|-|\*|%|/|\?:|\^|\|)"
+## flow control
+color brightyellow "\<(for|if|while|do|else|in|delete|exit)\>"
+color brightyellow "\<(break|continue|return)\>"
+## I/O statements
+color brightgreen "\<(close|getline|next|nextfile|print|printf)\>"
+color brightgreen "\<(system|fflush)\>"
+## standard functions
+color magenta "\<(atan2|cos|exp|int|log|rand|sin|sqrt|srand)\>"
+color magenta "\<(asort|asorti|gensub|gsub|index|length|match)\>"
+color magenta "\<(split|sprintf|strtonum|sub|substr|tolower|toupper)\>"
+color magenta "\<(mktime|strftime|systime)\>"
+color magenta "\<(and|compl|lshift|or|rshift|xor)\>"
+color magenta "\<(bindtextdomain|dcgettext|dcngettext)\>"
+
+##
+## String highlighting. You will in general want your comments and
+## strings to come last, because syntax highlighting rules will be
+## applied in the order they are read in.
+color brightyellow "<[^= ]*>" ""(\\.|[^"])*""
+
+## Comment highlighting
+color brightblue "(^|[[:space:]])#.*$"
+
+## Trailing whitespace
+color ,green "[[:space:]]+$"
diff --git a/app-editors/nano/files/css.nanorc b/app-editors/nano/files/css.nanorc
new file mode 100644
index 000000000000..62126e8a7833
--- /dev/null
+++ b/app-editors/nano/files/css.nanorc
@@ -0,0 +1,9 @@
+## Here is an example for css files.
+##
+syntax "css" "\.css$"
+color brightred "."
+color brightyellow start="\{" end="\}"
+color brightwhite start=":" end="[;^\{]"
+color brightblue ":active|:focus|:hover|:link|:visited|:link|:after|:before|$"
+color brightblue start="\/\*" end="\\*/"
+color green ";|:|\{|\}"
diff --git a/app-editors/nano/files/gentoo.nanorc b/app-editors/nano/files/gentoo.nanorc
new file mode 100644
index 000000000000..f08d2e9027ce
--- /dev/null
+++ b/app-editors/nano/files/gentoo.nanorc
@@ -0,0 +1,50 @@
+## Here is an example for ebuilds/eclasses
+##
+syntax "ebuild" "\.e(build|class)$"
+## All the standard portage functions
+color brightgreen "^src_(unpack|compile|install|test)" "^pkg_(config|nofetch|setup|(pre|post)(inst|rm))"
+## Highlight bash related syntax
+color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while|continue|break)\>"
+color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"
+color green "-(e|d|f|r|g|u|w|x|L)\>"
+color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>"
+## Highlight variables ... official portage ones in red, all others in bright red
+color brightred "\$\{?[a-zA-Z_0-9]+\}?"
+color red "\<(ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|FILESDIR|WORKDIR|(P|R)?DEPEND|PROVIDE|DISTDIR|RESTRICT|USERLAND)\>"
+color red "\<(S|D|T|PV|PF|P|PN|A)\>" "\<C(XX)?FLAGS\>" "\<LDFLAGS\>" "\<C(HOST|TARGET|BUILD)\>"
+## Highlight portage commands
+color magenta "\<use(_(with|enable))?\> [!a-zA-Z0-9_+ -]*" "inherit.*"
+color brightblue "\<e(begin|end|conf|install|make|warn|infon?|error|log|patch|new(group|user))\>"
+color brightblue "\<die\>" "\<use(_(with|enable))?\>" "\<inherit\>" "\<has\>" "\<(has|best)_version\>" "\<unpack\>"
+color brightblue "\<(do|new)(ins|s?bin|doc|lib(|\.so|\.a)|man|info|exe|initd|confd|envd|pam|menu|icon)\>"
+color brightblue "\<do(header|python|sed|dir|hard|sym|html|jar|mo)\>" "\<keepdir\>"
+color brightblue "prepall(|docs|info|man|strip)" "prep(info|lib|lib\.(so|a)|man|strip)"
+color brightblue "\<(|doc|ins|exe)into\>" "\<f(owners|perms)\>" "\<(exe|ins|dir)opts\>" "\<usex\>"
+## Highlight common commands used in ebuilds
+color blue "\<make\>" "\<(cat|cd|chmod|chown|cp|echo|env|export|grep|let|ln|mkdir|mv|rm|sed|set|tar|touch|unset)\>"
+## Highlight comments (doesnt work that well)
+color yellow "#.*$"
+## Highlight strings (doesnt work that well)
+color brightyellow ""(\\.|[^\"])*"" "'(\\.|[^'])*'"
+## Trailing space is bad!
+color ,green "[[:space:]]+$"
+
+## Here is an example for Portage control files
+##
+syntax "/etc/portage" "\.(keywords|mask|unmask|use)$"
+## Base text:
+color green "^.+$"
+## Use flags:
+color brightred "[[:space:]]+\+?[a-zA-Z0-9_-]+"
+color brightblue "[[:space:]]+-[a-zA-Z0-9_-]+"
+## Likely version numbers:
+color magenta "-[[:digit:]].*([[:space:]]|$)"
+## Accepted arches:
+color white "[~-]?\<(alpha|amd64|arm|hppa|ia64|mips|ppc|ppc64|s390|sh|sparc|x86|x86-fbsd)\>"
+color white "[[:space:]][~-]?\*"
+## Categories:
+color cyan "^[[:space:]]*.*/"
+## Masking regulators:
+color brightmagenta "^[[:space:]]*(=|~|<|<=|=<|>|>=|=>)"
+## Comments:
+color yellow "#.*$"
diff --git a/app-editors/nano/files/nano-1.3.12-fix2.patch b/app-editors/nano/files/nano-1.3.12-fix2.patch
new file mode 100644
index 000000000000..1c6ba22f3ab3
--- /dev/null
+++ b/app-editors/nano/files/nano-1.3.12-fix2.patch
@@ -0,0 +1,15 @@
+diff -ru nano-1.3.12/src/rcfile.c nano-1.3.12-fix2/src/rcfile.c
+--- nano-1.3.12/src/rcfile.c 2006-06-07 22:50:56.000000000 -0400
++++ nano-1.3.12-fix2/src/rcfile.c 2006-07-18 19:22:30.000000000 -0400
+@@ -834,9 +834,11 @@
+ rcfile_error(N_("Unknown flag \"%s\""), option);
+ }
+
++#ifdef ENABLE_COLOR
+ if (endsyntax != NULL && endcolor == NULL)
+ rcfile_error(N_("Syntax \"%s\" has no color commands"),
+ endsyntax->desc);
++#endif
+
+ free(buf);
+ fclose(rcstream);
diff --git a/app-editors/nano/files/nano-1.3.12-path.patch b/app-editors/nano/files/nano-1.3.12-path.patch
new file mode 100644
index 000000000000..b8b2a7e11ff8
--- /dev/null
+++ b/app-editors/nano/files/nano-1.3.12-path.patch
@@ -0,0 +1,199 @@
+diff -ur nano-1.3.12/src/files.c nano-1.3.12-fixed/src/files.c
+--- nano-1.3.12/src/files.c 2006-06-14 09:19:43.000000000 -0400
++++ nano-1.3.12-fixed/src/files.c 2006-07-05 11:44:17.000000000 -0400
+@@ -902,21 +902,29 @@
+ * able to go there. */
+ char *get_full_path(const char *origpath)
+ {
+- char *d_here, *d_there = NULL;
++ struct stat fileinfo;
++ char *d_here, *d_there, *d_there_file = NULL;
++ const char *last_slash;
++ bool path_only;
+
+ if (origpath == NULL)
+ return NULL;
+
+- /* Get the current directory. */
++ /* Get the current directory. If it doesn't exist, back up and try
++ * again until we get a directory that does, and use that as the
++ * current directory. */
+ d_here = charalloc(PATH_MAX + 1);
+ d_here = getcwd(d_here, PATH_MAX + 1);
+
+- if (d_here != NULL) {
+- const char *last_slash;
+- char *d_there_file = NULL;
+- bool path_only;
+- struct stat fileinfo;
++ while (d_here == NULL) {
++ if (chdir("..") == -1)
++ break;
++
++ d_here = getcwd(d_here, PATH_MAX + 1);
++ }
+
++ /* If we succeeded, canonicalize it in d_here. */
++ if (d_here != NULL) {
+ align(&d_here);
+
+ /* If the current directory isn't "/", tack a slash onto the end
+@@ -925,89 +933,91 @@
+ d_here = charealloc(d_here, strlen(d_here) + 2);
+ strcat(d_here, "/");
+ }
++ /* Otherwise, set d_here to "". */
++ } else
++ d_here = mallocstrcpy(NULL, "");
+
+- d_there = real_dir_from_tilde(origpath);
++ d_there = real_dir_from_tilde(origpath);
+
+- assert(d_there != NULL);
++ assert(d_there != NULL);
+
+- /* Stat d_there. If stat() fails, assume that d_there refers to
+- * a new file that hasn't been saved to disk yet. Set path_only
+- * to TRUE if d_there refers to a directory, and FALSE if
+- * d_there refers to a file. */
+- path_only = !stat(d_there, &fileinfo) &&
+- S_ISDIR(fileinfo.st_mode);
+-
+- /* If path_only is TRUE, make sure d_there ends in a slash. */
+- if (path_only) {
+- size_t d_there_len = strlen(d_there);
+-
+- if (d_there[d_there_len - 1] != '/') {
+- d_there = charealloc(d_there, d_there_len + 2);
+- strcat(d_there, "/");
+- }
+- }
++ /* If stat()ing d_there fails, assume that d_there refers to a new
++ * file that hasn't been saved to disk yet. Set path_only to TRUE
++ * if d_there refers to a directory, and FALSE otherwise. */
++ path_only = stat(d_there, &fileinfo) == 0 &&
++ S_ISDIR(fileinfo.st_mode);
+
+- /* Search for the last slash in d_there. */
+- last_slash = strrchr(d_there, '/');
++ /* If path_only is TRUE, make sure d_there ends in a slash. */
++ if (path_only) {
++ size_t d_there_len = strlen(d_there);
+
+- /* If we didn't find one, then make sure the answer is in the
+- * format "d_here/d_there". */
+- if (last_slash == NULL) {
+- assert(!path_only);
++ if (d_there[d_there_len - 1] != '/') {
++ d_there = charealloc(d_there, d_there_len + 2);
++ strcat(d_there, "/");
++ }
++ }
+
+- d_there_file = d_there;
+- d_there = d_here;
+- } else {
+- /* If path_only is FALSE, then save the filename portion of
+- * the answer, everything after the last slash, in
+- * d_there_file. */
+- if (!path_only)
+- d_there_file = mallocstrcpy(NULL, last_slash + 1);
+-
+- /* And remove the filename portion of the answer from
+- * d_there. */
+- null_at(&d_there, last_slash - d_there + 1);
+-
+- /* Go to the path specified in d_there. */
+- if (chdir(d_there) == -1) {
+- free(d_there);
+- d_there = NULL;
+- } else {
+- /* Get the full path and save it in d_there. */
+- free(d_there);
++ /* Search for the last slash in d_there. */
++ last_slash = strrchr(d_there, '/');
+
+- d_there = charalloc(PATH_MAX + 1);
+- d_there = getcwd(d_there, PATH_MAX + 1);
++ /* If we didn't find one, then make sure the answer is in the format
++ * "d_here/d_there". */
++ if (last_slash == NULL) {
++ assert(!path_only);
+
+- if (d_there != NULL) {
+- align(&d_there);
++ d_there_file = d_there;
++ d_there = d_here;
++ } else {
++ /* If path_only is FALSE, then save the filename portion of the
++ * answer (everything after the last slash) in d_there_file. */
++ if (!path_only)
++ d_there_file = mallocstrcpy(NULL, last_slash + 1);
++
++ /* And remove the filename portion of the answer from
++ * d_there. */
++ null_at(&d_there, last_slash - d_there + 1);
++
++ /* Go to the path specified in d_there. */
++ if (chdir(d_there) == -1) {
++ free(d_there);
++ d_there = NULL;
++ } else {
++ free(d_there);
+
+- if (strcmp(d_there, "/") != 0) {
+- /* Make sure d_there ends in a slash. */
+- d_there = charealloc(d_there,
+- strlen(d_there) + 2);
+- strcat(d_there, "/");
+- }
+- } else
+- /* If we couldn't get the full path, set path_only
+- * to TRUE so that we clean up correctly, free all
+- * allocated memory, and return NULL. */
+- path_only = TRUE;
+-
+- /* Finally, go back to the path specified in d_here,
+- * where we were before. */
+- chdir(d_here);
+- }
++ /* Get the full path. */
++ d_there = charalloc(PATH_MAX + 1);
++ d_there = getcwd(d_there, PATH_MAX + 1);
++
++ /* If we succeeded, canonicalize it in d_there. */
++ if (d_there != NULL) {
++ align(&d_there);
++
++ /* If the current directory isn't "/", tack a slash onto
++ * the end of it. */
++ if (strcmp(d_there, "/") != 0) {
++ d_there = charealloc(d_there, strlen(d_there) + 2);
++ strcat(d_there, "/");
++ }
++ } else
++ /* Otherwise, set path_only to TRUE, so that we clean up
++ * correctly, free all allocated memory, and return
++ * NULL. */
++ path_only = TRUE;
++
++ /* Finally, go back to the path specified in d_here,
++ * where we were before. We don't check for a chdir()
++ * error, since we can do nothing then. */
++ chdir(d_here);
+
+ /* Free d_here, since we're done using it. */
+ free(d_here);
+ }
+
+- /* At this point, if path_only is FALSE and d_there exists,
++ /* At this point, if path_only is FALSE and d_there isn't NULL,
+ * d_there contains the path portion of the answer and
+ * d_there_file contains the filename portion of the answer. If
+- * this is the case, tack d_there_file onto the end of
+- * d_there, so that d_there contains the complete answer. */
++ * this is the case, tack the latter onto the end of the former.
++ * d_there will then contain the complete answer. */
+ if (!path_only && d_there != NULL) {
+ d_there = charealloc(d_there, strlen(d_there) +
+ strlen(d_there_file) + 1);
diff --git a/app-editors/nano/files/nano-1.3.12-scroll.patch b/app-editors/nano/files/nano-1.3.12-scroll.patch
new file mode 100644
index 000000000000..f5d533633224
--- /dev/null
+++ b/app-editors/nano/files/nano-1.3.12-scroll.patch
@@ -0,0 +1,39 @@
+fix from upstream
+
+diff -ur nano-1.3.12/src/move.c nano-1.3.12-fixed/src/move.c
+--- nano-1.3.12/src/move.c 2006-05-21 22:08:49.000000000 -0400
++++ nano-1.3.12-fixed/src/move.c 2006-07-06 17:01:03.000000000 -0400
+@@ -521,6 +521,16 @@
+
+ /* Scroll the edit window up one line. */
+ edit_scroll(UP, 1);
++
++ /* If we're not on the first line of the edit window, update the
++ * line we were on before and the line we're on now. The former
++ * needs to be redrawn if we're not on the first page, and the
++ * latter needs to be drawn unconditionally. */
++ if (openfile->current_y > 0) {
++ if (need_vertical_update(0))
++ update_line(openfile->current->next, 0);
++ update_line(openfile->current, openfile->current_x);
++ }
+ }
+ #endif /* !NANO_TINY */
+
+@@ -574,6 +584,16 @@
+
+ /* Scroll the edit window down one line. */
+ edit_scroll(DOWN, 1);
++
++ /* If we're not on the last line of the edit window, update the line
++ * we were on before and the line we're on now. The former needs to
++ * be redrawn if we're not on the first page, and the latter needs
++ * to be drawn unconditionally. */
++ if (openfile->current_y < editwinrows - 1) {
++ if (need_vertical_update(0))
++ update_line(openfile->current->prev, 0);
++ update_line(openfile->current, openfile->current_x);
++ }
+ }
+ #endif /* !NANO_TINY */
+
diff --git a/app-editors/nano/files/nano-2.3.1-bind-unbind-docs.patch b/app-editors/nano/files/nano-2.3.1-bind-unbind-docs.patch
new file mode 100644
index 000000000000..300ee2d24ee1
--- /dev/null
+++ b/app-editors/nano/files/nano-2.3.1-bind-unbind-docs.patch
@@ -0,0 +1,118 @@
+From 5afd6d3e9558f8295496f7c59c765947e7f19d8a Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 28 Nov 2011 15:37:02 -0500
+Subject: [PATCH 1/2] nanorc(5): fix bind/unbind documentation
+
+The unbind section is listed after valid key/menu/functions, but tries
+to say those sections come after it. So reorganization the section so
+that bind/unbind comes first, and then we cover the key/menu/functions
+after both of them.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ doc/man/nanorc.5 | 32 +++++++++++++++++++-------------
+ 1 file changed, 19 insertions(+), 13 deletions(-)
+
+diff --git a/doc/man/nanorc.5 b/doc/man/nanorc.5
+index da33179..2da71ab 100644
+--- a/doc/man/nanorc.5
++++ b/doc/man/nanorc.5
+@@ -282,9 +282,19 @@ Read in self-contained color syntaxes from \fIsyntaxfile\fP. Note that
+ .SH KEY BINDINGS
+ Key bindings may be reassigned via the following commands:
+ .TP
+-.B bind \fIkey\fP \fIfunction\fP \fImenu\fP
++.B bind \fIkey\fP \fIfunction\fP \fImenu\fP
+ Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the
+-context of menu \fImenu\fP. The format of \fIkey\fP should be one of:
++context of menu \fImenu\fP.
++.TP
++.B unbind \fIkey\fP \fImenu\fP
++Unbind the key \fIkey\fP from the menu named \fImenu\fP or from all
++menus by using \fIall\fP. Same key syntax as for binding.
++Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the
++context of menu \fImenu\fP.
++.TP
++
++The format of \fIkey\fP should be one of:
++
+ .TP
+ .B ^
+ followed by an alpha character or the word "Space".
+@@ -298,8 +308,10 @@ Example: M-C
+ followed by a numeric value from 1 to 16.
+ Example: F10
+ .TP
+-Valid function names to be bound include:
+-.TP 3
++
++Valid \fIfunction\fP names to be bound include:
++
++.TP 2
+ .B help
+ Invoke the help menu.
+ .TP
+@@ -506,8 +518,9 @@ Toggle whether long lines will be wrapped to the next line.
+ Toggle whether the suspend sequence (normally ^Z) will suspend the editor window.
+ .TP
+
+-Valid menu sections are:
+-.TP
++Valid \fImenu\fP sections are:
++
++.TP 2
+ .B main
+ The main editor window where text is entered.
+ .TP
+@@ -549,13 +562,6 @@ The 'go to directory' menu.
+ .TP
+ .B all
+ A special name meaning: apply to all menus where this function exists.
+-
+-.TP
+-.B unbind \fIkey\fP \fImenu\fP
+-Unbind the key \fIkey\fP from the menu named \fImenu\fP or from all
+-menus by using \fIall\fP. Same key syntax as for binding.
+-Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the
+-context of menu \fImenu\fP. The format of \fIkey\fP should be one of:
+ .SH FILES
+ .TP
+ .I SYSCONFDIR/nanorc
+--
+1.7.9.7
+
+From 4b3e912d4a5c3561d1cfaf944d33ba9c30a9a555 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 28 Nov 2011 15:38:26 -0500
+Subject: [PATCH 2/2] nanorc syntax: add bind/unbind commands
+
+We don't currently handle the bind/unbind commands, so adding them to
+your nanorc file with colorization enabled makes it look like they're
+not actually supported.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ doc/syntax/nanorc.nanorc | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/doc/syntax/nanorc.nanorc b/doc/syntax/nanorc.nanorc
+index bda5f4f..287be56 100644
+--- a/doc/syntax/nanorc.nanorc
++++ b/doc/syntax/nanorc.nanorc
+@@ -2,10 +2,12 @@
+ ##
+ syntax "nanorc" "\.?nanorc$"
+ ## Possible errors and parameters
+-icolor brightwhite "^[[:space:]]*((un)?set|include|syntax|i?color).*$"
++icolor brightwhite "^[[:space:]]*((un)?(bind|set)|include|syntax|i?color).*$"
+ ## Keywords
+ icolor brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(allow_insecure_backup|autoindent|backup|backupdir|backwards|boldtext|brackets|casesensitive|const|cut|fill|historylog|matchbrackets|morespace|mouse|multibuffer|noconvert|nofollow|nohelp|nonewlines|nowrap|operatingdir|poslog|preserve|punct)\>" "^[[:space:]]*(set|unset)[[:space:]]+(quickblank|quotestr|rebinddelete|rebindkeypad|regexp|smarthome|smooth|softwrap|speller|suspend|suspendenable|tabsize|tabstospaces|tempfile|undo|view|whitespace|wordbounds)\>"
+-icolor green "^[[:space:]]*(set|unset|include|syntax|header|magic)\>"
++icolor brightgreen "^[[:space:]]*bind[[:space:]]+((\^|M-)([[:alpha:]]|space)|F([0-9]|1[0-6]))[[:space:]]+[[:alpha:]]+[[:space:]]+[[:alpha:]]+[[:space:]]*$"
++icolor brightgreen "^[[:space:]]*unbind[[:space:]]+((\^|M-)([[:alpha:]]|space)|F([0-9]|1[0-6]))[[:space:]]+[[:alpha:]]+[[:space:]]*$"
++icolor green "^[[:space:]]*((un)?(bind|set)|include|syntax|header|magic)\>"
+ ## Colors
+ icolor yellow "^[[:space:]]*i?color[[:space:]]*(bright)?(white|black|red|blue|green|yellow|magenta|cyan)?(,(white|black|red|blue|green|yellow|magenta|cyan))?\>"
+ icolor magenta "^[[:space:]]*i?color\>" "\<(start|end)="
+--
+1.7.9.7
diff --git a/app-editors/nano/files/nano-2.3.1-drop-target.patch b/app-editors/nano/files/nano-2.3.1-drop-target.patch
new file mode 100644
index 000000000000..3b5647675090
--- /dev/null
+++ b/app-editors/nano/files/nano-2.3.1-drop-target.patch
@@ -0,0 +1,30 @@
+From 0708d921211fa0f89288690593c406a682b2c826 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 14 Jun 2011 16:00:52 -0400
+Subject: [PATCH] drop --target as it makes no sense
+
+Since nano doesn't produce code, the --target option to configure
+doesn't make sense. So only support --{build,host} since those are
+what we need in order to cross-compile.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c590737..3eb61c2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -22,7 +22,7 @@
+
+ AC_INIT([GNU nano], [2.3.1], [nano-devel@gnu.org], [nano])
+ AC_CONFIG_SRCDIR([src/nano.c])
+-AC_CANONICAL_TARGET([])
++AC_CANONICAL_HOST
+ AM_INIT_AUTOMAKE
+ AC_CONFIG_HEADERS([config.h])
+
+--
+1.7.9.7
+
diff --git a/app-editors/nano/files/nano-2.3.1-gentoo-nanorc.patch b/app-editors/nano/files/nano-2.3.1-gentoo-nanorc.patch
new file mode 100644
index 000000000000..c775e2988b46
--- /dev/null
+++ b/app-editors/nano/files/nano-2.3.1-gentoo-nanorc.patch
@@ -0,0 +1,95 @@
+From 7051588fee7a20a69c67c8899b3e6c35ebf51fbf Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 25 Aug 2012 23:03:22 -0400
+Subject: [PATCH] gentoo syntax: update
+
+Update to newer EAPIs, and fold in updated shell changes too.
+Much of this is based on work by Davide.
+
+Reported-by: Davide Pesavento <pesa@gentoo.org>
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ doc/syntax/gentoo.nanorc | 46 +++++++++++++++++++++++++++-------------------
+ 1 file changed, 27 insertions(+), 19 deletions(-)
+
+diff --git a/doc/syntax/gentoo.nanorc b/doc/syntax/gentoo.nanorc
+index 2ad1597..ad89fce 100644
+--- a/doc/syntax/gentoo.nanorc
++++ b/doc/syntax/gentoo.nanorc
+@@ -2,30 +2,38 @@
+ ##
+ syntax "ebuild" "\.e(build|class)$"
+ ## All the standard portage functions
+-color brightgreen "^src_(unpack|prepare|configure|compile|install|test)" "^pkg_(config|nofetch|setup|(pre|post)(inst|rm))"
++color brightgreen "(^|\<default_)src_(unpack|prepare|configure|compile|install|test)\>"
++color brightgreen "^pkg_(config|nofetch|pretend|setup|(pre|post)(inst|rm))\>"
++color brightgreen "\<default(_pkg_nofetch)?\>"
+ ## Highlight bash related syntax
+-color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while|continue|break)\>"
+-color green "\<(declare|eval|exec|let)\>"
+-color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"
+-color green "-[edfgruwxL]\>"
+-color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>"
++color green "\<(break|case|continue|do|done|elif|else|esac|exit|fi|for|function|if|in|read|return|select|shift|then|time|until|while)\>"
++color green "\<(declare|eval|exec|export|let|local)\>"
++color green "[{}():;|`$<>!=&\\]" "(\]|\[)"
++color green "-[defhnrsuwxzL]\>"
++color green "-(eq|ne|gt|lt|ge|le)\>"
+ ## Highlight variables ... official portage ones in red, all others in bright red
+-color brightred "\$\{?[a-zA-Z_0-9]+\}?"
+-color red "\<(EAPI|ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|(P|R)?DEPEND|PROVIDE|PROPERTIES|RESTRICT|USERLAND)\>"
+-color red "\<(S|D|T|PV|PF|P|PN|PR|PVR|A|CATEGORY|DISTDIR|FILESDIR|ROOT|WORKDIR)\>" "\<(AS|C(PP|XX)?|LD)FLAGS\>" "\<C(HOST|TARGET|BUILD)\>"
+-color red "\<QA_((TEXTRELS|EXECSTACK|WX_LOAD)(_[a-zA-Z_0-9]+)?|DT_HASH|PRESTRIPPED)\>" "\<WANT_AUTO(CONF|MAKE)\>" "\<AT_M4DIR\>"
++color brightred "\$[-0-9@*#?$!]" "\$[[:alpha:]_][[:alnum:]_]*"
++color brightred "\$\{[#!]?([-@*#?$!]|[0-9]+|[[:alpha:]_][[:alnum:]_]*)(\[([[:digit:]]|@)+\])?(([#%/]|:?[-=?+])[^}]*\}|\[|\})"
++color red "\<(EAPI|ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|(P|R)?DEPEND|PROVIDE|PROPERTIES|REQUIRED_USE|RESTRICT|USERLAND)\>"
++color red "\<(S|E?D|T|PV|PF|P|PN|PR|PVR|A|CATEGORY|DISTDIR|FILESDIR|EPREFIX|E?ROOT|WORKDIR)\>"
++color red "\<(AS|C(PP|XX)?|LD)FLAGS\>" "\<C(HOST|TARGET|BUILD)\>"
++color red "\<QA_((TEXTRELS|EXECSTACK|WX_LOAD)(_[a-zA-Z_0-9]+)?|DT_HASH|PRESTRIPPED)\>"
++color red "\<(PATCHES|(HTML_)?DOCS)\>" "\<WANT_(AUTO(CONF|MAKE)|LIBTOOL)\>" "\<AT_M4DIR\>"
+ ## Highlight portage commands
+-color magenta "\<use(_(with|enable))?\> [!a-zA-Z0-9_+ -]*" "inherit.*"
+-color brightblue "\<e(begin|end|conf|install|make|qmake[34]|ant|(qa)?warn|infon?|error|log|patch|new(group|user))\>"
+-color brightblue "\<e(pause|beep|mktemp|(cvs|svn)_clean|punt_cxx)\>" "\<e(aclocal|auto(reconf|header|conf|make))\>"
+-color brightblue "\<built_with_use\>" "\<make_desktop_entry\>" "\<unpack(_(makeself|pdv))?\>"
+-color brightblue "\<die\>" "\<use(_(with|enable))?\>" "\<inherit\>" "\<has\>" "\<(has|best)_version\>"
++color magenta "\<(use(_(with|enable|if_iuse)|x)?|in_iuse)\> [!a-zA-Z0-9_+ -]*" "inherit.*"
++color brightblue "\<e(begin|end|conf|install|make|qmake4|ant|(qa)?warn|infon?|error|log|patch(_user)?|new(group|user))\>"
++color brightblue "\<e(pause|beep|mktemp|(cvs|svn)_clean|punt_cxx)\>" "\<e(aclocal|auto(reconf|header|conf|make)|libtoolize)\>"
++color brightblue "\<e(stack|shopts|umask)_(push|pop)\>" "\<version_is_at_least\>"
++color brightblue "\<make_desktop_entry\>" "\<unpack(_(makeself|pdv))?\>"
++color brightblue "\<(die|has|inherit|nonfatal)\>" "\<(use(_(with|enable|if_iuse)|x)?|in_iuse)\>" "\<(has|best)_version\>"
+ color brightblue "\<(do|new)(ins|(games)?s?bin|doc|lib(\.so|\.a)?|man|info|exe|initd|confd|envd|pam|menu|icon)\>"
+-color brightblue "\<do(python|sed|dir|hard|sym|html|jar|mo)\>" "\<keepdir\>"
+-color brightblue "prepall(docs|info|man|strip)?" "prep(info|lib|lib\.(so|a)|man|strip|gamesdirs)"
++color brightblue "\<do(compress|python|sed|dir|hard|sym|html|jar|mo)\>" "\<keepdir\>"
++color brightblue "\<prepall(docs|info|man|strip)?\>" "\<prep(info|lib|lib\.(so|a)|man|strip|gamesdirs)\>"
+ color brightblue "\<(doc|ins|exe)?into\>" "\<(f|games)(owners|perms)\>" "\<(exe|ins|dir)opts\>"
++color brightblue "\<tc-get(BUILD_)?(AR|AS|CC|CPP|CXX|LD|NM|OBJCOPY|PKG_CONFIG|RANLIB)\>"
++color brightblue "\<tc-(arch(-kernel)?|export|has-(tls|openmp))\>"
+ ## Highlight common commands used in ebuilds
+-color blue "\<make\>" "\<(awk|cat|cd|chmod|chown|cp|echo|env|export|find|e?grep|ln|mkdir|mv|rm|sed|set|tar|touch|unset|xargs)\>"
++color blue "\<(awk|cat|cd|chmod|chown|cp|echo|env|find|e?grep|ln|make|mkdir|mv|popd|printf|pushd|rm|rmdir|sed|set|tar|touch|unset|xargs)\>"
+ ## Highlight comments (doesnt work that well)
+ color yellow "(^|[[:space:]])#.*$"
+ ## Highlight strings (doesnt work that well)
+@@ -35,7 +43,7 @@ color ,green "[[:space:]]+$"
+
+ ## Here is an example for Portage control files
+ ##
+-syntax "/etc/portage" "\.(keywords|mask|unmask|use)(/.+)?$"
++syntax "/etc/portage" "\.(accept_keywords|env|keywords|mask|unmask|use)(/.+)?$"
+ ## Base text:
+ color green "^.+$"
+ ## Use flags:
+--
+1.8.3.2
+
+--- a/doc/syntax/gentoo.nanorc
++++ b/doc/syntax/gentoo.nanorc
+@@ -61,3 +61,5 @@ color cyan "^[[:space:]]*.*/"
+ color brightmagenta "^[[:space:]]*(=|~|<|<=|=<|>|>=|=>)"
+ ## Comments:
+ color yellow "#.*$"
++## Trailing space is bad!
++color ,green "[[:space:]]+$"
diff --git a/app-editors/nano/files/nano-2.3.1-ncurses-pkg-config.patch b/app-editors/nano/files/nano-2.3.1-ncurses-pkg-config.patch
new file mode 100644
index 000000000000..84bd0b70ff87
--- /dev/null
+++ b/app-editors/nano/files/nano-2.3.1-ncurses-pkg-config.patch
@@ -0,0 +1,52 @@
+From c662db58448fefe86184117e6bab5799e43eccf1 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 1 Jan 2012 02:26:16 -0500
+Subject: [PATCH] search ncurses via pkg-config first
+
+Newer ncurses installs include pkg-config files which tell us the right
+-I/-L paths we need, so default to that before trying the legacy ways.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ configure.ac | 18 ++++++++++++++++++
+ 1 files changed, 18 insertions(+), 0 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1f61ae4..05308be 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -35,6 +35,7 @@ AC_PROG_CC
+ AC_PROG_LN_S
+ AC_ISC_POSIX
+ AC_SYS_LARGEFILE
++PKG_PROG_PKG_CONFIG
+
+ dnl Internationalization macros.
+
+@@ -439,6 +440,23 @@ AC_CHECK_FUNCS(getopt_long)
+ dnl Checks for libraries.
+
+ if eval "test x$CURSES_LIB_NAME = x"; then
++ if test x$enable_utf8 != xno; then
++ PKG_CHECK_MODULES([NCURSESW], [ncursesw], [
++ CURSES_LIB=$NCURSESW_LIBS
++ CPPFLAGS="$NCURSESW_CFLAGS $CPPFLAGS"
++ CURSES_LIB_NAME=ncursesw
++ CURSES_LIB_WIDE=yes
++ ], [:])
++ else
++ PKG_CHECK_MODULES([NCURSES], [ncurses], [
++ CURSES_LIB=$NCURSES_LIBS
++ CPPFLAGS="$NCURSES_CFLAGS $CPPFLAGS"
++ CURSES_LIB_NAME=ncurses
++ ], [:])
++ fi
++fi
++
++if eval "test x$CURSES_LIB_NAME = x"; then
+ AC_CHECK_HEADERS(ncurses.h)
+
+ if test x$enable_utf8 != xno; then
+--
+1.7.6.1
+
diff --git a/app-editors/nano/files/nano-2.3.1-shell-nanorc.patch b/app-editors/nano/files/nano-2.3.1-shell-nanorc.patch
new file mode 100644
index 000000000000..805130fda25c
--- /dev/null
+++ b/app-editors/nano/files/nano-2.3.1-shell-nanorc.patch
@@ -0,0 +1,44 @@
+From 5a6a9c107148162f47032b03af3f393c3888c5df Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 28 Feb 2012 11:14:33 -0500
+Subject: [PATCH] shell syntax: major updates
+
+Highlight more shell builtins and common commands.
+
+Rewrite the variable highlighting to be more exact and handle cases where
+string operations are used.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ doc/syntax/sh.nanorc | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/doc/syntax/sh.nanorc b/doc/syntax/sh.nanorc
+index f660105..a664ef6 100644
+--- a/doc/syntax/sh.nanorc
++++ b/doc/syntax/sh.nanorc
+@@ -4,12 +4,17 @@ syntax "sh" "\.sh$"
+ magic "(POSIX|Bourne.*) shell script text"
+ header "^#!.*/(ba|k|pdk)?sh[-0-9_]*"
+ icolor brightgreen "^[0-9A-Z_]+\(\)"
+-color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while)\>"
+-color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"
++color green "\<(break|case|continue|do|done|elif|else|esac|exit|fi|for|function|if|in|read|return|select|shift|then|time|until|while)\>"
++color green "\<(declare|eval|exec|export|let|local)\>"
++color green "[{}():;|`$<>!=&\\]" "(\]|\[)"
+ color green "-[Ldefgruwx]\>"
+ color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>"
+-color brightblue "\<(cat|cd|chmod|chown|cp|echo|env|export|grep|install|let|ln|make|mkdir|mv|rm|sed|set|tar|touch|umask|unset)\>"
+-icolor brightred "\$\{?[0-9A-Z_!@#$*?-]+\}?"
++color brightblue "\<(awk|cat|cd|ch(grp|mod|own)|cp|echo|env|grep|install|ln|make|mkdir|mv|popd|printf|pushd|rm|rmdir|sed|set|tar|touch|umask|unset)\>"
++# Basic variable names (no braces)
++color brightred "\$[-0-9@*#?$!]" "\$[[:alpha:]_][[:alnum:]_]*"
++# More complicated variable names; handles braces
++# and replacements and arrays
++color brightred "\$\{[#!]?([-@*#?$!]|[0-9]+|[[:alpha:]_][[:alnum:]_]*)(\[([[:space:]]*[[:alnum:]_]+[[:space:]]*|@)\])?(([#%/]|:?[-=?+])[^}]*\}|\[|\})"
+ color cyan "(^|[[:space:]])#.*$"
+ color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'"
+ color ,green "[[:space:]]+$"
+--
+1.7.9.7
+
diff --git a/app-editors/nano/files/nano-2.3.2-bind-unbind-docs.patch b/app-editors/nano/files/nano-2.3.2-bind-unbind-docs.patch
new file mode 100644
index 000000000000..cd7dd343f783
--- /dev/null
+++ b/app-editors/nano/files/nano-2.3.2-bind-unbind-docs.patch
@@ -0,0 +1,119 @@
+From 17e1ba8530b9e21932935ad052ad416a0c2058a7 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 28 Nov 2011 15:37:02 -0500
+Subject: [PATCH] nanorc(5): fix bind/unbind documentation
+
+The unbind section is listed after valid key/menu/functions, but tries
+to say those sections come after it. So reorganization the section so
+that bind/unbind comes first, and then we cover the key/menu/functions
+after both of them.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ doc/man/nanorc.5 | 32 +++++++++++++++++++-------------
+ 1 file changed, 19 insertions(+), 13 deletions(-)
+
+diff --git a/doc/man/nanorc.5 b/doc/man/nanorc.5
+index b9c0a19..3fc3c5d 100644
+--- a/doc/man/nanorc.5
++++ b/doc/man/nanorc.5
+@@ -285,9 +285,19 @@ Read in self-contained color syntaxes from \fIsyntaxfile\fP. Note that
+ .SH KEY BINDINGS
+ Key bindings may be reassigned via the following commands:
+ .TP
+-.B bind \fIkey\fP \fIfunction\fP \fImenu\fP
++.B bind \fIkey\fP \fIfunction\fP \fImenu\fP
+ Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the
+-context of menu \fImenu\fP. The format of \fIkey\fP should be one of:
++context of menu \fImenu\fP.
++.TP
++.B unbind \fIkey\fP \fImenu\fP
++Unbind the key \fIkey\fP from the menu named \fImenu\fP or from all
++menus by using \fIall\fP. Same key syntax as for binding.
++Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the
++context of menu \fImenu\fP.
++.TP
++
++The format of \fIkey\fP should be one of:
++
+ .TP
+ .B ^
+ followed by an alpha character or the word "Space".
+@@ -301,8 +311,10 @@ Example: M-C
+ followed by a numeric value from 1 to 16.
+ Example: F10
+ .TP
+-Valid function names to be bound include:
+-.TP 3
++
++Valid \fIfunction\fP names to be bound include:
++
++.TP 2
+ .B help
+ Invoke the help menu.
+ .TP
+@@ -509,8 +521,9 @@ Toggle whether long lines will be wrapped to the next line.
+ Toggle whether the suspend sequence (normally ^Z) will suspend the editor window.
+ .TP
+
+-Valid menu sections are:
+-.TP
++Valid \fImenu\fP sections are:
++
++.TP 2
+ .B main
+ The main editor window where text is entered.
+ .TP
+@@ -552,13 +565,6 @@ The 'go to directory' menu.
+ .TP
+ .B all
+ A special name meaning: apply to all menus where this function exists.
+-
+-.TP
+-.B unbind \fIkey\fP \fImenu\fP
+-Unbind the key \fIkey\fP from the menu named \fImenu\fP or from all
+-menus by using \fIall\fP. Same key syntax as for binding.
+-Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the
+-context of menu \fImenu\fP. The format of \fIkey\fP should be one of:
+ .SH FILES
+ .TP
+ .I SYSCONFDIR/nanorc
+--
+1.8.1.2
+
+From 0d49d9f0c62013e0d86169a92a2d0f5557e7be05 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 28 Nov 2011 15:38:26 -0500
+Subject: [PATCH] nanorc syntax: add bind/unbind commands
+
+We don't currently handle the bind/unbind commands, so adding them to
+your nanorc file with colorization enabled makes it look like they're
+not actually supported.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ doc/syntax/nanorc.nanorc | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/doc/syntax/nanorc.nanorc b/doc/syntax/nanorc.nanorc
+index 2c9f23a..494c2f4 100644
+--- a/doc/syntax/nanorc.nanorc
++++ b/doc/syntax/nanorc.nanorc
+@@ -2,10 +2,12 @@
+ ##
+ syntax "nanorc" "\.?nanorc$"
+ ## Possible errors and parameters
+-icolor brightwhite "^[[:space:]]*((un)?set|include|syntax|i?color).*$"
++icolor brightwhite "^[[:space:]]*((un)?(bind|set)|include|syntax|i?color).*$"
+ ## Keywords
+ icolor brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(allow_insecure_backup|autoindent|backup|backupdir|backwards|boldtext|brackets|casesensitive|const|cut|fill|historylog|matchbrackets|morespace|mouse|multibuffer|noconvert|nofollow|nohelp|nonewlines|nowrap|operatingdir|poslog|preserve|punct)\>" "^[[:space:]]*(set|unset)[[:space:]]+(quickblank|quotestr|rebinddelete|rebindkeypad|regexp|smarthome|smooth|softwrap|speller|suspend|suspendenable|tabsize|tabstospaces|tempfile|undo|view|whitespace|wordbounds|locking)\>"
+-icolor green "^[[:space:]]*(set|unset|include|syntax|header|magic)\>"
++icolor brightgreen "^[[:space:]]*bind[[:space:]]+((\^|M-)([[:alpha:]]|space)|F([0-9]|1[0-6]))[[:space:]]+[[:alpha:]]+[[:space:]]+[[:alpha:]]+[[:space:]]*$"
++icolor brightgreen "^[[:space:]]*unbind[[:space:]]+((\^|M-)([[:alpha:]]|space)|F([0-9]|1[0-6]))[[:space:]]+[[:alpha:]]+[[:space:]]*$"
++icolor green "^[[:space:]]*((un)?(bind|set)|include|syntax|header|magic)\>"
+ ## Colors
+ icolor yellow "^[[:space:]]*i?color[[:space:]]*(bright)?(white|black|red|blue|green|yellow|magenta|cyan)?(,(white|black|red|blue|green|yellow|magenta|cyan))?\>"
+ icolor magenta "^[[:space:]]*i?color\>" "\<(start|end)="
+--
+1.8.1.2
+
diff --git a/app-editors/nano/files/nano-2.4.0-no-speller.patch b/app-editors/nano/files/nano-2.4.0-no-speller.patch
new file mode 100644
index 000000000000..4405266bb0af
--- /dev/null
+++ b/app-editors/nano/files/nano-2.4.0-no-speller.patch
@@ -0,0 +1,88 @@
+https://bugs.gentoo.org/show_bug.cgi?id=544296
+https://savannah.gnu.org/bugs/?44607
+
+From 14a9c8aa0b124dc580c4805e848e6ff0880b43bd Mon Sep 17 00:00:00 2001
+From: Benno Schulenberg <bensberg@justemail.net>
+Date: Fri, 27 Mar 2015 16:55:49 +0000
+Subject: [PATCH] Treating the formatter like a speller, to fix compilation
+ with --disable-speller. This fixes Savannah bug #44607.
+
+git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5168 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
+---
+ ChangeLog | 2 ++
+ src/global.c | 10 ++++++++--
+ src/text.c | 3 ++-
+ 3 files changed, 12 insertions(+), 3 deletions(-)
+
+ChangeLog
+ * src/global.c, src/text.c: Treat the formatter like a speller, to fix
+ compilation with --disable-speller. Fixes Savannah bug #44607.
+
+diff --git a/src/global.c b/src/global.c
+index 4643af2..27ff938 100644
+--- a/src/global.c
++++ b/src/global.c
+@@ -639,8 +639,10 @@ void shortcut_init(void)
+ const char *nano_lint_msg = N_("Invoke the linter, if available");
+ const char *nano_prevlint_msg = N_("Go to previous linter msg");
+ const char *nano_nextlint_msg = N_("Go to next linter msg");
++#ifndef DISABLE_SPELLER
+ const char *nano_formatter_msg = N_("Invoke formatter, if available");
+ #endif
++#endif
+ #endif /* !DISABLE_HELP */
+
+ #ifndef DISABLE_HELP
+@@ -736,9 +738,11 @@ void shortcut_init(void)
+ #ifndef DISABLE_COLOR
+ add_to_funcs(do_linter, MMAIN,
+ N_("To Linter"), IFSCHELP(nano_lint_msg), TOGETHER, NOVIEW);
++#ifndef DISABLE_SPELLER
+ add_to_funcs(do_formatter, MMAIN,
+ N_("Formatter"), IFSCHELP(nano_formatter_msg), BLANKAFTER, NOVIEW);
+ #endif
++#endif
+
+ #ifndef NANO_TINY
+ add_to_funcs(case_sens_void, MWHEREIS|MREPLACE,
+@@ -1006,12 +1010,14 @@ void shortcut_init(void)
+ #ifndef DISABLE_SPELLER
+ add_to_sclist(MMAIN, "^T", do_spell, 0);
+ add_to_sclist(MMAIN, "F12", do_spell, 0);
++#ifndef DISABLE_COLOR
++ add_to_sclist(MMAIN, "^T", do_formatter, 0);
++ add_to_sclist(MMAIN, "F12", do_formatter, 0);
++#endif
+ #else
+ #ifndef DISABLE_COLOR
+ add_to_sclist(MMAIN, "^T", do_linter, 0);
+ add_to_sclist(MMAIN, "F12", do_linter, 0);
+- add_to_sclist(MMAIN, "^T", do_formatter, 0);
+- add_to_sclist(MMAIN, "F12", do_formatter, 0);
+ #endif
+ #endif
+ add_to_sclist(MMAIN, "^C", do_cursorpos_void, 0);
+diff --git a/src/text.c b/src/text.c
+index 8814b49..98b2f80 100644
+--- a/src/text.c
++++ b/src/text.c
+@@ -3223,6 +3223,7 @@ free_lints_and_return:
+ lint_cleanup();
+ }
+
++#ifndef DISABLE_SPELLER
+ /* Run a formatter for the given syntax.
+ * Expects the formatter to be non-interactive and
+ * operate on a file in-place, which we'll pass it
+@@ -3370,7 +3371,7 @@ void do_formatter(void)
+
+ statusbar(finalstatus);
+ }
+-
++#endif /* !DISABLE_SPELLER */
+ #endif /* !DISABLE_COLOR */
+
+ #ifndef NANO_TINY
+--
+2.3.3
+
diff --git a/app-editors/nano/files/xml.nanorc b/app-editors/nano/files/xml.nanorc
new file mode 100644
index 000000000000..1f68c05341ad
--- /dev/null
+++ b/app-editors/nano/files/xml.nanorc
@@ -0,0 +1,9 @@
+## Here is an example for xml files.
+##
+syntax "xml" "\.([jrs]html?|sgml?|xml|xslt?)$"
+color green start="<" end=">"
+color cyan "<[^> ]+"
+color cyan ">"
+color yellow start="<!DOCTYPE" end="[/]?>"
+color yellow start="<!--" end="-->"
+color red "&[^;]*;"
diff --git a/app-editors/nano/metadata.xml b/app-editors/nano/metadata.xml
new file mode 100644
index 000000000000..98a48959684c
--- /dev/null
+++ b/app-editors/nano/metadata.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>vapier@gentoo.org</email>
+</maintainer>
+<longdescription>
+GNU nano - an enhanced clone of the Pico text editor.
+
+The nano project was started because of a few "problems" with the
+wonderfully easy-to-use and friendly Pico text editor.
+
+First and foremost is its license: the Pine suite does not use the
+GPL or a GPL-friendly license, and has unclear restrictions on
+redistribution. Because of this, Pine and Pico are not included with
+many GNU/Linux distributions. Also, other features (like goto line
+number or search and replace) were unavailable until recently or
+require a command line flag. Yuck.
+
+nano aims to solve these problems by emulating the functionality of
+Pico as closely as possible while addressing the problems above and
+perhaps providing other extra functionality.
+</longdescription>
+<use>
+ <flag name='justify'>Enable justify/unjustify functions for text formatting.</flag>
+ <flag name='debug'>
+ Enable debug messages and assert warnings. Note that these will all be sent
+ straight to stderr rather than some logging facility.
+ </flag>
+ <flag name='magic'>
+ Add magic file support (sys-apps/file) to automatically detect appropriate syntax highlighting
+ </flag>
+ <flag name='minimal'>
+ Disable all fancy features, including ones that otherwise have a dedicated
+ USE flag (such as spelling).
+ </flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/nano/nano-1.3.12-r1.ebuild b/app-editors/nano/nano-1.3.12-r1.ebuild
new file mode 100644
index 000000000000..a73448570289
--- /dev/null
+++ b/app-editors/nano/nano-1.3.12-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+#ECVS_SERVER="savannah.gnu.org:/cvsroot/nano"
+#ECVS_MODULE="nano"
+#ECVS_AUTH="pserver"
+#ECVS_USER="anonymous"
+#inherit cvs
+inherit eutils
+
+MY_P=${PN}-${PV/_}
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/"
+SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc ~sparc-fbsd x86 ~x86-fbsd"
+IUSE="debug justify minimal ncurses nls slang spell unicode"
+
+DEPEND=">=sys-libs/ncurses-5.2
+ nls? ( sys-devel/gettext )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-path.patch
+ epatch "${FILESDIR}"/${P}-scroll.patch
+ epatch "${FILESDIR}"/${P}-fix2.patch
+}
+
+src_compile() {
+ if [[ ! -e configure ]] ; then
+ ./autogen.sh || die "autogen failed"
+ fi
+
+ local myconf=""
+ use ncurses \
+ && myconf="--without-slang" \
+ || myconf="${myconf} $(use_with slang)"
+
+ econf \
+ --bindir=/bin \
+ --enable-color \
+ --enable-multibuffer \
+ --enable-nanorc \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ ${myconf} \
+ || die "configure failed"
+ emake || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml *.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+
+ insinto /usr/share/nano
+ doins "${FILESDIR}"/*.nanorc || die
+ echo $'\n''# include "/usr/share/nano/gentoo.nanorc"' >> "${D}"/etc/nanorc
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
+
+pkg_postinst() {
+ einfo "More helpful info about nano, visit the GDP page:"
+ einfo "http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+}
diff --git a/app-editors/nano/nano-2.0.9.ebuild b/app-editors/nano/nano-2.0.9.ebuild
new file mode 100644
index 000000000000..d571152093bb
--- /dev/null
+++ b/app-editors/nano/nano-2.0.9.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ECVS_SERVER="savannah.gnu.org:/cvsroot/nano"
+ ECVS_MODULE="nano"
+ ECVS_AUTH="pserver"
+ ECVS_USER="anonymous"
+ inherit cvs
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc ~sparc-fbsd x86 ~x86-fbsd"
+IUSE="debug justify minimal ncurses nls slang spell unicode"
+
+DEPEND=">=sys-libs/ncurses-5.2
+ nls? ( sys-devel/gettext )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ if [[ ! -e configure ]] ; then
+ ./autogen.sh || die "autogen failed"
+ fi
+}
+
+src_compile() {
+ local myconf=""
+ use ncurses \
+ && myconf="--without-slang" \
+ || myconf="${myconf} $(use_with slang)"
+
+ econf \
+ --bindir=/bin \
+ --enable-color \
+ --enable-multibuffer \
+ --enable-nanorc \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ ${myconf} \
+ || die "configure failed"
+ emake || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml *.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+
+ insinto /usr/share/nano
+ doins "${FILESDIR}"/*.nanorc || die
+ echo $'\n''# include "/usr/share/nano/gentoo.nanorc"' >> "${D}"/etc/nanorc
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
+
+pkg_postinst() {
+ einfo "More helpful info about nano, visit the GDP page:"
+ einfo "http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+}
diff --git a/app-editors/nano/nano-2.1.10.ebuild b/app-editors/nano/nano-2.1.10.ebuild
new file mode 100644
index 000000000000..a5816749fb86
--- /dev/null
+++ b/app-editors/nano/nano-2.1.10.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="debug justify minimal ncurses nls slang spell unicode"
+
+DEPEND=">=sys-libs/ncurses-5.2[unicode?]
+ nls? ( sys-devel/gettext )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]] ; then
+ subversion_src_unpack
+ else
+ unpack ${A}
+ fi
+ cd "${S}"
+ if [[ ! -e configure ]] ; then
+ ./autogen.sh || die "autogen failed"
+ fi
+}
+
+src_configure() {
+ local myconf=""
+ use ncurses \
+ && myconf="--without-slang" \
+ || myconf="${myconf} $(use_with slang)"
+
+ econf \
+ --bindir=/bin \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ ${myconf} \
+ || die "configure failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+
+ insinto /usr/share/nano
+ local f
+ for f in "${FILESDIR}"/*.nanorc ; do
+ [[ -e ${D}/usr/share/nano/${f##*/} ]] && continue
+ doins "${f}" || die
+ echo "# include \"/usr/share/nano/${f##*/}\"" >> "${D}"/etc/nanorc
+ done
+}
+
+pkg_postinst() {
+ einfo "More helpful info about nano, visit the GDP page:"
+ einfo "http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+}
diff --git a/app-editors/nano/nano-2.2.5.ebuild b/app-editors/nano/nano-2.2.5.ebuild
new file mode 100644
index 000000000000..bae4643ce848
--- /dev/null
+++ b/app-editors/nano/nano-2.2.5.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify minimal ncurses nls slang spell unicode"
+
+DEPEND=">=sys-libs/ncurses-5.2[unicode?]
+ nls? ( sys-devel/gettext )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]] ; then
+ subversion_src_unpack
+ else
+ unpack ${A}
+ fi
+ cd "${S}"
+ if [[ ! -e configure ]] ; then
+ ./autogen.sh || die "autogen failed"
+ fi
+}
+
+src_configure() {
+ local myconf=""
+ use ncurses \
+ && myconf="--without-slang" \
+ || myconf="${myconf} $(use_with slang)"
+
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ ${myconf} \
+ || die "configure failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+
+ insinto /usr/share/nano
+ local f
+ for f in "${FILESDIR}"/*.nanorc ; do
+ [[ -e ${ED}/usr/share/nano/${f##*/} ]] && continue
+ doins "${f}" || die
+ echo "# include \"/usr/share/nano/${f##*/}\"" >> "${ED}"/etc/nanorc
+ done
+}
+
+pkg_postinst() {
+ einfo "More helpful info about nano, visit the GDP page:"
+ einfo "http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+}
diff --git a/app-editors/nano/nano-2.3.1-r1.ebuild b/app-editors/nano/nano-2.3.1-r1.ebuild
new file mode 100644
index 000000000000..135864c1f3b6
--- /dev/null
+++ b/app-editors/nano/nano-2.3.1-r1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit eutils autotools
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify minimal ncurses nls slang spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ nls? ( sys-devel/gettext )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.3.1-ncurses-pkg-config.patch
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=""
+ use ncurses \
+ && myconf="--without-slang" \
+ || myconf="${myconf} $(use_with slang)"
+
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
+
+pkg_postinst() {
+ einfo "More helpful info about nano, visit the GDP page:"
+ einfo "http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+}
diff --git a/app-editors/nano/nano-2.3.1-r2.ebuild b/app-editors/nano/nano-2.3.1-r2.ebuild
new file mode 100644
index 000000000000..aabd9a9df01b
--- /dev/null
+++ b/app-editors/nano/nano-2.3.1-r2.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit eutils autotools
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify +magic minimal ncurses nls slang spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.3.1-drop-target.patch
+ epatch "${FILESDIR}"/${PN}-2.3.1-ncurses-pkg-config.patch
+ epatch "${FILESDIR}"/${PN}-2.3.1-bind-unbind-docs.patch
+ epatch "${FILESDIR}"/${PN}-2.3.1-{shell,gentoo}-nanorc.patch
+ eautoreconf
+}
+
+src_configure() {
+ eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic)
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang))
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ rm -rf "${ED}"/usr/share/nano/man-html
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-2.3.1.ebuild b/app-editors/nano/nano-2.3.1.ebuild
new file mode 100644
index 000000000000..c55cd9365920
--- /dev/null
+++ b/app-editors/nano/nano-2.3.1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify minimal ncurses nls slang spell unicode"
+
+DEPEND=">=sys-libs/ncurses-5.2[unicode?]
+ nls? ( sys-devel/gettext )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+
+src_prepare() {
+ if [[ ! -e configure ]] ; then
+ ./autogen.sh || die
+ fi
+}
+
+src_configure() {
+ local myconf=""
+ use ncurses \
+ && myconf="--without-slang" \
+ || myconf="${myconf} $(use_with slang)"
+
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+
+ insinto /usr/share/nano
+ local f
+ for f in "${FILESDIR}"/*.nanorc ; do
+ [[ -e ${ED}/usr/share/nano/${f##*/} ]] && continue
+ doins "${f}" || die
+ echo "# include \"/usr/share/nano/${f##*/}\"" >> "${ED}"/etc/nanorc
+ done
+}
+
+pkg_postinst() {
+ einfo "More helpful info about nano, visit the GDP page:"
+ einfo "http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+}
diff --git a/app-editors/nano/nano-2.3.2-r1.ebuild b/app-editors/nano/nano-2.3.2-r1.ebuild
new file mode 100644
index 000000000000..6a9a8299e144
--- /dev/null
+++ b/app-editors/nano/nano-2.3.2-r1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils autotools
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify +magic minimal ncurses nls slang +spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.3.1-ncurses-pkg-config.patch
+ epatch "${FILESDIR}"/${PN}-2.3.2-bind-unbind-docs.patch
+ epatch "${FILESDIR}"/${PN}-2.3.1-{shell,gentoo}-nanorc.patch
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic)
+ local myconf=()
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang)) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -rf "${ED}"/usr/share/nano/man-html
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED}"/etc/nanorc || die
+ fi
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-2.3.2.ebuild b/app-editors/nano/nano-2.3.2.ebuild
new file mode 100644
index 000000000000..3758ea421a77
--- /dev/null
+++ b/app-editors/nano/nano-2.3.2.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit eutils autotools
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify +magic minimal ncurses nls slang spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.3.1-ncurses-pkg-config.patch
+ epatch "${FILESDIR}"/${PN}-2.3.2-bind-unbind-docs.patch
+ epatch "${FILESDIR}"/${PN}-2.3.1-{shell,gentoo}-nanorc.patch
+ eautoreconf
+}
+
+src_configure() {
+ eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic)
+ local myconf=()
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang)) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ rm -rf "${ED}"/usr/share/nano/man-html
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-2.3.3.ebuild b/app-editors/nano/nano-2.3.3.ebuild
new file mode 100644
index 000000000000..aa2e65767f95
--- /dev/null
+++ b/app-editors/nano/nano-2.3.3.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify +magic minimal ncurses nls slang +spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic)
+ local myconf=()
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ --htmldir=/trash \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang)) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/trash
+
+ dodoc doc/nanorc.sample
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED}"/etc/nanorc || die
+ fi
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-2.3.4.ebuild b/app-editors/nano/nano-2.3.4.ebuild
new file mode 100644
index 000000000000..aa2e65767f95
--- /dev/null
+++ b/app-editors/nano/nano-2.3.4.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify +magic minimal ncurses nls slang +spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic)
+ local myconf=()
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ --htmldir=/trash \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang)) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/trash
+
+ dodoc doc/nanorc.sample
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED}"/etc/nanorc || die
+ fi
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-2.3.6.ebuild b/app-editors/nano/nano-2.3.6.ebuild
new file mode 100644
index 000000000000..b336c88f8171
--- /dev/null
+++ b/app-editors/nano/nano-2.3.6.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify +magic minimal ncurses nls slang +spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic)
+ local myconf=()
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ --htmldir=/trash \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang)) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/trash
+
+ dodoc doc/nanorc.sample
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED}"/etc/nanorc || die
+ fi
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-2.4.0.ebuild b/app-editors/nano/nano-2.4.0.ebuild
new file mode 100644
index 000000000000..083a3e7a3f24
--- /dev/null
+++ b/app-editors/nano/nano-2.4.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify +magic minimal ncurses nls slang +spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-no-speller.patch #544296
+ epatch_user
+}
+
+src_configure() {
+ eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic)
+ local myconf=()
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ --htmldir=/trash \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang)) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/trash
+
+ dodoc doc/nanorc.sample
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED}"/etc/nanorc || die
+ fi
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-2.4.1.ebuild b/app-editors/nano/nano-2.4.1.ebuild
new file mode 100644
index 000000000000..ce5b18721919
--- /dev/null
+++ b/app-editors/nano/nano-2.4.1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify +magic minimal ncurses nls slang +spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic)
+ local myconf=()
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ --htmldir=/trash \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang)) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/trash
+
+ dodoc doc/nanorc.sample
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED}"/etc/nanorc || die
+ fi
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-2.4.2.ebuild b/app-editors/nano/nano-2.4.2.ebuild
new file mode 100644
index 000000000000..ce5b18721919
--- /dev/null
+++ b/app-editors/nano/nano-2.4.2.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/ http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug justify +magic minimal ncurses nls slang +spell unicode"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r1[unicode?]
+ magic? ( sys-apps/file )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ eval export ac_cv_{header_magic_h,lib_magic_magic_open}=$(usex magic)
+ local myconf=()
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ --htmldir=/trash \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang)) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/trash
+
+ dodoc doc/nanorc.sample
+ dohtml doc/faq.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED}"/etc/nanorc || die
+ fi
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
diff --git a/app-editors/ne/Manifest b/app-editors/ne/Manifest
new file mode 100644
index 000000000000..0d0cab3a3d73
--- /dev/null
+++ b/app-editors/ne/Manifest
@@ -0,0 +1,2 @@
+DIST ne-2.5.tar.gz 1106020 SHA256 e11581d84ff855c3fab5c2bddc3a4633a3b28bb2ce89508e4568d3c3fc929f58 SHA512 e93b5da33565c8ef0b3263083bacec46f1867f78950e0bed940b2f18d14eb42bfa6323130eabe0f793f427a5bea5e04df6ef8e4a0276a883822b0842cbd8b5ed WHIRLPOOL 8bf3f9bd0d735bfef656713e9485a74f901c212396a691ee7faf01f4afa2918f03ec053d289e7311a7bae8b3a7d44c928cb109fefa6b1df581ae8da9c6a3d453
+DIST ne-3.0.1.tar.gz 1193311 SHA256 92b646dd2ba64052e62deaa4239373821050a03e1b7d09d203ce04f2adfbd0e4 SHA512 3750140a49c7424e92e509137d5f31d305b81d41939a2578f6a26065216ebd1aa444b0e8d7e79dd09cc525e1055cda4d756f21ec810f860063d2eec861ea8273 WHIRLPOOL e0630f7e077400393ee5734989327369f2d646c88a32313f193b34e7f44d7962b368a5deb5876cfe997e34295078b44fba1672cfb257ef3dc08a8597a5708a5b
diff --git a/app-editors/ne/metadata.xml b/app-editors/ne/metadata.xml
new file mode 100644
index 000000000000..f3e7ae06bec6
--- /dev/null
+++ b/app-editors/ne/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>maintainer-needed@gentoo.org</email>
+</maintainer>
+<use>
+<flag name='tinfo'>Link against libtinfo from sys-libs/ncurses</flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/ne/ne-2.5.ebuild b/app-editors/ne/ne-2.5.ebuild
new file mode 100644
index 000000000000..de1216898f30
--- /dev/null
+++ b/app-editors/ne/ne-2.5.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils toolchain-funcs
+
+DESCRIPTION="the nice editor, easy to use for the beginner and powerful for the wizard"
+HOMEPAGE="http://ne.di.unimi.it/"
+SRC_URI="${HOMEPAGE}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE=tinfo
+
+DEPEND="
+ >=sys-libs/ncurses-5.2[tinfo?]
+"
+RDEPEND="
+ ${DEPEND}
+ dev-lang/perl
+"
+
+src_prepare() {
+ sed -i -e 's/-O3//' src/makefile || die
+}
+
+src_configure() {
+ if use tinfo; then
+ sed -i -e 's|-lcurses|-ltinfo|g' src/makefile || die
+ else
+ sed -i -e 's|-lcurses|-lncurses|g' src/makefile || die
+ fi
+}
+
+src_compile() {
+ emake -C src CC="$(tc-getCC)" \
+ NE_GLOBAL_DIR="/usr/share/ne" \
+ OPTS="${CFLAGS}" \
+ ne || die
+}
+
+src_install() {
+ dobin src/ne
+
+ insinto /usr/share/ne/syntax
+ doins syntax/*.jsf
+
+ doman doc/ne.1
+ dohtml -r doc/html/.
+ dodoc CHANGES README doc/*.{txt,pdf,texinfo} doc/default.*
+}
diff --git a/app-editors/ne/ne-3.0.1.ebuild b/app-editors/ne/ne-3.0.1.ebuild
new file mode 100644
index 000000000000..505846d5c085
--- /dev/null
+++ b/app-editors/ne/ne-3.0.1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="the nice editor, easy to use for the beginner and powerful for the wizard"
+HOMEPAGE="http://ne.di.unimi.it/"
+SRC_URI="${HOMEPAGE}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE=tinfo
+
+DEPEND="
+ >=sys-libs/ncurses-5.2[tinfo?]
+"
+RDEPEND="
+ ${DEPEND}
+ dev-lang/perl
+"
+
+src_prepare() {
+ sed -i -e 's/-O3//' src/makefile || die
+}
+
+src_configure() {
+ if use tinfo; then
+ sed -i -e 's|-lcurses|-ltinfo|g' src/makefile || die
+ else
+ sed -i -e 's|-lcurses|-lncurses|g' src/makefile || die
+ fi
+}
+
+src_compile() {
+ append-cflags -std=c11
+ emake -C src CC="$(tc-getCC)" \
+ NE_GLOBAL_DIR="/usr/share/ne" \
+ OPTS="${CFLAGS}" \
+ ne || die
+}
+
+src_install() {
+ dobin src/ne
+
+ insinto /usr/share/ne/syntax
+ doins syntax/*.jsf
+
+ doman doc/ne.1
+ dohtml -r doc/html/.
+ dodoc CHANGES README.md NEWS doc/*.{txt,pdf,texinfo} doc/default.*
+}
diff --git a/app-editors/nedit/Manifest b/app-editors/nedit/Manifest
new file mode 100644
index 000000000000..f04c940b3108
--- /dev/null
+++ b/app-editors/nedit/Manifest
@@ -0,0 +1 @@
+DIST nedit-5.5_p20110116.tar.bz2 1030011 SHA256 a69d765d933829b6d0447516aef6a1157b52c1b7dc99cd5713b10632b6294bd8 SHA512 ab635c9037c1599009684a1f40779f688c8e16a8b1294ffe88ff8d2466411beefa7e6324edd59b18fe4764fe6b66e83aa277cf87d4fcea5f4b223d951fc603e2 WHIRLPOOL 31b95fa483110a48a66c946142e5e924209a5c4b1a2a17ecc54844be26edbe3c0118595c546d570cdaed35c9aba7f5faeb247efb39f2f161a9dd115ad0b37faa
diff --git a/app-editors/nedit/files/nedit-5.5_p20090914-ldflags.patch b/app-editors/nedit/files/nedit-5.5_p20090914-ldflags.patch
new file mode 100644
index 000000000000..4532c6251894
--- /dev/null
+++ b/app-editors/nedit/files/nedit-5.5_p20090914-ldflags.patch
@@ -0,0 +1,17 @@
+--- source/Makefile.common 2004-03-21 15:25:56.000000000 +0100
++++ source/Makefile.common.new 2009-10-24 10:47:03.667835157 +0200
+@@ -21,12 +21,12 @@
+ # we only want natural rebuilds to regenerate the link date.
+ nedit: $(OBJS) ../util/libNUtil.a $(XMLLIB) $(XLTLIB)
+ $(CC) $(CFLAGS) -c linkdate.c
+- $(CC) $(CFLAGS) $(OBJS) linkdate.o $(XMLLIB) \
++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) linkdate.o $(XMLLIB) \
+ $(XLTLIB) ../util/libNUtil.a $(LIBS) -o $@
+
+ # Note LIBS isn't quite right here; it links unnecessarily against Motif
+ nc: nc.o server_common.o ../util/libNUtil.a
+- $(CC) $(CFLAGS) nc.o server_common.o ../util/libNUtil.a $(LIBS) -o $@
++ $(CC) $(CFLAGS) $(LDFLAGS) nc.o server_common.o ../util/libNUtil.a $(LIBS) -o $@
+
+ help.o: help.c
+ $(CC) $(CFLAGS) $(BIGGER_STRINGS) -c help.c -o $@
diff --git a/app-editors/nedit/files/nedit-5.5_p20110116-40_Pointer_to_Integer.patch b/app-editors/nedit/files/nedit-5.5_p20110116-40_Pointer_to_Integer.patch
new file mode 100644
index 000000000000..9081ea340619
--- /dev/null
+++ b/app-editors/nedit/files/nedit-5.5_p20110116-40_Pointer_to_Integer.patch
@@ -0,0 +1,261 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+# Description: fix warning: cast from pointer to integer of different size
+# Origin: https://sourceforge.net/tracker/download.php?group_id=11005&atid=311005&file_id=340993&aid=2846694
+# Bug: https://sourceforge.net/tracker/?func=detail&atid=311005&aid=2846694&group_id=11005
+# Author: Jack Howarth <jwhowarth@users.sourceforge.net>
+
+@DPATCH@
+diff -urNad nedit-5.6~cvs20081118~/Xlt/SlideC.c nedit-5.6~cvs20081118/Xlt/SlideC.c
+--- nedit-5.6~cvs20081118~/Xlt/SlideC.c 2009-09-15 21:27:12.000000000 +0200
++++ nedit-5.6~cvs20081118/Xlt/SlideC.c 2009-09-15 22:05:42.000000000 +0200
+@@ -28,6 +28,7 @@
+ #endif
+
+ #include <Xm/XmP.h>
++#include <stdint.h>
+
+ #include "SlideCP.h"
+
+@@ -116,14 +117,14 @@
+ /* notify that initialize called XtArgsProc */ NULL,
+ /* NULL XtProc */ NULL,
+ /* NULL XtPointer */ NULL,
+-/* NULL Cardinal */ (Cardinal)NULL,
++/* NULL Cardinal */ (Cardinal)(uintptr_t)NULL,
+ /* resources for subclass fields XtResourceList */ resources,
+ /* number of entries in resources Cardinal */ XtNumber(resources),
+ /* resource class quarkified XrmClass */ NULLQUARK,
+-/* NULL Boolean */ (Boolean)NULL,
+-/* NULL XtEnum */ (XtEnum)NULL,
+-/* NULL Boolean */ (Boolean)NULL,
+-/* NULL Boolean */ (Boolean)NULL,
++/* NULL Boolean */ (Boolean)(uintptr_t)NULL,
++/* NULL XtEnum */ (XtEnum)(uintptr_t)NULL,
++/* NULL Boolean */ (Boolean)(uintptr_t)NULL,
++/* NULL Boolean */ (Boolean)(uintptr_t)NULL,
+ /* free data for subclass pointers XtWidgetProc */ destroy,
+ /* NULL XtProc */ NULL,
+ /* NULL XtProc */ NULL,
+diff -urNad nedit-5.6~cvs20081118~/source/file.c nedit-5.6~cvs20081118/source/file.c
+--- nedit-5.6~cvs20081118~/source/file.c 2009-09-15 21:27:12.000000000 +0200
++++ nedit-5.6~cvs20081118/source/file.c 2009-09-15 22:06:42.000000000 +0200
+@@ -52,6 +52,7 @@
+ #include <limits.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <string.h>
+ #include <unistd.h>
+
+@@ -1914,7 +1915,7 @@
+ if (XmToggleButtonGetState(w)) {
+ XtPointer userData;
+ XtVaGetValues(w, XmNuserData, &userData, NULL);
+- *(int*) clientData = (int) userData;
++ *(int*) clientData = (int) (uintptr_t) userData;
+ }
+ }
+
+diff -urNad nedit-5.6~cvs20081118~/source/highlight.c nedit-5.6~cvs20081118/source/highlight.c
+--- nedit-5.6~cvs20081118~/source/highlight.c 2009-09-15 21:27:12.000000000 +0200
++++ nedit-5.6~cvs20081118/source/highlight.c 2009-09-15 22:07:06.000000000 +0200
+@@ -49,6 +49,7 @@
+ #include <limits.h>
+ #include <math.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <string.h>
+ #ifdef VMS
+ #include "../util/VMSparam.h"
+@@ -512,7 +513,7 @@
+ if (!pattern) {
+ return NULL;
+ }
+- return (void*)pattern->userStyleIndex;
++ return (void*)(uintptr_t)pattern->userStyleIndex;
+ }
+
+ /*
+diff -urNad nedit-5.6~cvs20081118~/source/macro.c nedit-5.6~cvs20081118/source/macro.c
+--- nedit-5.6~cvs20081118~/source/macro.c 2009-09-15 21:27:12.000000000 +0200
++++ nedit-5.6~cvs20081118/source/macro.c 2009-09-15 22:07:27.000000000 +0200
+@@ -60,6 +60,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <string.h>
+ #include <ctype.h>
+ #include <errno.h>
+@@ -2924,7 +2925,7 @@
+ readStringArg(argList[i], &btnLabel, btnStorage, errMsg);
+ btn = XtVaCreateManagedWidget("mdBtn", xmPushButtonWidgetClass, dialog,
+ XmNlabelString, s1=XmStringCreateSimple(btnLabel),
+- XmNuserData, (XtPointer)(i+1), NULL);
++ XmNuserData, (XtPointer)(uintptr_t)(i+1), NULL);
+ XtAddCallback(btn, XmNactivateCallback, dialogBtnCB, window);
+ XmStringFree(s1);
+ }
+@@ -2965,7 +2966,7 @@
+ return; /* shouldn't happen */
+ if (XtClass(w) == xmPushButtonWidgetClass) {
+ XtVaGetValues(w, XmNuserData, &userData, NULL);
+- retVal.val.n = (int)userData;
++ retVal.val.n = (int)(uintptr_t)userData;
+ } else
+ retVal.val.n = 1;
+ retVal.tag = INT_TAG;
+@@ -3101,7 +3102,7 @@
+ readStringArg(argList[i], &btnLabel, btnStorage, errMsg);
+ btn = XtVaCreateManagedWidget("mdBtn", xmPushButtonWidgetClass, dialog,
+ XmNlabelString, s1=XmStringCreateSimple(btnLabel),
+- XmNuserData, (XtPointer)(i+1), NULL);
++ XmNuserData, (XtPointer)(uintptr_t)(i+1), NULL);
+ XtAddCallback(btn, XmNactivateCallback, stringDialogBtnCB, window);
+ XmStringFree(s1);
+ }
+@@ -3155,7 +3156,7 @@
+ returned in w. */
+ if (XtClass(w) == xmPushButtonWidgetClass) {
+ XtVaGetValues(w, XmNuserData, &userData, NULL);
+- btnNum = (int)userData;
++ btnNum = (int)(uintptr_t)userData;
+ } else
+ btnNum = 1;
+
+@@ -3680,7 +3681,7 @@
+ readStringArg(argList[i], &btnLabel, btnStorage, errMsg);
+ btn = XtVaCreateManagedWidget("mdBtn", xmPushButtonWidgetClass, dialog,
+ XmNlabelString, s1=XmStringCreateSimple(btnLabel),
+- XmNuserData, (XtPointer)(i+1), NULL);
++ XmNuserData, (XtPointer)(uintptr_t)(i+1), NULL);
+ XtAddCallback(btn, XmNactivateCallback, listDialogBtnCB, window);
+ XmStringFree(s1);
+ }
+@@ -3760,7 +3761,7 @@
+ returned in w. */
+ if (XtClass(w) == xmPushButtonWidgetClass) {
+ XtVaGetValues(w, XmNuserData, &userData, NULL);
+- btnNum = (int)userData;
++ btnNum = (int)(uintptr_t)userData;
+ } else
+ btnNum = 1;
+
+diff -urNad nedit-5.6~cvs20081118~/source/preferences.c nedit-5.6~cvs20081118/source/preferences.c
+--- nedit-5.6~cvs20081118~/source/preferences.c 2009-09-15 21:27:12.000000000 +0200
++++ nedit-5.6~cvs20081118/source/preferences.c 2009-09-15 22:07:47.000000000 +0200
+@@ -58,6 +58,7 @@
+ #include <ctype.h>
+ #include <pwd.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <string.h>
+ #include <stdio.h>
+ #include <unistd.h>
+@@ -2296,7 +2297,7 @@
+ XtVaGetValues(menu, XmNchildren, &items, XmNnumChildren, &nItems, NULL);
+ for (n=0; n<(int)nItems; n++) {
+ XtVaGetValues(items[n], XmNuserData, &userData, NULL);
+- XmToggleButtonSetState(items[n], (int)userData == mode, False);
++ XmToggleButtonSetState(items[n], (int)(uintptr_t)userData == mode, False);
+ }
+ }
+ }
+@@ -5148,7 +5149,7 @@
+ xmToggleButtonGadgetClass, menu,
+ XmNlabelString, s1=XmStringCreateSimple(LanguageModes[i]->name),
+ XmNmarginHeight, 0,
+- XmNuserData, (void *)i,
++ XmNuserData, (void *)(uintptr_t)i,
+ XmNset, window->languageMode==i, NULL);
+ XmStringFree(s1);
+ XtAddCallback(btn, XmNvalueChangedCallback, setLangModeCB, window);
+@@ -5169,14 +5170,14 @@
+ XtVaGetValues(w, XmNuserData, &mode, NULL);
+
+ /* If the mode didn't change, do nothing */
+- if (window->languageMode == (int)mode)
++ if (window->languageMode == (int)(uintptr_t)mode)
+ return;
+
+ /* redo syntax highlighting word delimiters, etc. */
+ /*
+ reapplyLanguageMode(window, (int)mode, False);
+ */
+- params[0] = (((int)mode) == PLAIN_LANGUAGE_MODE) ? "" : LanguageModes[(int)mode]->name;
++ params[0] = (((int)(uintptr_t)mode) == PLAIN_LANGUAGE_MODE) ? "" : LanguageModes[(int)(uintptr_t)mode]->name;
+ XtCallActionProc(window->textArea, "set_language_mode", NULL, params, 1);
+ }
+
+diff -urNad nedit-5.6~cvs20081118~/source/regularExp.c nedit-5.6~cvs20081118/source/regularExp.c
+--- nedit-5.6~cvs20081118~/source/regularExp.c 2009-09-15 21:27:12.000000000 +0200
++++ nedit-5.6~cvs20081118/source/regularExp.c 2009-09-15 22:08:16.000000000 +0200
+@@ -88,6 +88,7 @@
+ #include <limits.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <string.h>
+
+ #ifdef HAVE_DEBUG_H
+@@ -4157,7 +4158,7 @@
+ table [*c] = 1;
+ }
+
+- table [(int) NULL] = 1; /* These */
++ table [(int)(uintptr_t) NULL] = 1; /* These */
+ table [(int) '\t'] = 1; /* characters */
+ table [(int) '\n'] = 1; /* are always */
+ table [(int) ' ' ] = 1; /* delimiters. */
+diff -urNad nedit-5.6~cvs20081118~/source/userCmds.c nedit-5.6~cvs20081118/source/userCmds.c
+--- nedit-5.6~cvs20081118~/source/userCmds.c 2009-09-15 21:27:12.000000000 +0200
++++ nedit-5.6~cvs20081118/source/userCmds.c 2009-09-15 22:08:47.000000000 +0200
+@@ -49,6 +49,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <string.h>
+ #include <ctype.h>
+ #ifdef VMS
+@@ -1116,7 +1117,7 @@
+ XtVaGetValues(items[n], XmNsubMenuId, &subMenu, NULL);
+ dimSelDepItemsInMenu(subMenu, menuList, nMenuItems, sensitive);
+ } else {
+- index = (int)userData - 10;
++ index = (int)(uintptr_t)userData - 10;
+ if (index <0 || index >= nMenuItems)
+ return;
+ if (menuList[index]->input == FROM_SELECTION)
+@@ -1928,7 +1929,7 @@
+ XmNlabelString, st1,
+ XmNacceleratorText, st2,
+ XmNmnemonic, f->mnemonic,
+- XmNuserData, (XtPointer)(index+10), NULL);
++ XmNuserData, (XtPointer)(uintptr_t)(index+10), NULL);
+ XtAddCallback(btn, XmNactivateCallback, cbRtn, cbArg);
+ XmStringFree(st1);
+ XmStringFree(st2);
+diff -urNad nedit-5.6~cvs20081118~/util/prefFile.c nedit-5.6~cvs20081118/util/prefFile.c
+--- nedit-5.6~cvs20081118~/util/prefFile.c 2009-09-15 21:27:12.000000000 +0200
++++ nedit-5.6~cvs20081118/util/prefFile.c 2009-09-15 22:04:14.000000000 +0200
+@@ -38,6 +38,7 @@
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <string.h>
++#include <stdint.h>
+ #ifdef VMS
+ #include "VMSparam.h"
+ #else
+@@ -353,9 +354,9 @@
+ *(int *)rsrcDescrip->valueAddr = 0;
+ return False;
+ case PREF_STRING:
+- if ((int)strlen(string) >= (int)rsrcDescrip->arg)
++ if ((int)strlen(string) >= (int)(uintptr_t)rsrcDescrip->arg)
+ return False;
+- strncpy(rsrcDescrip->valueAddr, string, (int)rsrcDescrip->arg);
++ strncpy(rsrcDescrip->valueAddr, string, (int)(uintptr_t)rsrcDescrip->arg);
+ return True;
+ case PREF_ALLOC_STRING:
+ *(char **)rsrcDescrip->valueAddr = XtMalloc(strlen(string) + 1);
diff --git a/app-editors/nedit/files/nedit.svg b/app-editors/nedit/files/nedit.svg
new file mode 100644
index 000000000000..65ab41556adf
--- /dev/null
+++ b/app-editors/nedit/files/nedit.svg
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ width="82"
+ height="82"
+ sodipodi:docname="nedit_82x82.png">
+ <metadata
+ id="metadata8">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs6">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ id="perspective10" />
+ </defs>
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="640"
+ inkscape:window-height="483"
+ id="namedview4"
+ showgrid="false"
+ inkscape:zoom="2.8780488"
+ inkscape:cx="41"
+ inkscape:cy="41"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg2" />
+ <image
+ sodipodi:absref="/home/jstile/nedit_82x82.png"
+ xlink:href="nedit_82x82.png"
+ y="0"
+ x="0"
+ id="image12"
+ height="82"
+ width="82" />
+</svg>
diff --git a/app-editors/nedit/metadata.xml b/app-editors/nedit/metadata.xml
new file mode 100644
index 000000000000..d9cd2cad66c2
--- /dev/null
+++ b/app-editors/nedit/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/app-editors/nedit/nedit-5.5_p20110116-r2.ebuild b/app-editors/nedit/nedit-5.5_p20110116-r2.ebuild
new file mode 100644
index 000000000000..e2363667eeb6
--- /dev/null
+++ b/app-editors/nedit/nedit-5.5_p20110116-r2.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Multi-purpose text editor for the X Window System"
+HOMEPAGE="http://nedit.org/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ~mips ppc sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+
+RDEPEND=">=x11-libs/motif-2.3:0
+ x11-libs/libXp
+ x11-libs/libXpm
+ x11-libs/libXt
+ x11-libs/libX11"
+DEPEND="${RDEPEND}
+ || ( dev-util/yacc sys-devel/bison )
+ dev-lang/perl"
+
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+ #respecting LDFLAGS, bug #208189
+ epatch \
+ "${FILESDIR}"/nedit-5.5_p20090914-ldflags.patch \
+ "${FILESDIR}"/${P}-40_Pointer_to_Integer.patch
+ sed \
+ -e "s:bin/:${EPREFIX}/bin/:g" \
+ -i Makefile source/preferences.c source/help_data.h source/nedit.c Xlt/Makefile || die
+ sed \
+ -e "s:nc:neditc:g" -i doc/nc.pod || die
+ sed -i -e "s:CFLAGS=-O:CFLAGS=${CFLAGS}:" -e "s:check_tif_rule::" \
+ makefiles/Makefile.linux || die
+ sed -i -e "s:CFLAGS=-O:CFLAGS=${CFLAGS}:" \
+ -e "s:MOTIFDIR=/usr/local:MOTIFDIR=${EPREFIX}/usr:" \
+ -e "s:-lX11:-lX11 -lXmu -liconv:" \
+ -e "s:check_tif_rule::" \
+ makefiles/Makefile.macosx || die
+
+ epatch_user
+}
+
+src_configure() { :; }
+
+src_compile() {
+ case "${CHOST}" in
+ *-darwin*)
+ emake CC="$(tc-getCC)" AR="$(tc-getAR)" macosx
+ ;;
+ *-linux*)
+ emake CC="$(tc-getCC)" AR="$(tc-getAR)" linux
+ ;;
+ esac
+ emake VERSION="NEdit ${PV}" -j1 -C doc all
+}
+
+src_install() {
+ dobin source/nedit
+ newbin source/nc neditc
+
+ make_desktop_entry "${PN}"
+ doicon "${FILESDIR}/${PN}.svg"
+
+ newman doc/nedit.man nedit.1
+ newman doc/nc.man neditc.1
+
+ dodoc README ReleaseNotes ChangeLog
+ dodoc doc/nedit.doc doc/NEdit.ad doc/faq.txt
+ dohtml doc/nedit.html
+}
diff --git a/app-editors/neovim/Manifest b/app-editors/neovim/Manifest
new file mode 100644
index 000000000000..dc6ffed3d995
--- /dev/null
+++ b/app-editors/neovim/Manifest
@@ -0,0 +1,2 @@
+DIST neovim-0.0.0_pre20150627.tar.xz 4715400 SHA256 5e5769c81a60637b731dc13e7584b6f91c7a4f2fa9116c7d688b938aa000ab69 SHA512 44f527e82dc8d70735110b7da687b87fb622127078dd32b9d8b284d8f3c3bce2c9978640234583f130e71378190c29e9c37cc19be8fd994eb338d1d9a5a98701 WHIRLPOOL 08125b0a0d96d2f5202b314e85b26e32e7aaf2170dfa69df660b2d36ad3218b24a9313c6f7a7c0e0ed8677a717e5d478851d1dc6bc8c020dc6798e3dd4462a2d
+DIST neovim-0.0.0_pre20150727.tar.xz 4703336 SHA256 da9bd3070ac60691be4e033947548c13b0ede86b2422d66bd207ac2310b735c1 SHA512 db225fff860d730d4514a33c363ed7748949aaeb3a5fb31c0775120d31219a9fad154ff6f457c4ea25aff666e34dc0e7c8ab1acbc3bbe73bed17d01c67d13627 WHIRLPOOL 23b553f6be136f42c7279d332e1c917083d48aa0ae27df949972ce4eae93d07ea301f9b5853d3d320cc4a6366a483f3f9d43e016607d500646c71ea33e5ffdb8
diff --git a/app-editors/neovim/files/nvimrc b/app-editors/neovim/files/nvimrc
new file mode 100644
index 000000000000..316d8672e32d
--- /dev/null
+++ b/app-editors/neovim/files/nvimrc
@@ -0,0 +1,168 @@
+" Default Gentoo configuration file for neovim
+" Based on the default vimrc shipped by Gentoo with app-editors/vim-core
+" $Id$
+
+" You can override any of these settings on a global basis via the
+" "/etc/vim/nvimrc.local" file, and on a per-user basis via "~/.nvimrc".
+" You may need to create these.
+
+" {{{ General settings
+" The following are some sensible defaults for Vim for most users.
+set bs=2 " Allow backspacing over everything in insert mode
+set ai " Always set auto-indenting on
+set history=50 " keep 50 lines of command history
+set ruler " Show the cursor position all the time
+set formatoptions+=j " Delete comment character when joining commented lines
+
+" Don't use Ex mode, use Q for formatting
+map Q gq
+
+" When doing tab completion, give the following files lower priority. You may
+" wish to set 'wildignore' to completely ignore files, and 'wildmenu' to enable
+" enhanced tab completion. These can be done in the user vimrc file.
+set suffixes+=.info,.aux,.log,.dvi,.bbl,.out,.o,.lo
+
+" When displaying line numbers, don't use an annoyingly wide number column. This
+" doesn't enable line numbers -- :set number will do that. The value given is a
+" minimum width to use for the number column, not a fixed size.
+set numberwidth=3
+
+" Use sensible whitespace indicators
+set listchars=tab:>\ ,trail:-,extends:>,precedes:<,nbsp:+
+" }}}
+
+" {{{ Modeline settings
+" We don't allow modelines by default. See bug #14088 and bug #73715.
+" If you're not concerned about these, you can enable them on a per-user
+" basis by adding "set modeline" to your ~/.vimrc file.
+set nomodeline
+" }}}
+
+" {{{ Locale settings
+" If we have a BOM, always honour that rather than trying to guess.
+if &fileencodings !~? "ucs-bom"
+ set fileencodings^=ucs-bom
+endif
+
+" Always check for UTF-8 when trying to determine encodings.
+if &fileencodings !~? "utf-8"
+ " If we have to add this, the default encoding is not Unicode.
+ let g:added_fenc_utf8 = 1
+ set fileencodings+=utf-8
+endif
+" }}}
+
+" {{{ Syntax highlighting settings
+" Switch syntax highlighting on, when the terminal has colors
+" Also switch on highlighting the last used search pattern.
+if &t_Co > 2 || has("gui_running")
+ syntax on
+ set hlsearch
+endif
+" }}}
+
+" {{{ Terminal fixes
+if &term ==? "xterm"
+ set t_Sb=^[4%dm
+ set t_Sf=^[3%dm
+ set ttymouse=xterm2
+endif
+
+if &term ==? "gnome" && has("eval")
+ " Set useful keys that vim doesn't discover via termcap but are in the
+ " builtin xterm termcap. See bug #122562. We use exec to avoid having to
+ " include raw escapes in the file.
+ exec "set <C-Left>=\eO5D"
+ exec "set <C-Right>=\eO5C"
+endif
+" }}}
+
+" {{{ Filetype plugin settings
+" Enable plugin-provided filetype settings, but only if the ftplugin
+" directory exists (which it won't on livecds, for example).
+if isdirectory(expand("$VIMRUNTIME/ftplugin"))
+ filetype plugin on
+
+ " Uncomment the next line (or copy to your ~/.vimrc) for plugin-provided
+ " indent settings. Some people don't like these, so we won't turn them on by
+ " default.
+ " filetype indent on
+endif
+" }}}
+
+" {{{ Fix &shell, see bug #101665.
+if "" == &shell
+ if executable("/bin/bash")
+ set shell=/bin/bash
+ elseif executable("/bin/sh")
+ set shell=/bin/sh
+ endif
+endif
+"}}}
+
+" {{{ Our default /bin/sh is bash, not ksh, so syntax highlighting for .sh
+" files should default to bash. See :help sh-syntax and bug #101819.
+if has("eval")
+ let is_bash=1
+endif
+" }}}
+
+" {{{ Autocommands
+if has("autocmd")
+
+augroup gentoo
+ au!
+
+ " Gentoo-specific settings for ebuilds. These are the federally-mandated
+ " required tab settings. See the following for more information:
+ " http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml
+ " Note that the rules below are very minimal and don't cover everything.
+ " Better to emerge app-vim/gentoo-syntax, which provides full syntax,
+ " filetype and indent settings for all things Gentoo.
+ au BufRead,BufNewFile *.e{build,class} let is_bash=1|setfiletype sh
+ au BufRead,BufNewFile *.e{build,class} set ts=4 sw=4 noexpandtab
+
+ " In text files, limit the width of text to 78 characters, but be careful
+ " that we don't override the user's setting.
+ autocmd BufNewFile,BufRead *.txt
+ \ if &tw == 0 && ! exists("g:leave_my_textwidth_alone") |
+ \ setlocal textwidth=78 |
+ \ endif
+
+ " When editing a file, always jump to the last cursor position
+ autocmd BufReadPost *
+ \ if ! exists("g:leave_my_cursor_position_alone") |
+ \ if line("'\"") > 0 && line ("'\"") <= line("$") |
+ \ exe "normal g'\"" |
+ \ endif |
+ \ endif
+
+ " When editing a crontab file, set backupcopy to yes rather than auto. See
+ " :help crontab and bug #53437.
+ autocmd FileType crontab set backupcopy=yes
+
+ " If we previously detected that the default encoding is not UTF-8
+ " (g:added_fenc_utf8), assume that a file with only ASCII characters (or no
+ " characters at all) isn't a Unicode file, but is in the default encoding.
+ " Except of course if a byte-order mark is in effect.
+ autocmd BufReadPost *
+ \ if exists("g:added_fenc_utf8") && &fileencoding == "utf-8" &&
+ \ ! &bomb && search('[\x80-\xFF]','nw') == 0 && &modifiable |
+ \ set fileencoding= |
+ \ endif
+
+augroup END
+
+" Strip trailing spaces on write
+autocmd BufWritePre * :%s/\s\+$//e
+
+endif " has("autocmd")
+" }}}
+
+" {{{ vimrc.local
+if filereadable("/etc/vim/nvimrc.local")
+ source /etc/vim/nvimrc.local
+endif
+" }}}
+
+" vim: set fenc=utf-8 tw=80 sw=2 sts=2 et foldmethod=marker :
diff --git a/app-editors/neovim/metadata.xml b/app-editors/neovim/metadata.xml
new file mode 100644
index 000000000000..d5a0b7af40f6
--- /dev/null
+++ b/app-editors/neovim/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>vim</herd>
+ <upstream>
+ <remote-id type="github">neovim/neovim</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/neovim/neovim-0.0.0_pre20150627.ebuild b/app-editors/neovim/neovim-0.0.0_pre20150627.ebuild
new file mode 100644
index 000000000000..6340e756255e
--- /dev/null
+++ b/app-editors/neovim/neovim-0.0.0_pre20150627.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit cmake-utils flag-o-matic
+
+DESCRIPTION="Vim's rebirth for the 21st century"
+HOMEPAGE="https://github.com/neovim/neovim"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/neovim/neovim.git"
+else
+ SRC_URI="http://dev.gentoo.org/~yngwin/distfiles/${P}.tar.xz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0 vim"
+SLOT="0"
+IUSE="perl python"
+
+CDEPEND="dev-lang/luajit:2
+ >=dev-libs/libtermkey-0.17
+ dev-libs/libvterm-neovim
+ >=dev-libs/unibilium-1.1.1
+ >=dev-libs/libuv-1.2.0
+ >=dev-libs/msgpack-0.6.0_pre20150220
+ dev-lua/lpeg
+ dev-lua/messagepack"
+DEPEND="${CDEPEND}
+ virtual/libiconv
+ virtual/libintl"
+RDEPEND="${CDEPEND}
+ perl? ( dev-lang/perl )
+ python? ( dev-python/neovim-python-client )"
+
+src_prepare() {
+ # use our system vim dir
+ sed -e '/^# define SYS_VIMRC_FILE/s|$VIM|'"${EPREFIX}"'/etc/vim|' \
+ -i src/nvim/os_unix_defs.h || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ export USE_BUNDLED_DEPS=OFF
+ append-cflags "-Wno-error"
+ append-cppflags "-DNDEBUG -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1"
+ local mycmakeargs=(
+ -DCMAKE_BUILD_TYPE=Release
+ -DLIBUNIBILIUM_USE_STATIC=OFF
+ -DLIBTERMKEY_USE_STATIC=OFF
+ -DLIBVTERM_USE_STATIC=OFF
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ # install a default configuration file
+ insinto /etc/vim
+ doins "${FILESDIR}"/nvimrc
+}
diff --git a/app-editors/neovim/neovim-0.0.0_pre20150727.ebuild b/app-editors/neovim/neovim-0.0.0_pre20150727.ebuild
new file mode 100644
index 000000000000..8136edf03811
--- /dev/null
+++ b/app-editors/neovim/neovim-0.0.0_pre20150727.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit cmake-utils flag-o-matic
+
+DESCRIPTION="Ambitious vim fork focused on extensibility and agility"
+HOMEPAGE="https://github.com/neovim/neovim"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/neovim/neovim.git"
+else
+ SRC_URI="http://dev.gentoo.org/~yngwin/distfiles/${P}.tar.xz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0 vim"
+SLOT="0"
+IUSE="perl python"
+
+CDEPEND="dev-lang/luajit:2
+ >=dev-libs/libtermkey-0.17
+ dev-libs/libvterm-neovim
+ >=dev-libs/unibilium-1.1.1
+ >=dev-libs/libuv-1.2.0
+ >=dev-libs/msgpack-0.6.0_pre20150220
+ dev-lua/lpeg
+ dev-lua/messagepack"
+DEPEND="${CDEPEND}
+ virtual/libiconv
+ virtual/libintl"
+RDEPEND="${CDEPEND}
+ perl? ( dev-lang/perl )
+ python? ( dev-python/neovim-python-client )"
+
+src_prepare() {
+ # use our system vim dir
+ sed -e '/^# define SYS_VIMRC_FILE/s|$VIM|'"${EPREFIX}"'/etc/vim|' \
+ -i src/nvim/os/unix_defs.h || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ export USE_BUNDLED_DEPS=OFF
+ append-cflags "-Wno-error"
+ append-cppflags "-DNDEBUG -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1"
+ local mycmakeargs=(
+ -DCMAKE_BUILD_TYPE=Release
+ -DLIBUNIBILIUM_USE_STATIC=OFF
+ -DLIBTERMKEY_USE_STATIC=OFF
+ -DLIBVTERM_USE_STATIC=OFF
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ # install a default configuration file
+ insinto /etc/vim
+ doins "${FILESDIR}"/nvimrc
+}
diff --git a/app-editors/ng/Manifest b/app-editors/ng/Manifest
new file mode 100644
index 000000000000..674042adc6b3
--- /dev/null
+++ b/app-editors/ng/Manifest
@@ -0,0 +1 @@
+DIST ng-1.5beta1.tar.gz 662557 SHA256 990b2ed34f2943da71af6771c0ac9a62c36857d6e6e6ad6e7dc8782860388d3c SHA512 eaf3ee067cd98aebc757def9880c5a324975e9f5d0f1db030b11853e86631bca892bf344358ca21b778f5e10ae0d2ed97553221a368326f7a4d9d41f6867abcd WHIRLPOOL 0764ac5fb4ab0f1663c5d3dc13754d1537ac5607463bcbc97d690f9743da41fc56e0deb9ab05103115667ce5e9d62d2278a43740b538b9b8e4c0edf08260d2e7
diff --git a/app-editors/ng/files/ng-1.5beta1-configure.patch b/app-editors/ng/files/ng-1.5beta1-configure.patch
new file mode 100644
index 000000000000..25f383a0be2d
--- /dev/null
+++ b/app-editors/ng/files/ng-1.5beta1-configure.patch
@@ -0,0 +1,19 @@
+diff --git a/sys/unix/configure.in b/sys/unix/configure.in
+index e034edc..b62535d 100644
+--- a/sys/unix/configure.in
++++ b/sys/unix/configure.in
+@@ -83,8 +83,12 @@ AC_DEFINE_UNQUOTED(RMDIR_CMD, "$rmdir_cmd")
+ dnl If the user wants canna support.
+ AC_MSG_CHECKING(if --enable-canna option specified)
+ AC_ARG_ENABLE(canna,
+- [ --enable-canna[=DIR] Build a canna version.],
+- [cv_canna="yes"; cannapath=$enableval], [cv_canna="no"])
++ [ --enable-canna[=DIR] Build a canna version.])
++AS_IF([test "x$enable_canna" != "xno"], [
++ cv_canna="yes"; cannapath=$enableval
++][
++ cv_canna="no";
++])
+ AC_MSG_RESULT($cv_canna)
+ if test "$cv_canna" = "yes"; then
+
diff --git a/app-editors/ng/files/ng-1.5beta1-ncurses.patch b/app-editors/ng/files/ng-1.5beta1-ncurses.patch
new file mode 100644
index 000000000000..5395ba94ea78
--- /dev/null
+++ b/app-editors/ng/files/ng-1.5beta1-ncurses.patch
@@ -0,0 +1,12 @@
+--- configure.orig 2004-05-12 09:26:44.000000000 +0900
++++ configure 2004-05-12 09:27:06.000000000 +0900
+@@ -1077,3 +1077,3 @@
+ rm -f conftest*
+-test "$ac_cv_search_tgetstr" = "no" && for i in curses ncurses termlib; do
++test "$ac_cv_search_tgetstr" = "no" && for i in ncurses termlib; do
+ LIBS="-l$i $ac_func_search_save_LIBS"
+@@ -1140,3 +1140,3 @@
+ rm -f conftest*
+-test "$ac_cv_search_tgetstr" = "no" && for i in termcap curses ncurses; do
++test "$ac_cv_search_tgetstr" = "no" && for i in termcap ncurses; do
+ LIBS="-l$i $ac_func_search_save_LIBS"
diff --git a/app-editors/ng/metadata.xml b/app-editors/ng/metadata.xml
new file mode 100644
index 000000000000..2d5852c16c60
--- /dev/null
+++ b/app-editors/ng/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cjk</herd>
+</pkgmetadata>
diff --git a/app-editors/ng/ng-1.5_beta1-r1.ebuild b/app-editors/ng/ng-1.5_beta1-r1.ebuild
new file mode 100644
index 000000000000..e35a9c63c123
--- /dev/null
+++ b/app-editors/ng/ng-1.5_beta1-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils autotools
+
+MY_P="${P/_beta/beta}"
+
+DESCRIPTION="Emacs like micro editor Ng -- based on mg2a"
+HOMEPAGE="http://tt.sakura.ne.jp/~amura/ng/"
+SRC_URI="http://tt.sakura.ne.jp/~amura/archives/ng/${MY_P}.tar.gz"
+
+LICENSE="Emacs"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="canna"
+
+RDEPEND=">=sys-libs/ncurses-5.0
+ !dev-java/nailgun
+ canna? ( app-i18n/canna )"
+DEPEND="${RDEPEND}
+ >=sys-apps/sed-4.0"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${MY_P}-ncurses.patch"
+ epatch "${FILESDIR}/${MY_P}-configure.patch"
+ sed -i -e "/NO_BACKUP/s/undef/define/" config.h || die "sed failed"
+
+ pushd sys/unix || die
+ eautoconf
+ popd
+ cp sys/unix/configure . || die
+}
+
+src_configure() {
+ econf $(use_enable canna)
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ dobin ng
+ dodoc docs/* MANIFEST dot.ng
+
+ insinto /usr/share/ng
+ doins bin/*
+
+ insinto /etc/skel
+ newins dot.ng .ng
+}
+
+pkg_postinst() {
+ elog
+ elog "If you want to use user Config"
+ elog "cp /etc/skel/.ng ~/.ng"
+ elog "and edit your .ng configuration file."
+ elog
+}
diff --git a/app-editors/ng/ng-1.5_beta1.ebuild b/app-editors/ng/ng-1.5_beta1.ebuild
new file mode 100644
index 000000000000..a35f2e08b706
--- /dev/null
+++ b/app-editors/ng/ng-1.5_beta1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils toolchain-funcs
+
+MY_P=${P/_beta/beta}
+
+DESCRIPTION="Emacs like micro editor Ng -- based on mg2a"
+HOMEPAGE="http://tt.sakura.ne.jp/~amura/ng/"
+SRC_URI="http://tt.sakura.ne.jp/~amura/archives/ng/${MY_P}.tar.gz"
+
+LICENSE="Emacs"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc x86"
+IUSE="canna"
+
+RDEPEND=">=sys-libs/ncurses-5.0
+ !dev-java/nailgun
+ canna? ( app-i18n/canna )"
+DEPEND="${RDEPEND}
+ >=sys-apps/sed-4.0"
+
+S="${WORKDIR}/${MY_P}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}/${MY_P}-ncurses.patch"
+}
+
+src_compile() {
+ local myconf
+
+ if use canna; then
+ myconf="--enable-canna"
+ fi
+ econf ${myconf} || die
+ sed -i -e "s/^#undef NO_BACKUP/#define NO_BACKUP/" config.h \
+ || die "sed failed"
+
+ emake CC=$(tc-getCC) || die
+}
+
+src_install() {
+ dobin ng || die
+ dodoc docs/* MANIFEST dot.ng
+
+ insinto /usr/share/ng
+ doins bin/*
+
+ insinto /etc/skel
+ newins dot.ng .ng
+}
+
+pkg_postinst() {
+ elog
+ elog "If you want to use user Config"
+ elog "cp /etc/skel/.ng ~/.ng"
+ elog "and edit your .ng configuration file."
+ elog
+}
diff --git a/app-editors/nvi/Manifest b/app-editors/nvi/Manifest
new file mode 100644
index 000000000000..4a3146c32a26
--- /dev/null
+++ b/app-editors/nvi/Manifest
@@ -0,0 +1 @@
+DIST nvi-1.81.6.tar.bz2 1758309 SHA256 3441b8e3247b2b6dd19b5fd38355fe6593b2a92e960ecb3dd00d676f63d06b59 SHA512 7e203f7ea6723427d18ff55361254991f50d395f89aab2ea52d0902c474acb24c289da7c35d9e907d652145f13483d8a8270f5c8ee72bd723a3b1eaeecc4f9fd WHIRLPOOL e349a09c281bc41b1ff404a9bfa6bc16b7e4b70c45a91efe231e4e766f72f83f5bbae9a901ffc448b8badae21a494fafd3292028f1a3234d8b92085206772375
diff --git a/app-editors/nvi/files/nvi-1.81.6-ac_config_header.patch b/app-editors/nvi/files/nvi-1.81.6-ac_config_header.patch
new file mode 100644
index 000000000000..49f9453983bc
--- /dev/null
+++ b/app-editors/nvi/files/nvi-1.81.6-ac_config_header.patch
@@ -0,0 +1,12 @@
+diff -uNr nvi-1.81.6.orig/dist/configure.in nvi-1.81.6/dist/configure.in
+--- nvi-1.81.6.orig/dist/configure.in 2013-07-09 16:54:56.000000000 -0400
++++ nvi-1.81.6/dist/configure.in 2013-07-09 16:59:35.000000000 -0400
+@@ -4,7 +4,7 @@
+ AC_INIT(../common/main.c)
+ AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE(vi, 1.81.6)
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADER(config.h)
+
+ dnl Configure setup.
+ AC_PROG_INSTALL()
diff --git a/app-editors/nvi/files/nvi-1.81.6-db.patch b/app-editors/nvi/files/nvi-1.81.6-db.patch
new file mode 100644
index 000000000000..a8b721951270
--- /dev/null
+++ b/app-editors/nvi/files/nvi-1.81.6-db.patch
@@ -0,0 +1,26 @@
+--- common/exf.c
++++ common/exf.c
+@@ -228,13 +228,18 @@
+ /*
+ * XXX
+ * A seat of the pants calculation: try to keep the file in
+- * 15 pages or less. Don't use a page size larger than 10K
++ * 15 pages or less. Don't use a page size larger than 8K
+- * (vi should have good locality) or smaller than 1K.
++ * (vi should have good locality) or smaller than 1K. DB asks
++ * for a power of two, so give it one.
+ */
+ psize = ((sb.st_size / 15) + 1023) / 1024;
+- if (psize > 10)
++ if (psize >= 8)
+- psize = 10;
++ psize = 8;
++ else if (psize >= 4)
++ psize = 4;
++ else if (psize >= 2)
++ psize = 2;
+- if (psize == 0)
++ else
+ psize = 1;
+ psize *= 1024;
+
diff --git a/app-editors/nvi/files/nvi-1.81.6-db44.patch b/app-editors/nvi/files/nvi-1.81.6-db44.patch
new file mode 100644
index 000000000000..f081a2d28bea
--- /dev/null
+++ b/app-editors/nvi/files/nvi-1.81.6-db44.patch
@@ -0,0 +1,29 @@
+
+ First part is from http://cvsweb.se.netbsd.org/cgi-bin/bsdweb.cgi/pkgsrc/editors/nvi/patches/patch-aa?rev=1.3;content-type=text/plain
+
+--- common/db.h 2012-08-27 06:55:01.000000000 -0400
++++ common/db.h 2012-08-27 07:17:48.000000000 -0400
+@@ -16,7 +16,10 @@
+ (env)->remove(env, path, NULL, flags)
+ #endif
+
+-#if DB_VERSION_MAJOR >= 4 && DB_VERSION_MINOR >= 1
++# if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 4) || DB_VERSION_MAJOR > 4
++#define db_open(db,file,type,flags,mode) \
++ (db)->open(db, NULL, file, NULL, type, flags | DB_CREATE, mode)
++#elif DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
+ #define db_open(db,file,type,flags,mode) \
+ (db)->open(db, NULL, file, NULL, type, flags, mode)
+ #else
+--- common/msg.c
++++ common/msg.c
+@@ -724,7 +724,8 @@
+ p = buf;
+ } else
+ p = file;
+- if ((sp->db_error = db_create(&db, 0, 0)) != 0 ||
++ if (access(p, R_OK) != 0 ||
++ (sp->db_error = db_create(&db, 0, 0)) != 0 ||
+ (sp->db_error = db->set_re_source(db, p)) != 0 ||
+ (sp->db_error = db_open(db, NULL, DB_RECNO, 0, 0)) != 0) {
+ if (first) {
diff --git a/app-editors/nvi/files/nvi-1.81.6-perl-as-needed.patch b/app-editors/nvi/files/nvi-1.81.6-perl-as-needed.patch
new file mode 100644
index 000000000000..01117491ec4f
--- /dev/null
+++ b/app-editors/nvi/files/nvi-1.81.6-perl-as-needed.patch
@@ -0,0 +1,94 @@
+--- dist/configure.in
++++ dist/configure.in
+@@ -105,7 +105,7 @@
+
+ dnl A/UX has a broken getopt(3), strpbrk(3).
+ case "$host_os" in
+-aux*) LIBOBJS="getopt.o strpbrk.o $LIBOBJS";;
++aux*) LIBOBJS="libvi_la-getopt.o libvi_la-strpbrk.o $LIBOBJS";;
+ esac
+
+ dnl Ultrix has a broken POSIX.1 VDISABLE value.
+@@ -434,7 +434,7 @@
+ -e 'ldopts'`
+ perlldflags=`cd $srcdir;$vi_cv_path_perl -MExtUtils::Embed \
+ -e 'ccdlflags'`
+- LIBOBJS="perl.o perlxsi.o perlsfio.o $LIBOBJS"
++ LIBOBJS="libvi_la-perl.o libvi_la-perlxsi.o libvi_la-perlsfio.o $LIBOBJS"
+ AC_DEFINE(HAVE_PERL_INTERP)
+ AC_CACHE_CHECK([whether we need to use perl's setenv],
+ vi_cv_perl_setenv, [
+@@ -471,7 +471,7 @@
+ AC_MSG_ERROR([No Tcl library found;])
+ fi
+ . $vi_cv_tclconfig
+- LIBOBJS="tcl.o $LIBOBJS"
++ LIBOBJS="libvi_la-tcl.o $LIBOBJS"
+ LIBS="$TCL_LIB_SPEC $TCL_LIBS $LIBS"
+ AC_DEFINE(HAVE_TCL_INTERP)
+ fi
+@@ -607,12 +607,12 @@
+
+ dnl If we needed setenv or unsetenv, add in the clib/env.c replacement file.
+ if test "$need_env" = yes; then
+- LIBOBJS="env.o $LIBOBJS"
++ LIBOBJS="libvi_la-env.o $LIBOBJS"
+ fi
+
+ dnl If we need strsep, add it and define it so we get a prototype.
+ if test "$need_strsep" = yes; then
+- LIBOBJS="strsep.o $LIBOBJS"
++ LIBOBJS="libvi_la-strsep.o $LIBOBJS"
+ fi
+
+ dnl Check for fcntl/flock
+@@ -1003,7 +1003,7 @@
+ PATH="$OLDPATH"
+
+ AC_DEFINE(USE_DYNAMIC_LOADING)
+- LIBOBJS="dldb.o $LIBOBJS"
++ LIBOBJS="libvi_la-dldb.o $LIBOBJS"
+ dl_src=../common/dldb.c
+ LIBS="-ldl $LIBS"
+ else
+@@ -1046,9 +1046,9 @@
+ CPPFLAGS="-I$vi_cv_dbsrc/include_auto $CPPFLAGS"
+ CPPFLAGS="-I$with_db_build $CPPFLAGS"
+ AC_DEFINE(USE_DB4_LOGGING)
+- LIBOBJS="log4.o vi_auto.o vi_rec.o $LIBOBJS"
++ LIBOBJS="libvi_la-log4.o libvi_la-vi_auto.o libvi_la-vi_rec.o $LIBOBJS"
+ else
+- LIBOBJS="log.o $LIBOBJS"
++ LIBOBJS="libvi_la-log.o $LIBOBJS"
+ fi
+
+ dnl We compile in nvi's RE routines unless the user specifies otherwise.
+@@ -1064,7 +1064,7 @@
+ case "$vi_cv_re_lib" in
+ "bundled RE")
+ CPPFLAGS="-I\$(visrcdir)/regex $CPPFLAGS"
+- LIBOBJS="regcomp.o regerror.o regexec.o regfree.o $LIBOBJS";;
++ LIBOBJS="libvi_la-regcomp.o libvi_la-regerror.o libvi_la-regexec.o libvi_la-regfree.o $LIBOBJS";;
+ "other RE")
+ ;;
+ esac
+--- dist/Makefile.am
++++ dist/Makefile.am
+@@ -169,12 +169,15 @@
+ $(visrcdir)/common/pthread.c \
+ $(visrcdir)/common/vi_auto.c \
+ $(visrcdir)/common/vi_rec.c \
+- $(visrcdir)/perl_api/perl.xs \
++ perl.c \
+ $(visrcdir)/perl_api/perlsfio.c \
++ perlxsi.c \
+ $(visrcdir)/tcl_api/tcl.c
+ # Is this the way to do it ?
+ libvi_la_DEPENDENCIES = @LTLIBOBJS@
+-libvi_la_LIBADD = @LTLIBOBJS@
++libvi_la_LIBADD = @LTLIBOBJS@ @perllibs@
++libvi_la_CPPFLAGS = @perlldflags@ $(AM_CPPFLAGS)
++libvi_la_LDFLAGS = @perlldflags@
+
+ bin_PROGRAMS = @vi_programs@ @vi_ipc@
+ EXTRA_PROGRAMS = vi vi-ipc vi-motif vi-gtk
diff --git a/app-editors/nvi/files/nvi-1.81.6-perl-shortnames.patch b/app-editors/nvi/files/nvi-1.81.6-perl-shortnames.patch
new file mode 100644
index 000000000000..88e1829e78d6
--- /dev/null
+++ b/app-editors/nvi/files/nvi-1.81.6-perl-shortnames.patch
@@ -0,0 +1,20 @@
+--- perl_api/perlsfio.c
++++ perl_api/perlsfio.c
+@@ -32,6 +32,7 @@
+ /* perl redefines them
+ * avoid warnings
+ */
++#undef re_compile
+ #undef USE_DYNAMIC_LOADING
+ #undef DEBUG
+ #undef PACKAGE
+--- perl_api/perl.xs
++++ perl_api/perl.xs
+@@ -38,6 +38,7 @@
+ /* perl redefines them
+ * avoid warnings
+ */
++#undef re_compile
+ #undef USE_DYNAMIC_LOADING
+ #undef DEBUG
+ #undef PACKAGE
diff --git a/app-editors/nvi/files/nvi-1.81.6-strlen-macro-renaming.patch b/app-editors/nvi/files/nvi-1.81.6-strlen-macro-renaming.patch
new file mode 100644
index 000000000000..70a47fd93fd5
--- /dev/null
+++ b/app-editors/nvi/files/nvi-1.81.6-strlen-macro-renaming.patch
@@ -0,0 +1,499 @@
+Created by: Karl Hakimian
+Added by: Jesus Rivero <neurogeek@gentoo.org>
+Added on: Feb 18, 2015
+diff -rupN nvi-1.81.6.orig/common/api.c nvi-1.81.6/common/api.c
+--- nvi-1.81.6.orig/common/api.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/common/api.c 2015-02-17 11:04:50.199111784 -0800
+@@ -423,7 +423,7 @@ api_opts_get(SCR *sp, CHAR_T *name, char
+ switch (op->type) {
+ case OPT_0BOOL:
+ case OPT_1BOOL:
+- MALLOC_RET(sp, *value, char *, STRLEN(op->name) + 2 + 1);
++ MALLOC_RET(sp, *value, char *, NVI_STRLEN(op->name) + 2 + 1);
+ (void)sprintf(*value,
+ "%s"WS, O_ISSET(sp, offset) ? "" : "no", op->name);
+ if (boolvalue != NULL)
+diff -rupN nvi-1.81.6.orig/common/msg.c nvi-1.81.6/common/msg.c
+--- nvi-1.81.6.orig/common/msg.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/common/msg.c 2015-02-17 11:04:50.203891722 -0800
+@@ -378,7 +378,7 @@ msgq_wstr(SCR *sp, mtype_t mtype, CHAR_T
+ msgq(sp, mtype, fmt);
+ return;
+ }
+- INT2CHAR(sp, str, STRLEN(str) + 1, nstr, nlen);
++ INT2CHAR(sp, str, NVI_STRLEN(str) + 1, nstr, nlen);
+ msgq_str(sp, mtype, nstr, fmt);
+ }
+
+diff -rupN nvi-1.81.6.orig/common/multibyte.h nvi-1.81.6/common/multibyte.h
+--- nvi-1.81.6.orig/common/multibyte.h 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/common/multibyte.h 2015-02-17 11:04:50.204262910 -0800
+@@ -12,7 +12,7 @@ typedef wchar_t CHAR_T;
+ typedef u_int UCHAR_T;
+ #define RCHAR_BIT 24
+
+-#define STRLEN wcslen
++#define NVI_STRLEN wcslen
+ #define STRTOL wcstol
+ #define STRTOUL wcstoul
+ #define SPRINTF swprintf
+@@ -31,7 +31,7 @@ typedef u_char CHAR_T;
+ typedef u_char UCHAR_T;
+ #define RCHAR_BIT CHAR_BIT
+
+-#define STRLEN strlen
++#define NVI_STRLEN strlen
+ #define STRTOL strtol
+ #define STRTOUL strtoul
+ #define SPRINTF snprintf
+diff -rupN nvi-1.81.6.orig/common/options.c nvi-1.81.6/common/options.c
+--- nvi-1.81.6.orig/common/options.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/common/options.c 2015-02-17 11:04:50.195900457 -0800
+@@ -315,7 +315,7 @@ opts_init(SCR *sp, int *oargs)
+
+ /* Set numeric and string default values. */
+ #define OI(indx, str) { \
+- a.len = STRLEN(str); \
++ a.len = NVI_STRLEN(str); \
+ if ((CHAR_T*)str != b2) /* GCC puts strings in text-space. */ \
+ (void)MEMCPY(b2, str, a.len+1); \
+ if (opts_set(sp, argv, NULL)) { \
+@@ -620,10 +620,10 @@ opts_set(SCR *sp, ARGS **argv, char *usa
+ goto badnum;
+ if ((nret =
+ nget_uslong(sp, &value, sep, &endp, 10)) != NUM_OK) {
+- INT2CHAR(sp, name, STRLEN(name) + 1,
++ INT2CHAR(sp, name, NVI_STRLEN(name) + 1,
+ np, nlen);
+ p2 = msg_print(sp, np, &nf);
+- INT2CHAR(sp, sep, STRLEN(sep) + 1,
++ INT2CHAR(sp, sep, NVI_STRLEN(sep) + 1,
+ np, nlen);
+ t2 = msg_print(sp, np, &nf2);
+ switch (nret) {
+@@ -647,10 +647,10 @@ opts_set(SCR *sp, ARGS **argv, char *usa
+ break;
+ }
+ if (*endp && !ISBLANK(*endp)) {
+-badnum: INT2CHAR(sp, name, STRLEN(name) + 1,
++badnum: INT2CHAR(sp, name, NVI_STRLEN(name) + 1,
+ np, nlen);
+ p2 = msg_print(sp, np, &nf);
+- INT2CHAR(sp, sep, STRLEN(sep) + 1,
++ INT2CHAR(sp, sep, NVI_STRLEN(sep) + 1,
+ np, nlen);
+ t2 = msg_print(sp, np, &nf2);
+ msgq(sp, M_ERR,
+@@ -680,7 +680,7 @@ badnum: INT2CHAR(sp, name, STRLEN(nam
+ break;
+
+ /* Report to subsystems. */
+- INT2CHAR(sp, sep, STRLEN(sep) + 1, np, nlen);
++ INT2CHAR(sp, sep, NVI_STRLEN(sep) + 1, np, nlen);
+ if (op->func != NULL &&
+ op->func(sp, spo, np, &value) ||
+ ex_optchange(sp, offset, np, &value) ||
+@@ -712,7 +712,7 @@ badnum: INT2CHAR(sp, name, STRLEN(nam
+ * Do nothing if the value is unchanged, the underlying
+ * functions can be expensive.
+ */
+- INT2CHAR(sp, sep, STRLEN(sep) + 1, np, nlen);
++ INT2CHAR(sp, sep, NVI_STRLEN(sep) + 1, np, nlen);
+ if (!F_ISSET(op, OPT_ALWAYS) &&
+ O_STR(sp, offset) != NULL &&
+ !strcmp(O_STR(sp, offset), np))
+@@ -879,7 +879,7 @@ opts_dump(SCR *sp, enum optdisp type)
+ }
+ F_CLR(&sp->opts[cnt], OPT_SELECTED);
+
+- curlen = STRLEN(op->name);
++ curlen = NVI_STRLEN(op->name);
+ switch (op->type) {
+ case OPT_0BOOL:
+ case OPT_1BOOL:
+@@ -1049,7 +1049,7 @@ opts_search(CHAR_T *name)
+ * Check to see if the name is the prefix of one (and only one)
+ * option. If so, return the option.
+ */
+- len = STRLEN(name);
++ len = NVI_STRLEN(name);
+ for (found = NULL, op = optlist; op->name != NULL; ++op) {
+ if (op->name[0] < name[0])
+ continue;
+diff -rupN nvi-1.81.6.orig/dist/tags nvi-1.81.6/dist/tags
+--- nvi-1.81.6.orig/dist/tags 2007-11-18 08:43:55.000000000 -0800
++++ nvi-1.81.6/dist/tags 2015-02-17 11:04:50.225314084 -0800
+@@ -1068,8 +1068,8 @@ SPRINTF ../common/multibyte.h 37;" d
+ STANDARD_TAB ../common/key.h 213;" d
+ STRCMP ../common/multibyte.h 19;" d
+ STRCMP ../common/multibyte.h 38;" d
+-STRLEN ../common/multibyte.h 15;" d
+-STRLEN ../common/multibyte.h 34;" d
++NVI_STRLEN ../common/multibyte.h 15;" d
++NVI_STRLEN ../common/multibyte.h 34;" d
+ STRPBRK ../common/multibyte.h 20;" d
+ STRPBRK ../common/multibyte.h 39;" d
+ STRSET ../common/multibyte.h 22;" d
+diff -rupN nvi-1.81.6.orig/ex/ex_argv.c nvi-1.81.6/ex/ex_argv.c
+--- nvi-1.81.6.orig/ex/ex_argv.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/ex/ex_argv.c 2015-02-17 11:04:50.267171388 -0800
+@@ -217,7 +217,7 @@ argv_exp2(SCR *sp, EXCMD *excp, CHAR_T *
+
+ *p = '\0';
+ INT2CHAR(sp, bp + SHELLOFFSET,
+- STRLEN(bp + SHELLOFFSET) + 1, np, nlen);
++ NVI_STRLEN(bp + SHELLOFFSET) + 1, np, nlen);
+ d = strdup(np);
+ rval = argv_lexp(sp, excp, d);
+ free (d);
+@@ -332,7 +332,7 @@ argv_fexp(SCR *sp, EXCMD *excp, CHAR_T *
+ "115|No previous command to replace \"!\"");
+ return (1);
+ }
+- len += tlen = STRLEN(exp->lastbcomm);
++ len += tlen = NVI_STRLEN(exp->lastbcomm);
+ off = p - bp;
+ ADD_SPACE_RETW(sp, bp, blen, len);
+ p = bp + off;
+@@ -683,7 +683,7 @@ err: if (ifp != NULL)
+ * XXX
+ * Assume that all shells have -c.
+ */
+- INT2CHAR(sp, bp, STRLEN(bp)+1, np, nlen);
++ INT2CHAR(sp, bp, NVI_STRLEN(bp)+1, np, nlen);
+ execl(sh_path, sh, "-c", np, (char *)NULL);
+ msgq_str(sp, M_SYSERR, sh_path, "118|Error: execl: %s");
+ _exit(127);
+diff -rupN nvi-1.81.6.orig/ex/ex_cscope.c nvi-1.81.6/ex/ex_cscope.c
+--- nvi-1.81.6.orig/ex/ex_cscope.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/ex/ex_cscope.c 2015-02-17 11:04:50.261539058 -0800
+@@ -140,7 +140,7 @@ ex_cscope(SCR *sp, EXCMD *cmdp)
+ for (; *p && isspace(*p); ++p);
+ }
+
+- INT2CHAR(sp, cmd, STRLEN(cmd) + 1, np, nlen);
++ INT2CHAR(sp, cmd, NVI_STRLEN(cmd) + 1, np, nlen);
+ if ((ccp = lookup_ccmd(np)) == NULL) {
+ usage: msgq(sp, M_ERR, "309|Use \"cscope help\" for help");
+ return (1);
+@@ -214,7 +214,7 @@ cscope_add(SCR *sp, EXCMD *cmdp, CHAR_T
+ * >1 additional args: object, too many args.
+ */
+ cur_argc = cmdp->argc;
+- if (argv_exp2(sp, cmdp, dname, STRLEN(dname))) {
++ if (argv_exp2(sp, cmdp, dname, NVI_STRLEN(dname))) {
+ return (1);
+ }
+ if (cmdp->argc == cur_argc) {
+@@ -228,7 +228,7 @@ cscope_add(SCR *sp, EXCMD *cmdp, CHAR_T
+ return (1);
+ }
+
+- INT2CHAR(sp, dname, STRLEN(dname)+1, np, nlen);
++ INT2CHAR(sp, dname, NVI_STRLEN(dname)+1, np, nlen);
+
+ /*
+ * The user can specify a specific file (so they can have multiple
+@@ -471,7 +471,7 @@ cscope_find(SCR *sp, EXCMD *cmdp, CHAR_T
+ }
+
+ /* Create the cscope command. */
+- INT2CHAR(sp, pattern, STRLEN(pattern) + 1, np, nlen);
++ INT2CHAR(sp, pattern, NVI_STRLEN(pattern) + 1, np, nlen);
+ np = strdup(np);
+ if ((tqp = create_cs_cmd(sp, np, &search)) == NULL)
+ goto err;
+@@ -801,7 +801,7 @@ cscope_help(SCR *sp, EXCMD *cmdp, CHAR_T
+ char *np;
+ size_t nlen;
+
+- INT2CHAR(sp, subcmd, STRLEN(subcmd) + 1, np, nlen);
++ INT2CHAR(sp, subcmd, NVI_STRLEN(subcmd) + 1, np, nlen);
+ return (csc_help(sp, np));
+ }
+
+@@ -842,7 +842,7 @@ cscope_kill(SCR *sp, EXCMD *cmdp, CHAR_T
+ char *np;
+ size_t nlen;
+
+- INT2CHAR(sp, cn, STRLEN(cn) + 1, np, nlen);
++ INT2CHAR(sp, cn, NVI_STRLEN(cn) + 1, np, nlen);
+ return (terminate(sp, NULL, atoi(np)));
+ }
+
+diff -rupN nvi-1.81.6.orig/ex/ex_filter.c nvi-1.81.6/ex/ex_filter.c
+--- nvi-1.81.6.orig/ex/ex_filter.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/ex/ex_filter.c 2015-02-17 11:04:50.263257613 -0800
+@@ -138,7 +138,7 @@ err: if (input[0] != -1)
+ else
+ ++name;
+
+- INT2SYS(sp, cmd, STRLEN(cmd)+1, np, nlen);
++ INT2SYS(sp, cmd, NVI_STRLEN(cmd)+1, np, nlen);
+ execl(O_STR(sp, O_SHELL), name, "-c", np, (char *)NULL);
+ msgq_str(sp, M_SYSERR, O_STR(sp, O_SHELL), "execl: %s");
+ _exit (127);
+@@ -283,7 +283,7 @@ err: if (input[0] != -1)
+ * Ignore errors on vi file reads, to make reads prettier. It's
+ * completely inconsistent, and historic practice.
+ */
+-uwait: INT2CHAR(sp, cmd, STRLEN(cmd) + 1, np, nlen);
++uwait: INT2CHAR(sp, cmd, NVI_STRLEN(cmd) + 1, np, nlen);
+ return (proc_wait(sp, (long)utility_pid, np,
+ ftype == FILTER_READ && F_ISSET(sp, SC_VI) ? 1 : 0, 0) || rval);
+ }
+diff -rupN nvi-1.81.6.orig/ex/ex_init.c nvi-1.81.6/ex/ex_init.c
+--- nvi-1.81.6.orig/ex/ex_init.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/ex/ex_init.c 2015-02-17 11:04:50.279419412 -0800
+@@ -61,7 +61,7 @@ ex_screen_copy(SCR *orig, SCR *sp)
+
+ if (oexp->lastbcomm != NULL &&
+ (nexp->lastbcomm = v_wstrdup(sp, oexp->lastbcomm,
+- STRLEN(oexp->lastbcomm))) == NULL) {
++ NVI_STRLEN(oexp->lastbcomm))) == NULL) {
+ msgq(sp, M_SYSERR, NULL);
+ return(1);
+ }
+diff -rupN nvi-1.81.6.orig/ex/ex_tag.c nvi-1.81.6/ex/ex_tag.c
+--- nvi-1.81.6.orig/ex/ex_tag.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/ex/ex_tag.c 2015-02-17 11:04:50.275254557 -0800
+@@ -68,7 +68,7 @@ ex_tag_first(SCR *sp, CHAR_T *tagarg)
+
+ /* Build an argument for the ex :tag command. */
+ ex_cinit(sp, &cmd, C_TAG, 0, OOBLNO, OOBLNO, 0);
+- argv_exp0(sp, &cmd, tagarg, STRLEN(tagarg));
++ argv_exp0(sp, &cmd, tagarg, NVI_STRLEN(tagarg));
+
+ /*
+ * XXX
+@@ -115,7 +115,7 @@ ex_tag_push(SCR *sp, EXCMD *cmdp)
+
+ /* Taglength may limit the number of characters. */
+ if ((tl =
+- O_VAL(sp, O_TAGLENGTH)) != 0 && STRLEN(exp->tag_last) > tl)
++ O_VAL(sp, O_TAGLENGTH)) != 0 && NVI_STRLEN(exp->tag_last) > tl)
+ exp->tag_last[tl] = '\0';
+ break;
+ case 0:
+@@ -587,7 +587,7 @@ ex_tag_copy(SCR *orig, SCR *sp)
+ /* Copy the last tag. */
+ if (oexp->tag_last != NULL &&
+ (nexp->tag_last = v_wstrdup(sp, oexp->tag_last,
+- STRLEN(oexp->tag_last))) == NULL) {
++ NVI_STRLEN(oexp->tag_last))) == NULL) {
+ msgq(sp, M_SYSERR, NULL);
+ return (1);
+ }
+@@ -997,7 +997,7 @@ ctag_slist(SCR *sp, CHAR_T *tag)
+ exp = EXP(sp);
+
+ /* Allocate and initialize the tag queue structure. */
+- INT2CHAR(sp, tag, STRLEN(tag) + 1, np, nlen);
++ INT2CHAR(sp, tag, NVI_STRLEN(tag) + 1, np, nlen);
+ len = nlen - 1;
+ CALLOC_GOTO(sp, tqp, TAGQ *, 1, sizeof(TAGQ) + len + 1);
+ CIRCLEQ_INIT(&tqp->tagq);
+diff -rupN nvi-1.81.6.orig/ex/ex_util.c nvi-1.81.6/ex/ex_util.c
+--- nvi-1.81.6.orig/ex/ex_util.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/ex/ex_util.c 2015-02-17 11:04:50.268378054 -0800
+@@ -153,7 +153,7 @@ ex_wemsg(SCR* sp, CHAR_T *p, exm_t which
+ char *np;
+ size_t nlen;
+
+- if (p) INT2CHAR(sp, p, STRLEN(p), np, nlen);
++ if (p) INT2CHAR(sp, p, NVI_STRLEN(p), np, nlen);
+ else np = NULL;
+ ex_emsg(sp, np, which);
+ }
+diff -rupN nvi-1.81.6.orig/ex/ex_write.c nvi-1.81.6/ex/ex_write.c
+--- nvi-1.81.6.orig/ex/ex_write.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/ex/ex_write.c 2015-02-17 11:04:50.277249383 -0800
+@@ -158,7 +158,7 @@ exwr(SCR *sp, EXCMD *cmdp, enum which cm
+ ex_emsg(sp, cmdp->cmd->usage, EXM_USAGE);
+ return (1);
+ }
+- if (argv_exp1(sp, cmdp, p, STRLEN(p), 1))
++ if (argv_exp1(sp, cmdp, p, NVI_STRLEN(p), 1))
+ return (1);
+
+ /*
+@@ -203,7 +203,7 @@ exwr(SCR *sp, EXCMD *cmdp, enum which cm
+ &cmdp->addr1, &cmdp->addr2, NULL, flags));
+
+ /* Build an argv so we get an argument count and file expansion. */
+- if (argv_exp2(sp, cmdp, p, STRLEN(p)))
++ if (argv_exp2(sp, cmdp, p, NVI_STRLEN(p)))
+ return (1);
+
+ /*
+@@ -255,7 +255,7 @@ exwr(SCR *sp, EXCMD *cmdp, enum which cm
+ set_alt_name(sp, name);
+ break;
+ default:
+- INT2CHAR(sp, p, STRLEN(p) + 1, n, nlen);
++ INT2CHAR(sp, p, NVI_STRLEN(p) + 1, n, nlen);
+ ex_emsg(sp, n, EXM_FILECOUNT);
+ return (1);
+ }
+diff -rupN nvi-1.81.6.orig/ip/ip_term.c nvi-1.81.6/ip/ip_term.c
+--- nvi-1.81.6.orig/ip/ip_term.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/ip/ip_term.c 2015-02-17 11:04:50.280203225 -0800
+@@ -127,7 +127,7 @@ ip_optchange(SCR *sp, int offset, char *
+
+ ipb.code = SI_EDITOPT;
+ ipb.str1 = (char*)opt->name;
+- ipb.len1 = STRLEN(opt->name) * sizeof(CHAR_T);
++ ipb.len1 = NVI_STRLEN(opt->name) * sizeof(CHAR_T);
+
+ (void)vi_send(ipp->o_fd, "ab1", &ipb);
+ return (0);
+diff -rupN nvi-1.81.6.orig/perl_api/perl.xs nvi-1.81.6/perl_api/perl.xs
+--- nvi-1.81.6.orig/perl_api/perl.xs 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/perl_api/perl.xs 2015-02-17 11:04:50.189684363 -0800
+@@ -326,7 +326,7 @@ perl_ex_perl(scrp, cmdp, cmdlen, f_lno,
+ newVIrv(pp->svid, scrp);
+
+ istat = signal(SIGINT, my_sighandler);
+- INT2CHAR(scrp, cmdp, STRLEN(cmdp)+1, np, nlen);
++ INT2CHAR(scrp, cmdp, NVI_STRLEN(cmdp)+1, np, nlen);
+ perl_eval(np);
+ signal(SIGINT, istat);
+
+@@ -421,7 +421,7 @@ perl_ex_perldo(scrp, cmdp, cmdlen, f_lno
+ /* Backwards compatibility. */
+ newVIrv(pp->svid, scrp);
+
+- INT2CHAR(scrp, cmdp, STRLEN(cmdp)+1, np, nlen);
++ INT2CHAR(scrp, cmdp, NVI_STRLEN(cmdp)+1, np, nlen);
+ if (!(command = malloc(length = nlen - 1 + sizeof("sub {}"))))
+ return 1;
+ snprintf(command, length, "sub {%s}", np);
+diff -rupN nvi-1.81.6.orig/regex/engine.c nvi-1.81.6/regex/engine.c
+--- nvi-1.81.6.orig/regex/engine.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/regex/engine.c 2015-02-17 11:04:50.181456859 -0800
+@@ -161,7 +161,7 @@ int eflags;
+ stop = string + pmatch[0].rm_eo;
+ } else {
+ start = string;
+- stop = start + STRLEN(start);
++ stop = start + NVI_STRLEN(start);
+ }
+ if (stop < start)
+ return(REG_INVARG);
+diff -rupN nvi-1.81.6.orig/regex/regcomp.c nvi-1.81.6/regex/regcomp.c
+--- nvi-1.81.6.orig/regex/regcomp.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/regex/regcomp.c 2015-02-17 11:04:50.175705539 -0800
+@@ -198,7 +198,7 @@ regcomp(regex_t *preg, const RCHAR_T *pa
+ return(REG_INVARG);
+ len = preg->re_endp - pattern;
+ } else
+- len = STRLEN(pattern);
++ len = NVI_STRLEN(pattern);
+
+ /* do the mallocs early so failure handling is easy */
+ g = (struct re_guts *)malloc(sizeof(struct re_guts) +
+@@ -818,7 +818,7 @@ p_b_cclass(register struct parse *p, reg
+ NEXT();
+ len = p->next - sp;
+ for (cp = cclasses; cp->name != NULL; cp++)
+- if (STRLEN(cp->name) == len && MEMCMP(cp->name, sp, len))
++ if (NVI_STRLEN(cp->name) == len && MEMCMP(cp->name, sp, len))
+ break;
+ if (cp->name == NULL) {
+ /* oops, didn't find it */
+@@ -889,7 +889,7 @@ p_b_coll_elem(register struct parse *p,
+ }
+ len = p->next - sp;
+ for (cp = cnames; cp->name != NULL; cp++)
+- if (STRLEN(cp->name) == len && MEMCMP(cp->name, sp, len))
++ if (NVI_STRLEN(cp->name) == len && MEMCMP(cp->name, sp, len))
+ return(cp->code); /* known name */
+ if (len == 1)
+ return(*sp); /* single character */
+diff -rupN nvi-1.81.6.orig/vi/v_event.c nvi-1.81.6/vi/v_event.c
+--- nvi-1.81.6.orig/vi/v_event.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/vi/v_event.c 2015-02-17 11:04:50.242966563 -0800
+@@ -97,7 +97,7 @@ v_editopt(SCR *sp, VICMD *vp)
+ size_t nlen;
+ char *p2;
+
+- INT2CHAR(sp, vp->ev.e_str2, STRLEN(vp->ev.e_str2)+1, np, nlen);
++ INT2CHAR(sp, vp->ev.e_str2, NVI_STRLEN(vp->ev.e_str2)+1, np, nlen);
+ p2 = strdup(np);
+ rval = api_opts_set(sp, vp->ev.e_str1, p2,
+ vp->ev.e_val1, vp->ev.e_val1);
+@@ -135,7 +135,7 @@ v_tag(SCR *sp, VICMD *vp)
+ return (1);
+
+ ex_cinit(sp, &cmd, C_TAG, 0, OOBLNO, OOBLNO, 0);
+- argv_exp0(sp, &cmd, VIP(sp)->keyw, STRLEN(VIP(sp)->keyw));
++ argv_exp0(sp, &cmd, VIP(sp)->keyw, NVI_STRLEN(VIP(sp)->keyw));
+ return (v_exec_ex(sp, vp, &cmd));
+ }
+
+@@ -167,7 +167,7 @@ v_tagsplit(SCR *sp, VICMD *vp)
+
+ ex_cinit(sp, &cmd, C_TAG, 0, OOBLNO, OOBLNO, 0);
+ F_SET(&cmd, E_NEWSCREEN);
+- argv_exp0(sp, &cmd, VIP(sp)->keyw, STRLEN(VIP(sp)->keyw));
++ argv_exp0(sp, &cmd, VIP(sp)->keyw, NVI_STRLEN(VIP(sp)->keyw));
+ return (v_exec_ex(sp, vp, &cmd));
+ }
+
+diff -rupN nvi-1.81.6.orig/vi/v_ex.c nvi-1.81.6/vi/v_ex.c
+--- nvi-1.81.6.orig/vi/v_ex.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/vi/v_ex.c 2015-02-17 11:04:50.246380280 -0800
+@@ -210,7 +210,7 @@ v_tagpush(SCR *sp, VICMD *vp)
+ EXCMD cmd;
+
+ ex_cinit(sp, &cmd, C_TAG, 0, OOBLNO, 0, 0);
+- argv_exp0(sp, &cmd, VIP(sp)->keyw, STRLEN(VIP(sp)->keyw) + 1);
++ argv_exp0(sp, &cmd, VIP(sp)->keyw, NVI_STRLEN(VIP(sp)->keyw) + 1);
+ return (v_exec_ex(sp, vp, &cmd));
+ }
+
+diff -rupN nvi-1.81.6.orig/vi/vs_msg.c nvi-1.81.6/vi/vs_msg.c
+--- nvi-1.81.6.orig/vi/vs_msg.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/vi/vs_msg.c 2015-02-17 11:04:50.251093618 -0800
+@@ -175,7 +175,7 @@ vs_update(SCR *sp, const char *m1, const
+ */
+ if (F_ISSET(sp, SC_SCR_EXWROTE)) {
+ if (m2 != NULL)
+- INT2CHAR(sp, m2, STRLEN(m2) + 1, np, nlen);
++ INT2CHAR(sp, m2, NVI_STRLEN(m2) + 1, np, nlen);
+ (void)ex_printf(sp,
+ "%s\n", m1 == NULL? "" : m1, m2 == NULL ? "" : np);
+ (void)ex_fflush(sp);
+@@ -203,7 +203,7 @@ vs_update(SCR *sp, const char *m1, const
+ } else
+ len = 0;
+ if (m2 != NULL) {
+- mlen = STRLEN(m2);
++ mlen = NVI_STRLEN(m2);
+ if (len + mlen > sp->cols - 2)
+ mlen = (sp->cols - 2) - len;
+ (void)gp->scr_waddstr(sp, m2, mlen);
+diff -rupN nvi-1.81.6.orig/vi/vs_split.c nvi-1.81.6/vi/vs_split.c
+--- nvi-1.81.6.orig/vi/vs_split.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/vi/vs_split.c 2015-02-17 11:04:50.256136584 -0800
+@@ -628,7 +628,7 @@ vs_fg(SCR *sp, SCR **nspp, CHAR_T *name,
+ wp = sp->wp;
+
+ if (name)
+- INT2CHAR(sp, name, STRLEN(name) + 1, np, nlen);
++ INT2CHAR(sp, name, NVI_STRLEN(name) + 1, np, nlen);
+ else
+ np = NULL;
+ if (newscreen)
+diff -rupN nvi-1.81.6.orig/vi/v_txt.c nvi-1.81.6/vi/v_txt.c
+--- nvi-1.81.6.orig/vi/v_txt.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/vi/v_txt.c 2015-02-17 11:04:50.240596567 -0800
+@@ -2049,7 +2049,7 @@ retry: for (len = 0,
+ return (0);
+ case 1: /* One match. */
+ /* If something changed, do the exchange. */
+- nlen = STRLEN(cmd.argv[0]->bp);
++ nlen = NVI_STRLEN(cmd.argv[0]->bp);
+ if (len != nlen || MEMCMP(cmd.argv[0]->bp, p, len))
+ break;
+
diff --git a/app-editors/nvi/files/nvi-1.81.6-use_pkgconfig_for_ncurses.patch b/app-editors/nvi/files/nvi-1.81.6-use_pkgconfig_for_ncurses.patch
new file mode 100644
index 000000000000..a9bf7e0a06a4
--- /dev/null
+++ b/app-editors/nvi/files/nvi-1.81.6-use_pkgconfig_for_ncurses.patch
@@ -0,0 +1,30 @@
+diff -uNr nvi-1.81.6.orig/dist/configure.in nvi-1.81.6/dist/configure.in
+--- nvi-1.81.6.orig/dist/configure.in 2013-07-09 17:17:35.000000000 -0400
++++ nvi-1.81.6/dist/configure.in 2013-07-09 17:18:48.000000000 -0400
+@@ -263,11 +263,13 @@
+ [ --enable-gtk Build a Gtk front-end for vi.],
+ [vi_cv_gtk=$enableval], [vi_cv_gtk="no"])
+ AC_MSG_RESULT($vi_cv_gtk)
++
++#
++# Find pkg-config
++#
++AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
++
+ if test "$vi_cv_gtk" = "yes"; then
+- #
+- # Find pkg-config
+- #
+- AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ if test x$PKG_CONFIG = xno ; then
+ if test "$vi_cv_widechar" = "yes"; then
+ AC_MSG_ERROR(
+@@ -531,7 +533,7 @@
+ [CURSHEADER=ncursesw/ncurses.h])
+ fi
+ vi_programs="vi $vi_programs"
+- CURSLIBS="-l$vi_cv_curses"
++ CURSLIBS=`$PKG_CONFIG --libs $vi_cv_curses`
+ else
+ AC_MSG_WARN([*** No suitable curses library found.])
+ if test "$vi_programs"X = X; then
diff --git a/app-editors/nvi/metadata.xml b/app-editors/nvi/metadata.xml
new file mode 100644
index 000000000000..5215b05de14e
--- /dev/null
+++ b/app-editors/nvi/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>
+ <email>neurogeek@gentoo.org</email>
+ <name>Jesus Rivero</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-editors/nvi/nvi-1.81.6-r3.ebuild b/app-editors/nvi/nvi-1.81.6-r3.ebuild
new file mode 100644
index 000000000000..3e3e6e6c1c54
--- /dev/null
+++ b/app-editors/nvi/nvi-1.81.6-r3.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools db-use eutils flag-o-matic
+
+DBVERS="4.8.30 4.7 4.6 4.5 4.4 4.3 4.2"
+DBSLOTS=
+DBDEPENDS=
+for DBVER in ${DBVERS}
+do
+ if [[ ${DBVER} = *.*.* ]]; then
+ DBSLOTS="${DBSLOTS} ${DBVER%.*}"
+ DBDEPENDS="${DBDEPENDS} >=sys-libs/db-${DBVER}:${DBVER%.*}"
+ else
+ DBSLOTS="${DBSLOTS} ${DBVER}"
+ DBDEPENDS="${DBDEPENDS} sys-libs/db:${DBVER}"
+ fi
+done
+
+DESCRIPTION="Vi clone"
+HOMEPAGE="https://sites.google.com/a/bostic.com/keithbostic/nvi"
+SRC_URI="http://garage.linux.student.kuleuven.be/~skimo/nvi/devel/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ~mips ppc ppc64 sparc x86"
+IUSE="perl tcl unicode"
+
+DEPEND="|| ( ${DBDEPENDS} )
+ >=sys-libs/ncurses-5.6-r2[tinfo]
+ perl? ( dev-lang/perl )
+ tcl? ( !unicode? ( >=dev-lang/tcl-8.5:0 ) )"
+RDEPEND="${DEPEND}
+ app-eselect/eselect-vi"
+
+S=${WORKDIR}/${P}/build.unix
+
+pkg_setup() {
+ if use tcl && use unicode
+ then
+ ewarn "nvi does not support tcl+unicode. tcl support will not be included."
+ ewarn "If you need tcl support, please disable the unicode flag."
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-db44.patch
+ epatch "${FILESDIR}"/${P}-db.patch
+ epatch "${FILESDIR}"/${P}-perl-as-needed.patch
+ epatch "${FILESDIR}"/${P}-perl-shortnames.patch
+ cd dist || die
+ chmod +x findconfig || die
+ append-flags -I"$(db_includedir ${DBSLOTS})"
+ sed -i -e "s@-ldb@-l$(db_libname ${DBSLOTS})@" configure.in || die
+ rm -f configure || die
+ eautoreconf -Im4
+}
+
+src_compile() {
+ local myconf
+
+ use perl && myconf="${myconf} --enable-perlinterp"
+ use tcl && ! use unicode && myconf="${myconf} --enable-tclinterp"
+ use unicode && myconf="${myconf} --enable-widechar"
+
+ append-flags '-D_PATH_MSGCAT="\"/usr/share/vi/catalog/\""'
+
+ ECONF_SOURCE=../dist econf \
+ --program-prefix=n \
+ ${myconf} \
+ || die "configure failed"
+ emake OPTFLAG="${CFLAGS}" || die "make failed"
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" install || die "install failed"
+}
+
+pkg_postinst() {
+ einfo "Setting /usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
+
+pkg_postrm() {
+ einfo "Updating /usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
diff --git a/app-editors/nvi/nvi-1.81.6-r4.ebuild b/app-editors/nvi/nvi-1.81.6-r4.ebuild
new file mode 100644
index 000000000000..098fb97f97f4
--- /dev/null
+++ b/app-editors/nvi/nvi-1.81.6-r4.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools db-use eutils flag-o-matic
+
+DBVERS="4.8.30 4.7 4.6 4.5 4.4 4.3 4.2"
+DBSLOTS=
+DBDEPENDS=
+for DBVER in ${DBVERS}
+do
+ if [[ ${DBVER} = *.*.* ]]; then
+ DBSLOTS="${DBSLOTS} ${DBVER%.*}"
+ DBDEPENDS="${DBDEPENDS} >=sys-libs/db-${DBVER}:${DBVER%.*}"
+ else
+ DBSLOTS="${DBSLOTS} ${DBVER}"
+ DBDEPENDS="${DBDEPENDS} sys-libs/db:${DBVER}"
+ fi
+done
+
+DESCRIPTION="Vi clone"
+HOMEPAGE="https://sites.google.com/a/bostic.com/keithbostic/vi"
+SRC_URI="http://garage.linux.student.kuleuven.be/~skimo/nvi/devel/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ~mips ppc ppc64 sparc x86"
+IUSE="perl tcl unicode"
+
+CDEPEND="|| ( ${DBDEPENDS} )
+ >=sys-libs/ncurses-5.6-r2
+ perl? ( dev-lang/perl )
+ tcl? ( !unicode? ( >=dev-lang/tcl-8.5:0 ) )"
+
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+
+RDEPEND="${CDEPEND}
+ app-eselect/eselect-vi"
+
+REQUIRED_USE="tcl? ( !unicode )"
+
+src_prepare() {
+
+ epatch "${FILESDIR}"/${P}-db44.patch
+ epatch "${FILESDIR}"/${P}-db.patch
+ epatch "${FILESDIR}"/${P}-perl-as-needed.patch
+ epatch "${FILESDIR}"/${P}-perl-shortnames.patch
+ epatch "${FILESDIR}"/${P}-ac_config_header.patch
+ epatch "${FILESDIR}"/${P}-use_pkgconfig_for_ncurses.patch
+
+ cd dist || die
+ chmod +x findconfig || die
+
+ append-cppflags -I"$(db_includedir ${DBSLOTS})"
+
+ sed -i -e "s@-ldb@-l$(db_libname ${DBSLOTS})@" configure.in || die
+ rm -f configure || die
+ eautoreconf -Im4
+}
+
+src_configure() {
+ local myconf
+
+ use perl && myconf="${myconf} --enable-perlinterp"
+ use unicode && myconf="${myconf} --enable-widechar"
+ use tcl && ! use unicode && myconf="${myconf} --enable-tclinterp"
+
+ append-cppflags '-D_PATH_MSGCAT="\"/usr/share/vi/catalog/\""'
+
+ pushd dist 2>/dev/null
+ econf \
+ --program-prefix=n \
+ ${myconf} \
+ || die "configure failed"
+ popd 2>/dev/null
+}
+
+src_compile() {
+ pushd dist 2>/dev/null
+ emake || die "make failed"
+ popd 2>/dev/null
+}
+
+src_install() {
+ pushd dist 2>/dev/null
+ emake -j1 DESTDIR="${D}" install || die "install failed"
+ popd 2>/dev/null
+}
+
+pkg_postinst() {
+ einfo "Setting /usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
+
+pkg_postrm() {
+ einfo "Updating /usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
diff --git a/app-editors/nvi/nvi-1.81.6-r5.ebuild b/app-editors/nvi/nvi-1.81.6-r5.ebuild
new file mode 100644
index 000000000000..7fd00133f989
--- /dev/null
+++ b/app-editors/nvi/nvi-1.81.6-r5.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools db-use eutils flag-o-matic
+
+DBVERS="4.8.30 4.7 4.6 4.5 4.4 4.3 4.2"
+DBSLOTS=
+DBDEPENDS=
+for DBVER in ${DBVERS}
+do
+ if [[ ${DBVER} = *.*.* ]]; then
+ DBSLOTS="${DBSLOTS} ${DBVER%.*}"
+ DBDEPENDS="${DBDEPENDS} >=sys-libs/db-${DBVER}:${DBVER%.*}"
+ else
+ DBSLOTS="${DBSLOTS} ${DBVER}"
+ DBDEPENDS="${DBDEPENDS} sys-libs/db:${DBVER}"
+ fi
+done
+
+DESCRIPTION="Vi clone"
+HOMEPAGE="https://sites.google.com/a/bostic.com/keithbostic/vi"
+SRC_URI="http://garage.linux.student.kuleuven.be/~skimo/nvi/devel/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="perl tcl unicode"
+
+CDEPEND="|| ( ${DBDEPENDS} )
+ >=sys-libs/ncurses-5.6-r2
+ perl? ( dev-lang/perl )
+ tcl? ( !unicode? ( >=dev-lang/tcl-8.5:0 ) )"
+
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+
+RDEPEND="${CDEPEND}
+ app-eselect/eselect-vi"
+
+REQUIRED_USE="tcl? ( !unicode )"
+
+src_prepare() {
+
+ epatch "${FILESDIR}"/${P}-strlen-macro-renaming.patch
+ epatch "${FILESDIR}"/${P}-db44.patch
+ epatch "${FILESDIR}"/${P}-db.patch
+ epatch "${FILESDIR}"/${P}-perl-as-needed.patch
+ epatch "${FILESDIR}"/${P}-perl-shortnames.patch
+ epatch "${FILESDIR}"/${P}-ac_config_header.patch
+ epatch "${FILESDIR}"/${P}-use_pkgconfig_for_ncurses.patch
+
+ cd dist || die
+ chmod +x findconfig || die
+
+ append-cppflags -I"$(db_includedir ${DBSLOTS})"
+
+ sed -i -e "s@-ldb@-l$(db_libname ${DBSLOTS})@" configure.in || die
+ rm -f configure || die
+ eautoreconf -Im4
+}
+
+src_configure() {
+ local myconf
+
+ use perl && myconf="${myconf} --enable-perlinterp"
+ use unicode && myconf="${myconf} --enable-widechar"
+ use tcl && ! use unicode && myconf="${myconf} --enable-tclinterp"
+
+ append-cppflags '-D_PATH_MSGCAT="\"/usr/share/vi/catalog/\""'
+
+ pushd dist 2>/dev/null
+ econf \
+ --program-prefix=n \
+ ${myconf} \
+ || die "configure failed"
+ popd 2>/dev/null
+}
+
+src_compile() {
+ pushd dist 2>/dev/null
+ emake || die "make failed"
+ popd 2>/dev/null
+}
+
+src_install() {
+ pushd dist 2>/dev/null
+ emake -j1 DESTDIR="${D}" install || die "install failed"
+ popd 2>/dev/null
+}
+
+pkg_postinst() {
+ einfo "Setting /usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
+
+pkg_postrm() {
+ einfo "Updating /usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
diff --git a/app-editors/padre/Manifest b/app-editors/padre/Manifest
new file mode 100644
index 000000000000..43769c6f6597
--- /dev/null
+++ b/app-editors/padre/Manifest
@@ -0,0 +1,2 @@
+DIST Padre-0.98.tar.gz 1968814 SHA256 847aa43a0f30ec7cc99a812e38f447f7c49959e62ce39614f9fba1d2d5694f87 SHA512 4f810a0447bc03751dd50ada08acacb3ad617c03dd628f11272750da5e0f9fd39951838161046ad1b17185b87b9bb0f10780adaffa4bdcec0928c181587afdaf WHIRLPOOL 98ec79b1b24096523e1f7da5dad5ebf7f7631f77974994f8d59f53dbff6937efecca5942c22fc7393581f18b423c9aef91ebdbd35bd0fd3a7e8f59270d034379
+DIST Padre-1.00.tar.gz 1969274 SHA256 cb31404b048c12992eea142613bd560ce7a31199e3e09239fa1539f2fa02b96d SHA512 8a2630eb54944b85ec77eaf90595fe6bb482b88ae87622b9e54973fbc1cc5f7ccf83d7b2481a9a66886310db9678569d23b18de033f7759db71ac73fd3151856 WHIRLPOOL 512d1aeb9783a8c1b4dee2f3b60b77d7daf40eef1a33dc88b84e11403c70983633e1b4c54c40013d7b575e70221f5e95cfbd7db434544afa13b475215ee3377d
diff --git a/app-editors/padre/metadata.xml b/app-editors/padre/metadata.xml
new file mode 100644
index 000000000000..c4e883858d94
--- /dev/null
+++ b/app-editors/padre/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>perl</herd>
+ <upstream>
+ <remote-id type="cpan">Padre</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/padre/padre-0.980.0-r1.ebuild b/app-editors/padre/padre-0.980.0-r1.ebuild
new file mode 100644
index 000000000000..c3f3b09e4412
--- /dev/null
+++ b/app-editors/padre/padre-0.980.0-r1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+MY_PN=Padre
+MODULE_AUTHOR=PLAVEN
+MODULE_VERSION=0.98
+inherit perl-module
+
+DESCRIPTION="Perl Application Development and Refactoring Environment"
+HOMEPAGE="http://padre.perlide.org/"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+# Test Deps
+TDEPEND="
+ >=dev-perl/Test-MockObject-1.09
+ >=dev-perl/Test-Script-1.07
+ >=dev-perl/Test-Exception-0.27
+ >=dev-perl/Test-NoWarnings-0.084
+ >=virtual/perl-Test-Simple-0.88
+ >=dev-perl/Test-Warn-0.240.0
+"
+
+# Depend on perl-5.10.1 but it only needs
+# a modern EU::MM
+# >=virtual/perl-Pod-Perldoc-3.15
+RDEPEND="
+ >=dev-lang/perl-5.10.1
+ >=dev-perl/Algorithm-Diff-1.190.0
+ >=dev-perl/Capture-Tiny-0.06
+ >=dev-perl/Class-Adapter-1.05
+ >=dev-perl/Class-Inspector-1.22
+ >=dev-perl/Class-XSAccessor-1.130.0
+ >=dev-perl/DBD-SQLite-1.350.0
+ >=dev-perl/DBI-1.58
+ >=dev-perl/Devel-Dumpvar-0.04
+ >=dev-perl/Debug-Client-0.200.0
+ >=dev-perl/Devel-Refactor-0.05
+ >=dev-perl/File-Copy-Recursive-0.37
+ >=dev-perl/File-Find-Rule-0.30
+ >=dev-perl/File-HomeDir-0.91
+ >=virtual/perl-File-Path-2.08
+ >=dev-perl/File-Remove-1.40
+ >=dev-perl/File-ShareDir-1.00
+ >=virtual/perl-File-Spec-3.27.01
+ >=virtual/perl-File-Temp-0.20
+ >=dev-perl/File-Which-1.08
+ dev-perl/File-pushd
+ virtual/perl-Getopt-Long
+ >=dev-perl/HTML-Parser-3.58
+ >=dev-perl/IO-stringy-2.110
+ virtual/perl-IO
+ >=dev-perl/IO-String-1.08
+ >=dev-perl/IPC-Run-0.83
+ >=dev-perl/JSON-XS-2.2.9
+ >=virtual/perl-Scalar-List-Utils-1.18
+ >=dev-perl/libwww-perl-5.815
+ >=dev-perl/List-MoreUtils-0.22
+ >=dev-perl/Locale-Msgfmt-0.15
+ >=dev-perl/Module-Manifest-0.07
+ >=dev-perl/ORLite-1.960.0
+ >=dev-perl/ORLite-Migrate-1.100.0
+ >=dev-perl/PAR-0.989
+ >=dev-perl/Params-Util-0.33
+ >=dev-perl/Parse-ErrorString-Perl-0.14
+ >=dev-perl/Parse-ExuberantCTags-1.00
+ >=dev-perl/Pod-Abstract-0.16
+ >=dev-perl/Pod-POM-0.17
+ >=virtual/perl-Pod-Simple-3.07
+ >=dev-perl/PPI-1.205
+ >=dev-perl/PPIx-EditorTools-0.130.0
+ >=dev-perl/PPIx-Regexp-0.011
+ dev-perl/Probe-Perl
+ >=dev-perl/Sort-Versions-1.500.0
+ >=virtual/perl-Storable-2.16
+ >=dev-perl/Template-Tiny-0.11
+ >=virtual/perl-Text-Balanced-0.80
+ >=dev-perl/Text-Diff-1.410.0
+ >=dev-perl/Text-FindIndent-0.10
+ >=dev-perl/Text-Patch-1.800.0
+ >=virtual/perl-threads-1.71
+ >=virtual/perl-threads-shared-1.33
+ >=virtual/perl-Time-HiRes-1.97.18
+ >=dev-perl/URI-0
+ >=dev-perl/wxperl-0.990.100
+ >=dev-perl/Wx-Perl-ProcessStream-0.28
+ >=dev-perl/Wx-Scintilla-0.340.0
+ >=dev-perl/YAML-Tiny-1.32
+ >=virtual/perl-version-0.79
+"
+DEPEND="${RDEPEND}"
+# test? (
+# ${TDEPEND}
+# )
+#"
+
+#SRC_TEST=do
+
+src_configure() {
+ unset DISPLAY
+ perl-module_src_configure
+}
diff --git a/app-editors/padre/padre-1.0.0.ebuild b/app-editors/padre/padre-1.0.0.ebuild
new file mode 100644
index 000000000000..e27be4ab6ec9
--- /dev/null
+++ b/app-editors/padre/padre-1.0.0.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+MY_PN=Padre
+MODULE_AUTHOR=PLAVEN
+MODULE_VERSION=1.00
+inherit perl-module
+
+DESCRIPTION="Perl Application Development and Refactoring Environment"
+HOMEPAGE="http://padre.perlide.org/"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+# Test Deps
+TDEPEND="
+ >=dev-perl/Test-MockObject-1.09
+ >=dev-perl/Test-Script-1.07
+ >=dev-perl/Test-Exception-0.27
+ >=dev-perl/Test-NoWarnings-0.084
+ >=virtual/perl-Test-Simple-0.88
+ >=dev-perl/Test-Warn-0.240.0
+"
+
+# Depend on perl-5.10.1 but it only needs
+# a modern EU::MM
+# >=virtual/perl-Pod-Perldoc-3.15
+RDEPEND="
+ >=dev-lang/perl-5.10.1
+ >=dev-perl/Algorithm-Diff-1.190.0
+ >=dev-perl/Capture-Tiny-0.06
+ >=dev-perl/Class-Adapter-1.05
+ >=dev-perl/Class-Inspector-1.22
+ >=dev-perl/Class-XSAccessor-1.130.0
+ >=dev-perl/DBD-SQLite-1.350.0
+ >=dev-perl/DBI-1.58
+ >=dev-perl/Devel-Dumpvar-0.04
+ >=dev-perl/Debug-Client-0.200.0
+ >=dev-perl/Devel-Refactor-0.05
+ >=dev-perl/File-Copy-Recursive-0.37
+ >=dev-perl/File-Find-Rule-0.30
+ >=dev-perl/File-HomeDir-0.91
+ >=virtual/perl-File-Path-2.08
+ >=dev-perl/File-Remove-1.40
+ >=dev-perl/File-ShareDir-1.00
+ >=virtual/perl-File-Spec-3.27.01
+ >=virtual/perl-File-Temp-0.20
+ >=dev-perl/File-Which-1.08
+ dev-perl/File-pushd
+ virtual/perl-Getopt-Long
+ >=dev-perl/HTML-Parser-3.58
+ >=dev-perl/IO-stringy-2.110
+ virtual/perl-IO
+ >=dev-perl/IO-String-1.08
+ >=dev-perl/IPC-Run-0.83
+ >=dev-perl/JSON-XS-2.2.9
+ >=virtual/perl-Scalar-List-Utils-1.18
+ >=dev-perl/libwww-perl-5.815
+ >=dev-perl/List-MoreUtils-0.22
+ >=dev-perl/Locale-Msgfmt-0.15
+ >=dev-perl/Module-Manifest-0.07
+ >=dev-perl/ORLite-1.960.0
+ >=dev-perl/ORLite-Migrate-1.100.0
+ >=dev-perl/PAR-0.989
+ >=dev-perl/Params-Util-0.33
+ >=dev-perl/Parse-ErrorString-Perl-0.14
+ >=dev-perl/Parse-ExuberantCTags-1.00
+ >=dev-perl/Pod-Abstract-0.16
+ >=dev-perl/Pod-POM-0.17
+ >=virtual/perl-Pod-Simple-3.07
+ >=dev-perl/PPI-1.205
+ >=dev-perl/PPIx-EditorTools-0.130.0
+ >=dev-perl/PPIx-Regexp-0.011
+ dev-perl/Probe-Perl
+ >=dev-perl/Sort-Versions-1.500.0
+ >=virtual/perl-Storable-2.16
+ >=dev-perl/Template-Tiny-0.11
+ >=virtual/perl-Text-Balanced-0.80
+ >=dev-perl/Text-Diff-1.410.0
+ >=dev-perl/Text-FindIndent-0.10
+ >=dev-perl/Text-Patch-1.800.0
+ >=virtual/perl-threads-1.71
+ >=virtual/perl-threads-shared-1.33
+ >=virtual/perl-Time-HiRes-1.97.18
+ >=dev-perl/URI-0
+ >=dev-perl/wxperl-0.990.100
+ >=dev-perl/Wx-Perl-ProcessStream-0.28
+ >=dev-perl/Wx-Scintilla-0.340.0
+ >=dev-perl/YAML-Tiny-1.32
+ >=virtual/perl-version-0.79
+"
+DEPEND="${RDEPEND}"
+# test? (
+# ${TDEPEND}
+# )
+#"
+
+#SRC_TEST=do
+
+src_configure() {
+ unset DISPLAY
+ perl-module_src_configure
+}
diff --git a/app-editors/pluma/Manifest b/app-editors/pluma/Manifest
new file mode 100644
index 000000000000..eba94b22c8a1
--- /dev/null
+++ b/app-editors/pluma/Manifest
@@ -0,0 +1,2 @@
+DIST pluma-1.8.0.tar.xz 3395424 SHA256 69b381854bb0bb7976af1469b921feec626b5f12c3c2f077b2ed0ea0020d2979 SHA512 b5298da96198a154f1dd039d594152911e3fa7cb037341a4917bcdef560864ccf08762052c0e8d314c40d12bc2dc82fea692992f0fba0e41312b88f7ddcaa8fe WHIRLPOOL b91ec8134eba44b43d6e5cf4769c770b46fe0383e1a7256103d8d1b6beaf7fac22df6772971674b0920e96eef03bedfeb9d29ea156111949b080d42c4cc93078
+DIST pluma-1.8.1.tar.xz 3409032 SHA256 38accc5c05062981a0649874300bc21ab3ad1a5ef47491186dffe7c035ed9e8b SHA512 4429b95a6c692c524db481cc53a3d9d5fd252a2aafa49daf787df5d7b389806f520233bc054b701a3ca47a5df5917cf934dafee8327b0ac01b7fe25059b6adea WHIRLPOOL c1e61e32bc657b7097292869acd57e69b6c67d0610db0644c38141ca4e94b34b0b3bc3b941fc79b444c2f56d3140210f117fc80bfc2102b97d4f45af9e9e2057
diff --git a/app-editors/pluma/metadata.xml b/app-editors/pluma/metadata.xml
new file mode 100644
index 000000000000..cf4c89f861f5
--- /dev/null
+++ b/app-editors/pluma/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>mate</herd>
+ <upstream>
+ <remote-id type="github">mate-desktop/pluma</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/pluma/pluma-1.8.0.ebuild b/app-editors/pluma/pluma-1.8.0.ebuild
new file mode 100644
index 000000000000..3f27b451ebb9
--- /dev/null
+++ b/app-editors/pluma/pluma-1.8.0.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+GCONF_DEBUG="yes"
+GNOME2_LA_PUNT="yes"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit gnome2 multilib python-single-r1 versionator virtualx
+
+MATE_BRANCH="$(get_version_component_range 1-2)"
+
+SRC_URI="http://pub.mate-desktop.org/releases/${MATE_BRANCH}/${P}.tar.xz"
+DESCRIPTION="Pluma text editor for the MATE desktop"
+HOMEPAGE="http://mate-desktop.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="python spell"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# Tests require gvfs sftp fs mounted and schema's installed. Disable tests.
+# https://github.com/mate-desktop/mate-text-editor/issues/33
+RESTRICT="test"
+
+RDEPEND="app-text/rarian:0
+ dev-libs/atk:0
+ >=dev-libs/glib-2.32:2
+ >=dev-libs/libxml2-2.5:2
+ x11-libs/cairo:0
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-2.19:2
+ >=x11-libs/gtksourceview-2.9.7:2.0
+ x11-libs/libICE:0
+ x11-libs/libX11:0
+ >=x11-libs/libSM-1.0
+ x11-libs/pango:0
+ virtual/libintl:0
+ spell? (
+ >=app-text/enchant-1.2:0
+ >=app-text/iso-codes-0.35:0
+ )
+ python? (
+ ${PYTHON_DEPS}
+ >=dev-python/pygobject-2.15.4:2[${PYTHON_USEDEP}]
+ >=dev-python/pygtk-2.12:2[${PYTHON_USEDEP}]
+ >=dev-python/pygtksourceview-2.9.2:2
+ )
+ !!app-editors/mate-text-editor"
+
+DEPEND="${RDEPEND}
+ ~app-text/docbook-xml-dtd-4.1.2
+ >=app-text/scrollkeeper-dtd-1:1.0
+ >=dev-util/intltool-0.40:*
+ >=sys-devel/libtool-2.2.6:2
+ >=mate-base/mate-common-1.8:0
+ >=sys-devel/gettext-0.17:*
+ virtual/pkgconfig:*"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-updater \
+ $(use_enable python) \
+ $(use_enable spell)
+}
+
+DOCS="AUTHORS ChangeLog NEWS README"
+
+src_test() {
+ # FIXME: This should be handled at eclass level.
+ "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/data" || die
+
+ unset DBUS_SESSION_BUS_ADDRESS
+
+ GSETTINGS_SCHEMA_DIR="${S}/data" Xemake check
+}
diff --git a/app-editors/pluma/pluma-1.8.1.ebuild b/app-editors/pluma/pluma-1.8.1.ebuild
new file mode 100644
index 000000000000..48b831e7877b
--- /dev/null
+++ b/app-editors/pluma/pluma-1.8.1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+GCONF_DEBUG="yes"
+GNOME2_LA_PUNT="yes"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit gnome2 multilib python-single-r1 versionator virtualx
+
+MATE_BRANCH="$(get_version_component_range 1-2)"
+
+SRC_URI="http://pub.mate-desktop.org/releases/${MATE_BRANCH}/${P}.tar.xz"
+DESCRIPTION="Pluma text editor for the MATE desktop"
+HOMEPAGE="http://mate-desktop.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+IUSE="python spell"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# Tests require gvfs sftp fs mounted and schema's installed. Disable tests.
+# https://github.com/mate-desktop/mate-text-editor/issues/33
+RESTRICT="test"
+
+RDEPEND="app-text/rarian:0
+ dev-libs/atk:0
+ >=dev-libs/glib-2.32:2
+ >=dev-libs/libxml2-2.5:2
+ >=mate-base/mate-desktop-1.8:0
+ x11-libs/cairo:0
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-2.19:2
+ >=x11-libs/gtksourceview-2.9.7:2.0
+ x11-libs/libICE:0
+ x11-libs/libX11:0
+ >=x11-libs/libSM-1.0
+ x11-libs/pango:0
+ virtual/libintl:0
+ spell? (
+ >=app-text/enchant-1.2:0
+ >=app-text/iso-codes-0.35:0
+ )
+ python? (
+ ${PYTHON_DEPS}
+ >=dev-python/pygobject-2.15.4:2[${PYTHON_USEDEP}]
+ >=dev-python/pygtk-2.12:2[${PYTHON_USEDEP}]
+ >=dev-python/pygtksourceview-2.9.2:2
+ )
+ !!app-editors/mate-text-editor"
+
+DEPEND="${RDEPEND}
+ ~app-text/docbook-xml-dtd-4.1.2
+ >=app-text/scrollkeeper-dtd-1:1.0
+ app-text/yelp-tools:0
+ >=dev-util/intltool-0.40:*
+ >=sys-devel/libtool-2.2.6:2
+ >=mate-base/mate-common-1.8:0
+ >=sys-devel/gettext-0.17:*
+ virtual/pkgconfig:*"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-updater \
+ $(use_enable python) \
+ $(use_enable spell)
+}
+
+DOCS="AUTHORS ChangeLog NEWS README"
+
+src_test() {
+ # FIXME: This should be handled at eclass level.
+ "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/data" || die
+
+ unset DBUS_SESSION_BUS_ADDRESS
+
+ GSETTINGS_SCHEMA_DIR="${S}/data" Xemake check
+}
diff --git a/app-editors/qemacs/Manifest b/app-editors/qemacs/Manifest
new file mode 100644
index 000000000000..c5a4ccbdaf27
--- /dev/null
+++ b/app-editors/qemacs/Manifest
@@ -0,0 +1 @@
+DIST qemacs-0.4.0_pre20090420.tar.bz2 1393436 SHA256 14f1ffad569f1bdaaa27d2d7ab0251ce69afc9efc347bb244b11f5e34e818ab5 SHA512 4595e34d3a83cbd7f25514dd96b7578976b30de80eb19b1391448ecdb9c06d24088880978961e5abb94b3f715057e7563ae0976d704bc5afaaf83e62a67e8dd4 WHIRLPOOL 63ba6950a0340731cd9a041a5929d18f1769d915a7343a94b2b0c48d82a0af1680b2163426e8d268240d3c0c740895853439d96c2d49791e106f0798f5d88a8b
diff --git a/app-editors/qemacs/files/qemacs-0.3.2_pre20070226-tty_utf8.patch b/app-editors/qemacs/files/qemacs-0.3.2_pre20070226-tty_utf8.patch
new file mode 100644
index 000000000000..1f51ada5c2b7
--- /dev/null
+++ b/app-editors/qemacs/files/qemacs-0.3.2_pre20070226-tty_utf8.patch
@@ -0,0 +1,43 @@
+utf8 input in tty.c
+http://lists.gnu.org/archive/html/qemacs-devel/2004-03/msg00000.html
+http://bugs.gentoo.org/62829
+
+--- qemacs-orig/tty.c 2007-02-08 00:27:33.000000000 +0100
++++ qemacs/tty.c 2007-02-26 15:07:41.000000000 +0100
+@@ -78,7 +78,6 @@
+ /* input handling */
+ enum InputState input_state;
+ int input_param;
+- int utf8_state;
+ int utf8_index;
+ unsigned char buf[10];
+ char *term_name;
+@@ -374,15 +373,19 @@
+
+ /* charset handling */
+ if (s->charset == &charset_utf8) {
+- if (ts->utf8_state == 0) {
+- const char *p;
+- p = (const char *)ts->buf;
+- ch = utf8_decode(&p);
+- } else {
+- ts->utf8_state = utf8_length[ts->buf[0]] - 1;
+- ts->utf8_index = 0;
+- return;
+- }
++ /* Make sure utf8 input works correctly 20040314 <damm@opensource.se> */
++ ts->utf8_index++;
++
++ if (utf8_length[ts->buf[0]] == ts->utf8_index) {;
++ const char *p;
++ p = (const char *)ts->buf;
++ ch = utf8_decode(&p);
++ ts->utf8_index = 0;
++ }
++ else {
++ return;
++ }
++
+ } else {
+ ch = ts->buf[0];
+ }
diff --git a/app-editors/qemacs/files/qemacs-0.4.0_pre20080605-Makefile.patch b/app-editors/qemacs/files/qemacs-0.4.0_pre20080605-Makefile.patch
new file mode 100644
index 000000000000..73c3f68b13a3
--- /dev/null
+++ b/app-editors/qemacs/files/qemacs-0.4.0_pre20080605-Makefile.patch
@@ -0,0 +1,35 @@
+--- Makefile.orig 2009-03-07 21:27:48.000000000 +0100
++++ Makefile 2009-03-07 21:28:43.000000000 +0100
+@@ -19,32 +19,6 @@
+
+ include config.mak
+
+-ifeq ($(CC),gcc)
+- CFLAGS := -Wall -g -O2 -funsigned-char
+- # do not warn about zero-length formats.
+- CFLAGS += -Wno-format-zero-length
+- LDFLAGS := -g
+-endif
+-
+-#include local compiler configuration file
+--include cflags.mk
+-
+-ifdef TARGET_GPROF
+- CFLAGS += -p
+- LDFLAGS += -p
+-endif
+-
+-TLDFLAGS := $(LDFLAGS)
+-
+-ifdef TARGET_ARCH_X86
+- #CFLAGS+=-fomit-frame-pointer
+- ifeq ($(GCC_MAJOR),2)
+- CFLAGS+=-m386 -malign-functions=0
+- else
+- CFLAGS+=-march=i386 -falign-functions=0
+- endif
+-endif
+-
+ DEFINES=-DHAVE_QE_CONFIG_H
+
+ ########################################################
diff --git a/app-editors/qemacs/files/qemacs-0.4.0_pre20080605-make_backup.patch b/app-editors/qemacs/files/qemacs-0.4.0_pre20080605-make_backup.patch
new file mode 100644
index 000000000000..cdfe4c439db8
--- /dev/null
+++ b/app-editors/qemacs/files/qemacs-0.4.0_pre20080605-make_backup.patch
@@ -0,0 +1,68 @@
+Add make-backup-files command for backup toggling, from upstream mailing list:
+http://lists.gnu.org/archive/html/qemacs-devel/2004-11/msg00007.html
+http://bugs.gentoo.org/75052
+
+--- buffer.c.orig 2009-03-07 21:14:02.000000000 +0100
++++ buffer.c 2009-03-07 21:15:40.000000000 +0100
+@@ -1657,12 +1657,14 @@
+ if (stat(filename, &st) == 0)
+ mode = st.st_mode & 0777;
+
+- /* backup old file if present */
+- if (strlen(filename) < MAX_FILENAME_SIZE - 1) {
++ /* backup old file if present and make-backup-files is on */
++ if(mbf == 1) {
++ if (strlen(filename) < MAX_FILENAME_SIZE - 1) {
+ if (snprintf(buf1, sizeof(buf1), "%s~", filename) < ssizeof(buf1)) {
+ // should check error code
+ rename(filename, buf1);
+ }
++ }
+ }
+
+ /* CG: should pass mode to buffer_save */
+--- qe.c.orig 2009-03-07 21:14:09.000000000 +0100
++++ qe.c 2009-03-07 21:17:01.000000000 +0100
+@@ -71,6 +71,7 @@
+ static int screen_height = 0;
+ static int no_init_file;
+ static const char *user_option;
++mbf = 1;
+
+ /* mode handling */
+
+@@ -5316,6 +5317,14 @@
+ do_refresh(qs->first_window);
+ }
+
++static void make_backup_files(EditState *s) {
++ if(mbf == 1) {
++ mbf = 0;
++ } else {
++ mbf = 1;
++ }
++}
++
+ /* compute default path for find/save buffer */
+ static void get_default_path(EditState *s, char *buf, int buf_size)
+ {
+--- qeconfig.h.orig 2009-03-07 21:14:19.000000000 +0100
++++ qeconfig.h 2009-03-07 21:17:37.000000000 +0100
+@@ -192,6 +192,7 @@
+ "downcase-region", do_changecase_region, ESi, -1, "*v")
+ CMD3( KEY_CTRLX(KEY_CTRL('u')), KEY_NONE,
+ "upcase-region", do_changecase_region, ESi, 1, "*v")
++ CMD0( KEY_NONE, KEY_NONE, "make-backup-files", make_backup_files)
+
+ /*---------------- Command handling ----------------*/
+
+--- qe.h.orig 2009-03-07 21:14:26.000000000 +0100
++++ qe.h 2009-03-07 21:17:53.000000000 +0100
+@@ -1765,6 +1765,7 @@
+ /* image.c */
+ void fill_border(EditState *s, int x, int y, int w, int h, int color);
+ int qe_bitmap_format_to_pix_fmt(int format);
++int mbf;
+
+ /* shell.c */
+ EditBuffer *new_shell_buffer(EditBuffer *b0, const char *name,
diff --git a/app-editors/qemacs/files/qemacs-0.4.0_pre20090420-nostrip.patch b/app-editors/qemacs/files/qemacs-0.4.0_pre20090420-nostrip.patch
new file mode 100644
index 000000000000..120b09c2129d
--- /dev/null
+++ b/app-editors/qemacs/files/qemacs-0.4.0_pre20090420-nostrip.patch
@@ -0,0 +1,36 @@
+--- qemacs-orig/Makefile
++++ qemacs/Makefile
+@@ -151,7 +151,6 @@
+ qe$(EXE): qe_g$(EXE) Makefile
+ rm -f $@
+ cp $< $@
+- -$(STRIP) $@
+ @ls -l $@
+ echo `size $@` `wc -c $@` qe $(OPTIONS) \
+ | cut -d ' ' -f 7-10,13,15-40 >> STATS
+@@ -165,7 +164,6 @@
+ tqe$(EXE): tqe_g$(EXE) Makefile
+ rm -f $@
+ cp $< $@
+- -$(STRIP) $@
+ @ls -l $@
+ echo `size $@` `wc -c $@` tqe $(OPTIONS) \
+ | cut -d ' ' -f 7-10,13,15-40 >> STATS
+@@ -329,7 +327,7 @@
+ $(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/bin
+ $(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/man/man1
+ $(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/share/qe
+- $(INSTALL) -m 755 -s qe$(EXE) $(DESTDIR)$(prefix)/bin/qemacs$(EXE)
++ $(INSTALL) -m 755 qe$(EXE) $(DESTDIR)$(prefix)/bin/qemacs$(EXE)
+ ln -sf qemacs $(DESTDIR)$(prefix)/bin/qe$(EXE)
+ ifdef CONFIG_FFMPEG
+ ln -sf qemacs$(EXE) $(DESTDIR)$(prefix)/bin/ffplay$(EXE)
+@@ -337,7 +335,7 @@
+ $(INSTALL) -m 644 kmaps ligatures $(DESTDIR)$(prefix)/share/qe
+ $(INSTALL) -m 644 qe.1 $(DESTDIR)$(prefix)/man/man1
+ ifdef CONFIG_HTML
+- $(INSTALL) -m 755 -s html2png$(EXE) $(DESTDIR)$(prefix)/bin
++ $(INSTALL) -m 755 html2png$(EXE) $(DESTDIR)$(prefix)/bin
+ endif
+
+ uninstall:
diff --git a/app-editors/qemacs/metadata.xml b/app-editors/qemacs/metadata.xml
new file mode 100644
index 000000000000..c0162f066ce4
--- /dev/null
+++ b/app-editors/qemacs/metadata.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>emacs</herd>
+<longdescription>
+ QEmacs (for Quick Emacs) is a very small but powerful text editor. It has
+ the following features:
+ * Full screen editor with an Emacs look and feel with all Emacs common
+ features: multi-buffer, multi-window, command mode, universal argument,
+ keyboard macros, config file with C like syntax, minibuffer with
+ completion and history.
+ * Can edit files of hundreds of megabytes quickly by using a highly
+ optimized internal representation and by mmaping the file.
+ * Full UTF8 support, including bidirectional editing respecting the Unicode
+ bidi algorithm. Arabic and Indic scripts handling (in progress).
+ * WYSIWYG HTML/XML/CSS2 mode graphical editing. Also supports lynx like
+ rendering on VT100 terminals. WYSIWYG DocBook mode based on XML/CSS2
+ renderer.
+ * C mode: coloring with immediate update. Emacs like auto-indent.
+ * Shell mode: colorized VT100 emulation so that your shell work exactly as
+ you expect. You can run interactive terminal apps directly in the process
+ buffer: mc, MenuConfig, or even qemacs itself! Compile mode with
+ next/prev error.
+ * Input methods for most languages, including Chinese (input methods come
+ from the Yudit editor).
+ * Hexadecimal editing mode with insertion and block commands. Unicode hexa
+ editing of UTF8 files also supported.
+ * Works on any VT100 terminals without termcap. UTF8 VT100 support included
+ with double width glyphs.
+ * X11 support. Support multiple proportionnal fonts at the same time (as
+ XEmacs).
+ * Small! Full version is about 150KB. Smaller custom versions can be built
+ by removing modules.
+</longdescription>
+</pkgmetadata>
diff --git a/app-editors/qemacs/qemacs-0.4.0_pre20090420-r1.ebuild b/app-editors/qemacs/qemacs-0.4.0_pre20090420-r1.ebuild
new file mode 100644
index 000000000000..a91a379adf13
--- /dev/null
+++ b/app-editors/qemacs/qemacs-0.4.0_pre20090420-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="QEmacs is a very small but powerful UNIX editor"
+HOMEPAGE="http://savannah.nongnu.org/projects/qemacs"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1+ GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 arm ~ppc x86"
+IUSE="X png unicode xv"
+RESTRICT="test"
+
+RDEPEND="
+ X? ( x11-libs/libX11
+ x11-libs/libXext
+ xv? ( x11-libs/libXv ) )
+ png? ( >=media-libs/libpng-1.2:0= )"
+
+DEPEND="${RDEPEND}
+ >=app-text/texi2html-5"
+
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+ # Removes forced march setting and align-functions on x86, as they
+ # would override user's CFLAGS..
+ epatch "${FILESDIR}/${PN}-0.4.0_pre20080605-Makefile.patch"
+ # Make backup files optional
+ epatch "${FILESDIR}/${PN}-0.4.0_pre20080605-make_backup.patch"
+ # Suppress stripping
+ epatch "${FILESDIR}/${P}-nostrip.patch"
+
+ use unicode && epatch "${FILESDIR}/${PN}-0.3.2_pre20070226-tty_utf8.patch"
+
+ # Change the manpage to reference a /real/ file instead of just an
+ # approximation. Purely cosmetic!
+ sed -i -e "s,^/usr/share/doc/qemacs,&-${PVR}," qe.1 || die
+
+ # Fix compability with >=app-text/texi2html-5
+ sed -i -e "/texi2html/s,-number,&-sections," Makefile || die
+}
+
+src_configure() {
+ # when using any other CFLAGS than -O0, qemacs will segfault on startup,
+ # see bug 92011
+ replace-flags "-O?" -O0
+ econf --cc="$(tc-getCC)" \
+ $(use_enable X x11) \
+ $(use_enable png) \
+ $(use_enable xv)
+}
+
+src_compile() {
+ # Does not support parallel building.
+ emake -j1
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+ dodoc Changelog README TODO config.eg
+ dohtml *.html
+
+ # Fix man page location
+ mv "${D}"/usr/{,share/}man || die
+
+ # Install headers so users can build their own plugins.
+ insinto /usr/include/qe
+ doins *.h
+ insinto /usr/include/qe/libqhtml
+ doins libqhtml/*.h
+}
diff --git a/app-editors/qwriter/Manifest b/app-editors/qwriter/Manifest
new file mode 100644
index 000000000000..2e10c32df590
--- /dev/null
+++ b/app-editors/qwriter/Manifest
@@ -0,0 +1 @@
+DIST qwriter-0.1.9-src.tar.gz 1305399 SHA256 7a645f94b0a0050589d491e6c8a0bfa8f3381f513f9504aef348343d00c1ef8d SHA512 58a1c9b4ffcb148a0131dbbc4c150cf0b8b615e0c57712f5abe8955ce91a3d3de608d60fe9b68115fe77ec1cb2705917780e9789e175bd1c25c85aee2d23e09e WHIRLPOOL 7b57539842781e34763dcaaf644ca9e437b9accdac4215ccb5e1459a49489234665b73a9a146a9184e13b14ce3a3b8114491ffedfcde815ea9dd49ba9e4d2679
diff --git a/app-editors/qwriter/files/qwriter-0.1.9-gcc47.patch b/app-editors/qwriter/files/qwriter-0.1.9-gcc47.patch
new file mode 100644
index 000000000000..d13c6625a743
--- /dev/null
+++ b/app-editors/qwriter/files/qwriter-0.1.9-gcc47.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/show_bug.cgi?id=425252
+Index: qwriter-0.1.9-src/qtsingleapplication-2.6-opensource/linux/src/qtlocalpeer.cpp
+===================================================================
+--- qwriter-0.1.9-src.orig/qtsingleapplication-2.6-opensource/linux/src/qtlocalpeer.cpp
++++ qwriter-0.1.9-src/qtsingleapplication-2.6-opensource/linux/src/qtlocalpeer.cpp
+@@ -56,6 +56,7 @@ typedef BOOL(WINAPI*PProcessIdToSessionI
+ static PProcessIdToSessionId pProcessIdToSessionId = 0;
+ #endif
+ #if defined(Q_OS_UNIX)
++#include <unistd.h>
+ #include <time.h>
+ #endif
+
diff --git a/app-editors/qwriter/metadata.xml b/app-editors/qwriter/metadata.xml
new file mode 100644
index 000000000000..96900cc7c67e
--- /dev/null
+++ b/app-editors/qwriter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>hwoarang@gentoo.org</email>
+ <name>Markos Chandras</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="google-code">qwriter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/qwriter/qwriter-0.1.9.ebuild b/app-editors/qwriter/qwriter-0.1.9.ebuild
new file mode 100644
index 000000000000..d6a022b7ed99
--- /dev/null
+++ b/app-editors/qwriter/qwriter-0.1.9.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+LANGS="ru"
+
+inherit eutils qt4-r2
+
+MY_P="${P}-src"
+
+DESCRIPTION="Advanced text editor with syntax highlighting"
+HOMEPAGE="http://qt-apps.org/content/show.php/QWriter?content=106377"
+#upstream failed to provide a sane url
+SRC_URI="http://qwriter.googlecode.com/files/${MY_P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-qt/qtgui:4
+ x11-libs/qscintilla"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ sed -i "s:languages:/usr/share/${PN}/languages:" src/MainWindow.cpp \
+ || die "failed to fix translation path"
+ # gcc-4.7. Bug #425252
+ epatch "${FILESDIR}"/${P}-gcc47.patch
+ qt4-r2_src_prepare
+}
+
+src_install() {
+ dobin bin/${PN} || die "dobin failed"
+ newicon images/w.png ${PN}.png || die "newicon failed"
+ make_desktop_entry ${PN} QWriter ${PN} \
+ || die "make_desktop_entry failed"
+ insinto /usr/share/${PN}/languages/
+ for x in ${LANGS};do
+ for j in ${LINGUAS};do
+ if [[ $x == $j ]]; then
+ doins languages/${PN}_$x.qm \
+ || die "failed to install $x translation"
+ fi
+ done
+ done
+}
diff --git a/app-editors/qxmledit/Manifest b/app-editors/qxmledit/Manifest
new file mode 100644
index 000000000000..f671aec5440c
--- /dev/null
+++ b/app-editors/qxmledit/Manifest
@@ -0,0 +1,2 @@
+DIST qxmledit-0.8.5-src.tgz 6727188 SHA256 aedb70f27493ba50f0c8bde4acdd8913fcf4221611b24f9042769df47aa701c4 SHA512 c974dc0787fdc1831a39e9e36f842ed92ca5b57e9e66e64822eea4646d88a0755f9aa791e4d7724872856561eac213413696fa7b0f61d89b54e29cbc95049a8a WHIRLPOOL 362d898005677dea5bb7372bc78d8b5d9376f2c7555be3086448778202a55fff5766856c39a55561c92b08498ecafaeace033121ba4706b4c1aa923ea45f28d8
+DIST qxmledit-0.8.8-1-src.tgz 8885329 SHA256 d43ccd0029b1094a970d58170a095cbe5fddfe3d93da7c52388783d321386e17 SHA512 5440d33c052507d3b5c840cdd2966c151a77e2027703f7c1d33f80ec786affab915053d2ae17ef72fd856223ca85dbb70d39d8800170449a26ea88632c0069b5 WHIRLPOOL 68f8d73c39ce490f13d88283053ad045125f007132a25d965ffb603ab1de1d42b62944659a76aa9bbb5adc884b37ad90f7eaf4487f314678d8a1923cd16f1078
diff --git a/app-editors/qxmledit/metadata.xml b/app-editors/qxmledit/metadata.xml
new file mode 100644
index 000000000000..64f2a9e844c3
--- /dev/null
+++ b/app-editors/qxmledit/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>qt</herd>
+ <maintainer>
+ <email>hwoarang@gentoo.org</email>
+ <name>Markos Chandras</name>
+ </maintainer>
+ <longdescription lang="en">
+ QXmlEdit is a simple XML editor written in Qt4. Its main
+ features are unusual data visualization modes, it has some
+ nice XML manipulation and presentation features and it is
+ multi-platform. This is one of the few graphical Open Source
+ XSD viewer.
+ </longdescription>
+ <upstream>
+ <remote-id type="google-code">qxmledit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/qxmledit/qxmledit-0.8.5.ebuild b/app-editors/qxmledit/qxmledit-0.8.5.ebuild
new file mode 100644
index 000000000000..64d14f99aadc
--- /dev/null
+++ b/app-editors/qxmledit/qxmledit-0.8.5.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib eutils qt4-r2
+
+MY_P="qxmledit-${PV}-src"
+
+DESCRIPTION="Qt4 XML Editor"
+HOMEPAGE="http://code.google.com/p/qxmledit/"
+SRC_URI="http://${PN}.googlecode.com/files/${MY_P}.tgz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug"
+
+DEPEND=">=dev-qt/qtcore-4.7:4
+ >=dev-qt/qtgui-4.7:4
+ >=dev-qt/qtsql-4.7:4
+ >=dev-qt/qtsvg-4.7:4
+ >=dev-qt/qtxmlpatterns-4.7:4"
+RDEPEND="${DEPEND}"
+
+DOCS="AUTHORS NEWS README ROADMAP TODO"
+
+src_prepare() {
+ # fix doc dir
+ sed -i "/INST_DOC_DIR = / s|/opt/${PN}|/usr/share/doc/${PF}|" \
+ src/QXmlEdit{,Widget}.pro src/sessions/QXmlEditSessions.pro || \
+ die "failed to fix doc installation path"
+ # fix binary installation path
+ sed -i "/INST_DIR = / s|/opt/${PN}|/usr/bin|" \
+ src/QXmlEdit{,Widget}.pro src/sessions/QXmlEditSessions.pro || \
+ die "failed to fix binary installation path"
+ # fix helper libraries installation path
+ sed -i "/INST_LIB_DIR = / s|/opt/${PN}|/usr/$(get_libdir)|" \
+ src/QXmlEdit{,Widget}.pro \
+ src/sessions/QXmlEditSessions.pro || \
+ die "failed to fix library installation path"
+ # fix translations
+ sed -i "/INST_DATA_DIR = / s|/opt|/usr/share|" src/QXmlEdit{,Widget}.pro \
+ src/sessions/QXmlEditSessions.pro || \
+ die "failed to fix translations"
+ # fix include
+ sed -i "/INST_INCLUDE_DIR = / s|/opt|/usr/share|" src/QXmlEditWidget.pro \
+ || die "failed to fix include directory"
+
+ qt4-r2_src_prepare
+}
+
+src_install() {
+ qt4-r2_src_install
+
+ newicon src/images/icon.png ${PN}.png
+ make_desktop_entry QXmlEdit QXmlEdit ${PN} "Qt;Utility;TextEditor"
+}
diff --git a/app-editors/qxmledit/qxmledit-0.8.8.1.ebuild b/app-editors/qxmledit/qxmledit-0.8.8.1.ebuild
new file mode 100644
index 000000000000..55be50079aa2
--- /dev/null
+++ b/app-editors/qxmledit/qxmledit-0.8.8.1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib eutils qt4-r2 versionator
+
+MY_PV="$(replace_version_separator 3 '-')"
+
+MY_P="qxmledit-${MY_PV}-src"
+
+DESCRIPTION="Qt4 XML Editor"
+HOMEPAGE="http://code.google.com/p/qxmledit/"
+SRC_URI="http://${PN}.googlecode.com/files/${MY_P}.tgz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug"
+
+DEPEND=">=dev-qt/qtcore-4.7:4
+ >=dev-qt/qtgui-4.7:4
+ >=dev-qt/qtsql-4.7:4
+ >=dev-qt/qtsvg-4.7:4
+ >=dev-qt/qtxmlpatterns-4.7:4"
+RDEPEND="${DEPEND}"
+
+DOCS="AUTHORS NEWS README ROADMAP TODO"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_prepare() {
+ # fix doc dir
+ sed -i "/INST_DOC_DIR = / s|/opt/${PN}|/usr/share/doc/${PF}|" \
+ src/QXmlEdit{,Widget}.pro src/sessions/QXmlEditSessions.pro || \
+ die "failed to fix doc installation path"
+ # fix binary installation path
+ sed -i "/INST_DIR = / s|/opt/${PN}|/usr/bin|" \
+ src/QXmlEdit{,Widget}.pro src/sessions/QXmlEditSessions.pro || \
+ die "failed to fix binary installation path"
+ # fix helper libraries installation path
+ sed -i "/INST_LIB_DIR = / s|/opt/${PN}|/usr/$(get_libdir)|" \
+ src/QXmlEdit{,Widget}.pro \
+ src/sessions/QXmlEditSessions.pro || \
+ die "failed to fix library installation path"
+ # fix translations
+ sed -i "/INST_DATA_DIR = / s|/opt|/usr/share|" src/QXmlEdit{,Widget}.pro \
+ src/sessions/QXmlEditSessions.pro || \
+ die "failed to fix translations"
+ # fix include
+ sed -i "/INST_INCLUDE_DIR = / s|/opt|/usr/share|" src/QXmlEditWidget.pro \
+ || die "failed to fix include directory"
+
+ qt4-r2_src_prepare
+}
+
+src_install() {
+ qt4-r2_src_install
+
+ newicon src/images/icon.png ${PN}.png
+ make_desktop_entry QXmlEdit QXmlEdit ${PN} "Qt;Utility;TextEditor"
+}
diff --git a/app-editors/retext/Manifest b/app-editors/retext/Manifest
new file mode 100644
index 000000000000..ffbd9b05659c
--- /dev/null
+++ b/app-editors/retext/Manifest
@@ -0,0 +1,3 @@
+DIST ReText-4.1.3.tar.gz 129283 SHA256 bb4409982d27ac62cab01b0748fe41d9c6660853668b350f3369e76d155edd6c SHA512 d2b3fa901afa9870f6cecc7ab3126b91f1420ca1b14ddd4f609c2ada7121388840b5be679914694664f3bbf876ee8522aa6b0c82a23f837844f788fa10a46323 WHIRLPOOL 3be71e5d7ec612ae4e4fec17ca544f6d0e7cb7421fcdeb517d3c13156ed07f5e5e7c3e352cf604bfb5f2287964fdc173a1bac0eeab41ee1cda8b265ad0f57686
+DIST ReText-5.0.2.tar.gz 140853 SHA256 7ef898abc8aed70502fd4d69ed7e8ab43cc978fcbe6864da5771379c1e315bdd SHA512 b28dd24aa5253106880bd6a5a3a16f96670c3145a2cb46da520407d6705f055ee52aaef9c0a8e27c2900b5fdde6a67c599cb8945f7daa6e3ef4456e1fd7c9b0f WHIRLPOOL 0ee1a7497ca3d6fef8356777d93e369d06de542b20974055ddf66cc8e12d33c7716d3b4b5f0360b40037c90d146fddbff4c3b48c96929efafd8f43e278240c0f
+DIST ReText-5.1.0.tar.gz 151833 SHA256 09b12892a0520bb8b0692f5aec7aa88911d07a5048a3402a9e9d4ac57322b5ca SHA512 3dbfe4992195119513c571291c344338dccf55c52d000cc69da63d0e51e5f2d9c5a0a2fba6570e525c96f1f9243a7465391a59b840a1fb7dd4513a0b4909ca5c WHIRLPOOL 76826184a3e8ac3ea3f5c10c31a3630ad8bc37a1bce0d771fc250f1f53acb9dd2f888aa67adf946368a5baebcdab0306100ea0e632dcd36edd81cdcd1a247838
diff --git a/app-editors/retext/metadata.xml b/app-editors/retext/metadata.xml
new file mode 100644
index 000000000000..a15ee1f31362
--- /dev/null
+++ b/app-editors/retext/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ <description>CC him on bugs</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">retext</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/retext/retext-4.1.3.ebuild b/app-editors/retext/retext-4.1.3.ebuild
new file mode 100644
index 000000000000..2bd26489ca97
--- /dev/null
+++ b/app-editors/retext/retext-4.1.3.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python3_{3,4} )
+
+PLOCALES="ca cs cy da de es et eu fr it ja pl pt pt_BR ru sk uk zh_CN zh_TW"
+
+inherit distutils-r1 l10n
+
+MY_PN="ReText"
+MY_P="${MY_PN}-${PV/_/~}"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-2
+ EGIT_REPO_URI="git://git.code.sf.net/p/retext/git"
+ KEYWORDS=""
+else
+ SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+ KEYWORDS="amd64 x86"
+fi
+
+DESCRIPTION="A Qt-based text editor for Markdown and reStructuredText"
+HOMEPAGE="http://sourceforge.net/p/retext/home/ReText/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+spell"
+
+RDEPEND+="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ dev-python/markups[${PYTHON_USEDEP}]
+ dev-python/PyQt4[webkit,${PYTHON_USEDEP}]
+ spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] )
+"
+
+S="${WORKDIR}"/${MY_P}
+
+remove_locale() {
+ find "${ED}" -name "retext_${1}.qm" -delete || die "Failed to remove locale ${1}."
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newicon {icons/,}${PN}.png
+ newicon {icons/,}${PN}.svg
+
+ l10n_for_each_disabled_locale_do remove_locale
+
+ make_desktop_entry ${PN} "${MY_PN} Editor" ${PN} "Development;Utility;TextEditor"
+}
diff --git a/app-editors/retext/retext-5.0.2.ebuild b/app-editors/retext/retext-5.0.2.ebuild
new file mode 100644
index 000000000000..d4ea07735488
--- /dev/null
+++ b/app-editors/retext/retext-5.0.2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python3_{3,4} )
+
+PLOCALES="ca cs cy da de es et eu fr hu it ja pl pt pt_BR ru sk uk vi zh_CN zh_TW"
+
+inherit distutils-r1 l10n
+
+MY_PN="ReText"
+MY_P="${MY_PN}-${PV/_/~}"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-2
+ EGIT_REPO_URI="git://git.code.sf.net/p/retext/git"
+ KEYWORDS=""
+else
+ SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="A Qt-based text editor for Markdown and reStructuredText"
+HOMEPAGE="http://sourceforge.net/p/retext/home/ReText/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+spell"
+
+RDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ dev-python/markups[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/PyQt5[gui,network,printsupport,webkit,widgets,${PYTHON_USEDEP}]
+ spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] )
+"
+
+S="${WORKDIR}"/${MY_P}
+
+remove_locale() {
+ find "${ED}" -name "retext_${1}.qm" -delete || die "Failed to remove locale ${1}."
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newicon {icons/,}${PN}.png
+ newicon {icons/,}${PN}.svg
+
+ l10n_for_each_disabled_locale_do remove_locale
+
+ make_desktop_entry ${PN} "${MY_PN} Editor" ${PN} "Development;Utility;TextEditor"
+}
diff --git a/app-editors/retext/retext-5.1.0.ebuild b/app-editors/retext/retext-5.1.0.ebuild
new file mode 100644
index 000000000000..930c4da09201
--- /dev/null
+++ b/app-editors/retext/retext-5.1.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python3_{3,4} )
+
+PLOCALES="ca cs cy da de es et eu fr hu it ja pl pt pt_BR ru sk sr sr@latin uk vi zh_CN zh_TW"
+
+inherit distutils-r1 l10n
+
+MY_PN="ReText"
+MY_P="${MY_PN}-${PV/_/~}"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-2
+ EGIT_REPO_URI="git://git.code.sf.net/p/retext/git"
+ KEYWORDS=""
+else
+ SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="A Qt-based text editor for Markdown and reStructuredText"
+HOMEPAGE="http://sourceforge.net/p/retext/home/ReText/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+spell"
+
+RDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ dev-python/markups[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/PyQt5[gui,network,printsupport,webkit,widgets,${PYTHON_USEDEP}]
+ spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] )
+"
+
+S="${WORKDIR}"/${MY_P}
+
+remove_locale() {
+ find "${ED}" -name "retext_${1}.qm" -delete || die "Failed to remove locale ${1}."
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newicon {icons/,}${PN}.png
+ newicon {icons/,}${PN}.svg
+
+ l10n_for_each_disabled_locale_do remove_locale
+
+ make_desktop_entry ${PN} "${MY_PN} Editor" ${PN} "Development;Utility;TextEditor"
+}
diff --git a/app-editors/retext/retext-9999.ebuild b/app-editors/retext/retext-9999.ebuild
new file mode 100644
index 000000000000..5a8abca27376
--- /dev/null
+++ b/app-editors/retext/retext-9999.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python3_{3,4} )
+
+PLOCALES="ca cs cy da de es et eu fr it ja pl pt pt_BR ru sk uk vi zh_CN zh_TW"
+
+inherit distutils-r1 l10n
+
+MY_PN="ReText"
+MY_P="${MY_PN}-${PV/_/~}"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-2
+ EGIT_REPO_URI="git://git.code.sf.net/p/retext/git"
+ KEYWORDS=""
+else
+ SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="A Qt-based text editor for Markdown and reStructuredText"
+HOMEPAGE="http://sourceforge.net/p/retext/home/ReText/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+spell"
+
+RDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ dev-python/markups[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/PyQt5[gui,network,printsupport,webkit,widgets,${PYTHON_USEDEP}]
+ spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] )
+"
+
+S="${WORKDIR}"/${MY_P}
+
+remove_locale() {
+ find "${ED}" -name "retext_${1}.qm" -delete || die "Failed to remove locale ${1}."
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newicon {icons/,}${PN}.png
+ newicon {icons/,}${PN}.svg
+
+ l10n_for_each_disabled_locale_do remove_locale
+
+ make_desktop_entry ${PN} "${MY_PN} Editor" ${PN} "Development;Utility;TextEditor"
+}
diff --git a/app-editors/sandy/Manifest b/app-editors/sandy/Manifest
new file mode 100644
index 000000000000..bb5fc01d1e21
--- /dev/null
+++ b/app-editors/sandy/Manifest
@@ -0,0 +1 @@
+DIST sandy-0.4.tar.bz2 18309 SHA256 d30336704178611f36a55982932369c6dd55a781e22735bb7dfcb3e4b939492a SHA512 3579436d6566b9ef3273abb7bb1d8934901155220edb963a0ed93db4b860e1e3fa0d0f1235ea87b42f1b6ddbb69e3ef1f5ba7a2e9455d6659b621d9a4e3f25c2 WHIRLPOOL 5e1042ebab68bd2f0e71c25dbd15a35ec06e4b953b3a44637c52cc0949dcddc44131ef64324eac1ba00f49bf0421ac0600f884daded73608bc1aca3cce22bb17
diff --git a/app-editors/sandy/files/sandy-0.4-gentoo.patch b/app-editors/sandy/files/sandy-0.4-gentoo.patch
new file mode 100644
index 000000000000..877c96805ef4
--- /dev/null
+++ b/app-editors/sandy/files/sandy-0.4-gentoo.patch
@@ -0,0 +1,49 @@
+--- a/config.mk
++++ b/config.mk
+@@ -9,19 +9,19 @@
+
+ # includes and libs (ncurses)
+ INCS = -I. -I/usr/include
+-LIBS = -L/usr/lib -lc -lncursesw
++LIBS = $(shell ${PKG_CONFIG} --libs ncurses)
+
+ # flags
+-CPPFLAGS = -DVERSION=\"${VERSION}\"
++CPPFLAGS = -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE
+ #CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
+ #LDFLAGS = -s ${LIBS}
+-CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS}
+-LDFLAGS = ${LIBS}
++CFLAGS += -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS}
++LDFLAGS += ${LIBS}
+
+ # Solaris
+ #CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
+ #LDFLAGS = ${LIBS}
+
+ # compiler and linker
+-CC = cc
++CC ?= cc
+
+--- a/Makefile
++++ b/Makefile
+@@ -15,8 +15,7 @@
+ @echo "CC = ${CC}"
+
+ .c.o:
+- @echo CC $<
+- @${CC} -c ${CFLAGS} $<
++ ${CC} -c ${CFLAGS} $<
+
+ ${OBJ}: config.h config.mk
+
+@@ -25,8 +24,7 @@
+ @cp config.def.h $@
+
+ sandy: ${OBJ}
+- @echo CC -o $@
+- @${CC} -o $@ sandy.o ${LDFLAGS}
++ ${CC} ${CFLAGS} -o $@ sandy.o ${LDFLAGS}
+
+ clean:
+ @echo cleaning
diff --git a/app-editors/sandy/metadata.xml b/app-editors/sandy/metadata.xml
new file mode 100644
index 000000000000..3fcf9a077c2a
--- /dev/null
+++ b/app-editors/sandy/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>jer@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/app-editors/sandy/sandy-0.4.ebuild b/app-editors/sandy/sandy-0.4.ebuild
new file mode 100644
index 000000000000..76cc1bc27d6e
--- /dev/null
+++ b/app-editors/sandy/sandy-0.4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="an ncurses text editor with an easy-to-read, hackable C source"
+HOMEPAGE="http://tools.suckless.org/sandy"
+SRC_URI="http://git.suckless.org/${PN}/snapshot/${P}.tar.bz2"
+
+LICENSE="MIT-with-advertising"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="sys-libs/ncurses"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.4-gentoo.patch
+}
+
+src_compile() {
+ tc-export CC PKG_CONFIG
+ append-cflags -D_DEFAULT_SOURCE
+ emake PREFIX=/usr ${PN}
+}
+
+src_install() {
+ emake PREFIX=/usr DESTDIR="${D}" install
+}
diff --git a/app-editors/scite/Manifest b/app-editors/scite/Manifest
new file mode 100644
index 000000000000..122c10a2dfbb
--- /dev/null
+++ b/app-editors/scite/Manifest
@@ -0,0 +1,3 @@
+DIST scite352.tgz 2277393 SHA256 d1b9a12f1b8ea80f28564a1695146a59b4a03099c8ca8693e3a9ce02bb0a2836 SHA512 01bf36dbb4d02f3693a759f778110b913dfbb733d0a5d006c5de78cb627c3511e821b62fa0a410174c09917a09d41d9a94535a14b7a4c77801eafaace15a586d WHIRLPOOL ee39f57944ef60182a3ac8a409cfd4829cfdee85a7b9b91b2722bd3d9d8b2a6f480cd8db1281826f4a9543575ae99dfc66cfe905592a2acae9ad7728d5862695
+DIST scite354.tgz 2301246 SHA256 96041bb6a3aed321e353db7c8fcde720b99cab98cbfa2ef62a5e07dd523e1495 SHA512 213f9d3ac359541f8ae2ec6166770b6cd20631ffc82e9de3b0a23753c2913f232544b4a8001a697042ff7bb4dec72f1d0b1148124fea386d925a7d394b8995e7 WHIRLPOOL 348c64b4d7019935cac018d1f2fcb8aac4713762ffdd766c309a8d7114bbe58f769709a3e5d8d446d58f60f8715d4b1e0ef04dc36b69096d7f9ce0f2c7d50a30
+DIST scite355.tgz 2302137 SHA256 20515597ac986f1727c97bda2c27d88487ddb79cfe330b0b890b5e25330b7d9f SHA512 cdd9d3aa621f5d31632cfb9f71524255a4b47b70a654bf4bc8a25a76f8a2dbe098a48e0cd4587ced8ca8455be7e809973e212fcbcde5b62087aa0f9528f7f40d WHIRLPOOL c901804481042b859be68f44ab728544e97975d61219a4bb576ba3da00bd663c8877e9b23b981a0295d759cae3e9afd037d981923086c6850ff29f01c43ec9f6
diff --git a/app-editors/scite/files/scite-3.0.1-no-lua.patch b/app-editors/scite/files/scite-3.0.1-no-lua.patch
new file mode 100644
index 000000000000..d63416a81eb7
--- /dev/null
+++ b/app-editors/scite/files/scite-3.0.1-no-lua.patch
@@ -0,0 +1,16 @@
+diff -Nru 3.0.1.vanilla/scite/src/SciTEProps.cxx 3.0.1/scite/src/SciTEProps.cxx
+--- 3.0.1.vanilla/scite/src/SciTEProps.cxx 2011-11-30 19:39:41.059801342 +0100
++++ 3.0.1/scite/src/SciTEProps.cxx 2011-11-30 19:39:53.211835004 +0100
+@@ -1702,10 +1702,12 @@
+
+ // return the int value of the command name passed in.
+ int SciTEBase::GetMenuCommandAsInt(SString commandName) {
++#ifndef NO_LUA
+ int i = IFaceTable::FindConstant(commandName.c_str());
+ if (i != -1) {
+ return IFaceTable::constants[i].value;
+ }
++#endif
+ // Otherwise we might have entered a number as command to access a "SCI_" command
+ return commandName.value();
+ }
diff --git a/app-editors/scite/files/scite.desktop b/app-editors/scite/files/scite.desktop
new file mode 100644
index 000000000000..757e9f4e71d0
--- /dev/null
+++ b/app-editors/scite/files/scite.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=SciTE Text Editor
+Comment=Text Editor
+Exec=scite
+Icon=Sci48M
+Terminal=false
+Type=Application
+Categories=Development;
diff --git a/app-editors/scite/metadata.xml b/app-editors/scite/metadata.xml
new file mode 100644
index 000000000000..ad77fe863a08
--- /dev/null
+++ b/app-editors/scite/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>ervin.peters@ervnet.de</email>
+ <name>Ervin Peters</name>
+ <description>Maintainer. Assign bugs to him</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">scintilla</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/scite/scite-3.5.2.ebuild b/app-editors/scite/scite-3.5.2.ebuild
new file mode 100644
index 000000000000..17e3abccbc52
--- /dev/null
+++ b/app-editors/scite/scite-3.5.2.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit toolchain-funcs eutils
+
+MY_PV=${PV//./}
+DESCRIPTION="A very powerful editor for programmers"
+HOMEPAGE="http://www.scintilla.org/SciTE.html"
+SRC_URI="mirror://sourceforge/scintilla/${PN}${MY_PV}.tgz"
+
+LICENSE="HPND lua? ( MIT )"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="lua"
+
+RDEPEND="dev-libs/glib:2
+ x11-libs/cairo
+ x11-libs/gtk+:2
+ x11-libs/gdk-pixbuf
+ x11-libs/pango
+ lua? ( >=dev-lang/lua-5:0= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=sys-apps/sed-4"
+
+S="${WORKDIR}/${PN}/gtk"
+
+src_prepare() {
+ cd "${WORKDIR}/scintilla/gtk"
+ sed -i makefile \
+ -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \
+ -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \
+ -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \
+ -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \
+ -e "s#-Os##" \
+ || die "error patching makefile"
+
+ cd "${WORKDIR}/scite/gtk"
+ sed -i makefile \
+ -e "s#-rdynamic#-rdynamic ${LDFLAGS}#" \
+ || die "error patching makefile"
+
+ cd "${S}"
+ sed -i makefile \
+ -e 's#usr/local#usr#g' \
+ -e 's#/gnome/apps/Applications#/applications#' \
+ -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \
+ -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \
+ -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \
+ -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \
+ -e 's#${D}##' \
+ -e 's#-g root#-g 0#' \
+ -e "s#-Os##" \
+ || die "error patching makefile"
+ cd "${WORKDIR}"
+ epatch "${FILESDIR}/${PN}-3.0.1-no-lua.patch"
+}
+
+src_compile() {
+ emake -C ../../scintilla/gtk AR="$(tc-getAR)"
+ if use lua; then
+ emake
+ else
+ emake NO_LUA=1
+ fi
+}
+
+src_install() {
+ dodir /usr/bin
+ dodir /usr/share/{pixmaps,applications}
+
+ emake prefix="${ED}/usr" install
+
+ # we have to keep this because otherwise it'll break upgrading
+ mv "${ED}/usr/bin/SciTE" "${ED}/usr/bin/scite" || die
+ dosym /usr/bin/scite /usr/bin/SciTE
+
+ # replace .desktop file with our own working version
+ rm -f "${ED}/usr/share/applications/SciTE.desktop" || die
+ domenu "${FILESDIR}/scite.desktop"
+
+ doman ../doc/scite.1
+ dodoc ../README
+}
diff --git a/app-editors/scite/scite-3.5.4.ebuild b/app-editors/scite/scite-3.5.4.ebuild
new file mode 100644
index 000000000000..f17d015193c2
--- /dev/null
+++ b/app-editors/scite/scite-3.5.4.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit toolchain-funcs eutils
+
+MY_PV=${PV//./}
+DESCRIPTION="A very powerful editor for programmers"
+HOMEPAGE="http://www.scintilla.org/SciTE.html"
+SRC_URI="mirror://sourceforge/scintilla/${PN}${MY_PV}.tgz"
+
+LICENSE="HPND lua? ( MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="lua"
+
+RDEPEND="dev-libs/glib:2
+ x11-libs/cairo
+ x11-libs/gtk+:2
+ x11-libs/gdk-pixbuf
+ x11-libs/pango
+ lua? ( >=dev-lang/lua-5:0= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=sys-apps/sed-4"
+
+S="${WORKDIR}/${PN}/gtk"
+
+src_prepare() {
+ cd "${WORKDIR}/scintilla/gtk"
+ sed -i makefile \
+ -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \
+ -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \
+ -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \
+ -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \
+ -e "s#-Os##" \
+ || die "error patching makefile"
+
+ cd "${WORKDIR}/scite/gtk"
+ sed -i makefile \
+ -e "s#-rdynamic#-rdynamic ${LDFLAGS}#" \
+ || die "error patching makefile"
+
+ cd "${S}"
+ sed -i makefile \
+ -e 's#usr/local#usr#g' \
+ -e 's#/gnome/apps/Applications#/applications#' \
+ -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \
+ -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \
+ -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \
+ -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \
+ -e 's#${D}##' \
+ -e 's#-g root#-g 0#' \
+ -e "s#-Os##" \
+ || die "error patching makefile"
+}
+
+src_compile() {
+ emake -C ../../scintilla/gtk AR="$(tc-getAR)"
+ if use lua; then
+ emake
+ else
+ emake NO_LUA=1
+ fi
+}
+
+src_install() {
+ dodir /usr/bin
+ dodir /usr/share/{pixmaps,applications}
+
+ emake prefix="${ED}/usr" install
+
+ # we have to keep this because otherwise it'll break upgrading
+ mv "${ED}/usr/bin/SciTE" "${ED}/usr/bin/scite" || die
+ dosym /usr/bin/scite /usr/bin/SciTE
+
+ # replace .desktop file with our own working version
+ rm -f "${ED}/usr/share/applications/SciTE.desktop" || die
+ domenu "${FILESDIR}/scite.desktop"
+
+ doman ../doc/scite.1
+ dodoc ../README
+}
diff --git a/app-editors/scite/scite-3.5.5.ebuild b/app-editors/scite/scite-3.5.5.ebuild
new file mode 100644
index 000000000000..f17d015193c2
--- /dev/null
+++ b/app-editors/scite/scite-3.5.5.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit toolchain-funcs eutils
+
+MY_PV=${PV//./}
+DESCRIPTION="A very powerful editor for programmers"
+HOMEPAGE="http://www.scintilla.org/SciTE.html"
+SRC_URI="mirror://sourceforge/scintilla/${PN}${MY_PV}.tgz"
+
+LICENSE="HPND lua? ( MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="lua"
+
+RDEPEND="dev-libs/glib:2
+ x11-libs/cairo
+ x11-libs/gtk+:2
+ x11-libs/gdk-pixbuf
+ x11-libs/pango
+ lua? ( >=dev-lang/lua-5:0= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=sys-apps/sed-4"
+
+S="${WORKDIR}/${PN}/gtk"
+
+src_prepare() {
+ cd "${WORKDIR}/scintilla/gtk"
+ sed -i makefile \
+ -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \
+ -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \
+ -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \
+ -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \
+ -e "s#-Os##" \
+ || die "error patching makefile"
+
+ cd "${WORKDIR}/scite/gtk"
+ sed -i makefile \
+ -e "s#-rdynamic#-rdynamic ${LDFLAGS}#" \
+ || die "error patching makefile"
+
+ cd "${S}"
+ sed -i makefile \
+ -e 's#usr/local#usr#g' \
+ -e 's#/gnome/apps/Applications#/applications#' \
+ -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \
+ -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \
+ -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \
+ -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \
+ -e 's#${D}##' \
+ -e 's#-g root#-g 0#' \
+ -e "s#-Os##" \
+ || die "error patching makefile"
+}
+
+src_compile() {
+ emake -C ../../scintilla/gtk AR="$(tc-getAR)"
+ if use lua; then
+ emake
+ else
+ emake NO_LUA=1
+ fi
+}
+
+src_install() {
+ dodir /usr/bin
+ dodir /usr/share/{pixmaps,applications}
+
+ emake prefix="${ED}/usr" install
+
+ # we have to keep this because otherwise it'll break upgrading
+ mv "${ED}/usr/bin/SciTE" "${ED}/usr/bin/scite" || die
+ dosym /usr/bin/scite /usr/bin/SciTE
+
+ # replace .desktop file with our own working version
+ rm -f "${ED}/usr/share/applications/SciTE.desktop" || die
+ domenu "${FILESDIR}/scite.desktop"
+
+ doman ../doc/scite.1
+ dodoc ../README
+}
diff --git a/app-editors/shed/Manifest b/app-editors/shed/Manifest
new file mode 100644
index 000000000000..be3380374d1d
--- /dev/null
+++ b/app-editors/shed/Manifest
@@ -0,0 +1,3 @@
+DIST shed-1.12.tar.gz 57934 SHA256 9645c991a2c155e8365d86b927807602156ba502bd0d65c050f60343aa5aa730 SHA512 f668245478b88e74911a5f6bc13629b1be9412056bfb42860554979904451b20cb468ae7a9b2daa8bea83d7f78d3d0c016170767dd80f0a93ba140a51ad02097 WHIRLPOOL c39d064b0a1eb7f43d9538837e07de970e926887a940a82c3f879a6b142ff12f625fcc56689c028f83c673ad644d248210c9498e32f6a8f5d08669b21790713f
+DIST shed-1.13.tar.gz 78699 SHA256 d0a1aa6c30b907945608d478949a00ac2ef1b3f1783dbe391816665dc9cff423 SHA512 abea90115820c50bba140a486d74e28cd20704905bb868aa75b94a346faf8d1a0e0739f9558131cff9c5250ac9ef2505cc375f2bdf24c75b6ff464ba767c1832 WHIRLPOOL 950c36c5ffdedba1f3edc64b7371c5a68a0e6664f8a695b66f42c2ec2d5d1618aad39c7856734b9f922d4224199f0bfc4c750c7886650c2792c71b8c6389e85c
+DIST shed-1.15.tar.gz 87777 SHA256 5bde9f146704ba552293b658a2e8e05acb0a14a1348925b19a296663539917c7 SHA512 fe401303e686fb11975b71de0f84d0cdb84dc5a48e1094356d012f95d8c956ed05bd6b39bf65af924212e83c1db45bbfe556342489150bb0e10fb4c832fb6c78 WHIRLPOOL 8588f739370309e54ac04e0a686e24adf3c236011ee57ca79846c63fae7038a934992ae0ab918eb4acab2ec1577d5c3aceaaded861620c2b75fbb2b1ee333058
diff --git a/app-editors/shed/files/shed-1.15-cflags.patch b/app-editors/shed/files/shed-1.15-cflags.patch
new file mode 100644
index 000000000000..2b675f7449f7
--- /dev/null
+++ b/app-editors/shed/files/shed-1.15-cflags.patch
@@ -0,0 +1,11 @@
+--- a/configure.in
++++ b/configure.in
+@@ -2,7 +2,7 @@
+ AM_INIT_AUTOMAKE(shed,1.15)
+ AC_PROG_CC
+ AC_PROG_INSTALL
+-CFLAGS="-Wall"
++CFLAGS="$CFLAGS -Wall"
+ AC_SUBST(CFLAGS)
+
+ AC_ARG_ENABLE(debug, [ --enable-debug gcc -g],enable_debug=yes)
diff --git a/app-editors/shed/files/shed-1.15-interix.patch b/app-editors/shed/files/shed-1.15-interix.patch
new file mode 100644
index 000000000000..d496795477b4
--- /dev/null
+++ b/app-editors/shed/files/shed-1.15-interix.patch
@@ -0,0 +1,14 @@
+http://sourceforge.net/tracker/?func=detail&aid=3554634&group_id=21862&atid=374571
+--- a/shed.c
++++ b/shed.c
+@@ -31,6 +31,10 @@
+ #include <ctype.h> /* tolower */
+ #include <unistd.h> /* dup, dup2 */
+
++#ifdef __INTERIX
++# include <sys/time.h>
++#endif
++
+ #include "util.h"
+
+ /* function prototypes */
diff --git a/app-editors/shed/files/shed-1.15-tinfo.patch b/app-editors/shed/files/shed-1.15-tinfo.patch
new file mode 100644
index 000000000000..d1a406521c0f
--- /dev/null
+++ b/app-editors/shed/files/shed-1.15-tinfo.patch
@@ -0,0 +1,12 @@
+--- a/configure.in
++++ b/configure.in
+@@ -41,8 +41,7 @@
+ fi
+
+ ERR="Required package missing!"
+-AC_CHECK_HEADER(ncurses.h,:,AC_MSG_ERROR([$ERR]))
++PKG_CHECK_MODULES(ncurses,ncurses,[LIBS="$LIBS $ncurses_LIBS"],AC_MSG_ERROR([$ERR]))
+ AC_CHECK_HEADER(getopt.h,:,AC_MSG_ERROR([$ERR]))
+-AC_CHECK_LIB(ncurses,initscr)
+ AC_CHECK_LIB(m,pow)
+ AC_OUTPUT(Makefile)
diff --git a/app-editors/shed/metadata.xml b/app-editors/shed/metadata.xml
new file mode 100644
index 000000000000..6582ca35d1d2
--- /dev/null
+++ b/app-editors/shed/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>hattya@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">shed</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/shed/shed-1.12.ebuild b/app-editors/shed/shed-1.12.ebuild
new file mode 100644
index 000000000000..dc9d949435ac
--- /dev/null
+++ b/app-editors/shed/shed-1.12.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+DESCRIPTION="Simple Hex EDitor"
+HOMEPAGE="http://shed.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND="sys-libs/ncurses"
+DPEND="${RDEPEND}"
+
+src_compile() {
+ emake AM_CFLAGS="${CFLAGS}"
+}
diff --git a/app-editors/shed/shed-1.13.ebuild b/app-editors/shed/shed-1.13.ebuild
new file mode 100644
index 000000000000..8bc54d2051c5
--- /dev/null
+++ b/app-editors/shed/shed-1.13.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+DESCRIPTION="Simple Hex EDitor"
+HOMEPAGE="http://shed.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+
+RDEPEND="sys-libs/ncurses"
+DPEND="${RDEPEND}"
+
+src_compile() {
+ emake AM_CFLAGS="${CFLAGS}"
+}
diff --git a/app-editors/shed/shed-1.15.ebuild b/app-editors/shed/shed-1.15.ebuild
new file mode 100644
index 000000000000..46a212909f32
--- /dev/null
+++ b/app-editors/shed/shed-1.15.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="Simple Hex EDitor"
+HOMEPAGE="http://shed.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos"
+
+RDEPEND="sys-libs/ncurses"
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-cflags.patch \
+ "${FILESDIR}"/${P}-interix.patch \
+ "${FILESDIR}"/${P}-tinfo.patch
+ eautoreconf
+}
diff --git a/app-editors/tea/Manifest b/app-editors/tea/Manifest
new file mode 100644
index 000000000000..631584cfc4ab
--- /dev/null
+++ b/app-editors/tea/Manifest
@@ -0,0 +1,2 @@
+DIST tea-36.0.2.tar.bz2 315046 SHA256 6541b645451de3f6eefce58b55a302224b925bdbdb9efcfa1491bcf867baad6f SHA512 e04df49e8381c69f0e2fb6900d6f095b0eb15bdc2d8fb935230129b2fef7560fd91936d66a2440d1922a6fc6c2e7d07e40fe1106b5cf22dd495bba667cf5def8 WHIRLPOOL 1da79f26126c98876ff6bfef04c799f476a204294466cbd47834748a12e8c59d10f7c2e36d4ebc089fcef21caca1beeab1293acee13da9af341466c117873e1f
+DIST tea-41.0.0.tar.bz2 381891 SHA256 b20bfe3235a4f405bcd984adfabde2302a15cf8512e19f8b97bc43ce9911632b SHA512 aff52922be7650a23fcafe5a8106d5955bc7c68a901ad6a3982b71196ac8856939d3bc61236babbed21a749c2fc205510ef081ac35d7d33fcf2d2700ebb5cbaf WHIRLPOOL ed913f3fb424e47fbbecab445ccd9c34c9ad66befdda950fee05958459b87efad67cfea37548c5ab8456b849c860f0cd3ef59e386aaa99c01b5041dae02c1afc
diff --git a/app-editors/tea/metadata.xml b/app-editors/tea/metadata.xml
new file mode 100644
index 000000000000..79ad70798a5b
--- /dev/null
+++ b/app-editors/tea/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>qt</herd>
+ <longdescription>
+ A very small Qt text editor. It has lots of extra features including syntax
+ highlighting and a built in file manager as well as a built in image viewer.
+ It can also read lots of 'other' filetypes.
+ </longdescription>
+ <use>
+ <flag name="aspell">Enable spellchecking using <pkg>app-text/aspell</pkg></flag>
+ <flag name="hunspell">Enable spellchecking using <pkg>app-text/hunspell</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/app-editors/tea/tea-36.0.2.ebuild b/app-editors/tea/tea-36.0.2.ebuild
new file mode 100644
index 000000000000..306d38a2e234
--- /dev/null
+++ b/app-editors/tea/tea-36.0.2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PLOCALES="de fr ru"
+
+inherit eutils l10n qt4-r2
+
+DESCRIPTION="Small, lightweight Qt text editor"
+HOMEPAGE="http://semiletov.org/tea/"
+SRC_URI="http://semiletov.org/${PN}/dloads/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~x86 ~x86-fbsd"
+IUSE="aspell hunspell"
+
+RDEPEND="
+ sys-libs/zlib
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ aspell? ( app-text/aspell )
+ hunspell? ( app-text/hunspell )
+"
+DEPEND="${RDEPEND}
+ hunspell? ( virtual/pkgconfig )
+"
+
+DOCS=( AUTHORS ChangeLog NEWS TODO )
+
+src_configure() {
+ eqmake4 src.pro \
+ PREFIX="${EPREFIX}/usr/bin" \
+ USE_ASPELL=$(use aspell && echo true || echo false) \
+ USE_HUNSPELL=$(use hunspell && echo true || echo false)
+}
+
+src_install() {
+ qt4-r2_src_install
+
+ newicon icons/tea_icon_v2.png ${PN}.png
+ make_desktop_entry ${PN} 'Tea Editor'
+
+ # translations
+ insinto /usr/share/qt4/translations
+ local lang
+ for lang in $(l10n_get_locales); do
+ doins translations/${PN}_${lang}.qm
+ done
+
+ # docs
+ dohtml manuals/en.html
+ if use linguas_ru; then
+ dodoc NEWS-RU
+ dohtml manuals/ru.html
+ fi
+}
diff --git a/app-editors/tea/tea-41.0.0.ebuild b/app-editors/tea/tea-41.0.0.ebuild
new file mode 100644
index 000000000000..396aa853ef7b
--- /dev/null
+++ b/app-editors/tea/tea-41.0.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PLOCALES="de fr ru"
+
+inherit eutils l10n qmake-utils
+
+DESCRIPTION="Small, lightweight Qt text editor"
+HOMEPAGE="http://semiletov.org/tea/ http://tea.ourproject.org/"
+SRC_URI="http://semiletov.org/${PN}/dloads/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~x86 ~x86-fbsd"
+IUSE="aspell hunspell"
+
+RDEPEND="
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ sys-libs/zlib
+ aspell? ( app-text/aspell )
+ hunspell? ( app-text/hunspell )
+"
+DEPEND="${RDEPEND}
+ hunspell? ( virtual/pkgconfig )
+"
+
+DOCS=( AUTHORS ChangeLog NEWS TODO )
+
+src_configure() {
+ eqmake4 src.pro \
+ $(use aspell || echo CONFIG+=noaspell) \
+ $(use hunspell || echo CONFIG+=nohunspell)
+}
+
+src_install() {
+ dobin bin/tea
+
+ newicon icons/tea-icon-v3-01.png ${PN}.png
+ make_desktop_entry ${PN} 'Tea Editor'
+
+ # translations
+ insinto /usr/share/qt4/translations
+ local lang
+ for lang in $(l10n_get_locales); do
+ doins translations/${PN}_${lang}.qm
+ done
+
+ # docs
+ dohtml manuals/en.html
+ if use linguas_ru; then
+ dodoc NEWS-RU
+ dohtml manuals/ru.html
+ fi
+}
diff --git a/app-editors/teco/Manifest b/app-editors/teco/Manifest
new file mode 100644
index 000000000000..79ec4c152111
--- /dev/null
+++ b/app-editors/teco/Manifest
@@ -0,0 +1,5 @@
+DIST tech.txt.gz 1971 SHA256 b363c59a4e97793e0c7bd0011cfc6d6669621e7a8b7c98e88da0d098aae83b7c SHA512 8c74d813d7e1bcd2f911982a8b49fa8b97ff85475a4798ea23d9a25ef30ad7243cfc851525aea895eec1a2f69aad84b6cce890ee6a29763a63c1a6d1358a200f WHIRLPOOL 5814546368ee3a0794c098496c25b5ccfe63c84e72cc802edfdbfe415f4a1920d518496b67011c63d0e3ff950204af5c61bad0e1684c35b1c724a977b2145a5a
+DIST teco.doc.gz 129896 SHA256 c2102dcfc223e5f8fe189b2dd75dfb6f8dbdf1e7509761c974da45e6ba115c66 SHA512 ea294aaa0d54de5b58ef645fbaf5c9512f5a27fb2b49b1120b4a712d01c6482f01a53ac2dac7c8eabdf110823a4556563cde828fc7416479b9c23157282e76da WHIRLPOOL 650e504660874a88170ca8e88735ac7e3c9a0587191aa56591c441949402ea170cf72f23084d85c2bd74de340a42585b64f9a93b45c2f4089fd4f9d2642394e8
+DIST teco.tar.gz 61305 SHA256 2d20d7246df15863a3cc485ee38706fd4dd8650aab0578d202913cc5750fc8e4 SHA512 686b3944a82d088a2fce12a9b770f4aa5f58aaadde064b3d3342114f0ece2d7cbae27d0e92fd026def6f62a3ff0dc82b37146e30a93b2ec195dc7f376b45fdf7 WHIRLPOOL 976dfcffd0dd9c40e97574c22efc99b8985484534a4f8f8deae218daad9ccc6c4f29e1c352ec0be5e73368993d3d04e757b708ca325b42b8fa3c1e71ae2e42b9
+DIST tecolore.txt.gz 7039 SHA256 a7cd56d4d9bce8befd8d73fe8cbb1ab22740571f52354880c84ffd0fcd22d884 SHA512 f8b66637dd140057331bb950b639f755b7d2a58c6d9feb5c89c062350f3213b40f4e955c586643312b4bcdcfd5ce67c621c8f7351e08a4303be35af967ce206e WHIRLPOOL c847df458b938d3b6a5d41ea868bbf1107a191cd5cf0f5e93e93d8c8c1f1fb55574bf5db9768fbfbf520d5306ffdae8b0915167e9a7a6ff958b9a286df077cc3
+DIST tecoprog.doc.gz 15629 SHA256 8e0349b73ffcd22c668d81ea1427f93324d8f236862847634f7118fd4cde26d7 SHA512 f49de461d6411345e9e72b51bf39bc1155acc07901b54d8fda94b99a4a573005ccffc475ef8aac3bfc0b8bd246dc0077399d4bcef70e8a5e753c45995df7ad55 WHIRLPOOL 17a80c2ee2c66509689359103167c6e6c2809f8a3f54d6293de8288f37641491a34ead63691572e99e84e07c39565f441f6b56e5a8c9e20ae32f5641dac69a45
diff --git a/app-editors/teco/files/teco-double-free.diff b/app-editors/teco/files/teco-double-free.diff
new file mode 100644
index 000000000000..5a62b23d90be
--- /dev/null
+++ b/app-editors/teco/files/teco-double-free.diff
@@ -0,0 +1,20 @@
+--- te_exec2.c 1993-11-12 21:12:47.000000000 +0000
++++ te_exec2.c.new 2005-08-21 18:31:26.495907720 +0100
+@@ -197,7 +197,7 @@
+ {
+ if (eisw) /* if ending a file execute, restore the previous "old command string" */
+ {
+- fclose(eisw); /* return the file descriptor */
++ fclose(eisw), eisw = NULL; /* return the file descriptor */
+ dly_free_blist(cbuf.f); /* return the command string used by the file (after execution done) */
+ cbuf.f = oldcstring.f;
+ cbuf.z = oldcstring.z;
+@@ -214,7 +214,7 @@
+ oldcstring.z = cbuf.z;
+ cbuf.f = NULL; /* and make it inaccessible to "rdcmd" */
+ }
+- if (eisw) fclose(eisw); /* if a command file had been open, close it */
++ if (eisw) fclose(eisw), eisw = NULL; /* if a command file had been open, close it */
+ esp->val1 = (eisw = t_eisw) ? -1 : 0;
+ esp->flag1 = colonflag;
+ colonflag = 0;
diff --git a/app-editors/teco/files/teco-gcc4.patch b/app-editors/teco/files/teco-gcc4.patch
new file mode 100644
index 000000000000..fe4d8d3759b4
--- /dev/null
+++ b/app-editors/teco/files/teco-gcc4.patch
@@ -0,0 +1,11 @@
+--- te_subs.c.orig 2007-03-18 19:58:40 +0100
++++ te_subs.c 2007-03-18 19:58:57 +0100
+@@ -231,7 +231,7 @@
+ char c;
+ {
+ if (isdigit(c)) return(c - '0' + 1);
+- else if isalpha(c) return(mapch_l[c] - 'a' + 11);
++ else if (isalpha(c)) return(mapch_l[c] - 'a' + 11);
+ else if (fors)
+ {
+ if (c == '_') return (SERBUF);
diff --git a/app-editors/teco/files/teco-warnings.patch b/app-editors/teco/files/teco-warnings.patch
new file mode 100644
index 000000000000..f8bbfbfff181
--- /dev/null
+++ b/app-editors/teco/files/teco-warnings.patch
@@ -0,0 +1,47 @@
+Include stdlib.h for exit(3).
+Fix conflicting type for malloc(3).
+Avoid casting pointers from/to int.
+
+--- teco-orig/te_defs.h
++++ teco/te_defs.h
+@@ -6,6 +6,7 @@
+ /* version for multiple buffers 04/19/89 11.25 */
+
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <ctype.h>
+ #include <setjmp.h>
+
+--- teco-orig/te_rdcmd.c
++++ teco/te_rdcmd.c
+@@ -94,7 +94,8 @@
+ qreg[i].f = cbuf.f; /* put the old command string in its place */
+ if (qreg[i].f) qreg[i].f->b = (struct buffcell *) &qreg[i];
+ qreg[i].z = cbuf.z;
+- cbuf.f = (struct buffcell *) (cbuf.z = 0); /* no old command string */
++ cbuf.f = NULL; /* no old command string */
++ cbuf.z = 0;
+ err = 0; /* no previous error */
+ goto restart;
+ }
+--- teco-orig/te_utils.c
++++ teco/te_utils.c
+@@ -13,7 +13,6 @@
+
+ struct buffcell *get_bcell()
+ {
+- char *malloc();
+ struct buffcell *p;
+ int i;
+
+--- teco-orig/te_window.c
++++ teco/te_window.c
+@@ -1051,7 +1051,7 @@
+ pp->c = loc % CELLSIZE;
+ pp->dot = loc;
+ }
+- return( (int) pb0->f);
++ return(pb0->f != NULL);
+ }
+
+ /* routine to move N lines (back, forward, or 0) */
diff --git a/app-editors/teco/metadata.xml b/app-editors/teco/metadata.xml
new file mode 100644
index 000000000000..871e92f06b8d
--- /dev/null
+++ b/app-editors/teco/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>ulm@gentoo.org</email>
+ <name>Ulrich Müller</name>
+</maintainer>
+<longdescription lang="en">
+ TECO /tee'koh/ /n.,v. obs./ 1. [originally an acronym for `[paper]
+ Tape Editor and COrrector'; later, `Text Editor and COrrector'] /n./
+ A text editor developed at MIT and modified by just about everybody.
+ With all the dialects included, TECO may have been the most prolific
+ editor in use before EMACS, to which it was directly ancestral.
+ Noted for its powerful programming-language-like features and its
+ unspeakably hairy syntax. It is literally the case that every string
+ of characters is a valid TECO program (though probably not a useful
+ one); one common game used to be mentally working out what the TECO
+ commands corresponding to human names did.
+
+ In mid-1991, TECO is pretty much one with the dust of history,
+ having been replaced in the affections of hackerdom by EMACS.
+ Descendants of an early (and somewhat lobotomized) version adopted
+ by DEC can still be found lurking on VMS and a couple of crufty
+ PDP-11 operating systems, however, and ports of the more advanced
+ MIT versions remain the focus of some antiquarian interest.
+</longdescription>
+</pkgmetadata>
diff --git a/app-editors/teco/teco-1.00-r4.ebuild b/app-editors/teco/teco-1.00-r4.ebuild
new file mode 100644
index 000000000000..1acf2f9a3fcf
--- /dev/null
+++ b/app-editors/teco/teco-1.00-r4.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs flag-o-matic readme.gentoo
+
+DESCRIPTION="Classic TECO editor, Predecessor to EMACS"
+HOMEPAGE="http://www.ibiblio.org/pub/linux/apps/editors/tty/ http://www.ibiblio.org/pub/academic/computer-science/history/pdp-11/teco"
+SRC_URI="http://www.ibiblio.org/pub/linux/apps/editors/tty/teco.tar.gz
+ doc? ( mirror://gentoo/tecolore.txt.gz
+ mirror://gentoo/tech.txt.gz
+ mirror://gentoo/teco.doc.gz
+ mirror://gentoo/tecoprog.doc.gz )"
+
+LICENSE="freedist"
+SLOT="0"
+KEYWORDS="alpha amd64 ~ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+IUSE="doc"
+
+RDEPEND="sys-libs/ncurses"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}"
+
+src_unpack() {
+ unpack teco.tar.gz
+ if use doc; then
+ mkdir doc
+ cd doc || die
+ unpack tecolore.txt.gz tech.txt.gz teco.doc.gz tecoprog.doc.gz
+ fi
+}
+
+src_prepare() {
+ local pkg_config=$("$(tc-getPKG_CONFIG)" --libs ncurses)
+ sed -i -e "s:\$(CC):& \$(LDFLAGS):;s:-ltermcap:${pkg_config}:" \
+ Makefile || die
+ # bug 103257
+ epatch "${FILESDIR}"/${PN}-double-free.diff
+ epatch "${FILESDIR}"/${PN}-gcc4.patch
+ epatch "${FILESDIR}"/${PN}-warnings.patch
+}
+
+src_compile() {
+ append-flags -ansi
+ append-cppflags -D_POSIX_SOURCE
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ dobin te
+ doman te.1
+ dodoc sample.tecorc sample.tecorc2 READ.ME MANIFEST
+ if use doc; then
+ cd doc
+ dodoc tecolore.txt tech.txt teco.doc tecoprog.doc
+ fi
+
+ DOC_CONTENTS="The TECO binary is called te.
+ \nSample configurations and documentation are available
+ in /usr/share/doc/${PF}/."
+ readme.gentoo_create_doc
+}
diff --git a/app-editors/ted/Manifest b/app-editors/ted/Manifest
new file mode 100644
index 000000000000..5afd480f9060
--- /dev/null
+++ b/app-editors/ted/Manifest
@@ -0,0 +1 @@
+DIST ted-2.23.src.tar.gz 4672208 SHA256 3fa992c2bc96af3ca788ef941cb5314f4a1d843202efd0201b8b4ee9adbf316c SHA512 c6541e5a07545a08b30cb9b33429d9a7675f9252df32ccca5cdb4f2ff09978085d28d015a42922baf8c95db1ea6379a9d1088541aafd9ce45b8870212496849f WHIRLPOOL 14f757dbc3cee1adae3abcc63ce32d9ebec4de5d5764060826321469a6d2c18339d239e9c0b084aaeb9979595d42411d1f86efb6280e85b7f4e8ea91db7775cd
diff --git a/app-editors/ted/files/ted-2.23-make.patch b/app-editors/ted/files/ted-2.23-make.patch
new file mode 100644
index 000000000000..f97093b47648
--- /dev/null
+++ b/app-editors/ted/files/ted-2.23-make.patch
@@ -0,0 +1,11 @@
+--- Makefile.orig 2013-04-01 13:24:45.854051804 +0400
++++ Makefile 2013-04-01 13:25:02.618052336 +0400
+@@ -246,7 +246,7 @@
+ : To install Ted, you can now run 'make install' AS ROOT
+
+ package.shared: compile.shared tedPackage/makefile
+- cd tedPackage && make package.shared
++ cd tedPackage && $(MAKE) package.shared
+ :
+ : Dynamically linked package ready.
+ : To install Ted, you can now run 'make install' AS ROOT
diff --git a/app-editors/ted/metadata.xml b/app-editors/ted/metadata.xml
new file mode 100644
index 000000000000..91f4e72fb544
--- /dev/null
+++ b/app-editors/ted/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-editors/ted/ted-2.23.ebuild b/app-editors/ted/ted-2.23.ebuild
new file mode 100644
index 000000000000..5e52affa3b1a
--- /dev/null
+++ b/app-editors/ted/ted-2.23.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils toolchain-funcs
+
+DESCRIPTION="X-based rich text editor"
+HOMEPAGE="http://www.nllgg.nl/Ted"
+SRC_URI="ftp://ftp.nluug.nl/pub/editors/ted/${P}.src.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc sparc x86"
+
+RDEPEND="x11-libs/gtk+:2
+ media-libs/tiff
+ virtual/jpeg
+ media-libs/libpng
+ x11-libs/libXft
+ x11-libs/libXpm"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/Ted-${PV}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-make.patch
+
+ sed -i -e 's|/Ted/|/share/Ted/|' \
+ "${S}"/appFrame/appFrameConfig.h.in \
+ "${S}"/Ted/tedConfig.h.in || die
+
+ # bug #461256
+ find . -name makefile.in -exec sed -i -e '/ar r/s/ar/$(AR)/' {} \; || die
+
+ # force to build dynamic binary, do not strip it
+ sed -i \
+ -e 's/.static//g' \
+ -e '/strip/d' \
+ tedPackage/makefile.in || die 'sed failed on tedPackage/makefile.in'
+
+ # Fix build with freetype-2.5
+ sed -i "s|^\(#[ \t]*include[ \t]*<\)freetype/|\1|" appFrame/appFontConfig.c || die
+
+ mkdir lib || die
+}
+
+src_configure() {
+ tc-export AR CC RANLIB
+
+ local dir
+ for dir in appFrame appUtil bitmap docBuf ind Ted tedPackage; do
+ cd "${S}"/${dir}
+ econf --cache-file=../config.cache || die "configure in ${dir} failed"
+ done
+}
+
+src_compile() {
+ emake package.shared
+}
+
+src_install() {
+ default
+ dosym /usr/share/Ted/examples/rtf2pdf.sh /usr/bin/rtf2pdf.sh
+}
diff --git a/app-editors/uemacs-pk/Manifest b/app-editors/uemacs-pk/Manifest
new file mode 100644
index 000000000000..d8ed12ff9f05
--- /dev/null
+++ b/app-editors/uemacs-pk/Manifest
@@ -0,0 +1,2 @@
+DIST uemacs-4.0.15_p20130222.tar.xz 151928 SHA256 eafab30840c684006876133f5d5042df19fa31ca3cf69a4e38998d950d5ec5ba SHA512 1815acba3b5165c5df0f71d34d687cd0022e7fc812bdd2cdd6778e371dd0e08ede4f670b241cf75c65f16f63f464017b83a113a1db4f0265e81441cc6dec3c0e WHIRLPOOL 5767f13984e61c82e41e68c034d48dd11aeef67433be4918e7eaf2c6e2870b52a43d71994b106287d3fddbcbf78ad2dd4d9e5807384a1712930161f6f46d74fe
+DIST uemacs-4.0.15_p20141208.tar.xz 151500 SHA256 271cf8afde5e069d5b22dfdb93ace83367a89ab9ebfb753e62219d3003633a62 SHA512 a632c82275ee652412aec7d8f3549d80c5fd5bb1211675828ec4c58365bb7819927ff4e92f6fb7b5b9030b681062773ea19f1af345d4d3ddb652c3d68507bdbb WHIRLPOOL aba112d6142a40b439300ab78c206d2cd4271486d45530c9a1500705ba46cbca03df11f1d0242bed1dd7701394c86a8349eb5661f3145ddd01a8f45ae5e478e7
diff --git a/app-editors/uemacs-pk/files/uemacs-pk-4.0.15_p20110825-gentoo.patch b/app-editors/uemacs-pk/files/uemacs-pk-4.0.15_p20110825-gentoo.patch
new file mode 100644
index 000000000000..8ec03062f922
--- /dev/null
+++ b/app-editors/uemacs-pk/files/uemacs-pk-4.0.15_p20110825-gentoo.patch
@@ -0,0 +1,15 @@
+--- uemacs-orig/epath.h
++++ uemacs/epath.h
+@@ -25,10 +25,8 @@
+ #if V7 | BSD | USG
+ {
+ ".emacsrc", "emacs.hlp",
+-#if PKCODE
+- "/usr/global/lib/", "/usr/local/bin/", "/usr/local/lib/",
+-#endif
+-"/usr/local/", "/usr/lib/", ""};
++ "/etc/uemacs-pk/", "/usr/share/uemacs-pk/", ""
++};
+ #endif
+
+ #if VMS
diff --git a/app-editors/uemacs-pk/metadata.xml b/app-editors/uemacs-pk/metadata.xml
new file mode 100644
index 000000000000..62e65fab2924
--- /dev/null
+++ b/app-editors/uemacs-pk/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>emacs</herd>
+<longdescription>
+ WHAT IS uEmacs/PK?
+
+ uEmacs/PK 4.0 is an enhanced version of MicroEMACS 3.9e. Enhancements have
+ been incorporated by Petri H. Kutvonen, University of Helsinki, Finland,
+ kutvonen@cs.Helsinki.FI.
+
+ WHY IS IT BASED ON AN OLD VERSION OF MicroEMACS?
+
+ In my opinion 3.9e was the best of all MicroEMACSes. Creeping featurism,
+ growing size, and reduced portability made versions 3.10 and 3.11 less
+ attractive. MicroEMACS 3.9e was one of the few editors that were truly
+ portable between different flavours of UNIX, PC/MS-DOS, and VAX/VMS. It was
+ pretty robust - although not flawless. uEmacs/PK 4.0 includes numerous bug
+ fixes, adds some new functionality and comfort but does not sacrifice the
+ best things (small size and portability).
+</longdescription>
+</pkgmetadata>
diff --git a/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20130222.ebuild b/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20130222.ebuild
new file mode 100644
index 000000000000..05cd4f5b9614
--- /dev/null
+++ b/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20130222.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="uEmacs/PK is an enhanced version of MicroEMACS"
+HOMEPAGE="http://git.kernel.org/?p=editors/uemacs/uemacs.git;a=summary
+ ftp://ftp.cs.helsinki.fi/pub/Software/Local/uEmacs-PK"
+# snapshot from git repo
+SRC_URI="http://dev.gentoo.org/~ulm/distfiles/uemacs-${PV}.tar.xz"
+
+LICENSE="free-noncomm"
+SLOT="0"
+KEYWORDS="amd64 x86 ~x86-fbsd"
+
+RDEPEND="sys-libs/ncurses"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/uemacs"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-4.0.15_p20110825-gentoo.patch
+}
+
+src_compile() {
+ emake V=1 \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ LIBS="$("$(tc-getPKG_CONFIG)" --libs ncurses)"
+}
+
+src_install() {
+ dobin em
+ insinto /usr/share/${PN}
+ doins emacs.hlp
+ newins emacs.rc .emacsrc
+ dodoc README readme.39e emacs.ps UTF-8-demo.txt
+}
diff --git a/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20141208.ebuild b/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20141208.ebuild
new file mode 100644
index 000000000000..4fc0a47ceb06
--- /dev/null
+++ b/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20141208.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="uEmacs/PK is an enhanced version of MicroEMACS"
+HOMEPAGE="http://git.kernel.org/?p=editors/uemacs/uemacs.git;a=summary
+ ftp://ftp.cs.helsinki.fi/pub/Software/Local/uEmacs-PK"
+# snapshot from git repo
+SRC_URI="http://dev.gentoo.org/~ulm/distfiles/uemacs-${PV}.tar.xz"
+
+LICENSE="free-noncomm"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd"
+
+RDEPEND="sys-libs/ncurses"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/uemacs"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-4.0.15_p20110825-gentoo.patch
+}
+
+src_compile() {
+ emake V=1 \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ LIBS="$("$(tc-getPKG_CONFIG)" --libs ncurses)"
+}
+
+src_install() {
+ dobin em
+ insinto /usr/share/${PN}
+ doins emacs.hlp
+ newins emacs.rc .emacsrc
+ dodoc README readme.39e emacs.ps UTF-8-demo.txt
+}
diff --git a/app-editors/vile/Manifest b/app-editors/vile/Manifest
new file mode 100644
index 000000000000..4980defc1cf5
--- /dev/null
+++ b/app-editors/vile/Manifest
@@ -0,0 +1,3 @@
+DIST vile-9.8k.tgz 2278349 SHA256 af8386a43fdf82ba3c8e4187b8fe850543c5baac769cf26bb2b437e5b3689e24 SHA512 93dce951701f156ebe5aecd39a86556658334a2f262919974bd302238e4b78a63ea6a675fc47fd5b170055e7fba8134db27ff26076be0d1b0cf7a58d697b5836 WHIRLPOOL e75ded06e6eb5234a673a92d27ceb1632150c60e580a27e0c00267a147a3b02005afb62843e373a3112ed8a353f230d4101ad1adfa0a045cba47d21f1b301a20
+DIST vile-9.8n.tgz 2300678 SHA256 36cea866603483e43e705ba1a96d0d52dc81f9c0d97fbefe5150c50b04b258bb SHA512 c87350325f47ef9338d9e7dca1a22b0d2c23b632cc2338ab07b00a986fc911f2bfbb05c9dcb98f4b606c2f2d0294dec26bcbf45a711cb6ad25c3ecf4b84c9037 WHIRLPOOL 16be864f128b256049a6d0e7cd39a3256415eabec66bcc632db09c6e5d07ef72b775fe28c38c2cfa805e0a495d3bf83d25ac9c5c6d3decaa5c165c91ee5558b1
+DIST vile-9.8o.tgz 2304783 SHA256 45625c060cb9da3d68bba0d308fa61cb6a1cd7c7fd8b0e83aba8890632a19b24 SHA512 ddcc01b47990cc603f4af2c4738ed989d2be51018aa0bbc96079771f2809f11df160c6bc597dc50bf30f47ef5ec7c78646cbc19d7c381ef836de7bdb884bab87 WHIRLPOOL 746e2face1cbf0881cc2c10a57b5d412a30668805a62c8f5db64ffb20e9a74285ef1e5a05e6d607530705427360b13a1cb22dd62ae1dfe02ac190e1bfea518cd
diff --git a/app-editors/vile/files/vile-9.8h-flex.patch b/app-editors/vile/files/vile-9.8h-flex.patch
new file mode 100644
index 000000000000..bb1c1c301110
--- /dev/null
+++ b/app-editors/vile/files/vile-9.8h-flex.patch
@@ -0,0 +1,30 @@
+--- vile-9.8h/filters/filters.h
++++ vile-9.8h/filters/filters.h
+@@ -200,27 +200,6 @@
+ #endif
+ #endif /* __GNUC__ */
+
+-/*
+- * 2003/5/20 - "new" flex 2.5.31:
+- * workaround for "developers" who don't use compiler-warnings...
+- * perhaps by the time "new" flex merits the term "beta", they'll fix this:
+- */
+-#if defined(FLEX_BETA)
+-extern FILE *yyget_in (void);
+-extern FILE *yyget_out (void);
+-extern char *yyget_text (void);
+-extern int yyget_debug (void);
+-extern int yyget_leng (void);
+-extern int yyget_lineno (void);
+-extern int yylex_destroy (void);
+-extern void yyset_debug (int bdebug);
+-extern void yyset_in (FILE * in_str);
+-extern void yyset_lineno (int line_number);
+-extern void yyset_out (FILE * out_str);
+-/* there's also warnings for unused 'yyunput()', but I don't see a fix */
+-/* flex's skeleton includes <unistd.h> - no particular reason apparent */
+-#endif
+-
+ #define YY_NO_INPUT 1 /* get rid of 'input()' function */
+
+ /*
diff --git a/app-editors/vile/metadata.xml b/app-editors/vile/metadata.xml
new file mode 100644
index 000000000000..d221a8d4b42c
--- /dev/null
+++ b/app-editors/vile/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>vim</herd>
+</pkgmetadata>
diff --git a/app-editors/vile/vile-9.8k.ebuild b/app-editors/vile/vile-9.8k.ebuild
new file mode 100644
index 000000000000..328ca7a3f0ad
--- /dev/null
+++ b/app-editors/vile/vile-9.8k.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils
+
+DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone"
+HOMEPAGE="http://invisible-island.net/vile/"
+SRC_URI="ftp://invisible-island.net/vile/current/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ia64 ppc sparc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="perl"
+
+RDEPEND=">=sys-libs/ncurses-5.2
+ perl? ( dev-lang/perl )"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ app-eselect/eselect-vi"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-9.8h-flex.patch
+}
+
+src_configure() {
+ econf \
+ --with-ncurses \
+ $(use_with perl )
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc CHANGES* README doc/*.doc
+ dohtml doc/*.html
+}
+
+pkg_postinst() {
+ einfo "Updating ${EPREFIX}/usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
+
+pkg_postrm() {
+ einfo "Updating ${EPREFIX}/usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
diff --git a/app-editors/vile/vile-9.8n.ebuild b/app-editors/vile/vile-9.8n.ebuild
new file mode 100644
index 000000000000..393f035f1a9e
--- /dev/null
+++ b/app-editors/vile/vile-9.8n.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone"
+HOMEPAGE="http://invisible-island.net/vile/"
+SRC_URI="ftp://invisible-island.net/vile/current/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="perl"
+
+RDEPEND=">=sys-libs/ncurses-5.2
+ perl? ( dev-lang/perl )"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ app-eselect/eselect-vi"
+
+src_configure() {
+ econf \
+ --with-ncurses \
+ $(use_with perl )
+}
+
+src_install() {
+ emake DESTDIR="${D}" INSTALL_OPTS="" install
+ dodoc CHANGES* README doc/*.doc
+ dohtml doc/*.html
+}
+
+pkg_postinst() {
+ einfo "Updating ${EPREFIX}/usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
+
+pkg_postrm() {
+ einfo "Updating ${EPREFIX}/usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
diff --git a/app-editors/vile/vile-9.8o.ebuild b/app-editors/vile/vile-9.8o.ebuild
new file mode 100644
index 000000000000..4c1d4614096e
--- /dev/null
+++ b/app-editors/vile/vile-9.8o.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone"
+HOMEPAGE="http://invisible-island.net/vile/"
+SRC_URI="ftp://invisible-island.net/vile/current/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="perl"
+
+RDEPEND=">=sys-libs/ncurses-5.2
+ perl? ( dev-lang/perl )"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ app-eselect/eselect-vi"
+
+src_configure() {
+ econf \
+ --with-ncurses \
+ $(use_with perl )
+}
+
+src_install() {
+ emake DESTDIR="${D}" INSTALL_OPT_S="" install
+ dodoc CHANGES* README doc/*.doc
+ dohtml doc/*.html
+}
+
+pkg_postinst() {
+ einfo "Updating ${EPREFIX}/usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
+
+pkg_postrm() {
+ einfo "Updating ${EPREFIX}/usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
diff --git a/app-editors/vim-core/Manifest b/app-editors/vim-core/Manifest
new file mode 100644
index 000000000000..fd094a550bb2
--- /dev/null
+++ b/app-editors/vim-core/Manifest
@@ -0,0 +1,10 @@
+DIST vim-7.4.542-gentoo-patches.tar.bz2 3307 SHA256 0eb635f13e199de77846e0d363a473882f2186f138158271fabf0975747a2f3d SHA512 446c66764dac2533cc2f2b3d50481971d4c63a4e81d94c545862a1be620179fdcd81a79f2d81737d1188812a6ad41d90e2a752a05acf6913e7a71464f7cecdd9 WHIRLPOOL cfca8feef0eb8096897ef751afb0427acddd008530ded6cf908fcff51be9713da4ea3e5e613d544c5caba400d664ae19ca70925df3a218bec5c8be6f69aadda2
+DIST vim-7.4.591.patch.xz 805892 SHA256 6556595e75666b35cce58dcd585605e3d8910477761cee0fb34317d8969e0344 SHA512 fd98fa6e84fb1b6dc3c80f1e68694ee3711678e66234953962c6bad1aaf045c053c3824d25dd3df9842951e9c5e3ca630b65fafedc30fa6c31313822e3518968 WHIRLPOOL 47f5a75d2faec35460ee0af565437da275b2cd18259645456a76ba79d289d7b8f7392cde95d6cb5da5e2b4657043c11f5f363e99d1cb8457f83dfa884f5ab238
+DIST vim-7.4.622.patch.xz 816104 SHA256 f9d6624b7c8e5cbae749eff3f3bef30f7b10554fa04edf7fe3c85828b2b2e7a8 SHA512 544258cca6e46291743f95acba3dbc7844fddf0f579706cb7903f338b359b852cb4818238e7402e2b5413fa1a2ca9084246ffe39a7c23d29d14883594caa65c3 WHIRLPOOL 2b92e418892bc99c45e6b56592635804394e282c8f0959addf1a93434dccdfb06fa75f39f171624f484cc6a6420bfd6ea6a9d30b1b0a9694cb8a14cbf42e456e
+DIST vim-7.4.670.patch.xz 845000 SHA256 5ffbb05466c68aea08fda6067a6a46e068beece3e26d33098964e5e472439ec0 SHA512 04e2c54fe4b6afba6f8b123ef24d63e898667c808083b91ea5affa6607ad1661b081fa0bd6536a5a2260dbd2b818e7942ef3896719ed82fcc071355239cba536 WHIRLPOOL 6b632e757101d4a54989bd85c0b6186326573794504dc0dd0ebf25e14fca5827b4a884677c380381359968687e40d4aa4ea27b42d5419538a0e843c4356227e6
+DIST vim-7.4.712.patch.xz 890304 SHA256 fa385439a55703715704b7163dc7ac4a53908d908bd456af432dd5618144c630 SHA512 639847f6c5e92c5838b259f83ffb8b473e8ad7142589e72e2dcd0d51a9e9d272c29ec4fd4239ee21bcf5599f3cc6cc790aee02fe2b860f7d79ce1d3a811a6dd0 WHIRLPOOL f9fe642fe68f324e2e68d1fcdda80d15e2eac6e7a246561728fa467c90e271cd83aab6b24adfec65977ab12cf0fd9ec5c1848bbfdc2342e63114f321234e95d9
+DIST vim-7.4.738.tar.gz 12178346 SHA256 f95cf39278ca67837538f8146dd4701de4a4da610d95687da252d458137dcb40 SHA512 4ef990c5b869a571f0ddafac7c14ef17b62e2a9e2e74f1adaa8a69f92f3c6f56a21f60a3b53cbb64922df8c709d4e8ba9aee081476ce90f5665b1124a7de9a3a WHIRLPOOL 92e9c019f2e0677fb2db99995f56b49a034abe5da2051d0012c05e6f74ab88070b635e5159c09c6635d69c23fc81afafdc11e37e17e9338a9ca41de9381cd1a1
+DIST vim-7.4.769.tar.gz 12189506 SHA256 d9b9c3af27161545a1e086e1ee9485432c0b1a792a1a59755f04ef94136c5042 SHA512 ce3917cc68dba8b69696eb43436f90347c68a687f1e8c4b2f15f4a232ff7ce1a581a61737042ec49548d78c5f010e55e4c40b051b1a2574bbc27146a9249f15c WHIRLPOOL 230304892e501ef9851bf9f0c9fc9c888bfe1ad2cd703bcd62c449866e28308027c37c7ed466966951ec9c5feb5d9ec82e843528861212cb40a5bf4cec6e8947
+DIST vim-7.4.tar.bz2 9843297 SHA256 d0f5a6d2c439f02d97fa21bd9121f4c5abb1f6cd8b5a79d3ca82867495734ade SHA512 65d55da556ee283a364b376d251b70e430b7a157bb5a8ee89565060ff9937907966d416cffd33f701b3314d0fdf16efe00065f66bc8459469f5ae2f713418e0e WHIRLPOOL 914fc2c4fd485196410d853990bb5cc4c0071bc36dc0794655ec05cc0b5f7d2971dea780cc7293fcfbd4495a30a7437a3b1e33a2b6795c10a9f05a2eac3ca6f4
+DIST vim-core-7.3-gentoo-patches-r4.tar.bz2 3015 SHA256 a4f61e4d0cd1848812f603e7f6b8a5304d13ac199f4e3061264cd3bec75a17c5 SHA512 0ba7a20dfdc2c24a92a4af5a6fe49a94d5d5c5e9111c42c4812d0cd52c26cc567acd2d7e74f66730afd3c4bc9f1667b0ad9c1f82f93d2844d8309b143f293676 WHIRLPOOL cec628c0f19971077677e667cc8903ea0a56041799a43907d47acc218fd9e0a6ea2a2a30999c74512fb36d233c6ac6d436f033684290155ff6ae70be5277bdbf
+DIST vim-patches-7.4.273.patch.bz2 506378 SHA256 065447179d22602315e2965d135cf9f1db4394ff5655520719f6338ff29e89ca SHA512 029a5cef758e4b201eabbc82458f3e1c3674582715a8c78a7270f3ecd57980b1cef66a0152526fd3505685c27c07f6e6742da48da9ad9546e3cfc2a5e7c11164 WHIRLPOOL 305322e991e9640b80147dd5ceac9dd6dae93a07610f807bbf01c0fdf37cba67ea41a1b2720c8a43da0161c57e0a522086f135efc712fb0106497a21288a872a
diff --git a/app-editors/vim-core/files/vimrc-r4 b/app-editors/vim-core/files/vimrc-r4
new file mode 100644
index 000000000000..07fffcceab1e
--- /dev/null
+++ b/app-editors/vim-core/files/vimrc-r4
@@ -0,0 +1,200 @@
+scriptencoding utf-8
+" ^^ Please leave the above line at the start of the file.
+
+" Default configuration file for Vim
+" $Id$
+
+" Written by Aron Griffis <agriffis@gentoo.org>
+" Modified by Ryan Phillips <rphillips@gentoo.org>
+" Modified some more by Ciaran McCreesh <ciaranm@gentoo.org>
+" Added Redhat's vimrc info by Seemant Kulleen <seemant@gentoo.org>
+
+" You can override any of these settings on a global basis via the
+" "/etc/vim/vimrc.local" file, and on a per-user basis via "~/.vimrc". You may
+" need to create these.
+
+" {{{ General settings
+" The following are some sensible defaults for Vim for most users.
+" We attempt to change as little as possible from Vim's defaults,
+" deviating only where it makes sense
+set nocompatible " Use Vim defaults (much better!)
+set bs=2 " Allow backspacing over everything in insert mode
+set ai " Always set auto-indenting on
+set history=50 " keep 50 lines of command history
+set ruler " Show the cursor position all the time
+
+set viminfo='20,\"500 " Keep a .viminfo file.
+
+" Don't use Ex mode, use Q for formatting
+map Q gq
+
+" When doing tab completion, give the following files lower priority. You may
+" wish to set 'wildignore' to completely ignore files, and 'wildmenu' to enable
+" enhanced tab completion. These can be done in the user vimrc file.
+set suffixes+=.info,.aux,.log,.dvi,.bbl,.out,.o,.lo
+
+" When displaying line numbers, don't use an annoyingly wide number column. This
+" doesn't enable line numbers -- :set number will do that. The value given is a
+" minimum width to use for the number column, not a fixed size.
+if v:version >= 700
+ set numberwidth=3
+endif
+" }}}
+
+" {{{ Modeline settings
+" We don't allow modelines by default. See bug #14088 and bug #73715.
+" If you're not concerned about these, you can enable them on a per-user
+" basis by adding "set modeline" to your ~/.vimrc file.
+set nomodeline
+" }}}
+
+" {{{ Locale settings
+" Try to come up with some nice sane GUI fonts. Also try to set a sensible
+" value for fileencodings based upon locale. These can all be overridden in
+" the user vimrc file.
+if v:lang =~? "^ko"
+ set fileencodings=euc-kr
+ set guifontset=-*-*-medium-r-normal--16-*-*-*-*-*-*-*
+elseif v:lang =~? "^ja_JP"
+ set fileencodings=euc-jp
+ set guifontset=-misc-fixed-medium-r-normal--14-*-*-*-*-*-*-*
+elseif v:lang =~? "^zh_TW"
+ set fileencodings=big5
+ set guifontset=-sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-1,-taipei-fixed-medium-r-normal--16-150-75-75-c-160-big5-0
+elseif v:lang =~? "^zh_CN"
+ set fileencodings=gb2312
+ set guifontset=*-r-*
+endif
+
+" If we have a BOM, always honour that rather than trying to guess.
+if &fileencodings !~? "ucs-bom"
+ set fileencodings^=ucs-bom
+endif
+
+" Always check for UTF-8 when trying to determine encodings.
+if &fileencodings !~? "utf-8"
+ " If we have to add this, the default encoding is not Unicode.
+ " We use this fact later to revert to the default encoding in plaintext/empty
+ " files.
+ let g:added_fenc_utf8 = 1
+ set fileencodings+=utf-8
+endif
+
+" Make sure we have a sane fallback for encoding detection
+if &fileencodings !~? "default"
+ set fileencodings+=default
+endif
+" }}}
+
+" {{{ Syntax highlighting settings
+" Switch syntax highlighting on, when the terminal has colors
+" Also switch on highlighting the last used search pattern.
+if &t_Co > 2 || has("gui_running")
+ syntax on
+ set hlsearch
+endif
+" }}}
+
+" {{{ Terminal fixes
+if &term ==? "xterm"
+ set t_Sb=^[4%dm
+ set t_Sf=^[3%dm
+ set ttymouse=xterm2
+endif
+
+if &term ==? "gnome" && has("eval")
+ " Set useful keys that vim doesn't discover via termcap but are in the
+ " builtin xterm termcap. See bug #122562. We use exec to avoid having to
+ " include raw escapes in the file.
+ exec "set <C-Left>=\eO5D"
+ exec "set <C-Right>=\eO5C"
+endif
+" }}}
+
+" {{{ Filetype plugin settings
+" Enable plugin-provided filetype settings, but only if the ftplugin
+" directory exists (which it won't on livecds, for example).
+if isdirectory(expand("$VIMRUNTIME/ftplugin"))
+ filetype plugin on
+
+ " Uncomment the next line (or copy to your ~/.vimrc) for plugin-provided
+ " indent settings. Some people don't like these, so we won't turn them on by
+ " default.
+ " filetype indent on
+endif
+" }}}
+
+" {{{ Fix &shell, see bug #101665.
+if "" == &shell
+ if executable("@GENTOO_PORTAGE_EPREFIX@/bin/bash")
+ set shell=@GENTOO_PORTAGE_EPREFIX@/bin/bash
+ elseif executable("@GENTOO_PORTAGE_EPREFIX@/bin/sh")
+ set shell=@GENTOO_PORTAGE_EPREFIX@/bin/sh
+ endif
+endif
+"}}}
+
+" {{{ Our default /bin/sh is bash, not ksh, so syntax highlighting for .sh
+" files should default to bash. See :help sh-syntax and bug #101819.
+if has("eval")
+ let is_bash=1
+endif
+" }}}
+
+" {{{ Autocommands
+if has("autocmd")
+
+augroup gentoo
+ au!
+
+ " Gentoo-specific settings for ebuilds. These are the federally-mandated
+ " required tab settings. See the following for more information:
+ " http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml
+ " Note that the rules below are very minimal and don't cover everything.
+ " Better to emerge app-vim/gentoo-syntax, which provides full syntax,
+ " filetype and indent settings for all things Gentoo.
+ au BufRead,BufNewFile *.e{build,class} let is_bash=1|setfiletype sh
+ au BufRead,BufNewFile *.e{build,class} set ts=4 sw=4 noexpandtab
+
+ " In text files, limit the width of text to 78 characters, but be careful
+ " that we don't override the user's setting.
+ autocmd BufNewFile,BufRead *.txt
+ \ if &tw == 0 && ! exists("g:leave_my_textwidth_alone") |
+ \ setlocal textwidth=78 |
+ \ endif
+
+ " When editing a file, always jump to the last cursor position
+ autocmd BufReadPost *
+ \ if ! exists("g:leave_my_cursor_position_alone") |
+ \ if line("'\"") > 0 && line ("'\"") <= line("$") |
+ \ exe "normal g'\"" |
+ \ endif |
+ \ endif
+
+ " When editing a crontab file, set backupcopy to yes rather than auto. See
+ " :help crontab and bug #53437.
+ autocmd FileType crontab set backupcopy=yes
+
+ " If we previously detected that the default encoding is not UTF-8
+ " (g:added_fenc_utf8), assume that a file with only ASCII characters (or no
+ " characters at all) isn't a Unicode file, but is in the default encoding.
+ " Except of course if a byte-order mark is in effect.
+ autocmd BufReadPost *
+ \ if exists("g:added_fenc_utf8") && &fileencoding == "utf-8" &&
+ \ ! &bomb && search('[\x80-\xFF]','nw') == 0 && &modifiable |
+ \ set fileencoding= |
+ \ endif
+
+augroup END
+
+endif " has("autocmd")
+" }}}
+
+" {{{ vimrc.local
+if filereadable("@GENTOO_PORTAGE_EPREFIX@/etc/vim/vimrc.local")
+ source @GENTOO_PORTAGE_EPREFIX@/etc/vim/vimrc.local
+endif
+" }}}
+
+" vim: set fenc=utf-8 tw=80 sw=2 sts=2 et foldmethod=marker :
+
diff --git a/app-editors/vim-core/files/xxd-completion b/app-editors/vim-core/files/xxd-completion
new file mode 100644
index 000000000000..174a4093f39f
--- /dev/null
+++ b/app-editors/vim-core/files/xxd-completion
@@ -0,0 +1,25 @@
+# Author: Ciaran McCreesh <ciaranm@gentoo.org>
+#
+# completion for xxd
+
+_xxd()
+{
+ local cur prev cmd args
+
+ COMPREPLY=()
+ cur=${COMP_WORDS[COMP_CWORD]}
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+ cmd=${COMP_WORDS[0]}
+
+ if [[ "${cur}" == -* ]] ; then
+ args='-a -b -c -E -g -h -i -l -ps -r -s -u -v'
+ COMPREPLY=( $( compgen -W "${args}" -- $cur ) )
+ else
+ _filedir
+ fi
+}
+
+complete -F _xxd xxd
+
+# vim: set ft=sh sw=4 et sts=4 :
+
diff --git a/app-editors/vim-core/metadata.xml b/app-editors/vim-core/metadata.xml
new file mode 100644
index 000000000000..4728811b89d9
--- /dev/null
+++ b/app-editors/vim-core/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>vim</herd>
+ <upstream>
+ <remote-id type="github">vim/vim</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/vim-core/vim-core-7.4.273.ebuild b/app-editors/vim-core/vim-core-7.4.273.ebuild
new file mode 100644
index 000000000000..31ac9e9aa968
--- /dev/null
+++ b/app-editors/vim-core/vim-core-7.4.273.ebuild
@@ -0,0 +1,232 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit mercurial
+ EHG_REPO_URI="https://vim.googlecode.com/hg/"
+ EHG_PROJECT="vim"
+else
+ VIM_ORG_PATCHES="vim-patches-${PV}.patch.bz2"
+
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2
+ http://dev.gentoo.org/~radhermit/vim/${PN}-7.3-gentoo-patches-r4.tar.bz2
+ http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCHES}"
+ KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="vim and gvim shared files"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="nls acl minimal"
+
+DEPEND="sys-devel/autoconf"
+PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
+
+S=${WORKDIR}/vim${VIM_VERSION/.}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -f "${WORKDIR}"/${VIM_ORG_PATCHES%.bz2} ]] ; then
+ # Apply any patches available from vim.org for this version
+ epatch "${WORKDIR}"/${VIM_ORG_PATCHES%.bz2}
+ fi
+
+ if [[ -d "${WORKDIR}"/gentoo/patches-core/ ]]; then
+ # Patches for vim-core only (runtime/*)
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/gentoo/patches-core/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i -e \
+ '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's/ auto.config.mk:/:/' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=" --without-local-dir"
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --with-features=tiny \
+ --enable-gui=no \
+ --without-x \
+ --disable-darwin \
+ --disable-perlinterp \
+ --disable-pythoninterp \
+ --disable-rubyinterp \
+ --disable-gpm \
+ --disable-selinux \
+ $(use_enable nls) \
+ $(use_enable acl) \
+ ${myconf}
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake tools
+}
+
+src_test() { :; }
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dodir /usr/{bin,share/{man/man1,vim}}
+ cd src || die "cd src failed"
+ emake \
+ installruntime \
+ installmanlinks \
+ installmacros \
+ installtutor \
+ installtutorbin \
+ installtools \
+ install-languages \
+ install-icons \
+ DESTDIR="${D}" \
+ BINDIR="${EPREFIX}"/usr/bin \
+ MANDIR="${EPREFIX}"/usr/share/man \
+ DATADIR="${EPREFIX}"/usr/share
+
+ keepdir ${vimfiles}/keymap
+
+ # default vimrc is installed by vim-core since it applies to
+ # both vim and gvim
+ insinto /etc/vim/
+ newins "${FILESDIR}"/vimrc-r4 vimrc
+ eprefixify "${ED}"/etc/vim/vimrc
+
+ if use minimal ; then
+ # To save space, install only a subset of the files.
+ # Helps minimalize the livecd, bug 65144.
+ eshopts_push -s extglob
+
+ rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent}
+ rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor}
+ rm "${ED}"/usr/bin/vimtutor
+
+ local keep_colors="default"
+ ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
+
+ local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
+ # tinkering with the next line might make bad things happen ...
+ keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
+ ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
+
+ eshopts_pop
+ fi
+
+ # These files might have slight security issues, so we won't
+ # install them. See bug #77841. We don't mind if these don't
+ # exist.
+ rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null
+
+ newbashcomp "${FILESDIR}"/xxd-completion xxd
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
diff --git a/app-editors/vim-core/vim-core-7.4.591.ebuild b/app-editors/vim-core/vim-core-7.4.591.ebuild
new file mode 100644
index 000000000000..507e07d45cf5
--- /dev/null
+++ b/app-editors/vim-core/vim-core-7.4.591.ebuild
@@ -0,0 +1,230 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit mercurial
+ EHG_REPO_URI="https://vim.googlecode.com/hg/"
+ EHG_PROJECT="vim"
+else
+ VIM_ORG_PATCH="vim-${PV}.patch.xz"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2
+ http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCH}
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="vim and gvim shared files"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="nls acl minimal"
+
+DEPEND="sys-devel/autoconf"
+PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
+
+S=${WORKDIR}/vim${VIM_VERSION/.}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -f "${WORKDIR}"/${VIM_ORG_PATCH%.xz} ]] ; then
+ # Apply any patches available from vim.org for this version
+ epatch "${WORKDIR}"/${VIM_ORG_PATCH%.xz}
+ fi
+
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i -e \
+ '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=" --without-local-dir"
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --enable-gui=no \
+ --without-x \
+ --disable-darwin \
+ --disable-perlinterp \
+ --disable-pythoninterp \
+ --disable-rubyinterp \
+ --disable-gpm \
+ --disable-selinux \
+ $(use_enable nls) \
+ $(use_enable acl) \
+ ${myconf}
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake tools
+}
+
+src_test() { :; }
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dodir /usr/{bin,share/{man/man1,vim}}
+ cd src || die "cd src failed"
+ emake \
+ installruntime \
+ installmanlinks \
+ installmacros \
+ installtutor \
+ installtutorbin \
+ installtools \
+ install-languages \
+ install-icons \
+ DESTDIR="${D}" \
+ BINDIR="${EPREFIX}"/usr/bin \
+ MANDIR="${EPREFIX}"/usr/share/man \
+ DATADIR="${EPREFIX}"/usr/share
+
+ keepdir ${vimfiles}/keymap
+
+ # default vimrc is installed by vim-core since it applies to
+ # both vim and gvim
+ insinto /etc/vim/
+ newins "${FILESDIR}"/vimrc-r4 vimrc
+ eprefixify "${ED}"/etc/vim/vimrc
+
+ if use minimal ; then
+ # To save space, install only a subset of the files.
+ # Helps minimalize the livecd, bug 65144.
+ eshopts_push -s extglob
+
+ rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent}
+ rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor}
+ rm "${ED}"/usr/bin/vimtutor
+
+ local keep_colors="default"
+ ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
+
+ local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
+ # tinkering with the next line might make bad things happen ...
+ keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
+ ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
+
+ eshopts_pop
+ fi
+
+ # These files might have slight security issues, so we won't
+ # install them. See bug #77841. We don't mind if these don't
+ # exist.
+ rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null
+
+ newbashcomp "${FILESDIR}"/xxd-completion xxd
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
diff --git a/app-editors/vim-core/vim-core-7.4.622.ebuild b/app-editors/vim-core/vim-core-7.4.622.ebuild
new file mode 100644
index 000000000000..19eba14a28b4
--- /dev/null
+++ b/app-editors/vim-core/vim-core-7.4.622.ebuild
@@ -0,0 +1,230 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit mercurial
+ EHG_REPO_URI="https://vim.googlecode.com/hg/"
+ EHG_PROJECT="vim"
+else
+ VIM_ORG_PATCH="vim-${PV}.patch.xz"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2
+ http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCH}
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="vim and gvim shared files"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="nls acl minimal"
+
+DEPEND="sys-devel/autoconf"
+PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
+
+S=${WORKDIR}/vim${VIM_VERSION/.}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -f "${WORKDIR}"/${VIM_ORG_PATCH%.xz} ]] ; then
+ # Apply any patches available from vim.org for this version
+ epatch "${WORKDIR}"/${VIM_ORG_PATCH%.xz}
+ fi
+
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i -e \
+ '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=" --without-local-dir"
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --enable-gui=no \
+ --without-x \
+ --disable-darwin \
+ --disable-perlinterp \
+ --disable-pythoninterp \
+ --disable-rubyinterp \
+ --disable-gpm \
+ --disable-selinux \
+ $(use_enable nls) \
+ $(use_enable acl) \
+ ${myconf}
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake tools
+}
+
+src_test() { :; }
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dodir /usr/{bin,share/{man/man1,vim}}
+ cd src || die "cd src failed"
+ emake \
+ installruntime \
+ installmanlinks \
+ installmacros \
+ installtutor \
+ installtutorbin \
+ installtools \
+ install-languages \
+ install-icons \
+ DESTDIR="${D}" \
+ BINDIR="${EPREFIX}"/usr/bin \
+ MANDIR="${EPREFIX}"/usr/share/man \
+ DATADIR="${EPREFIX}"/usr/share
+
+ keepdir ${vimfiles}/keymap
+
+ # default vimrc is installed by vim-core since it applies to
+ # both vim and gvim
+ insinto /etc/vim/
+ newins "${FILESDIR}"/vimrc-r4 vimrc
+ eprefixify "${ED}"/etc/vim/vimrc
+
+ if use minimal ; then
+ # To save space, install only a subset of the files.
+ # Helps minimalize the livecd, bug 65144.
+ eshopts_push -s extglob
+
+ rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent}
+ rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor}
+ rm "${ED}"/usr/bin/vimtutor
+
+ local keep_colors="default"
+ ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
+
+ local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
+ # tinkering with the next line might make bad things happen ...
+ keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
+ ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
+
+ eshopts_pop
+ fi
+
+ # These files might have slight security issues, so we won't
+ # install them. See bug #77841. We don't mind if these don't
+ # exist.
+ rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null
+
+ newbashcomp "${FILESDIR}"/xxd-completion xxd
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
diff --git a/app-editors/vim-core/vim-core-7.4.670.ebuild b/app-editors/vim-core/vim-core-7.4.670.ebuild
new file mode 100644
index 000000000000..19eba14a28b4
--- /dev/null
+++ b/app-editors/vim-core/vim-core-7.4.670.ebuild
@@ -0,0 +1,230 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit mercurial
+ EHG_REPO_URI="https://vim.googlecode.com/hg/"
+ EHG_PROJECT="vim"
+else
+ VIM_ORG_PATCH="vim-${PV}.patch.xz"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2
+ http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCH}
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="vim and gvim shared files"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="nls acl minimal"
+
+DEPEND="sys-devel/autoconf"
+PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
+
+S=${WORKDIR}/vim${VIM_VERSION/.}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -f "${WORKDIR}"/${VIM_ORG_PATCH%.xz} ]] ; then
+ # Apply any patches available from vim.org for this version
+ epatch "${WORKDIR}"/${VIM_ORG_PATCH%.xz}
+ fi
+
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i -e \
+ '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=" --without-local-dir"
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --enable-gui=no \
+ --without-x \
+ --disable-darwin \
+ --disable-perlinterp \
+ --disable-pythoninterp \
+ --disable-rubyinterp \
+ --disable-gpm \
+ --disable-selinux \
+ $(use_enable nls) \
+ $(use_enable acl) \
+ ${myconf}
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake tools
+}
+
+src_test() { :; }
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dodir /usr/{bin,share/{man/man1,vim}}
+ cd src || die "cd src failed"
+ emake \
+ installruntime \
+ installmanlinks \
+ installmacros \
+ installtutor \
+ installtutorbin \
+ installtools \
+ install-languages \
+ install-icons \
+ DESTDIR="${D}" \
+ BINDIR="${EPREFIX}"/usr/bin \
+ MANDIR="${EPREFIX}"/usr/share/man \
+ DATADIR="${EPREFIX}"/usr/share
+
+ keepdir ${vimfiles}/keymap
+
+ # default vimrc is installed by vim-core since it applies to
+ # both vim and gvim
+ insinto /etc/vim/
+ newins "${FILESDIR}"/vimrc-r4 vimrc
+ eprefixify "${ED}"/etc/vim/vimrc
+
+ if use minimal ; then
+ # To save space, install only a subset of the files.
+ # Helps minimalize the livecd, bug 65144.
+ eshopts_push -s extglob
+
+ rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent}
+ rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor}
+ rm "${ED}"/usr/bin/vimtutor
+
+ local keep_colors="default"
+ ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
+
+ local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
+ # tinkering with the next line might make bad things happen ...
+ keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
+ ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
+
+ eshopts_pop
+ fi
+
+ # These files might have slight security issues, so we won't
+ # install them. See bug #77841. We don't mind if these don't
+ # exist.
+ rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null
+
+ newbashcomp "${FILESDIR}"/xxd-completion xxd
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
diff --git a/app-editors/vim-core/vim-core-7.4.712.ebuild b/app-editors/vim-core/vim-core-7.4.712.ebuild
new file mode 100644
index 000000000000..19eba14a28b4
--- /dev/null
+++ b/app-editors/vim-core/vim-core-7.4.712.ebuild
@@ -0,0 +1,230 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit mercurial
+ EHG_REPO_URI="https://vim.googlecode.com/hg/"
+ EHG_PROJECT="vim"
+else
+ VIM_ORG_PATCH="vim-${PV}.patch.xz"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2
+ http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCH}
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="vim and gvim shared files"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="nls acl minimal"
+
+DEPEND="sys-devel/autoconf"
+PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
+
+S=${WORKDIR}/vim${VIM_VERSION/.}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -f "${WORKDIR}"/${VIM_ORG_PATCH%.xz} ]] ; then
+ # Apply any patches available from vim.org for this version
+ epatch "${WORKDIR}"/${VIM_ORG_PATCH%.xz}
+ fi
+
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i -e \
+ '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=" --without-local-dir"
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --enable-gui=no \
+ --without-x \
+ --disable-darwin \
+ --disable-perlinterp \
+ --disable-pythoninterp \
+ --disable-rubyinterp \
+ --disable-gpm \
+ --disable-selinux \
+ $(use_enable nls) \
+ $(use_enable acl) \
+ ${myconf}
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake tools
+}
+
+src_test() { :; }
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dodir /usr/{bin,share/{man/man1,vim}}
+ cd src || die "cd src failed"
+ emake \
+ installruntime \
+ installmanlinks \
+ installmacros \
+ installtutor \
+ installtutorbin \
+ installtools \
+ install-languages \
+ install-icons \
+ DESTDIR="${D}" \
+ BINDIR="${EPREFIX}"/usr/bin \
+ MANDIR="${EPREFIX}"/usr/share/man \
+ DATADIR="${EPREFIX}"/usr/share
+
+ keepdir ${vimfiles}/keymap
+
+ # default vimrc is installed by vim-core since it applies to
+ # both vim and gvim
+ insinto /etc/vim/
+ newins "${FILESDIR}"/vimrc-r4 vimrc
+ eprefixify "${ED}"/etc/vim/vimrc
+
+ if use minimal ; then
+ # To save space, install only a subset of the files.
+ # Helps minimalize the livecd, bug 65144.
+ eshopts_push -s extglob
+
+ rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent}
+ rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor}
+ rm "${ED}"/usr/bin/vimtutor
+
+ local keep_colors="default"
+ ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
+
+ local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
+ # tinkering with the next line might make bad things happen ...
+ keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
+ ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
+
+ eshopts_pop
+ fi
+
+ # These files might have slight security issues, so we won't
+ # install them. See bug #77841. We don't mind if these don't
+ # exist.
+ rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null
+
+ newbashcomp "${FILESDIR}"/xxd-completion xxd
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
diff --git a/app-editors/vim-core/vim-core-7.4.738.ebuild b/app-editors/vim-core/vim-core-7.4.738.ebuild
new file mode 100644
index 000000000000..688219bd2a09
--- /dev/null
+++ b/app-editors/vim-core/vim-core-7.4.738.ebuild
@@ -0,0 +1,225 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix
+
+MY_PV=${PV//./-}
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${MY_PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${MY_PV}.tar.gz -> vim-${PV}.tar.gz
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="vim and gvim shared files"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="nls acl minimal"
+
+DEPEND="sys-devel/autoconf"
+PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
+
+S=${WORKDIR}/vim-${MY_PV}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i -e \
+ '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=" --without-local-dir"
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --enable-gui=no \
+ --without-x \
+ --disable-darwin \
+ --disable-perlinterp \
+ --disable-pythoninterp \
+ --disable-rubyinterp \
+ --disable-gpm \
+ --disable-selinux \
+ $(use_enable nls) \
+ $(use_enable acl) \
+ ${myconf}
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake tools
+}
+
+src_test() { :; }
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dodir /usr/{bin,share/{man/man1,vim}}
+ cd src || die "cd src failed"
+ emake \
+ installruntime \
+ installmanlinks \
+ installmacros \
+ installtutor \
+ installtutorbin \
+ installtools \
+ install-languages \
+ install-icons \
+ DESTDIR="${D}" \
+ BINDIR="${EPREFIX}"/usr/bin \
+ MANDIR="${EPREFIX}"/usr/share/man \
+ DATADIR="${EPREFIX}"/usr/share
+
+ keepdir ${vimfiles}/keymap
+
+ # default vimrc is installed by vim-core since it applies to
+ # both vim and gvim
+ insinto /etc/vim/
+ newins "${FILESDIR}"/vimrc-r4 vimrc
+ eprefixify "${ED}"/etc/vim/vimrc
+
+ if use minimal ; then
+ # To save space, install only a subset of the files.
+ # Helps minimalize the livecd, bug 65144.
+ eshopts_push -s extglob
+
+ rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent}
+ rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor}
+ rm "${ED}"/usr/bin/vimtutor
+
+ local keep_colors="default"
+ ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
+
+ local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
+ # tinkering with the next line might make bad things happen ...
+ keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
+ ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
+
+ eshopts_pop
+ fi
+
+ # These files might have slight security issues, so we won't
+ # install them. See bug #77841. We don't mind if these don't
+ # exist.
+ rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null
+
+ newbashcomp "${FILESDIR}"/xxd-completion xxd
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
diff --git a/app-editors/vim-core/vim-core-7.4.769.ebuild b/app-editors/vim-core/vim-core-7.4.769.ebuild
new file mode 100644
index 000000000000..688219bd2a09
--- /dev/null
+++ b/app-editors/vim-core/vim-core-7.4.769.ebuild
@@ -0,0 +1,225 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix
+
+MY_PV=${PV//./-}
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${MY_PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${MY_PV}.tar.gz -> vim-${PV}.tar.gz
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="vim and gvim shared files"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="nls acl minimal"
+
+DEPEND="sys-devel/autoconf"
+PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
+
+S=${WORKDIR}/vim-${MY_PV}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i -e \
+ '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=" --without-local-dir"
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --enable-gui=no \
+ --without-x \
+ --disable-darwin \
+ --disable-perlinterp \
+ --disable-pythoninterp \
+ --disable-rubyinterp \
+ --disable-gpm \
+ --disable-selinux \
+ $(use_enable nls) \
+ $(use_enable acl) \
+ ${myconf}
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake tools
+}
+
+src_test() { :; }
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dodir /usr/{bin,share/{man/man1,vim}}
+ cd src || die "cd src failed"
+ emake \
+ installruntime \
+ installmanlinks \
+ installmacros \
+ installtutor \
+ installtutorbin \
+ installtools \
+ install-languages \
+ install-icons \
+ DESTDIR="${D}" \
+ BINDIR="${EPREFIX}"/usr/bin \
+ MANDIR="${EPREFIX}"/usr/share/man \
+ DATADIR="${EPREFIX}"/usr/share
+
+ keepdir ${vimfiles}/keymap
+
+ # default vimrc is installed by vim-core since it applies to
+ # both vim and gvim
+ insinto /etc/vim/
+ newins "${FILESDIR}"/vimrc-r4 vimrc
+ eprefixify "${ED}"/etc/vim/vimrc
+
+ if use minimal ; then
+ # To save space, install only a subset of the files.
+ # Helps minimalize the livecd, bug 65144.
+ eshopts_push -s extglob
+
+ rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent}
+ rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor}
+ rm "${ED}"/usr/bin/vimtutor
+
+ local keep_colors="default"
+ ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
+
+ local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
+ # tinkering with the next line might make bad things happen ...
+ keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
+ ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
+
+ eshopts_pop
+ fi
+
+ # These files might have slight security issues, so we won't
+ # install them. See bug #77841. We don't mind if these don't
+ # exist.
+ rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null
+
+ newbashcomp "${FILESDIR}"/xxd-completion xxd
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
diff --git a/app-editors/vim-core/vim-core-9999.ebuild b/app-editors/vim-core/vim-core-9999.ebuild
new file mode 100644
index 000000000000..688219bd2a09
--- /dev/null
+++ b/app-editors/vim-core/vim-core-9999.ebuild
@@ -0,0 +1,225 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix
+
+MY_PV=${PV//./-}
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${MY_PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${MY_PV}.tar.gz -> vim-${PV}.tar.gz
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="vim and gvim shared files"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="nls acl minimal"
+
+DEPEND="sys-devel/autoconf"
+PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
+
+S=${WORKDIR}/vim-${MY_PV}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i -e \
+ '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=" --without-local-dir"
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --enable-gui=no \
+ --without-x \
+ --disable-darwin \
+ --disable-perlinterp \
+ --disable-pythoninterp \
+ --disable-rubyinterp \
+ --disable-gpm \
+ --disable-selinux \
+ $(use_enable nls) \
+ $(use_enable acl) \
+ ${myconf}
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake tools
+}
+
+src_test() { :; }
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dodir /usr/{bin,share/{man/man1,vim}}
+ cd src || die "cd src failed"
+ emake \
+ installruntime \
+ installmanlinks \
+ installmacros \
+ installtutor \
+ installtutorbin \
+ installtools \
+ install-languages \
+ install-icons \
+ DESTDIR="${D}" \
+ BINDIR="${EPREFIX}"/usr/bin \
+ MANDIR="${EPREFIX}"/usr/share/man \
+ DATADIR="${EPREFIX}"/usr/share
+
+ keepdir ${vimfiles}/keymap
+
+ # default vimrc is installed by vim-core since it applies to
+ # both vim and gvim
+ insinto /etc/vim/
+ newins "${FILESDIR}"/vimrc-r4 vimrc
+ eprefixify "${ED}"/etc/vim/vimrc
+
+ if use minimal ; then
+ # To save space, install only a subset of the files.
+ # Helps minimalize the livecd, bug 65144.
+ eshopts_push -s extglob
+
+ rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent}
+ rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor}
+ rm "${ED}"/usr/bin/vimtutor
+
+ local keep_colors="default"
+ ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
+
+ local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
+ # tinkering with the next line might make bad things happen ...
+ keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
+ ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
+
+ eshopts_pop
+ fi
+
+ # These files might have slight security issues, so we won't
+ # install them. See bug #77841. We don't mind if these don't
+ # exist.
+ rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null
+
+ newbashcomp "${FILESDIR}"/xxd-completion xxd
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
diff --git a/app-editors/vim-qt/Manifest b/app-editors/vim-qt/Manifest
new file mode 100644
index 000000000000..ba264146fb7e
--- /dev/null
+++ b/app-editors/vim-qt/Manifest
@@ -0,0 +1,2 @@
+DIST vim-qt-20140827.tar.gz 12251966 SHA256 61eba646bf25fd3caa40943ecd91e5e7a813e11ca71d899e9e844e3f69e97a60 SHA512 0ab352a64f138e68059311908b2e4b0cbbec55c2fa889ff64f863670c3d1ee0022d26877175090d5c256eb1cdfaf7d23d385044a68e2eb8b50b1cdab2a20827f WHIRLPOOL ea397f465902796761c44e6521ab6b2660498d1e3ce4821d3265517ba1c72984b93e580549be921e156771f2ccbb86fce1c830035ad00513eb9e42c1f1ff6abd
+DIST vim-qt-20150102.tar.gz 12285083 SHA256 1a3553f491e7990d4256c3c70f2d9d1804c2de5c6ac2c12845b173ff3d531157 SHA512 37434ff6cbac3dd97e3c5cb328a857afa8a8ddc4cea7b3879a06b4dd418e5b7516a68dc5c2b0c9c8b6332d316fc593b120400eab04c444c0065f3b74ae2d682d WHIRLPOOL 60d9838532b25ad8c31638e51ccf82769382dccb420c070068537ad7c15314dbc2b5fd177ed9d57674b3f593937f3c539bdd7a98e305eab40059a29ae4bf2b09
diff --git a/app-editors/vim-qt/files/vim-qt.desktop b/app-editors/vim-qt/files/vim-qt.desktop
new file mode 100644
index 000000000000..207bf332ed14
--- /dev/null
+++ b/app-editors/vim-qt/files/vim-qt.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=vim-Qt
+Comment=A highly configurable text editor
+Exec=qvim -f %F
+Icon=vim-qt
+Terminal=false
+Type=Application
+MimeType=text/plain;
+Categories=Qt;TextEditor;Development;
diff --git a/app-editors/vim-qt/metadata.xml b/app-editors/vim-qt/metadata.xml
new file mode 100644
index 000000000000..502c73de07f6
--- /dev/null
+++ b/app-editors/vim-qt/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>qt</herd>
+ <use>
+ <flag name="luajit">Use <pkg>dev-lang/luajit</pkg> instead of <pkg>dev-lang/lua</pkg></flag>
+ <flag name="racket">Enable support for Scheme using <pkg>dev-lang/racket</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">equalsraf/vim-qt</remote-id>
+ <remote-id type="bitbucket">equalsraf/vim-qt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/vim-qt/vim-qt-20140827-r2.ebuild b/app-editors/vim-qt/vim-qt-20140827-r2.ebuild
new file mode 100644
index 000000000000..12d724ce82f0
--- /dev/null
+++ b/app-editors/vim-qt/vim-qt-20140827-r2.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="threads"
+inherit eutils fdo-mime flag-o-matic prefix python-single-r1
+
+DESCRIPTION="Qt GUI version of the Vim text editor"
+HOMEPAGE="https://bitbucket.org/equalsraf/vim-qt/wiki/Home"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI=(
+ "https://bitbucket.org/equalsraf/${PN}.git"
+ "https://github.com/equalsraf/${PN}.git"
+ "git://gitorious.org/${PN}/${PN}.git"
+ )
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/equalsraf/${PN}/archive/package-${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${PN}-package-${PV}"
+fi
+
+LICENSE="vim"
+SLOT="0"
+IUSE="acl cscope debug lua luajit nls perl python racket ruby"
+
+REQUIRED_USE="luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=app-eselect/eselect-vi-1.1.8
+ >=app-editors/vim-core-7.4.417[acl?]
+ sys-libs/ncurses
+ >=dev-qt/qtcore-4.7.0:4
+ >=dev-qt/qtgui-4.7.0:4
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ cscope? ( dev-util/cscope )
+ lua? ( luajit? ( dev-lang/luajit )
+ !luajit? ( dev-lang/lua[deprecated] ) )
+ nls? ( virtual/libintl )
+ perl? ( dev-lang/perl )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.0 dev-lang/ruby:1.9 ) )"
+DEPEND="${RDEPEND}
+ dev-util/ctags
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+pkg_setup() {
+ export LC_COLLATE="C" # prevent locale brokenness
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Read vimrc from /etc/vim/
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+}
+
+src_configure() {
+ use debug && append-flags "-DDEBUG"
+
+ local myconf="--with-features=huge --disable-gpm --enable-multibyte"
+ myconf+=" $(use_enable acl)"
+ myconf+=" $(use_enable cscope)"
+ myconf+=" $(use_enable nls)"
+ myconf+=" $(use_enable lua luainterp)"
+ myconf+=" $(use_with luajit)"
+ myconf+=" $(use_enable perl perlinterp)"
+ myconf+=" $(use_enable racket mzschemeinterp)"
+ myconf+=" $(use_enable ruby rubyinterp)"
+
+ if ! use cscope ; then
+ sed -i -e '/# define FEAT_CSCOPE/d' src/feature.h || die 'sed failed'
+ fi
+
+ # keep prefix env contained within the EPREFIX
+ use prefix && myconf+=" --without-local-dir"
+
+ if use python ; then
+ if [[ ${EPYTHON} == python3* ]] ; then
+ myconf+=" --enable-python3interp"
+ export vi_cv_path_python3="${PYTHON}"
+ else
+ myconf+=" --enable-pythoninterp"
+ export vi_cv_path_python="${PYTHON}"
+ fi
+ else
+ myconf+=" --disable-pythoninterp --disable-python3interp"
+ fi
+
+ econf ${myconf} --enable-gui=qt --with-vim-name=qvim --with-modified-by=Gentoo-${PVR}
+}
+
+src_install() {
+ dobin src/qvim
+ dosym qvim /usr/bin/qvimdiff
+
+ dodir /usr/share/man/man1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/qvim.1
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/qvimdiff.1
+
+ # track https://bitbucket.org/equalsraf/vim-qt/issue/93/include-desktop-file-in-source
+ # for inclusion of desktop file
+ newmenu "${FILESDIR}"/vim-qt.desktop vim-qt.desktop
+ doicon -s 64 src/qt/icons/vim-qt.png
+}
+
+pkg_postinst() {
+ fdo-mime_mime_database_update
+}
+
+pkg_postrm() {
+ fdo-mime_mime_database_update
+}
diff --git a/app-editors/vim-qt/vim-qt-20150102.ebuild b/app-editors/vim-qt/vim-qt-20150102.ebuild
new file mode 100644
index 000000000000..e2d31b22a076
--- /dev/null
+++ b/app-editors/vim-qt/vim-qt-20150102.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="threads"
+
+inherit eutils fdo-mime flag-o-matic prefix python-single-r1
+
+DESCRIPTION="Qt GUI version of the Vim text editor"
+HOMEPAGE="https://bitbucket.org/equalsraf/vim-qt/wiki/Home"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI=(
+ "https://bitbucket.org/equalsraf/${PN}.git"
+ "https://github.com/equalsraf/${PN}.git"
+ )
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/equalsraf/${PN}/archive/package-${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S=${WORKDIR}/${PN}-package-${PV}
+fi
+
+LICENSE="vim"
+SLOT="0"
+IUSE="acl cscope debug lua luajit nls perl python racket ruby"
+
+REQUIRED_USE="luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=app-editors/vim-core-7.4.560[acl?]
+ >=app-eselect/eselect-vi-1.1.8
+ >=dev-qt/qtcore-4.7.0:4
+ >=dev-qt/qtgui-4.7.0:4
+ sys-libs/ncurses
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ cscope? ( dev-util/cscope )
+ lua? ( luajit? ( dev-lang/luajit )
+ !luajit? ( dev-lang/lua[deprecated] ) )
+ nls? ( virtual/libintl )
+ perl? ( dev-lang/perl )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.0 dev-lang/ruby:1.9 ) )"
+DEPEND="${RDEPEND}
+ dev-util/ctags
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+pkg_setup() {
+ export LC_COLLATE="C" # prevent locale brokenness
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Read vimrc from /etc/vim/
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+}
+
+src_configure() {
+ use debug && append-flags "-DDEBUG"
+
+ local myconf="--with-features=huge --disable-gpm --enable-multibyte"
+ myconf+=" $(use_enable acl)"
+ myconf+=" $(use_enable cscope)"
+ myconf+=" $(use_enable nls)"
+ myconf+=" $(use_enable lua luainterp)"
+ myconf+=" $(use_with luajit)"
+ myconf+=" $(use_enable perl perlinterp)"
+ myconf+=" $(use_enable racket mzschemeinterp)"
+ myconf+=" $(use_enable ruby rubyinterp)"
+
+ if ! use cscope ; then
+ sed -i -e '/# define FEAT_CSCOPE/d' src/feature.h || die 'sed failed'
+ fi
+
+ # keep prefix env contained within the EPREFIX
+ use prefix && myconf+=" --without-local-dir"
+
+ if use python ; then
+ if [[ ${EPYTHON} == python3* ]] ; then
+ myconf+=" --enable-python3interp"
+ export vi_cv_path_python3="${PYTHON}"
+ else
+ myconf+=" --enable-pythoninterp"
+ export vi_cv_path_python="${PYTHON}"
+ fi
+ else
+ myconf+=" --disable-pythoninterp --disable-python3interp"
+ fi
+
+ econf ${myconf} --enable-gui=qt --with-vim-name=qvim --with-modified-by=Gentoo-${PVR}
+}
+
+src_install() {
+ dobin src/qvim
+ dosym qvim /usr/bin/qvimdiff
+
+ dodir /usr/share/man/man1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/qvim.1
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/qvimdiff.1
+
+ # track https://bitbucket.org/equalsraf/vim-qt/issue/93/include-desktop-file-in-source
+ # for inclusion of desktop file
+ newmenu "${FILESDIR}"/vim-qt.desktop vim-qt.desktop
+ doicon -s 64 src/qt/icons/vim-qt.png
+}
+
+pkg_postinst() {
+ fdo-mime_mime_database_update
+}
+
+pkg_postrm() {
+ fdo-mime_mime_database_update
+}
diff --git a/app-editors/vim/Manifest b/app-editors/vim/Manifest
new file mode 100644
index 000000000000..e2e8b9ba4b57
--- /dev/null
+++ b/app-editors/vim/Manifest
@@ -0,0 +1,9 @@
+DIST vim-7.4.542-gentoo-patches.tar.bz2 3307 SHA256 0eb635f13e199de77846e0d363a473882f2186f138158271fabf0975747a2f3d SHA512 446c66764dac2533cc2f2b3d50481971d4c63a4e81d94c545862a1be620179fdcd81a79f2d81737d1188812a6ad41d90e2a752a05acf6913e7a71464f7cecdd9 WHIRLPOOL cfca8feef0eb8096897ef751afb0427acddd008530ded6cf908fcff51be9713da4ea3e5e613d544c5caba400d664ae19ca70925df3a218bec5c8be6f69aadda2
+DIST vim-7.4.591.patch.xz 805892 SHA256 6556595e75666b35cce58dcd585605e3d8910477761cee0fb34317d8969e0344 SHA512 fd98fa6e84fb1b6dc3c80f1e68694ee3711678e66234953962c6bad1aaf045c053c3824d25dd3df9842951e9c5e3ca630b65fafedc30fa6c31313822e3518968 WHIRLPOOL 47f5a75d2faec35460ee0af565437da275b2cd18259645456a76ba79d289d7b8f7392cde95d6cb5da5e2b4657043c11f5f363e99d1cb8457f83dfa884f5ab238
+DIST vim-7.4.622.patch.xz 816104 SHA256 f9d6624b7c8e5cbae749eff3f3bef30f7b10554fa04edf7fe3c85828b2b2e7a8 SHA512 544258cca6e46291743f95acba3dbc7844fddf0f579706cb7903f338b359b852cb4818238e7402e2b5413fa1a2ca9084246ffe39a7c23d29d14883594caa65c3 WHIRLPOOL 2b92e418892bc99c45e6b56592635804394e282c8f0959addf1a93434dccdfb06fa75f39f171624f484cc6a6420bfd6ea6a9d30b1b0a9694cb8a14cbf42e456e
+DIST vim-7.4.670.patch.xz 845000 SHA256 5ffbb05466c68aea08fda6067a6a46e068beece3e26d33098964e5e472439ec0 SHA512 04e2c54fe4b6afba6f8b123ef24d63e898667c808083b91ea5affa6607ad1661b081fa0bd6536a5a2260dbd2b818e7942ef3896719ed82fcc071355239cba536 WHIRLPOOL 6b632e757101d4a54989bd85c0b6186326573794504dc0dd0ebf25e14fca5827b4a884677c380381359968687e40d4aa4ea27b42d5419538a0e843c4356227e6
+DIST vim-7.4.712.patch.xz 890304 SHA256 fa385439a55703715704b7163dc7ac4a53908d908bd456af432dd5618144c630 SHA512 639847f6c5e92c5838b259f83ffb8b473e8ad7142589e72e2dcd0d51a9e9d272c29ec4fd4239ee21bcf5599f3cc6cc790aee02fe2b860f7d79ce1d3a811a6dd0 WHIRLPOOL f9fe642fe68f324e2e68d1fcdda80d15e2eac6e7a246561728fa467c90e271cd83aab6b24adfec65977ab12cf0fd9ec5c1848bbfdc2342e63114f321234e95d9
+DIST vim-7.4.738.tar.gz 12178346 SHA256 f95cf39278ca67837538f8146dd4701de4a4da610d95687da252d458137dcb40 SHA512 4ef990c5b869a571f0ddafac7c14ef17b62e2a9e2e74f1adaa8a69f92f3c6f56a21f60a3b53cbb64922df8c709d4e8ba9aee081476ce90f5665b1124a7de9a3a WHIRLPOOL 92e9c019f2e0677fb2db99995f56b49a034abe5da2051d0012c05e6f74ab88070b635e5159c09c6635d69c23fc81afafdc11e37e17e9338a9ca41de9381cd1a1
+DIST vim-7.4.769.tar.gz 12189506 SHA256 d9b9c3af27161545a1e086e1ee9485432c0b1a792a1a59755f04ef94136c5042 SHA512 ce3917cc68dba8b69696eb43436f90347c68a687f1e8c4b2f15f4a232ff7ce1a581a61737042ec49548d78c5f010e55e4c40b051b1a2574bbc27146a9249f15c WHIRLPOOL 230304892e501ef9851bf9f0c9fc9c888bfe1ad2cd703bcd62c449866e28308027c37c7ed466966951ec9c5feb5d9ec82e843528861212cb40a5bf4cec6e8947
+DIST vim-7.4.tar.bz2 9843297 SHA256 d0f5a6d2c439f02d97fa21bd9121f4c5abb1f6cd8b5a79d3ca82867495734ade SHA512 65d55da556ee283a364b376d251b70e430b7a157bb5a8ee89565060ff9937907966d416cffd33f701b3314d0fdf16efe00065f66bc8459469f5ae2f713418e0e WHIRLPOOL 914fc2c4fd485196410d853990bb5cc4c0071bc36dc0794655ec05cc0b5f7d2971dea780cc7293fcfbd4495a30a7437a3b1e33a2b6795c10a9f05a2eac3ca6f4
+DIST vim-patches-7.4.273.patch.bz2 506378 SHA256 065447179d22602315e2965d135cf9f1db4394ff5655520719f6338ff29e89ca SHA512 029a5cef758e4b201eabbc82458f3e1c3674582715a8c78a7270f3ecd57980b1cef66a0152526fd3505685c27c07f6e6742da48da9ad9546e3cfc2a5e7c11164 WHIRLPOOL 305322e991e9640b80147dd5ceac9dd6dae93a07610f807bbf01c0fdf37cba67ea41a1b2720c8a43da0161c57e0a522086f135efc712fb0106497a21288a872a
diff --git a/app-editors/vim/files/vim-completion b/app-editors/vim/files/vim-completion
new file mode 100644
index 000000000000..67537d63101d
--- /dev/null
+++ b/app-editors/vim/files/vim-completion
@@ -0,0 +1,36 @@
+# Author: Ciaran McCreesh <ciaranm@gentoo.org>
+#
+# completion for vim
+
+_vim()
+{
+ local cur prev cmd args
+
+ COMPREPLY=()
+ cur=${COMP_WORDS[COMP_CWORD]}
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+ cmd=${COMP_WORDS[0]}
+
+ if [[ "${prev}" == "--servername" ]] ; then
+ local servers
+ servers=$(gvim --serverlist )
+ COMPREPLY=( $( compgen -W "${servers}" -- $cur ) )
+
+ elif [[ "${prev}" == -[uUi] ]] ; then
+ COMPREPLY=( $( compgen -W "NONE" ) \
+ $( compgen -f -X "!*vim*" -- "$cur" ) )
+
+ elif [[ "${cur}" == -* ]] ; then
+ args='-t -q -c -S --cmd -A -b -C -d -D -e -E -f --nofork \
+ -F -g -h -H -i -L -l -m -M -N -n -nb -o -R -r -s \
+ -T -u -U -V -v -w -W -x -X -y -Y -Z --echo-wid \
+ --help --literal --noplugin --version'
+ COMPREPLY=( $( compgen -W "${args}" -- $cur ) )
+ else
+ _filedir
+ fi
+}
+
+complete -o filenames -F _vim vim ex vi view rvim rview vimdiff
+
+# vim: set ft=sh sw=4 et sts=4 :
diff --git a/app-editors/vim/metadata.xml b/app-editors/vim/metadata.xml
new file mode 100644
index 000000000000..6ec53ae58520
--- /dev/null
+++ b/app-editors/vim/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>vim</herd>
+ <use>
+ <flag name="luajit">Use <pkg>dev-lang/luajit</pkg> instead of <pkg>dev-lang/lua</pkg></flag>
+ <flag name="racket">Enable support for Scheme using <pkg>dev-lang/racket</pkg></flag>
+ <flag name="vim-pager">Install vimpager and vimmanpager links</flag>
+ <flag name="X">Link console vim against X11 libraries to enable title and
+ clipboard features in xterm</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:vim:vim</remote-id>
+ <remote-id type="github">vim/vim</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/vim/vim-7.4.273.ebuild b/app-editors/vim/vim-7.4.273.ebuild
new file mode 100644
index 000000000000..67a2a8887790
--- /dev/null
+++ b/app-editors/vim/vim-7.4.273.ebuild
@@ -0,0 +1,369 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 python-single-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit mercurial
+ EHG_REPO_URI="https://vim.googlecode.com/hg/"
+ EHG_PROJECT="vim"
+else
+ VIM_ORG_PATCHES="vim-patches-${PV}.patch.bz2"
+
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2
+ http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCHES}"
+ KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="Vim, an improved vi-style text editor"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager"
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ luajit? ( lua )
+"
+
+RDEPEND="
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2
+ nls? ( virtual/libintl )
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ cscope? ( dev-util/cscope )
+ gpm? ( >=sys-libs/gpm-1.19.3 )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ !minimal? (
+ ~app-editors/vim-core-${PV}
+ dev-util/ctags
+ )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.1 dev-lang/ruby:2.0 dev-lang/ruby:1.9 dev-lang/ruby:1.8 ) )
+ selinux? ( sys-libs/libselinux )
+ tcl? ( dev-lang/tcl:0= )
+ X? ( x11-libs/libXt )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ >=sys-libs/ncurses-5.2-r2
+ nls? ( sys-devel/gettext )
+"
+
+S=${WORKDIR}/vim${VIM_VERSION/.}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -f "${WORKDIR}"/${VIM_ORG_PATCHES%.bz2} ]] ; then
+ # Apply any patches available from vim.org for this version
+ epatch "${WORKDIR}"/${VIM_ORG_PATCHES%.bz2}
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager ; then
+ cat <<-END > "${S}"/runtime/macros/manpager.sh
+ #!/bin/sh
+ sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
+ vim \\
+ -c 'let no_plugin_maps = 1' \\
+ -c 'set nolist nomod ft=man' \\
+ -c 'let g:showmarks_enable=0' \\
+ -c 'runtime! macros/less.vim' -
+ END
+ fi
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's/ auto.config.mk:/:/' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ if use minimal ; then
+ myconf="--with-features=tiny \
+ --disable-nls \
+ --disable-multibyte \
+ --disable-acl \
+ --enable-gui=no \
+ --without-x \
+ --disable-darwin \
+ --disable-luainterp \
+ --disable-perlinterp \
+ --disable-pythoninterp \
+ --disable-mzschemeinterp \
+ --disable-rubyinterp \
+ --disable-selinux \
+ --disable-tclinterp \
+ --disable-gpm"
+ else
+ use debug && append-flags "-DDEBUG"
+
+ myconf="--with-features=huge --enable-multibyte"
+ myconf+=" $(use_enable acl)"
+ myconf+=" $(use_enable cscope)"
+ myconf+=" $(use_enable gpm)"
+ myconf+=" $(use_enable lua luainterp)"
+ myconf+=" $(use_with luajit)"
+ myconf+=" $(use_enable nls)"
+ myconf+=" $(use_enable perl perlinterp)"
+ myconf+=" $(use_enable racket mzschemeinterp)"
+ myconf+=" $(use_enable ruby rubyinterp)"
+ myconf+=" $(use_enable selinux)"
+ myconf+=" $(use_enable tcl tclinterp)"
+
+ if use python ; then
+ if [[ ${EPYTHON} == python3* ]] ; then
+ myconf+=" --enable-python3interp"
+ export vi_cv_path_python3="${PYTHON}"
+ else
+ myconf+=" --enable-pythoninterp"
+ export vi_cv_path_python="${PYTHON}"
+ fi
+ else
+ myconf+=" --disable-pythoninterp --disable-python3interp"
+ fi
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # don't test USE=X here ... see bug #19115
+ # but need to provide a way to link against X ... see bug #20093
+ myconf+=" --enable-gui=no --disable-darwin $(use_with X x)"
+ fi
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=" --without-local-dir"
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ ${myconf}
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # We've got to call make test from within testdir, since the Makefiles
+ # don't pass through our VIMPROG argument
+ cd "${S}"/src/testdir
+
+ # Test 49 won't work inside a portage environment
+ einfo "Test 49 isn't sandbox-friendly, so it will be skipped."
+ sed -i 's~test49.out~~g' Makefile
+
+ # We don't want to rebuild vim before running the tests
+ sed -i 's,: \$(VIMPROG),: ,' Makefile
+
+ # Don't try to do the additional GUI test
+ emake -j1 VIMPROG=../vim nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ has "${EAPI:-0}" 0 1 2 && use !prefix && EROOT="${ROOT}"
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
+ # managed by eselect-vi
+ dobin src/vim
+ dosym vim /usr/bin/vimdiff
+ dosym vim /usr/bin/rvim
+ dosym vim /usr/bin/rview
+ if use vim-pager ; then
+ dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
+ dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
+ insinto ${vimfiles}/macros
+ doins runtime/macros/manpager.sh
+ fperms a+x ${vimfiles}/macros/manpager.sh
+ fi
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ if use X ; then
+ echo
+ elog "The 'X' USE flag enables vim <-> X communication, like"
+ elog "updating the xterm titlebar. It does not install a GUI."
+ fi
+ echo
+ elog "To install a GUI version of vim, use the app-editors/gvim"
+ elog "package."
+ echo
+ elog "Vim 7 includes an integrated spell checker. You need to install"
+ elog "word list files before you can use it. There are ebuilds for"
+ elog "some of these named app-vim/vim-spell-*. If your language of"
+ elog "choice is not included, please consult vim-spell.eclass for"
+ elog "instructions on how to make a package."
+ echo
+ ewarn "Note that the English word lists are no longer installed by"
+ ewarn "default."
+ fi
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/vim/vim-7.4.591.ebuild b/app-editors/vim/vim-7.4.591.ebuild
new file mode 100644
index 000000000000..df45673fc7b7
--- /dev/null
+++ b/app-editors/vim/vim-7.4.591.ebuild
@@ -0,0 +1,388 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 python-single-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit mercurial
+ EHG_REPO_URI="https://vim.googlecode.com/hg/"
+ EHG_PROJECT="vim"
+else
+ VIM_ORG_PATCH="vim-${PV}.patch.xz"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2
+ http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCH}
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="Vim, an improved vi-style text editor"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager"
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ luajit? ( lua )
+"
+
+RDEPEND="
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2
+ nls? ( virtual/libintl )
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ cscope? ( dev-util/cscope )
+ gpm? ( >=sys-libs/gpm-1.19.3 )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ !minimal? (
+ ~app-editors/vim-core-${PV}
+ dev-util/ctags
+ )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) )
+ selinux? ( sys-libs/libselinux )
+ tcl? ( dev-lang/tcl:0= )
+ X? ( x11-libs/libXt )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ nls? ( sys-devel/gettext )
+"
+
+S=${WORKDIR}/vim${VIM_VERSION/.}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -f "${WORKDIR}"/${VIM_ORG_PATCH%.xz} ]] ; then
+ # Apply any patches available from vim.org for this version
+ epatch "${WORKDIR}"/${VIM_ORG_PATCH%.xz}
+ fi
+
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager ; then
+ cat <<-END > "${S}"/runtime/macros/manpager.sh
+ #!/bin/sh
+ sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
+ vim \\
+ -c 'let no_plugin_maps = 1' \\
+ -c 'set nolist nomod ft=man' \\
+ -c 'let g:showmarks_enable=0' \\
+ -c 'runtime! macros/less.vim' -
+ END
+ fi
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ if use minimal ; then
+ myconf=(
+ --with-features=tiny
+ --disable-nls
+ --disable-multibyte
+ --disable-acl
+ --enable-gui=no
+ --without-x
+ --disable-darwin
+ --disable-luainterp
+ --disable-perlinterp
+ --disable-pythoninterp
+ --disable-mzschemeinterp
+ --disable-rubyinterp
+ --disable-selinux
+ --disable-tclinterp
+ --disable-gpm
+ )
+ else
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable gpm)
+ $(use_enable lua luainterp)
+ $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "")
+ $(use_with luajit)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable tcl tclinterp)
+ )
+
+ if use python ; then
+ if [[ ${EPYTHON} == python3* ]] ; then
+ myconf+=( --enable-python3interp )
+ export vi_cv_path_python3="${PYTHON}"
+ else
+ myconf+=( --enable-pythoninterp )
+ export vi_cv_path_python="${PYTHON}"
+ fi
+ else
+ myconf+=(
+ --disable-pythoninterp
+ --disable-python3interp
+ )
+ fi
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # don't test USE=X here ... see bug #19115
+ # but need to provide a way to link against X ... see bug #20093
+ myconf+=(
+ --enable-gui=no
+ --disable-darwin
+ $(use_with X x)
+ )
+ fi
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # We've got to call make test from within testdir, since the Makefiles
+ # don't pass through our VIMPROG argument
+ cd "${S}"/src/testdir
+
+ # Test 49 won't work inside a portage environment
+ einfo "Test 49 isn't sandbox-friendly, so it will be skipped."
+ sed -i 's~test49.out~~g' Makefile
+
+ # We don't want to rebuild vim before running the tests
+ sed -i 's,: \$(VIMPROG),: ,' Makefile
+
+ # Don't try to do the additional GUI test
+ emake -j1 VIMPROG=../vim nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
+ # managed by eselect-vi
+ dobin src/vim
+ dosym vim /usr/bin/vimdiff
+ dosym vim /usr/bin/rvim
+ dosym vim /usr/bin/rview
+ if use vim-pager ; then
+ dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
+ dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
+ insinto ${vimfiles}/macros
+ doins runtime/macros/manpager.sh
+ fperms a+x ${vimfiles}/macros/manpager.sh
+ fi
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+ # keep in sync with 'complete ... -F' list
+ bashcomp_alias vim ex vi view rvim rview vimdiff
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ if use X ; then
+ echo
+ elog "The 'X' USE flag enables vim <-> X communication, like"
+ elog "updating the xterm titlebar. It does not install a GUI."
+ fi
+ echo
+ elog "To install a GUI version of vim, use the app-editors/gvim"
+ elog "package."
+ echo
+ elog "Vim 7 includes an integrated spell checker. You need to install"
+ elog "word list files before you can use it. There are ebuilds for"
+ elog "some of these named app-vim/vim-spell-*. If your language of"
+ elog "choice is not included, please consult vim-spell.eclass for"
+ elog "instructions on how to make a package."
+ echo
+ ewarn "Note that the English word lists are no longer installed by"
+ ewarn "default."
+ fi
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/vim/vim-7.4.622.ebuild b/app-editors/vim/vim-7.4.622.ebuild
new file mode 100644
index 000000000000..ebb3f327dd03
--- /dev/null
+++ b/app-editors/vim/vim-7.4.622.ebuild
@@ -0,0 +1,394 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 python-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit mercurial
+ EHG_REPO_URI="https://vim.googlecode.com/hg/"
+ EHG_PROJECT="vim"
+else
+ VIM_ORG_PATCH="vim-${PV}.patch.xz"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2
+ http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCH}
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="Vim, an improved vi-style text editor"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? (
+ || ( $(python_gen_useflags '*') )
+ ?? ( $(python_gen_useflags 'python2*') )
+ ?? ( $(python_gen_useflags 'python3*') )
+ )
+"
+
+RDEPEND="
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2
+ nls? ( virtual/libintl )
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ cscope? ( dev-util/cscope )
+ gpm? ( >=sys-libs/gpm-1.19.3 )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ !minimal? (
+ ~app-editors/vim-core-${PV}
+ dev-util/ctags
+ )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) )
+ selinux? ( sys-libs/libselinux )
+ tcl? ( dev-lang/tcl:0= )
+ X? ( x11-libs/libXt )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ nls? ( sys-devel/gettext )
+"
+
+S=${WORKDIR}/vim${VIM_VERSION/.}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -f "${WORKDIR}"/${VIM_ORG_PATCH%.xz} ]] ; then
+ # Apply any patches available from vim.org for this version
+ epatch "${WORKDIR}"/${VIM_ORG_PATCH%.xz}
+ fi
+
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager ; then
+ cat <<-END > "${S}"/runtime/macros/manpager.sh
+ #!/bin/sh
+ sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
+ vim \\
+ -c 'let no_plugin_maps = 1' \\
+ -c 'set nolist nomod ft=man' \\
+ -c 'let g:showmarks_enable=0' \\
+ -c 'runtime! macros/less.vim' -
+ END
+ fi
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ if use minimal ; then
+ myconf=(
+ --with-features=tiny
+ --disable-nls
+ --disable-multibyte
+ --disable-acl
+ --enable-gui=no
+ --without-x
+ --disable-darwin
+ --disable-luainterp
+ --disable-perlinterp
+ --disable-pythoninterp
+ --disable-mzschemeinterp
+ --disable-rubyinterp
+ --disable-selinux
+ --disable-tclinterp
+ --disable-gpm
+ )
+ else
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable gpm)
+ $(use_enable lua luainterp)
+ $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "")
+ $(use_with luajit)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable tcl tclinterp)
+ )
+
+ if use python ; then
+ py_add_interp() {
+ local v
+
+ [[ ${EPYTHON} == python3* ]] && v=3
+ myconf+=(
+ --enable-python${v}interp
+ vi_cv_path_python${v}="${PYTHON}"
+ )
+ }
+
+ python_foreach_impl py_add_interp
+ else
+ myconf+=(
+ --disable-pythoninterp
+ --disable-python3interp
+ )
+ fi
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # don't test USE=X here ... see bug #19115
+ # but need to provide a way to link against X ... see bug #20093
+ myconf+=(
+ --enable-gui=no
+ --disable-darwin
+ $(use_with X x)
+ )
+ fi
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # We've got to call make test from within testdir, since the Makefiles
+ # don't pass through our VIMPROG argument
+ cd "${S}"/src/testdir
+
+ # Test 49 won't work inside a portage environment
+ einfo "Test 49 isn't sandbox-friendly, so it will be skipped."
+ sed -i 's~test49.out~~g' Makefile
+
+ # We don't want to rebuild vim before running the tests
+ sed -i 's,: \$(VIMPROG),: ,' Makefile
+
+ # Don't try to do the additional GUI test
+ emake -j1 VIMPROG=../vim nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
+ # managed by eselect-vi
+ dobin src/vim
+ dosym vim /usr/bin/vimdiff
+ dosym vim /usr/bin/rvim
+ dosym vim /usr/bin/rview
+ if use vim-pager ; then
+ dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
+ dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
+ insinto ${vimfiles}/macros
+ doins runtime/macros/manpager.sh
+ fperms a+x ${vimfiles}/macros/manpager.sh
+ fi
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+ # keep in sync with 'complete ... -F' list
+ bashcomp_alias vim ex vi view rvim rview vimdiff
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ if use X ; then
+ echo
+ elog "The 'X' USE flag enables vim <-> X communication, like"
+ elog "updating the xterm titlebar. It does not install a GUI."
+ fi
+ echo
+ elog "To install a GUI version of vim, use the app-editors/gvim"
+ elog "package."
+ echo
+ elog "Vim 7 includes an integrated spell checker. You need to install"
+ elog "word list files before you can use it. There are ebuilds for"
+ elog "some of these named app-vim/vim-spell-*. If your language of"
+ elog "choice is not included, please consult vim-spell.eclass for"
+ elog "instructions on how to make a package."
+ echo
+ ewarn "Note that the English word lists are no longer installed by"
+ ewarn "default."
+ fi
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/vim/vim-7.4.670.ebuild b/app-editors/vim/vim-7.4.670.ebuild
new file mode 100644
index 000000000000..ebb3f327dd03
--- /dev/null
+++ b/app-editors/vim/vim-7.4.670.ebuild
@@ -0,0 +1,394 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 python-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit mercurial
+ EHG_REPO_URI="https://vim.googlecode.com/hg/"
+ EHG_PROJECT="vim"
+else
+ VIM_ORG_PATCH="vim-${PV}.patch.xz"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2
+ http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCH}
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="Vim, an improved vi-style text editor"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? (
+ || ( $(python_gen_useflags '*') )
+ ?? ( $(python_gen_useflags 'python2*') )
+ ?? ( $(python_gen_useflags 'python3*') )
+ )
+"
+
+RDEPEND="
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2
+ nls? ( virtual/libintl )
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ cscope? ( dev-util/cscope )
+ gpm? ( >=sys-libs/gpm-1.19.3 )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ !minimal? (
+ ~app-editors/vim-core-${PV}
+ dev-util/ctags
+ )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) )
+ selinux? ( sys-libs/libselinux )
+ tcl? ( dev-lang/tcl:0= )
+ X? ( x11-libs/libXt )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ nls? ( sys-devel/gettext )
+"
+
+S=${WORKDIR}/vim${VIM_VERSION/.}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -f "${WORKDIR}"/${VIM_ORG_PATCH%.xz} ]] ; then
+ # Apply any patches available from vim.org for this version
+ epatch "${WORKDIR}"/${VIM_ORG_PATCH%.xz}
+ fi
+
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager ; then
+ cat <<-END > "${S}"/runtime/macros/manpager.sh
+ #!/bin/sh
+ sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
+ vim \\
+ -c 'let no_plugin_maps = 1' \\
+ -c 'set nolist nomod ft=man' \\
+ -c 'let g:showmarks_enable=0' \\
+ -c 'runtime! macros/less.vim' -
+ END
+ fi
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ if use minimal ; then
+ myconf=(
+ --with-features=tiny
+ --disable-nls
+ --disable-multibyte
+ --disable-acl
+ --enable-gui=no
+ --without-x
+ --disable-darwin
+ --disable-luainterp
+ --disable-perlinterp
+ --disable-pythoninterp
+ --disable-mzschemeinterp
+ --disable-rubyinterp
+ --disable-selinux
+ --disable-tclinterp
+ --disable-gpm
+ )
+ else
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable gpm)
+ $(use_enable lua luainterp)
+ $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "")
+ $(use_with luajit)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable tcl tclinterp)
+ )
+
+ if use python ; then
+ py_add_interp() {
+ local v
+
+ [[ ${EPYTHON} == python3* ]] && v=3
+ myconf+=(
+ --enable-python${v}interp
+ vi_cv_path_python${v}="${PYTHON}"
+ )
+ }
+
+ python_foreach_impl py_add_interp
+ else
+ myconf+=(
+ --disable-pythoninterp
+ --disable-python3interp
+ )
+ fi
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # don't test USE=X here ... see bug #19115
+ # but need to provide a way to link against X ... see bug #20093
+ myconf+=(
+ --enable-gui=no
+ --disable-darwin
+ $(use_with X x)
+ )
+ fi
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # We've got to call make test from within testdir, since the Makefiles
+ # don't pass through our VIMPROG argument
+ cd "${S}"/src/testdir
+
+ # Test 49 won't work inside a portage environment
+ einfo "Test 49 isn't sandbox-friendly, so it will be skipped."
+ sed -i 's~test49.out~~g' Makefile
+
+ # We don't want to rebuild vim before running the tests
+ sed -i 's,: \$(VIMPROG),: ,' Makefile
+
+ # Don't try to do the additional GUI test
+ emake -j1 VIMPROG=../vim nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
+ # managed by eselect-vi
+ dobin src/vim
+ dosym vim /usr/bin/vimdiff
+ dosym vim /usr/bin/rvim
+ dosym vim /usr/bin/rview
+ if use vim-pager ; then
+ dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
+ dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
+ insinto ${vimfiles}/macros
+ doins runtime/macros/manpager.sh
+ fperms a+x ${vimfiles}/macros/manpager.sh
+ fi
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+ # keep in sync with 'complete ... -F' list
+ bashcomp_alias vim ex vi view rvim rview vimdiff
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ if use X ; then
+ echo
+ elog "The 'X' USE flag enables vim <-> X communication, like"
+ elog "updating the xterm titlebar. It does not install a GUI."
+ fi
+ echo
+ elog "To install a GUI version of vim, use the app-editors/gvim"
+ elog "package."
+ echo
+ elog "Vim 7 includes an integrated spell checker. You need to install"
+ elog "word list files before you can use it. There are ebuilds for"
+ elog "some of these named app-vim/vim-spell-*. If your language of"
+ elog "choice is not included, please consult vim-spell.eclass for"
+ elog "instructions on how to make a package."
+ echo
+ ewarn "Note that the English word lists are no longer installed by"
+ ewarn "default."
+ fi
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/vim/vim-7.4.712.ebuild b/app-editors/vim/vim-7.4.712.ebuild
new file mode 100644
index 000000000000..9d053bd1bc1e
--- /dev/null
+++ b/app-editors/vim/vim-7.4.712.ebuild
@@ -0,0 +1,394 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 python-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit mercurial
+ EHG_REPO_URI="https://vim.googlecode.com/hg/"
+ EHG_PROJECT="vim"
+else
+ VIM_ORG_PATCH="vim-${PV}.patch.xz"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2
+ http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCH}
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="Vim, an improved vi-style text editor"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? (
+ || ( $(python_gen_useflags '*') )
+ ?? ( $(python_gen_useflags 'python2*') )
+ ?? ( $(python_gen_useflags 'python3*') )
+ )
+"
+
+RDEPEND="
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2
+ nls? ( virtual/libintl )
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ cscope? ( dev-util/cscope )
+ gpm? ( >=sys-libs/gpm-1.19.3 )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ !minimal? (
+ ~app-editors/vim-core-${PV}
+ dev-util/ctags
+ )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) )
+ selinux? ( sys-libs/libselinux )
+ tcl? ( dev-lang/tcl:0= )
+ X? ( x11-libs/libXt )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ nls? ( sys-devel/gettext )
+"
+
+S=${WORKDIR}/vim${VIM_VERSION/.}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -f "${WORKDIR}"/${VIM_ORG_PATCH%.xz} ]] ; then
+ # Apply any patches available from vim.org for this version
+ epatch "${WORKDIR}"/${VIM_ORG_PATCH%.xz}
+ fi
+
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager ; then
+ cat <<-END > "${S}"/runtime/macros/manpager.sh
+ #!/bin/sh
+ sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
+ vim \\
+ -c 'let no_plugin_maps = 1' \\
+ -c 'set nolist nomod ft=man ts=8' \\
+ -c 'let g:showmarks_enable=0' \\
+ -c 'runtime! macros/less.vim' -
+ END
+ fi
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ if use minimal ; then
+ myconf=(
+ --with-features=tiny
+ --disable-nls
+ --disable-multibyte
+ --disable-acl
+ --enable-gui=no
+ --without-x
+ --disable-darwin
+ --disable-luainterp
+ --disable-perlinterp
+ --disable-pythoninterp
+ --disable-mzschemeinterp
+ --disable-rubyinterp
+ --disable-selinux
+ --disable-tclinterp
+ --disable-gpm
+ )
+ else
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable gpm)
+ $(use_enable lua luainterp)
+ $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "")
+ $(use_with luajit)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable tcl tclinterp)
+ )
+
+ if use python ; then
+ py_add_interp() {
+ local v
+
+ [[ ${EPYTHON} == python3* ]] && v=3
+ myconf+=(
+ --enable-python${v}interp
+ vi_cv_path_python${v}="${PYTHON}"
+ )
+ }
+
+ python_foreach_impl py_add_interp
+ else
+ myconf+=(
+ --disable-pythoninterp
+ --disable-python3interp
+ )
+ fi
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # don't test USE=X here ... see bug #19115
+ # but need to provide a way to link against X ... see bug #20093
+ myconf+=(
+ --enable-gui=no
+ --disable-darwin
+ $(use_with X x)
+ )
+ fi
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # We've got to call make test from within testdir, since the Makefiles
+ # don't pass through our VIMPROG argument
+ cd "${S}"/src/testdir
+
+ # Test 49 won't work inside a portage environment
+ einfo "Test 49 isn't sandbox-friendly, so it will be skipped."
+ sed -i 's~test49.out~~g' Makefile
+
+ # We don't want to rebuild vim before running the tests
+ sed -i 's,: \$(VIMPROG),: ,' Makefile
+
+ # Don't try to do the additional GUI test
+ emake -j1 VIMPROG=../vim nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
+ # managed by eselect-vi
+ dobin src/vim
+ dosym vim /usr/bin/vimdiff
+ dosym vim /usr/bin/rvim
+ dosym vim /usr/bin/rview
+ if use vim-pager ; then
+ dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
+ dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
+ insinto ${vimfiles}/macros
+ doins runtime/macros/manpager.sh
+ fperms a+x ${vimfiles}/macros/manpager.sh
+ fi
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+ # keep in sync with 'complete ... -F' list
+ bashcomp_alias vim ex vi view rvim rview vimdiff
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ if use X ; then
+ echo
+ elog "The 'X' USE flag enables vim <-> X communication, like"
+ elog "updating the xterm titlebar. It does not install a GUI."
+ fi
+ echo
+ elog "To install a GUI version of vim, use the app-editors/gvim"
+ elog "package."
+ echo
+ elog "Vim 7 includes an integrated spell checker. You need to install"
+ elog "word list files before you can use it. There are ebuilds for"
+ elog "some of these named app-vim/vim-spell-*. If your language of"
+ elog "choice is not included, please consult vim-spell.eclass for"
+ elog "instructions on how to make a package."
+ echo
+ ewarn "Note that the English word lists are no longer installed by"
+ ewarn "default."
+ fi
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/vim/vim-7.4.738.ebuild b/app-editors/vim/vim-7.4.738.ebuild
new file mode 100644
index 000000000000..620ace7ec0f8
--- /dev/null
+++ b/app-editors/vim/vim-7.4.738.ebuild
@@ -0,0 +1,389 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 python-r1
+
+MY_PV=${PV//./-}
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${MY_PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="Vim, an improved vi-style text editor"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? (
+ || ( $(python_gen_useflags '*') )
+ ?? ( $(python_gen_useflags 'python2*') )
+ ?? ( $(python_gen_useflags 'python3*') )
+ )
+"
+
+RDEPEND="
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2
+ nls? ( virtual/libintl )
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ cscope? ( dev-util/cscope )
+ gpm? ( >=sys-libs/gpm-1.19.3 )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ !minimal? (
+ ~app-editors/vim-core-${PV}
+ dev-util/ctags
+ )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) )
+ selinux? ( sys-libs/libselinux )
+ tcl? ( dev-lang/tcl:0= )
+ X? ( x11-libs/libXt )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ nls? ( sys-devel/gettext )
+"
+
+S=${WORKDIR}/vim-${MY_PV}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager ; then
+ cat <<-END > "${S}"/runtime/macros/manpager.sh
+ #!/bin/sh
+ sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
+ vim \\
+ -c 'let no_plugin_maps = 1' \\
+ -c 'set nolist nomod ft=man ts=8' \\
+ -c 'let g:showmarks_enable=0' \\
+ -c 'runtime! macros/less.vim' -
+ END
+ fi
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ if use minimal ; then
+ myconf=(
+ --with-features=tiny
+ --disable-nls
+ --disable-multibyte
+ --disable-acl
+ --enable-gui=no
+ --without-x
+ --disable-darwin
+ --disable-luainterp
+ --disable-perlinterp
+ --disable-pythoninterp
+ --disable-mzschemeinterp
+ --disable-rubyinterp
+ --disable-selinux
+ --disable-tclinterp
+ --disable-gpm
+ )
+ else
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable gpm)
+ $(use_enable lua luainterp)
+ $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "")
+ $(use_with luajit)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable tcl tclinterp)
+ )
+
+ if use python ; then
+ py_add_interp() {
+ local v
+
+ [[ ${EPYTHON} == python3* ]] && v=3
+ myconf+=(
+ --enable-python${v}interp
+ vi_cv_path_python${v}="${PYTHON}"
+ )
+ }
+
+ python_foreach_impl py_add_interp
+ else
+ myconf+=(
+ --disable-pythoninterp
+ --disable-python3interp
+ )
+ fi
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # don't test USE=X here ... see bug #19115
+ # but need to provide a way to link against X ... see bug #20093
+ myconf+=(
+ --enable-gui=no
+ --disable-darwin
+ $(use_with X x)
+ )
+ fi
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # We've got to call make test from within testdir, since the Makefiles
+ # don't pass through our VIMPROG argument
+ cd "${S}"/src/testdir
+
+ # Test 49 won't work inside a portage environment
+ einfo "Test 49 isn't sandbox-friendly, so it will be skipped."
+ sed -i 's~test49.out~~g' Makefile
+
+ # We don't want to rebuild vim before running the tests
+ sed -i 's,: \$(VIMPROG),: ,' Makefile
+
+ # Don't try to do the additional GUI test
+ emake -j1 VIMPROG=../vim nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
+ # managed by eselect-vi
+ dobin src/vim
+ dosym vim /usr/bin/vimdiff
+ dosym vim /usr/bin/rvim
+ dosym vim /usr/bin/rview
+ if use vim-pager ; then
+ dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
+ dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
+ insinto ${vimfiles}/macros
+ doins runtime/macros/manpager.sh
+ fperms a+x ${vimfiles}/macros/manpager.sh
+ fi
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+ # keep in sync with 'complete ... -F' list
+ bashcomp_alias vim ex vi view rvim rview vimdiff
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ if use X ; then
+ echo
+ elog "The 'X' USE flag enables vim <-> X communication, like"
+ elog "updating the xterm titlebar. It does not install a GUI."
+ fi
+ echo
+ elog "To install a GUI version of vim, use the app-editors/gvim"
+ elog "package."
+ echo
+ elog "Vim 7 includes an integrated spell checker. You need to install"
+ elog "word list files before you can use it. There are ebuilds for"
+ elog "some of these named app-vim/vim-spell-*. If your language of"
+ elog "choice is not included, please consult vim-spell.eclass for"
+ elog "instructions on how to make a package."
+ echo
+ ewarn "Note that the English word lists are no longer installed by"
+ ewarn "default."
+ fi
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/vim/vim-7.4.769.ebuild b/app-editors/vim/vim-7.4.769.ebuild
new file mode 100644
index 000000000000..620ace7ec0f8
--- /dev/null
+++ b/app-editors/vim/vim-7.4.769.ebuild
@@ -0,0 +1,389 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 python-r1
+
+MY_PV=${PV//./-}
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${MY_PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
+ http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="Vim, an improved vi-style text editor"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? (
+ || ( $(python_gen_useflags '*') )
+ ?? ( $(python_gen_useflags 'python2*') )
+ ?? ( $(python_gen_useflags 'python3*') )
+ )
+"
+
+RDEPEND="
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2
+ nls? ( virtual/libintl )
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ cscope? ( dev-util/cscope )
+ gpm? ( >=sys-libs/gpm-1.19.3 )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ !minimal? (
+ ~app-editors/vim-core-${PV}
+ dev-util/ctags
+ )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) )
+ selinux? ( sys-libs/libselinux )
+ tcl? ( dev-lang/tcl:0= )
+ X? ( x11-libs/libXt )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ nls? ( sys-devel/gettext )
+"
+
+S=${WORKDIR}/vim-${MY_PV}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager ; then
+ cat <<-END > "${S}"/runtime/macros/manpager.sh
+ #!/bin/sh
+ sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
+ vim \\
+ -c 'let no_plugin_maps = 1' \\
+ -c 'set nolist nomod ft=man ts=8' \\
+ -c 'let g:showmarks_enable=0' \\
+ -c 'runtime! macros/less.vim' -
+ END
+ fi
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ if use minimal ; then
+ myconf=(
+ --with-features=tiny
+ --disable-nls
+ --disable-multibyte
+ --disable-acl
+ --enable-gui=no
+ --without-x
+ --disable-darwin
+ --disable-luainterp
+ --disable-perlinterp
+ --disable-pythoninterp
+ --disable-mzschemeinterp
+ --disable-rubyinterp
+ --disable-selinux
+ --disable-tclinterp
+ --disable-gpm
+ )
+ else
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable gpm)
+ $(use_enable lua luainterp)
+ $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "")
+ $(use_with luajit)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable tcl tclinterp)
+ )
+
+ if use python ; then
+ py_add_interp() {
+ local v
+
+ [[ ${EPYTHON} == python3* ]] && v=3
+ myconf+=(
+ --enable-python${v}interp
+ vi_cv_path_python${v}="${PYTHON}"
+ )
+ }
+
+ python_foreach_impl py_add_interp
+ else
+ myconf+=(
+ --disable-pythoninterp
+ --disable-python3interp
+ )
+ fi
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # don't test USE=X here ... see bug #19115
+ # but need to provide a way to link against X ... see bug #20093
+ myconf+=(
+ --enable-gui=no
+ --disable-darwin
+ $(use_with X x)
+ )
+ fi
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # We've got to call make test from within testdir, since the Makefiles
+ # don't pass through our VIMPROG argument
+ cd "${S}"/src/testdir
+
+ # Test 49 won't work inside a portage environment
+ einfo "Test 49 isn't sandbox-friendly, so it will be skipped."
+ sed -i 's~test49.out~~g' Makefile
+
+ # We don't want to rebuild vim before running the tests
+ sed -i 's,: \$(VIMPROG),: ,' Makefile
+
+ # Don't try to do the additional GUI test
+ emake -j1 VIMPROG=../vim nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
+ # managed by eselect-vi
+ dobin src/vim
+ dosym vim /usr/bin/vimdiff
+ dosym vim /usr/bin/rvim
+ dosym vim /usr/bin/rview
+ if use vim-pager ; then
+ dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
+ dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
+ insinto ${vimfiles}/macros
+ doins runtime/macros/manpager.sh
+ fperms a+x ${vimfiles}/macros/manpager.sh
+ fi
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+ # keep in sync with 'complete ... -F' list
+ bashcomp_alias vim ex vi view rvim rview vimdiff
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ if use X ; then
+ echo
+ elog "The 'X' USE flag enables vim <-> X communication, like"
+ elog "updating the xterm titlebar. It does not install a GUI."
+ fi
+ echo
+ elog "To install a GUI version of vim, use the app-editors/gvim"
+ elog "package."
+ echo
+ elog "Vim 7 includes an integrated spell checker. You need to install"
+ elog "word list files before you can use it. There are ebuilds for"
+ elog "some of these named app-vim/vim-spell-*. If your language of"
+ elog "choice is not included, please consult vim-spell.eclass for"
+ elog "instructions on how to make a package."
+ echo
+ ewarn "Note that the English word lists are no longer installed by"
+ ewarn "default."
+ fi
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/vim/vim-9999.ebuild b/app-editors/vim/vim-9999.ebuild
new file mode 100644
index 000000000000..a57e8515e48e
--- /dev/null
+++ b/app-editors/vim/vim-9999.ebuild
@@ -0,0 +1,389 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+VIM_VERSION="7.4"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 python-r1
+
+MY_PV=${PV//./-}
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${MY_PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
+ http://dev.gentoo.org/~radhermit/vim/vim-${PV}-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="Vim, an improved vi-style text editor"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? (
+ || ( $(python_gen_useflags '*') )
+ ?? ( $(python_gen_useflags 'python2*') )
+ ?? ( $(python_gen_useflags 'python3*') )
+ )
+"
+
+RDEPEND="
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2
+ nls? ( virtual/libintl )
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ cscope? ( dev-util/cscope )
+ gpm? ( >=sys-libs/gpm-1.19.3 )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ !minimal? (
+ ~app-editors/vim-core-${PV}
+ dev-util/ctags
+ )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) )
+ selinux? ( sys-libs/libselinux )
+ tcl? ( dev-lang/tcl:0= )
+ X? ( x11-libs/libXt )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ nls? ( sys-devel/gettext )
+"
+
+S=${WORKDIR}/vim-${MY_PV}
+
+pkg_setup() {
+ # people with broken alphabets run into trouble. bug 82186.
+ unset LANG LC_ALL
+ export LC_COLLATE="C"
+
+ # Gnome sandbox silliness. bug #114475.
+ mkdir -p "${T}"/home
+ export HOME="${T}"/home
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ if [[ -d "${WORKDIR}"/patches/ ]]; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches/
+ fi
+ fi
+
+ # Fixup a script to use awk instead of nawk
+ sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
+ || die "mve.awk sed failed"
+
+ # Read vimrc and gvimrc from /etc/vim
+ echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
+
+ # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
+ # Hopefully this pattern won't break for a while at least.
+ # This fixes bug 29398 (27 Sep 2003 agriffis)
+ sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
+ "${S}"/runtime/doc/syntax.txt \
+ "${S}"/runtime/doc/tagsrch.txt \
+ "${S}"/runtime/doc/usr_29.txt \
+ "${S}"/runtime/menu.vim \
+ "${S}"/src/configure.in || die 'sed failed'
+
+ # Don't be fooled by /usr/include/libc.h. When found, vim thinks
+ # this is NeXT, but it's actually just a file in dev-libs/9libs
+ # This fixes bug 43885 (20 Mar 2004 agriffis)
+ sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager ; then
+ cat <<-END > "${S}"/runtime/macros/manpager.sh
+ #!/bin/sh
+ sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
+ vim \\
+ -c 'let no_plugin_maps = 1' \\
+ -c 'set nolist nomod ft=man ts=8' \\
+ -c 'let g:showmarks_enable=0' \\
+ -c 'runtime! macros/less.vim' -
+ END
+ fi
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # Fix bug 37354: Disallow -funroll-all-loops on amd64
+ # Bug 57859 suggests that we want to do this for all archs
+ filter-flags -funroll-all-loops
+
+ # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
+ # everyone since previous flag filtering bugs have turned out to affect
+ # multiple archs...
+ replace-flags -O3 -O2
+
+ # Fix bug 18245: Prevent "make" from the following chain:
+ # (1) Notice configure.in is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ if use minimal ; then
+ myconf=(
+ --with-features=tiny
+ --disable-nls
+ --disable-multibyte
+ --disable-acl
+ --enable-gui=no
+ --without-x
+ --disable-darwin
+ --disable-luainterp
+ --disable-perlinterp
+ --disable-pythoninterp
+ --disable-mzschemeinterp
+ --disable-rubyinterp
+ --disable-selinux
+ --disable-tclinterp
+ --disable-gpm
+ )
+ else
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable gpm)
+ $(use_enable lua luainterp)
+ $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "")
+ $(use_with luajit)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable tcl tclinterp)
+ )
+
+ if use python ; then
+ py_add_interp() {
+ local v
+
+ [[ ${EPYTHON} == python3* ]] && v=3
+ myconf+=(
+ --enable-python${v}interp
+ vi_cv_path_python${v}="${PYTHON}"
+ )
+ }
+
+ python_foreach_impl py_add_interp
+ else
+ myconf+=(
+ --disable-pythoninterp
+ --disable-python3interp
+ )
+ fi
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # don't test USE=X here ... see bug #19115
+ # but need to provide a way to link against X ... see bug #20093
+ myconf+=(
+ --enable-gui=no
+ --disable-darwin
+ $(use_with X x)
+ )
+ fi
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # We've got to call make test from within testdir, since the Makefiles
+ # don't pass through our VIMPROG argument
+ cd "${S}"/src/testdir
+
+ # Test 49 won't work inside a portage environment
+ einfo "Test 49 isn't sandbox-friendly, so it will be skipped."
+ sed -i 's~test49.out~~g' Makefile
+
+ # We don't want to rebuild vim before running the tests
+ sed -i 's,: \$(VIMPROG),: ,' Makefile
+
+ # Don't try to do the additional GUI test
+ emake -j1 VIMPROG=../vim nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
+ # managed by eselect-vi
+ dobin src/vim
+ dosym vim /usr/bin/vimdiff
+ dosym vim /usr/bin/rvim
+ dosym vim /usr/bin/rview
+ if use vim-pager ; then
+ dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
+ dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
+ insinto ${vimfiles}/macros
+ doins runtime/macros/manpager.sh
+ fperms a+x ${vimfiles}/macros/manpager.sh
+ fi
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+ # keep in sync with 'complete ... -F' list
+ bashcomp_alias vim ex vi view rvim rview vimdiff
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ if use X ; then
+ echo
+ elog "The 'X' USE flag enables vim <-> X communication, like"
+ elog "updating the xterm titlebar. It does not install a GUI."
+ fi
+ echo
+ elog "To install a GUI version of vim, use the app-editors/gvim"
+ elog "package."
+ echo
+ elog "Vim 7 includes an integrated spell checker. You need to install"
+ elog "word list files before you can use it. There are ebuilds for"
+ elog "some of these named app-vim/vim-spell-*. If your language of"
+ elog "choice is not included, please consult vim-spell.eclass for"
+ elog "instructions on how to make a package."
+ echo
+ ewarn "Note that the English word lists are no longer installed by"
+ ewarn "default."
+ fi
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/wily/Manifest b/app-editors/wily/Manifest
new file mode 100644
index 000000000000..29736ca12034
--- /dev/null
+++ b/app-editors/wily/Manifest
@@ -0,0 +1 @@
+DIST wily-9libs.tar.gz 125247 SHA256 997e1f217047d7a4e048f55bdc3e9c040c61c0598212dda1c3d1fcca5dc9dc34 SHA512 3c06ef1d9c6e77a00037570f8b8bdbcdfc7648f691675db679ba83ac0ce092762a4020b0483acd325aa57810e9a386800a94c5e6e2b5002a963b4751a4d30a5b WHIRLPOOL ddc22e6d65ca41ae452f8a9d3a62390ee77876b31c755589b1bc33606451a170eecd87566d463146bfbc014ba5585632bb0dedd314feca4cd5b50f185f17fd4d
diff --git a/app-editors/wily/metadata.xml b/app-editors/wily/metadata.xml
new file mode 100644
index 000000000000..d9cd2cad66c2
--- /dev/null
+++ b/app-editors/wily/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/app-editors/wily/wily-1.0-r1.ebuild b/app-editors/wily/wily-1.0-r1.ebuild
new file mode 100644
index 000000000000..02ba6baad28e
--- /dev/null
+++ b/app-editors/wily/wily-1.0-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit toolchain-funcs
+
+MY_P="${P/1.0/9libs}"
+
+DESCRIPTION="An emulation of ACME, Plan9's hybrid window system, shell and editor for programmers"
+HOMEPAGE="http://www.netlib.org/research/9libs/"
+SRC_URI="ftp://www.netlib.org/research/9libs/${MY_P}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="x86"
+IUSE=""
+
+DEPEND="dev-libs/9libs
+ >=x11-libs/libX11-1.0.0
+ >=x11-libs/libXt-1.0.0
+ >=x11-libs/libICE-1.0.0
+ >=x11-libs/libSM-1.0.0"
+
+S="${WORKDIR}/${MY_P}"
+
+src_compile() {
+ export CC="$(tc-getCC)"
+ econf --includedir="/usr/include/9libs" || die "configure failed."
+ emake || die "make failed."
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "make install failed."
+ dodoc README
+ insinto /usr/share/${PN}
+ doins "${S}"/misc/*
+}
diff --git a/app-editors/wxhexeditor/Manifest b/app-editors/wxhexeditor/Manifest
new file mode 100644
index 000000000000..bdecce43fb00
--- /dev/null
+++ b/app-editors/wxhexeditor/Manifest
@@ -0,0 +1,3 @@
+DIST wxHexEditor-v0.20-src.tar.bz2 1194554 SHA256 a3dda32eb62e3ec1c9760519302bcef688253d48b3d2c566f9629c4e4246ae55 SHA512 f8138fb892528fd7d131b0931f52cb6b19dc984aa831882d7f60f557527e6bb559429a11b5a1307cf51d1a8974123627d15ccee87561970784a75910929f85a3 WHIRLPOOL 9d3343060f815fae7b2512b098c3a1c4853c062040cb2b180bf7402231295d27e96a3996aca041ce2f694f2cc84bb6dfbc419797079713afb254900187d100e0
+DIST wxHexEditor-v0.21-src.tar.bz2 1760192 SHA256 076111ebcf1472e80ec9a16223ca60bdf4598689cc5aa076a4f9760bba51f17f SHA512 bea80a139bb76e47ed5d3644f923b4b042d8842bb3522e88e2c84947eadc7f49f2599438f583ea8a1fde05356886d8fb20f679398e1519c13acd8e4dd49ad729 WHIRLPOOL fd5ebc1609183b8879254461c7eb1a22355a2f71ca45452a6dd21ca8164c5b8b96474d9d1c01b2aea962d4d47c291e3b43d8bf1d337c7bcff6c1c109c3fe29b9
+DIST wxHexEditor-v0.22-src.tar.bz2 2329754 SHA256 3c04725d218d21807ee78ccdd4bc78d302b92139c92bbd0a0edc53f2d0003996 SHA512 d846b30110bf2c864ec8dc45d1a4e9e333ec79379e335d7ecf5c8eed18a22bf2af26de1bcdca1977c94f2789a82c6eaf5fd2c2a91389f4c20f219a974c5e18ac WHIRLPOOL 44988f4349bc78ce7dd975ce7332a72dc5176e3308a9837e0634cce55e029a758488ed1ff07fdcd1f8c64638b0bf86ea8b73cc4c8f7b7400384487eb6bbfea1d
diff --git a/app-editors/wxhexeditor/files/wxhexeditor-0.20-makefile.patch b/app-editors/wxhexeditor/files/wxhexeditor-0.20-makefile.patch
new file mode 100644
index 000000000000..b4d97b2ec25c
--- /dev/null
+++ b/app-editors/wxhexeditor/files/wxhexeditor-0.20-makefile.patch
@@ -0,0 +1,108 @@
+--- a/makefile
++++ b/makefile
+@@ -1,8 +1,8 @@
+ WXCONFIG = wx-config
+ CC = `$(WXCONFIG) --cc`
+ CPP = `$(WXCONFIG) --cxx`
+-CXXFLAGS= `$(WXCONFIG) --cxxflags` -Iudis86 -Imhash/include -MMD -O2 -c ${OPTFLAGS}
+-LDFLAGS = `$(WXCONFIG) --libs`
++WXCXXFLAGS= `$(WXCONFIG) --cxxflags` -MMD -c ${OPTFLAGS} -fopenmp ${CXXFLAGS}
++WXLDFLAGS = `$(WXCONFIG) --libs` -fopenmp ${LDFLAGS}
+ RC = `$(WXCONFIG) --rescomp`
+ #RC = x86_64-w64-mingw32-windres --define WX_CPU_AMD64
+ RCFLAGS = `$(WXCONFIG) --cxxflags | sed s/' '-m.*//g;`
+@@ -19,7 +19,7 @@ SOURCES= src/HexEditorGui.cpp \
+ src/HexEditorCtrl/wxHexCtrl/Tag.cpp\
+ src/HexEditorCtrl/HexEditorCtrlGui.cpp\
+ src/HexEditorFrame.cpp
+-LIBS = udis86/libudis86/.libs/libudis86.a mhash/lib/.libs/libmhash.a
++LIBS = -lmhash -ludis86
+ OBJECTS=$(SOURCES:.cpp=.o)
+ DEPENDS=$(OBJECTS:.o=.d)
+ RESOURCES= resources/resource.rc
+@@ -28,43 +28,35 @@ EXECUTABLE=wxHexEditor
+ EXECUTABLE_WIN=$(EXECUTABLE).exe
+ EXECUTABLE_DIR_MAC=$(EXECUTABLE).app
+
+-PREFIX = /usr/local
++DESTDIR =
++PREFIX = $(DESTDIR)/usr
+ BINDIR = $(PREFIX)/bin
+ DATADIR = $(PREFIX)/share
+ LOCALEDIR = $(DATADIR)/locale
+
+-VERSION = 0.12 Beta
++VERSION = 0.20
+
+ all: $(EXECUTABLE)
+
+-$(OBJECTS): $(LIBS) $(SOURCES)
++$(OBJECTS): $(SOURCES)
+
+ $(EXECUTABLE): $(OBJECTS)
+- $(CPP) $(OBJECTS) $(LIBS) $(LDFLAGS) -lgomp -o $@
++ $(CPP) $(OBJECTS) $(LIBS) $(WXLDFLAGS) ${CXXFLAGS} -o $@
+
+-.cpp.o: $(LIBS)
+- $(CPP) $(CXXFLAGS) $< -o $@
++.cpp.o:
++ $(CPP) $(WXCXXFLAGS) $< -o $@
+
+ %.o : %.rc
+ $(RC) $(RCFLAGS) $< -o $@
+
+-udis86/libudis86/.libs/libudis86.a:
+- cd udis86;./autogen.sh
+- cd udis86;./configure --host=$(HOST)
+- cd udis86/libudis86; $(MAKE) $(MFLAGS)
+-
+-mhash/lib/.libs/libmhash.a:
+- cd mhash; ./configure --host=$(HOST)
+- cd mhash; $(MAKE) $(MFLAGS)
+-
+ win: $(RESOURCES) $(EXECUTABLE_WIN)
+
+ #Stack override required for file comparison function...
+ $(EXECUTABLE_WIN): $(OBJECTS) $(RESOURCE_OBJ)
+- $(CPP) $(OBJECTS) $(RESOURCE_OBJ) $(LIBS) $(LDFLAGS) -static-libgcc -static-libstdc++ -Wl,--stack,32000000 -o $@
++ $(CPP) $(OBJECTS) $(RESOURCE_OBJ) $(LIBS) ${CXXFLAGS} $(WXLDFLAGS) -static-libgcc -static-libstdc++ -Wl,--stack,32000000 -o $@
+
+ maclink: $(OBJECTS)
+- $(CPP) $(OBJECTS) $(LIBS) $(LDFLAGS) -lexpat -Wl,-stack_size,0x2000000 -o $(EXECUTABLE)
++ $(CPP) $(OBJECTS) $(LIBS) ${CXXFLAGS} $(WXLDFLAGS) -lexpat -Wl,-stack_size,0x2000000 -o $(EXECUTABLE)
+
+ mac: maclink
+ mkdir -p $(EXECUTABLE_DIR_MAC)/Contents
+--- a/src/HexDialogs.cpp
++++ b/src/HexDialogs.cpp
+@@ -24,7 +24,7 @@
+ #define NANINT 0xFFFFFFFFFFFFFFFFLL
+ #include "HexDialogs.h"
+ #include <wx/progdlg.h>
+-#include "../mhash/include/mhash.h"
++#include <mhash.h>
+
+ #ifdef _OPENMP
+ #include <omp.h>
+--- a/src/HexEditor.h
++++ b/src/HexEditor.h
+@@ -25,7 +25,7 @@
+ #ifndef _wxHexEditor_h_
+ #define _wxHexEditor_h_
+
+-#include "../mhash/include/mhash.h"
++#include <mhash.h>
+
+ #include <wx/ffile.h>
+ #include <wx/clipbrd.h>
+--- a/src/HexPanels.h
++++ b/src/HexPanels.h
+@@ -27,7 +27,7 @@
+ #include "HexEditorFrame.h"
+ #include "HexEditorCtrl/HexEditorCtrl.h"
+ #include "HexEditorCtrl/wxHexCtrl/wxHexCtrl.h"
+-#include "../udis86/udis86.h"
++#include <udis86.h>
+
+ #ifdef WX_GCH
+ #include <wx_pch.h>
diff --git a/app-editors/wxhexeditor/files/wxhexeditor-0.21-desktop-validation.patch b/app-editors/wxhexeditor/files/wxhexeditor-0.21-desktop-validation.patch
new file mode 100644
index 000000000000..aa2bb39bf85a
--- /dev/null
+++ b/app-editors/wxhexeditor/files/wxhexeditor-0.21-desktop-validation.patch
@@ -0,0 +1,17 @@
+--- a/resources/wxHexEditor.desktop
++++ b/resources/wxHexEditor.desktop
+@@ -1,12 +1,11 @@
+ [Desktop Entry]
+-Version=v1.0
++Version=1.0
+ Encoding=UTF-8
+ Name=wxHexEditor
+ GenericName=wxHexEditor
+ Comment=A hex editor for huge files and devices
+ Exec=wxHexEditor
+-Icon=wxHexEditor.png
++Icon=wxHexEditor
+ Terminal=false
+ Type=Application
+-MimeType=*
+ Categories=Utility;TextEditor;
diff --git a/app-editors/wxhexeditor/files/wxhexeditor-0.21-makefile.patch b/app-editors/wxhexeditor/files/wxhexeditor-0.21-makefile.patch
new file mode 100644
index 000000000000..34efd652abbe
--- /dev/null
+++ b/app-editors/wxhexeditor/files/wxhexeditor-0.21-makefile.patch
@@ -0,0 +1,107 @@
+- respect CXXFLAGS/LDFLAGS
+- install into /usr
+- use system mhash and udis86
+
+--- a/makefile
++++ b/makefile
+@@ -1,8 +1,8 @@
+ WXCONFIG = wx-config
+ CC = `$(WXCONFIG) --cc`
+ CXX = `$(WXCONFIG) --cxx`
+-CXXFLAGS= `$(WXCONFIG) --cxxflags` -Iudis86 -Imhash/include -MMD -O2 -c ${OPTFLAGS}
+-LDFLAGS = `$(WXCONFIG) --libs`
++WXCXXFLAGS= `$(WXCONFIG) --cxxflags` -MMD -O2 -c ${OPTFLAGS}
++WXLDFLAGS = `$(WXCONFIG) --libs`
+ RC = `$(WXCONFIG) --rescomp`
+ #RC = x86_64-w64-mingw32-windres --define WX_CPU_AMD64
+ RCFLAGS = `$(WXCONFIG) --cxxflags | sed s/' '-m.*//g;`
+@@ -21,7 +21,7 @@ SOURCES= src/HexEditorGui.cpp \
+ src/HexEditorCtrl/wxHexCtrl/Tag.cpp\
+ src/HexEditorCtrl/HexEditorCtrlGui.cpp\
+ src/HexEditorFrame.cpp
+-LIBS = udis86/libudis86/.libs/libudis86.a mhash/lib/.libs/libmhash.a
++LIBS = -ludis86 -lmhash
+ OBJECTS=$(SOURCES:.cpp=.o)
+ DEPENDS=$(OBJECTS:.o=.d)
+ LANGUAGEDIRS=tr
+@@ -32,7 +32,7 @@ EXECUTABLE=wxHexEditor
+ EXECUTABLE_WIN=$(EXECUTABLE).exe
+ EXECUTABLE_DIR_MAC=$(EXECUTABLE).app
+
+-PREFIX = /usr/local
++PREFIX = /usr
+ BINDIR = $(PREFIX)/bin
+ DATADIR = $(PREFIX)/share
+ LOCALEDIR = $(DATADIR)/locale
+@@ -46,10 +46,10 @@ $(OBJECTS): $(LIBS) $(SOURCES)
+ MOBJECTS=$(LANGUAGES:.po=.mo)
+
+ $(EXECUTABLE): $(OBJECTS)
+- $(CXX) $(OBJECTS) $(LIBS) $(LDFLAGS) -lgomp -o $@
++ $(CXX) $(OBJECTS) $(LIBS) ${CXXFLAGS} $(WXLDFLAGS) ${LDFLAGS} -lgomp -o $@
+
+ .cpp.o: $(LIBS)
+- $(CXX) $(CXXFLAGS) $< -o $@
++ $(CXX) $(WXCXXFLAGS) ${CXXFLAGS} $< -o $@
+
+ %.o : %.rc
+ $(RC) $(RCFLAGS) $< -o $@
+@@ -59,23 +59,14 @@ langs: $(MOBJECTS)
+ %.mo : %.po
+ $(MSGFMT) $< -o $@
+
+-udis86/libudis86/.libs/libudis86.a:
+- cd udis86;./autogen.sh
+- cd udis86;./configure --host=$(HOST)
+- cd udis86/libudis86; $(MAKE) $(MFLAGS)
+-
+-mhash/lib/.libs/libmhash.a:
+- cd mhash; ./configure --host=$(HOST)
+- cd mhash; $(MAKE) $(MFLAGS)
+-
+ win: $(RESOURCES) $(EXECUTABLE_WIN)
+
+ #Stack override required for file comparison function...
+ $(EXECUTABLE_WIN): $(OBJECTS) $(RESOURCE_OBJ)
+- $(CXX) $(OBJECTS) $(RESOURCE_OBJ) $(LIBS) $(LDFLAGS) -static-libgcc -static-libstdc++ -Wl,--stack,32000000 -o $@
++ $(CXX) $(OBJECTS) $(RESOURCE_OBJ) $(LIBS) ${CXXFLAGS} $(WXLDFLAGS) ${LDFLAGS} -static-libgcc -static-libstdc++ -Wl,--stack,32000000 -o $@
+
+ maclink: $(OBJECTS)
+- $(CXX) $(OBJECTS) $(LIBS) $(LDFLAGS) -lexpat -lgomp -Wl,-stack_size,0x2000000 -o $(EXECUTABLE)
++ $(CXX) $(OBJECTS) $(LIBS) ${CXXFLAGS} $(WXLDFLAGS) ${LDFLAGS} -lexpat -lgomp -Wl,-stack_size,0x2000000 -o $(EXECUTABLE)
+
+ mac: maclink langs
+ mkdir -p $(EXECUTABLE_DIR_MAC)/Contents
+--- a/src/HexDialogs.cpp
++++ b/src/HexDialogs.cpp
+@@ -24,7 +24,7 @@
+ #define NANINT 0xFFFFFFFFFFFFFFFFLL
+ #include "HexDialogs.h"
+ #include <wx/progdlg.h>
+-#include "../mhash/include/mhash.h"
++#include <mhash.h>
+
+ #ifdef _OPENMP
+ #include <omp.h>
+--- a/src/HexEditor.h
++++ b/src/HexEditor.h
+@@ -25,7 +25,7 @@
+ #ifndef _wxHexEditor_h_
+ #define _wxHexEditor_h_
+
+-#include "../mhash/include/mhash.h"
++#include <mhash.h>
+
+ #include <wx/ffile.h>
+ #include <wx/clipbrd.h>
+--- a/src/HexPanels.h
++++ b/src/HexPanels.h
+@@ -27,7 +27,7 @@
+ #include "HexEditorFrame.h"
+ #include "HexEditorCtrl/HexEditorCtrl.h"
+ #include "HexEditorCtrl/wxHexCtrl/wxHexCtrl.h"
+-#include "../udis86/udis86.h"
++#include <udis86.h>
+
+ #ifdef WX_GCH
+ #include <wx_pch.h>
diff --git a/app-editors/wxhexeditor/files/wxhexeditor-0.22-makefile.patch b/app-editors/wxhexeditor/files/wxhexeditor-0.22-makefile.patch
new file mode 100644
index 000000000000..5e40694487f4
--- /dev/null
+++ b/app-editors/wxhexeditor/files/wxhexeditor-0.22-makefile.patch
@@ -0,0 +1,96 @@
+ Makefile | 19 +++++--------------
+ src/HexDialogs.cpp | 2 +-
+ src/HexEditor.h | 2 +-
+ src/HexPanels.h | 2 +-
+ 4 files changed, 8 insertions(+), 17 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index ead0702..cb80ddf 100755
+--- a/Makefile
++++ b/Makefile
+@@ -1,9 +1,9 @@
+ WXCONFIG = wx-config
+ CC = `$(WXCONFIG) --cc`
+ CXX = `$(WXCONFIG) --cxx`
+-CFLAGS = -O2
+-CXXFLAGS = -O2
+-WXCXXFLAGS= `$(WXCONFIG) --cxxflags` -Iudis86 -Imhash/include -MMD -O2 -c ${OPTFLAGS}
++CFLAGS ?= -O2
++CXXFLAGS ?= -O2
++WXCXXFLAGS= `$(WXCONFIG) --cxxflags` -MMD -O2 -c ${OPTFLAGS}
+ WXLDFLAGS = `$(WXCONFIG) --libs`
+ RC = `$(WXCONFIG) --rescomp`
+ #RC = x86_64-w64-mingw32-windres --define WX_CPU_AMD64
+@@ -23,7 +23,7 @@ SOURCES= src/HexEditorGui.cpp \
+ src/HexEditorCtrl/wxHexCtrl/Tag.cpp\
+ src/HexEditorCtrl/HexEditorCtrlGui.cpp\
+ src/HexEditorFrame.cpp
+-LIBS = udis86/libudis86/.libs/libudis86.a mhash/lib/.libs/libmhash.a
++LIBS = -ludis86 -lmhash
+ OBJECTS=$(SOURCES:.cpp=.o)
+ DEPENDS=$(OBJECTS:.o=.d)
+ LANGUAGEDIRS=tr ru
+@@ -34,7 +34,7 @@ EXECUTABLE=wxHexEditor
+ EXECUTABLE_WIN=$(EXECUTABLE).exe
+ EXECUTABLE_DIR_MAC=$(EXECUTABLE).app
+
+-PREFIX = /usr/local
++PREFIX = /usr
+ BINDIR = $(PREFIX)/bin
+ DATADIR = $(PREFIX)/share
+ LOCALEDIR = $(DATADIR)/locale
+@@ -61,15 +61,6 @@ langs: $(MOBJECTS)
+ %.mo : %.po
+ $(MSGFMT) $< -o $@
+
+-udis86/libudis86/.libs/libudis86.a:
+- cd udis86;./autogen.sh
+- cd udis86;./configure --host=$(HOST) CC=$(CC) CXX=$(CXX) CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
+- cd udis86/libudis86; $(MAKE) $(MFLAGS)
+-
+-mhash/lib/.libs/libmhash.a:
+- cd mhash; ./configure --host=$(HOST) CC=$(CC) CXX=$(CXX) CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
+- cd mhash; $(MAKE) $(MFLAGS)
+-
+ win: $(RESOURCES) $(EXECUTABLE_WIN)
+
+ #Stack override required for file comparison function...
+diff --git a/src/HexDialogs.cpp b/src/HexDialogs.cpp
+index 133830e..6ea0cc0 100644
+--- a/src/HexDialogs.cpp
++++ b/src/HexDialogs.cpp
+@@ -24,7 +24,7 @@
+ #define NANINT 0xFFFFFFFFFFFFFFFFLL
+ #include "HexDialogs.h"
+ #include <wx/progdlg.h>
+-#include "../mhash/include/mhash.h"
++#include <mhash.h>
+
+ #ifdef _OPENMP
+ #include <omp.h>
+diff --git a/src/HexEditor.h b/src/HexEditor.h
+index 7946d05..d4e1eb8 100644
+--- a/src/HexEditor.h
++++ b/src/HexEditor.h
+@@ -25,7 +25,7 @@
+ #ifndef _wxHexEditor_h_
+ #define _wxHexEditor_h_
+
+-#include "../mhash/include/mhash.h"
++#include <mhash.h>
+
+ #include <wx/ffile.h>
+ #include <wx/clipbrd.h>
+diff --git a/src/HexPanels.h b/src/HexPanels.h
+index d498fa9..9f2ad5d 100644
+--- a/src/HexPanels.h
++++ b/src/HexPanels.h
+@@ -27,7 +27,7 @@
+ #include "HexEditorFrame.h"
+ #include "HexEditorCtrl/HexEditorCtrl.h"
+ #include "HexEditorCtrl/wxHexCtrl/wxHexCtrl.h"
+-#include "../udis86/udis86.h"
++#include <udis86.h>
+
+ #ifdef WX_GCH
+ #include <wx_pch.h>
diff --git a/app-editors/wxhexeditor/metadata.xml b/app-editors/wxhexeditor/metadata.xml
new file mode 100644
index 000000000000..fee87e271829
--- /dev/null
+++ b/app-editors/wxhexeditor/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>wxwidgets</herd>
+ <upstream>
+ <remote-id type="sourceforge">wxhexeditor</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/wxhexeditor/wxhexeditor-0.20.ebuild b/app-editors/wxhexeditor/wxhexeditor-0.20.ebuild
new file mode 100644
index 000000000000..606be30dc07d
--- /dev/null
+++ b/app-editors/wxhexeditor/wxhexeditor-0.20.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+WX_GTK_VER="2.8"
+
+inherit eutils toolchain-funcs wxwidgets
+
+MY_PN="wxHexEditor"
+
+DESCRIPTION="A cross-platform hex editor designed specially for large files"
+HOMEPAGE="http://wxhexeditor.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_PN}-v${PV}-src.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="app-crypt/mhash
+ dev-libs/udis86
+ x11-libs/wxGTK:2.8[X]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_PN}"
+
+pkg_pretend() {
+ tc-has-openmp \
+ || die "${PN} uses OpenMP libraries. Please use an OpenMP-capable compiler."
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-makefile.patch
+}
diff --git a/app-editors/wxhexeditor/wxhexeditor-0.21.ebuild b/app-editors/wxhexeditor/wxhexeditor-0.21.ebuild
new file mode 100644
index 000000000000..62b8a3128d9a
--- /dev/null
+++ b/app-editors/wxhexeditor/wxhexeditor-0.21.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+WX_GTK_VER="2.8"
+
+inherit eutils toolchain-funcs wxwidgets
+
+MY_PN="wxHexEditor"
+
+DESCRIPTION="A cross-platform hex editor designed specially for large files"
+HOMEPAGE="http://wxhexeditor.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_PN}-v${PV}-src.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="app-crypt/mhash
+ dev-libs/udis86
+ x11-libs/wxGTK:2.8[X]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_PN}"
+
+pkg_pretend() {
+ tc-has-openmp \
+ || die "${PN} uses OpenMP libraries. Please use an OpenMP-capable compiler."
+}
+
+src_prepare() {
+ # parts sent upstream : https://sourceforge.net/p/wxhexeditor/patches/8/
+ epatch "${FILESDIR}"/${P}-makefile.patch
+ # sent upstream : https://sourceforge.net/p/wxhexeditor/patches/9/
+ epatch "${FILESDIR}"/${P}-desktop-validation.patch
+}
diff --git a/app-editors/wxhexeditor/wxhexeditor-0.22.ebuild b/app-editors/wxhexeditor/wxhexeditor-0.22.ebuild
new file mode 100644
index 000000000000..30902ad7a7cc
--- /dev/null
+++ b/app-editors/wxhexeditor/wxhexeditor-0.22.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+WX_GTK_VER="2.8"
+
+inherit eutils toolchain-funcs wxwidgets
+
+MY_PN="wxHexEditor"
+
+DESCRIPTION="A cross-platform hex editor designed specially for large files"
+HOMEPAGE="http://wxhexeditor.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_PN}-v${PV}-src.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ app-crypt/mhash
+ dev-libs/udis86
+ x11-libs/wxGTK:2.8[X]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_PN}"
+
+pkg_pretend() {
+ tc-has-openmp \
+ || die "${PN} uses OpenMP libraries. Please use an OpenMP-capable compiler."
+}
+
+src_prepare() {
+ # parts sent upstream : https://sourceforge.net/p/wxhexeditor/patches/8/
+ epatch "${FILESDIR}"/${P}-makefile.patch
+}
diff --git a/app-editors/xemacs/Manifest b/app-editors/xemacs/Manifest
new file mode 100644
index 000000000000..ba31b4f22859
--- /dev/null
+++ b/app-editors/xemacs/Manifest
@@ -0,0 +1,6 @@
+DIST NeXT_XEmacs.tar.gz 39571 SHA256 35a0d988fd4ee801572639a99798571aa9fad140ddbed1455565ae9d5e0086c7 SHA512 611ddbbf5be3d2274e7f76be7f8200c6c7f3cba917efcc24e73685aa5f61c94237e6e48ce66f2d59ee4b74862e686f3ea7a29cf006717d5d0674db24d243d566 WHIRLPOOL d47aafa6fe7a11de94196dffb752c683722b8ead23979a7f4344c61964ebcd052a4f0ad6b9ab42a5d41f5551c0a543f46af59656fc8a79340257626272c1faae
+DIST xemacs-21.4.22.tar.gz 8357931 SHA256 87fb7633106625935105e821eb8fe65e521a3de44d45fe864109779c3a8e4bd1 SHA512 7ddd91f8d1a1b9f6d984a5bfddd98705dd6f7e3d6b4f81c1e03d971c93e33bff09b641bc2ad0a0d9d2e44170063550ad0399f3e28237dd34b8ad6200d8b197e8 WHIRLPOOL f1d313aa2dee7f4238190b90c10dc951a31302563a8a098e69ed740e85f428ac360b363e44f1e618f2d97782b5532846df290e9f79f11abdc7648a1e380cb44e
+DIST xemacs-21.4.24.tar.gz 8543879 SHA256 9016a51496d4978cf3dba75000a8e38bfc8cb4ca3a3f3e71371aa19259f26cd5 SHA512 b7a88d5a4a9f74f74c2067ed60f7ea87ac8ccad5d9c2c1033ecf07f540250191f8fa5f9e6d23d9fedd0f2ab1eb5ea6c29a7665a310ec512d85e2e4f337447213 WHIRLPOOL 469d52341833037e22cebeb6b554435c81b3f5749f64d86ddf31c3990dfc08a57f49fab7e868ab8c2009d1cae665f4fd731813f25c942d5aafd287ad7736a049
+DIST xemacs-21.5.31.tar.gz 15802193 SHA256 d59f90b7e72621376a23daa484f1929945d0527350a10989fd086bde9d0a997d SHA512 17c385459edffc063d43537dae5b2883d2d7481e7f7596d02c9859ecb9dd4ee48921647b389ed979d65ede2745b647c9b196c9ef0873e6d526d21262f04b7f41 WHIRLPOOL b2a1741af341f260671e1c8479f47c30113b515b240d86b41b6449abde96be896371d3f6b038ab72a96c422f84704de0a41e403a16c9ca2a4861e590e65b1f59
+DIST xemacs-21.5.33.tar.gz 15781151 SHA256 448c76aa32cd5c84257027846f01b75a5e4f1e9db3278f95e68ff23d59fb8f94 SHA512 75358b5cf2a012d23b95eb918e0ba1abf254db51d979d370f407b67871c6d09e2d59f59fe1acd46149933913222935e2c12be72cdf0314109c568f9f14438151 WHIRLPOOL 29d6a19d8cacc243afd3c21ed96cfabfa956531692e8ce4a454b958d32b08bb3eac47f52ada872ccfdb41082514145c602cc7ed81443bece7529365ba089f454
+DIST xemacs-21.5.34.tar.gz 15816932 SHA256 33cc54a6a9a45224a64b6c57c8138b5a5f0f1be368951a6d9ec8c0aec5993ee5 SHA512 b61d88fe530a77b88c2ed0cecd6597ed3c265450bc61f7c6823920f774b2d566ef6fc18a6c33928d846d08d465617d4ccd3c4656606ec8634127a683abbc929a WHIRLPOOL 733aabc45309ff4172ab77492dd85e71f156722f2e06d9a185c0a4260b9fbea607ff8a41dc43fc009cb8cdf3f05d4523778610a501f27a4917ab43cea03c6209
diff --git a/app-editors/xemacs/files/README.Gentoo b/app-editors/xemacs/files/README.Gentoo
new file mode 100644
index 000000000000..abb71cc90988
--- /dev/null
+++ b/app-editors/xemacs/files/README.Gentoo
@@ -0,0 +1,45 @@
+README.Gentoo
+-------------
+
+This is a quick tutorial on how to configure the XEmacs package user
+interface (package-ui). After you configure package-ui, you will be
+able to download and install XEmacs packages and dependencies while in
+XEmacs. For the complete documentation, see
+/usr/share/doc/xemacs-21.4.*/README.packages.gz
+
+Once XEmacs is emerged onto a Gentoo Linux system, you will only have
+the following elisp modules installed: xemacs-base, efs and
+(optionally if you had mule in USE) mule-base. This guide will show
+how to use package-ui to download and install your own preference in
+elisp modules to ~/.xemacs/xemacs-packages.
+
+First, start XEmacs and load the package-ui elisp module.
+
+ M-x load-library RET package-ui RET
+
+The first thing to set is the download site (package-ui installs via
+network).
+
+ M-x customize-variable RET package-get-remote RET
+
+Insert a new value, then:
+
+ Choice: Remote
+ Host: ibiblio.org
+ Directory: /pub/packages/editors/xemacs/packages/
+
+Make sure you set and save the change. Note, other host/directories
+are possible. The the documentation for package-ui for more
+information. Hint: ibiblio.org is *fast*.
+
+Then set the location package-ui should install to:
+
+ M-x customize-variable RET pui-package-install-dest-dir RET
+
+ Directory: ~/.xemacs/xemacs-packages
+
+Make sure you set and save the change.
+
+At this point you can install your modules:
+
+ M-x pui-list-packages
diff --git a/app-editors/xemacs/files/xemacs-21.4.19-db.patch b/app-editors/xemacs/files/xemacs-21.4.19-db.patch
new file mode 100644
index 000000000000..cf87d60e628a
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.4.19-db.patch
@@ -0,0 +1,84 @@
+This patch fixes several database-related problems.
+
+dbm_open has been moved into gdbm_compat, so we check for that and include it.
+
+ndbm.h is located in /usr/include/gdbm on Gentoo, so we only check
+there, given that we don't support normal dbm installations, and we
+patch database.c as well. Not portable beyond Gentoo, but will work
+for us.
+
+The checks for Berkeley DB only took into account up to version
+3. Added checks to deal with several versions 4 as well.
+
+--- xemacs-21.4.19/configure.in 2005-12-24 01:48:14.000000000 +0100
++++ xemacs-21.4.19-db/configure.in 2006-06-11 22:43:52.000000000 +0200
+@@ -4502,7 +4502,7 @@
+
+ dnl Check for ndbm.h, required for either kind of DBM support.
+ if test "$with_database_gdbm $with_database_dbm" != "no no"; then
+- AC_CHECK_HEADER(ndbm.h, [:], [
++ AC_CHECK_HEADER(gdbm/ndbm.h, [:], [
+ test "$with_database_gdbm" = "yes" -o \
+ "$with_database_dbm" = "yes" && \
+ XE_DIE("Required DBM support cannot be provided.")
+@@ -4513,10 +4513,13 @@
+ if test "$with_database_gdbm" != "no"; then
+ AC_CHECK_LIB(gdbm, dbm_open, [
+ with_database_gdbm=yes with_database_dbm=no libdbm=-lgdbm], [
++ AC_CHECK_LIB(gdbm_compat, dbm_open, [
++ with_database_gdbm=yes with_database_dbm=no libdbm="-lgdbm_compat -lgdbm"], [
+ if test "$with_database_gdbm" = "yes"; then
+ XE_DIE("Required GNU DBM support cannot be provided.")
+ fi
+- with_database_gdbm=no])
++ with_database_gdbm=no], -lgdbm)
++ ])
+ fi
+
+ dnl Check for DBM support in libc and libdbm.
+@@ -4614,11 +4617,30 @@
+ #if DB_VERSION_MAJOR > 2
+ yes
+ #endif
+-], [AC_MSG_RESULT(3); dbfunc=db_create],[
+- AC_MSG_RESULT(2); dbfunc=db_open])],[
+- AC_MSG_RESULT(1); dbfunc=dbopen])
++], [AC_EGREP_CPP(yes,
++[#include <$db_h_file>
++#if DB_VERSION_MAJOR > 3
++yes
++#endif
++], [AC_MSG_RESULT(4); dbfunc=db_create; dbver=4],[
++ AC_MSG_RESULT(3); dbfunc=db_create; dbver=3])],[
++ AC_MSG_RESULT(2); dbfunc=db_open; dbver=2])],[
++ AC_MSG_RESULT(1); dbfunc=dbopen; dbver=1])
+ AC_CHECK_FUNC($dbfunc, with_database_berkdb=yes need_libdb=no, [
+- AC_CHECK_LIB(db, $dbfunc, with_database_berkdb=yes need_libdb=yes)])
++ AC_CHECK_LIB(db, db_create_4002, with_database_berkdb=yes need_libdb=yes)])
++ fi
++
++ dnl Berk db 4.1 decorates public functions with version information
++ if test "$have_database_berkdb" != "yes" -a "$dbver" = "4"; then
++ rm -f $tempcname
++ echo "#include <$db_h_file>" > $tempcname
++ echo "configure___ dbfunc=db_create" >> $tempcname
++ define(TAB, [ ])dnl
++ eval `$CPP -Isrc $tempcname \
++ | sed -n -e "s/[[ TAB]]*=[[ TAB\"]]*/='/" -e "s/[[ TAB\"]]*\$/'/" -e "s/^configure___//p"`
++ rm -f $tempcname
++ AC_MSG_WARN("db_create is really $dbfunc")
++ AC_CHECK_LIB(db, $dbfunc, have_database_berkdb=yes need_libdb=yes)
+ fi
+
+ if test "$with_database_berkdb" = "yes"; then
+--- xemacs-21.4.19/src/database.c 2005-12-24 01:52:35.000000000 +0100
++++ xemacs-21.4.19-db/src/database.c 2006-06-13 21:00:01.000000000 +0200
+@@ -82,7 +82,7 @@
+ #endif /* HAVE_BERKELEY_DB */
+
+ #ifdef HAVE_DBM
+-#include <ndbm.h>
++#include <gdbm/ndbm.h>
+ Lisp_Object Qdbm;
+ #endif /* HAVE_DBM */
+
diff --git a/app-editors/xemacs/files/xemacs-21.4.19-texi.patch b/app-editors/xemacs/files/xemacs-21.4.19-texi.patch
new file mode 100644
index 000000000000..f53eb3dafd31
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.4.19-texi.patch
@@ -0,0 +1,33 @@
+Index: emodules.texi
+===================================================================
+RCS file: /pack/xemacscvs/XEmacs/xemacs/man/emodules.texi,v
+retrieving revision 1.2.2.2
+diff -u -B -r1.2.2.2 emodules.texi
+--- man/emodules.texi 2002/08/20 11:35:22 1.2.2.2
++++ man/emodules.texi 2006/12/09 14:21:22
+@@ -3,6 +3,9 @@
+ @c %**start of header
+ @setfilename ../info/emodules.info
+ @settitle Extending Emacs using C Modules
++@direntry
++* Emodules: (emodules). XEmacs dynamically loadable module support.
++@end direntry
+ @c %**end of header
+
+ @c
+Index: external-widget.texi
+===================================================================
+RCS file: /pack/xemacscvs/XEmacs/xemacs/man/external-widget.texi,v
+retrieving revision 1.3.2.1
+diff -u -B -r1.3.2.1 external-widget.texi
+--- man/external-widget.texi 2002/04/30 16:06:06 1.3.2.1
++++ man/external-widget.texi 2006/12/09 14:21:22
+@@ -4,7 +4,7 @@
+ @ifinfo
+ @dircategory XEmacs Editor
+ @direntry
+-* External Widget: (external-widget) External Client Widget.
++* External Widget: (external-widget). External Client Widget.
+ @end direntry
+ @end ifinfo
+
diff --git a/app-editors/xemacs/files/xemacs-21.4.21-vcdiff.patch b/app-editors/xemacs/files/xemacs-21.4.21-vcdiff.patch
new file mode 100644
index 000000000000..105eb549eb6d
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.4.21-vcdiff.patch
@@ -0,0 +1,19 @@
+--- lib-src/vcdiff.~1~ 1996-12-18 23:42:33.000000000 +0100
++++ lib-src/vcdiff 2008-04-09 08:20:36.000000000 +0200
+@@ -79,14 +79,14 @@
+ case $f in
+ s.* | */s.*)
+ if
+- rev1=/tmp/geta$$
++ rev1=`mktemp /tmp/geta.XXXXXXXX`
+ get -s -p -k $sid1 "$f" > $rev1 &&
+ case $sid2 in
+ '')
+ workfile=`expr " /$f" : '.*/s.\(.*\)'`
+ ;;
+ *)
+- rev2=/tmp/getb$$
++ rev2=`mktemp /tmp/getb.XXXXXXXX`
+ get -s -p -k $sid2 "$f" > $rev2
+ workfile=$rev2
+ esac
diff --git a/app-editors/xemacs/files/xemacs-21.4.22-deprecated-ldap.patch b/app-editors/xemacs/files/xemacs-21.4.22-deprecated-ldap.patch
new file mode 100644
index 000000000000..aceae530bcb0
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.4.22-deprecated-ldap.patch
@@ -0,0 +1,18 @@
+Patch to include depracated LDAP symbols, specifically
+ldap_open. Without the proper prototype the call will almost surely
+lead to crashes on 64-bit arches otherwise. Thanks to hwoareng for the
+initial bug report.
+
+Not reported upstream since bug tracker is down.
+
+--- src/eldap.h.~1~ 2001-04-12 20:23:36.000000000 +0200
++++ src/eldap.h 2010-09-28 19:53:34.148472315 +0200
+@@ -21,6 +21,8 @@
+ #ifndef INCLUDED_eldap_h_
+ #define INCLUDED_eldap_h_
+
++#define LDAP_DEPRECATED 1
++
+ #include <lber.h>
+ #include <ldap.h>
+
diff --git a/app-editors/xemacs/files/xemacs-21.4.22-large-images.patch b/app-editors/xemacs/files/xemacs-21.4.22-large-images.patch
new file mode 100644
index 000000000000..a03af3ccfa38
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.4.22-large-images.patch
@@ -0,0 +1,122 @@
+PATCH 21.4
+
+Here is the 21.4 version of the previous patch. The lisp.h hunk is a
+little ugly. Recommendations on how to deal with the absence of
+UINT_64_T in 21.4 are welcome.
+
+Index: src/glyphs-eimage.c
+===================================================================
+RCS file: /pack/xemacscvs/XEmacs/xemacs/src/glyphs-eimage.c,v
+retrieving revision 1.9.2.5
+diff -d -u -r1.9.2.5 glyphs-eimage.c
+--- src/glyphs-eimage.c 2007/08/20 19:52:28 1.9.2.5
++++ src/glyphs-eimage.c 2009/07/01 22:36:04
+@@ -407,6 +407,7 @@
+ */
+
+ {
++ UINT_64_BIT pixels_sq;
+ int jpeg_gray = 0; /* if we're dealing with a grayscale */
+ /* Step 4: set parameters for decompression. */
+
+@@ -429,7 +430,10 @@
+ jpeg_start_decompress (&cinfo);
+
+ /* Step 6: Read in the data and put into EImage format (8bit RGB triples)*/
+-
++ pixels_sq =
++ (UINT_64_BIT) cinfo.output_width * (UINT_64_BIT) cinfo.output_height;
++ if (pixels_sq > ((size_t) -1) / 3)
++ signal_image_error ("JPEG image too large to instantiate", instantiator);
+ unwind.eimage = (unsigned char*) xmalloc (cinfo.output_width * cinfo.output_height * 3);
+ if (!unwind.eimage)
+ signal_image_error("Unable to allocate enough memory for image", instantiator);
+@@ -671,6 +675,7 @@
+ {
+ ColorMapObject *cmo = unwind.giffile->SColorMap;
+ int i, j, row, pass, interlace, slice;
++ UINT_64_BIT pixels_sq;
+ unsigned char *eip;
+ /* interlaced gifs have rows in this order:
+ 0, 8, 16, ..., 4, 12, 20, ..., 2, 6, 10, ..., 1, 3, 5, ... */
+@@ -679,6 +684,9 @@
+
+ height = unwind.giffile->SHeight;
+ width = unwind.giffile->SWidth;
++ pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height;
++ if (pixels_sq > ((size_t) -1) / (3 * unwind.giffile->ImageCount))
++ signal_image_error ("GIF image too large to instantiate", instantiator);
+ unwind.eimage = (unsigned char*)
+ xmalloc (width * height * 3 * unwind.giffile->ImageCount);
+ if (!unwind.eimage)
+@@ -937,11 +945,15 @@
+ {
+ int y;
+ unsigned char **row_pointers;
++ UINT_64_BIT pixels_sq;
+ height = info_ptr->height;
+ width = info_ptr->width;
++ pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height;
++ if (pixels_sq > ((size_t) -1) / 3)
++ signal_image_error ("PNG image too large to instantiate", instantiator);
+
+ /* Wow, allocate all the memory. Truly, exciting. */
+- unwind.eimage = xnew_array_and_zero (unsigned char, width * height * 3);
++ unwind.eimage = xnew_array_and_zero (unsigned char, pixels_sq * 3);
+ /* libpng expects that the image buffer passed in contains a
+ picture to draw on top of if the png has any transparencies.
+ This could be a good place to pass that in... */
+@@ -994,7 +1006,7 @@
+ png_set_expand (png_ptr);
+ /* send grayscale images to RGB too */
+ if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
+- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
++ info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
+ png_set_gray_to_rgb (png_ptr);
+ /* we can't handle alpha values */
+ if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA)
+@@ -1268,6 +1280,7 @@
+
+ uint32 *raster;
+ unsigned char *ep;
++ UINT_64_BIT pixels_sq;
+
+ assert (!NILP (data));
+
+@@ -1290,12 +1303,15 @@
+
+ TIFFGetField (unwind.tiff, TIFFTAG_IMAGEWIDTH, &width);
+ TIFFGetField (unwind.tiff, TIFFTAG_IMAGELENGTH, &height);
+- unwind.eimage = (unsigned char *) xmalloc (width * height * 3);
++ pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height;
++ if (pixels_sq >= 1 << 29)
++ signal_image_error ("TIFF image too large to instantiate", instantiator);
++ unwind.eimage = (unsigned char *) xmalloc (pixels_sq * 3);
+
+ /* #### This is little more than proof-of-concept/function testing.
+ It needs to be reimplemented via scanline reads for both memory
+ compactness. */
+- raster = (uint32*) _TIFFmalloc (width * height * sizeof (uint32));
++ raster = (uint32*) _TIFFmalloc ((tsize_t) (pixels_sq * sizeof (uint32)));
+ if (raster != NULL)
+ {
+ int i,j;
+Index: src/lisp.h
+===================================================================
+RCS file: /pack/xemacscvs/XEmacs/xemacs/src/lisp.h,v
+retrieving revision 1.45.2.10
+diff -d -u -r1.45.2.10 lisp.h
+--- src/lisp.h 2005/02/01 03:55:02 1.45.2.10
++++ src/lisp.h 2009/07/01 22:36:05
+@@ -265,6 +265,11 @@
+ /*#define REGISTER register*/
+ /*#endif*/
+
++#if SIZEOF_LONG == 8
++#define UINT_64_BIT unsigned long
++#elif SIZEOF_LONG_LONG == 8
++#define UINT_64_BIT unsigned long long
++#endif
+
+ /* EMACS_INT is the underlying integral type into which a Lisp_Object must fit.
+ In particular, it must be large enough to contain a pointer.
diff --git a/app-editors/xemacs/files/xemacs-21.4.22-libpng15.patch b/app-editors/xemacs/files/xemacs-21.4.22-libpng15.patch
new file mode 100644
index 000000000000..0143e375d749
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.4.22-libpng15.patch
@@ -0,0 +1,66 @@
+diff -ur xemacs-21.4.22.orig/src/glyphs-eimage.c xemacs-21.4.22/src/glyphs-eimage.c
+--- xemacs-21.4.22.orig/src/glyphs-eimage.c 2011-09-26 19:44:57.889720996 +0300
++++ xemacs-21.4.22/src/glyphs-eimage.c 2011-09-26 19:48:07.026226254 +0300
+@@ -946,8 +946,8 @@
+ int y;
+ unsigned char **row_pointers;
+ UINT_64_BIT pixels_sq;
+- height = info_ptr->height;
+- width = info_ptr->width;
++ height = png_get_image_height(png_ptr, info_ptr);
++ width = png_get_image_width(png_ptr, info_ptr);
+ pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height;
+ if (pixels_sq > ((size_t) -1) / 3)
+ signal_image_error ("PNG image too large to instantiate", instantiator);
+@@ -1002,22 +1002,22 @@
+ /* Now that we're using EImage, ask for 8bit RGB triples for any type
+ of image*/
+ /* convert palette images to full RGB */
+- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE)
+ png_set_expand (png_ptr);
+ /* send grayscale images to RGB too */
+- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
+- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY ||
++ png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA)
+ png_set_gray_to_rgb (png_ptr);
+ /* we can't handle alpha values */
+- if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_ALPHA)
+ png_set_strip_alpha (png_ptr);
+ /* tell libpng to strip 16 bit depth files down to 8 bits */
+- if (info_ptr->bit_depth == 16)
++ if (png_get_bit_depth(png_ptr, info_ptr) == 16)
+ png_set_strip_16 (png_ptr);
+ /* if the image is < 8 bits, pad it out */
+- if (info_ptr->bit_depth < 8)
++ if (png_get_bit_depth(png_ptr, info_ptr) < 8)
+ {
+- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY)
+ png_set_expand (png_ptr);
+ else
+ png_set_packing (png_ptr);
+@@ -1036,16 +1036,18 @@
+ */
+ {
+ int i;
++ png_textp text;
++ int num_text;
+
+- for (i = 0 ; i < info_ptr->num_text ; i++)
++ for (i = 0 ; i < num_text ; i++)
+ {
+ /* How paranoid do I have to be about no trailing NULLs, and
+ using (int)info_ptr->text[i].text_length, and strncpy and a temp
+ string somewhere? */
+
+ warn_when_safe (Qpng, Qinfo, "%s - %s",
+- info_ptr->text[i].key,
+- info_ptr->text[i].text);
++ text[i].key,
++ text[i].text);
+ }
+ }
+ #endif
diff --git a/app-editors/xemacs/files/xemacs-21.4.22-texinfo-5.patch b/app-editors/xemacs/files/xemacs-21.4.22-texinfo-5.patch
new file mode 100644
index 000000000000..05dda3974a65
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.4.22-texinfo-5.patch
@@ -0,0 +1,437 @@
+--- xemacs-21.4.22-orig/man/custom.texi
++++ xemacs-21.4.22/man/custom.texi
+@@ -60,7 +60,7 @@
+
+ @node Declaring Groups, Declaring Variables, Top, Top
+ @comment node-name, next, previous, up
+-@section Declaring Groups
++@chapter Declaring Groups
+
+ Use @code{defgroup} to declare new customization groups.
+
+@@ -92,7 +92,7 @@
+
+ @node Declaring Variables, Declaring Faces, Declaring Groups, Top
+ @comment node-name, next, previous, up
+-@section Declaring Variables
++@chapter Declaring Variables
+
+ Use @code{defcustom} to declare user editable variables.
+
+@@ -176,7 +176,7 @@
+
+ @node Declaring Faces, Usage for Package Authors, Declaring Variables, Top
+ @comment node-name, next, previous, up
+-@section Declaring Faces
++@chapter Declaring Faces
+
+ Faces are declared with @code{defface}.
+
+@@ -228,7 +228,7 @@
+
+ @node Usage for Package Authors, Utilities, Declaring Faces, Top
+ @comment node-name, next, previous, up
+-@section Usage for Package Authors
++@chapter Usage for Package Authors
+
+ The recommended usage for the author of a typical emacs lisp package is
+ to create one group identifying the package, and make all user options
+@@ -244,7 +244,7 @@
+
+ @node Utilities, The Init File, Usage for Package Authors, Top
+ @comment node-name, next, previous, up
+-@section Utilities
++@chapter Utilities
+
+ These utilities can come in handy when adding customization support.
+
+@@ -276,7 +276,7 @@
+
+ @node The Init File, Wishlist, Utilities, Top
+ @comment node-name, next, previous, up
+-@section The Init File
++@chapter The Init File
+
+ Customizations are saved to the file specified by @code{custom-file}, as
+ calls to @code{custom-set-variables} and @code{custom-set-faces}.
+@@ -299,7 +299,7 @@
+
+ @node Wishlist, , The Init File, Top
+ @comment node-name, next, previous, up
+-@section Wishlist
++@chapter Wishlist
+
+ @itemize @bullet
+ @item
+--- xemacs-21.4.22-orig/man/info.texi
++++ xemacs-21.4.22/man/info.texi
+@@ -543,6 +543,10 @@
+ @c If a menu appears at the end of this node, remove it.
+ @c It is an accident of the menu updating command.
+
++@menu
++* Help-Cross::
++@end menu
++
+ @node Help-Cross, , , Help-Adv
+ @subsection The node reached by the cross reference in Info
+
+--- xemacs-21.4.22-orig/man/lispref/edebug-inc.texi
++++ xemacs-21.4.22/man/lispref/edebug-inc.texi
+@@ -1103,7 +1103,7 @@
+ Here is a table of the possibilities for @var{specification} and how each
+ directs processing of arguments.
+
+-@table @bullet
++@table @asis
+
+ @item @code{t}
+ All arguments are instrumented for evaluation.
+--- xemacs-21.4.22-orig/man/lispref/packaging.texi
++++ xemacs-21.4.22/man/lispref/packaging.texi
+@@ -600,7 +600,7 @@
+ Does most of the work. Builds the elcs, infos at a minimum.
+ @end table
+
+-@subsection The targets that most people would be interested in would be:
++@section The targets that most people would be interested in would be:
+
+ @itemize @bullet
+ @item @code{all}
+--- xemacs-21.4.22-orig/man/term.texi
++++ xemacs-21.4.22/man/term.texi
+@@ -4,7 +4,7 @@
+
+ @titlepage
+ @sp 6
+-@center @titlefont(Notes about Emacs TERM Mode)
++@center @titlefont{Notes about Emacs TERM Mode}
+ @end titlepage
+
+ @ifinfo
+--- xemacs-21.4.22-orig/man/widget.texi
++++ xemacs-21.4.22/man/widget.texi
+@@ -38,7 +38,7 @@
+
+ @node Introduction, User Interface, Top, Top
+ @comment node-name, next, previous, up
+-@section Introduction
++@chapter Introduction
+
+ Most graphical user interface toolkits, such as Motif and XView, provide
+ a number of standard user interface controls (sometimes known as
+@@ -129,7 +129,7 @@
+
+ @node User Interface, Programming Example, Introduction, Top
+ @comment node-name, next, previous, up
+-@section User Interface
++@chapter User Interface
+
+ A form consists of read only text for documentation and some fields,
+ where each of the fields contains two parts, a tag and a value. The
+@@ -175,7 +175,7 @@
+ a form, namely editing the editable text fields and activating the
+ buttons.
+
+-@subsection Editable Text Fields
++@section Editable Text Fields
+
+ In the example, the value for the @samp{Name} is most likely displayed
+ in an editable text field, and so are values for each of the members of
+@@ -194,7 +194,7 @@
+ Face used for other editing fields.
+ @end deffn
+
+-@subsection Buttons
++@section Buttons
+
+ Some portions of the buffer have an associated @dfn{action}, which can
+ be @dfn{invoked} by a standard key or mouse command. These portions
+@@ -259,7 +259,7 @@
+ Face used for buttons when the mouse pointer is above it.
+ @end defopt
+
+-@subsection Navigation
++@section Navigation
+
+ You can use all the normal Emacs commands to move around in a form
+ buffer, plus you will have these additional commands:
+@@ -277,7 +277,7 @@
+
+ @node Programming Example, Setting Up the Buffer, User Interface, Top
+ @comment node-name, next, previous, up
+-@section Programming Example
++@chapter Programming Example
+
+ Here is the code to implement the user interface example (see @ref{User
+ Interface}).
+@@ -369,7 +369,7 @@
+
+ @node Setting Up the Buffer, Basic Types, Programming Example, Top
+ @comment node-name, next, previous, up
+-@section Setting Up the Buffer
++@chapter Setting Up the Buffer
+
+ Widgets are created with @code{widget-create}, which returns a
+ @dfn{widget} object. This object can be queried and manipulated by
+@@ -422,7 +422,7 @@
+
+ @node Basic Types, Sexp Types, Setting Up the Buffer, Top
+ @comment node-name, next, previous, up
+-@section Basic Types
++@chapter Basic Types
+
+ The syntax of a type specification is given below:
+
+@@ -635,7 +635,7 @@
+
+ @node link, url-link, Basic Types, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{link} Widget
++@section The @code{link} Widget
+
+ Syntax:
+
+@@ -659,7 +659,7 @@
+
+ @node url-link, info-link, link, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{url-link} Widget
++@section The @code{url-link} Widget
+
+ Syntax:
+
+@@ -672,7 +672,7 @@
+
+ @node info-link, push-button, url-link, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{info-link} Widget
++@section The @code{info-link} Widget
+
+ Syntax:
+
+@@ -685,7 +685,7 @@
+
+ @node push-button, editable-field, info-link, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{push-button} Widget
++@section The @code{push-button} Widget
+
+ Syntax:
+
+@@ -709,7 +709,7 @@
+
+ @node editable-field, text, push-button, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{editable-field} Widget
++@section The @code{editable-field} Widget
+
+ Syntax:
+
+@@ -753,7 +753,7 @@
+
+ @node text, menu-choice, editable-field, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{text} Widget
++@section The @code{text} Widget
+
+ This is just like @code{editable-field}, but intended for multiline text
+ fields. The default @code{:keymap} is @code{widget-text-keymap}, which
+@@ -761,7 +761,7 @@
+
+ @node menu-choice, radio-button-choice, text, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{menu-choice} Widget
++@section The @code{menu-choice} Widget
+
+ Syntax:
+
+@@ -796,7 +796,7 @@
+
+ @node radio-button-choice, item, menu-choice, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{radio-button-choice} Widget
++@section The @code{radio-button-choice} Widget
+
+ Syntax:
+
+@@ -856,7 +856,7 @@
+
+ @node item, choice-item, radio-button-choice, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{item} Widget
++@section The @code{item} Widget
+
+ Syntax:
+
+@@ -870,7 +870,7 @@
+
+ @node choice-item, toggle, item, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{choice-item} Widget
++@section The @code{choice-item} Widget
+
+ Syntax:
+
+@@ -886,7 +886,7 @@
+
+ @node toggle, checkbox, choice-item, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{toggle} Widget
++@section The @code{toggle} Widget
+
+ Syntax:
+
+@@ -914,7 +914,7 @@
+
+ @node checkbox, checklist, toggle, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{checkbox} Widget
++@section The @code{checkbox} Widget
+
+ The widget has two possible states, `selected' and `unselected', which
+ corresponds to a @code{t} or @code{nil} value.
+@@ -927,7 +927,7 @@
+
+ @node checklist, editable-list, checkbox, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{checklist} Widget
++@section The @code{checklist} Widget
+
+ Syntax:
+
+@@ -978,7 +978,7 @@
+
+ @node editable-list, group, checklist, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{editable-list} Widget
++@section The @code{editable-list} Widget
+
+ Syntax:
+
+@@ -1030,7 +1030,7 @@
+
+ @node group, , editable-list, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{group} Widget
++@section The @code{group} Widget
+
+ This widget simply groups other widgets together.
+
+@@ -1044,7 +1044,7 @@
+
+ @node Sexp Types, Widget Properties, Basic Types, Top
+ @comment
+-@section Sexp Types
++@chapter Sexp Types
+
+ A number of widgets for editing s-expressions (lisp types) are also
+ available. These basically fall in the following categories.
+@@ -1058,7 +1058,7 @@
+
+ @node constants, generic, Sexp Types, Sexp Types
+ @comment node-name, next, previous, up
+-@subsection The Constant Widgets.
++@section The Constant Widgets.
+
+ The @code{const} widget can contain any lisp expression, but the user is
+ prohibited from editing it, which is mainly useful as a component of one
+@@ -1094,7 +1094,7 @@
+
+ @node generic, atoms, constants, Sexp Types
+ @comment node-name, next, previous, up
+-@subsection Generic Sexp Widget.
++@section Generic Sexp Widget.
+
+ The @code{sexp} widget can contain any lisp expression, and allows the
+ user to edit it inline in the buffer.
+@@ -1115,7 +1115,7 @@
+
+ @node atoms, composite, generic, Sexp Types
+ @comment node-name, next, previous, up
+-@subsection Atomic Sexp Widgets.
++@section Atomic Sexp Widgets.
+
+ The atoms are s-expressions that does not consist of other
+ s-expressions. A string is an atom, while a list is a composite type.
+@@ -1192,7 +1192,7 @@
+
+ @node composite, , atoms, Sexp Types
+ @comment node-name, next, previous, up
+-@subsection Composite Sexp Widgets.
++@section Composite Sexp Widgets.
+
+ The syntax for the composite are
+
+@@ -1265,7 +1265,7 @@
+
+ @node Widget Properties, Defining New Widgets, Sexp Types, Top
+ @comment node-name, next, previous, up
+-@section Properties
++@chapter Properties
+
+ You can examine or set the value of a widget by using the widget object
+ that was returned by @code{widget-create}.
+@@ -1353,7 +1353,7 @@
+
+ @node Defining New Widgets, Widget Browser, Widget Properties, Top
+ @comment node-name, next, previous, up
+-@section Defining New Widgets
++@chapter Defining New Widgets
+
+ You can define specialized widgets with @code{define-widget}. It allows
+ you to create a shorthand for more complex widgets. This includes
+@@ -1565,7 +1565,7 @@
+
+ @node Widget Browser, Widget Minor Mode, Defining New Widgets, Top
+ @comment node-name, next, previous, up
+-@section Widget Browser
++@chapter Widget Browser
+
+ There is a separate package to browse widgets. This is intended to help
+ programmers who want to examine the content of a widget. The browser
+@@ -1589,7 +1589,7 @@
+
+ @node Widget Minor Mode, Utilities, Widget Browser, Top
+ @comment node-name, next, previous, up
+-@section Widget Minor Mode
++@chapter Widget Minor Mode
+
+ There is a minor mode for manipulating widgets in major modes that
+ doesn't provide any support for widgets themselves. This is mostly
+@@ -1606,7 +1606,7 @@
+
+ @node Utilities, Widget Wishlist, Widget Minor Mode, Top
+ @comment node-name, next, previous, up
+-@section Utilities.
++@chapter Utilities.
+
+ @defun widget-prompt-value widget prompt [ value unbound ]
+ Prompt for a value matching @var{widget}, using @var{prompt}.@*
+@@ -1621,7 +1621,7 @@
+
+ @node Widget Wishlist, Widget Internals, Utilities, Top
+ @comment node-name, next, previous, up
+-@section Wishlist
++@chapter Wishlist
+
+ @itemize @bullet
+ @item
+@@ -1693,7 +1693,7 @@
+ @end itemize
+
+ @node Widget Internals, , Widget Wishlist, Top
+-@section Internals
++@chapter Internals
+
+ This (very brief!) section provides a few notes on the internal
+ structure and implementation of Emacs widgets. Avoid relying on this
+@@ -1701,7 +1701,7 @@
+ To the extent that it actually describes APIs, the information will be
+ moved to appropriate sections of the manual in due course.
+
+-@subsection The @dfn{Widget} and @dfn{Type} Structures
++@section The @dfn{Widget} and @dfn{Type} Structures
+
+ Widgets and types are currently both implemented as lists.
+
diff --git a/app-editors/xemacs/files/xemacs-21.5.29-optimization-bug.patch b/app-editors/xemacs/files/xemacs-21.5.29-optimization-bug.patch
new file mode 100644
index 000000000000..32a1a02c2abe
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.29-optimization-bug.patch
@@ -0,0 +1,14 @@
+Work around a GCC optimization bug as described in
+http://tracker.xemacs.org/XEmacs/its/issue354
+
+--- src/dumper.c.~1~ 2008-01-26 09:54:11.000000000 +0100
++++ src/dumper.c 2008-05-03 10:17:03.000000000 +0200
+@@ -2584,7 +2584,7 @@
+ #endif /* !WIN32_NATIVE */
+
+
+-static int
++int
+ pdump_file_try (Wexttext *exe_path)
+ {
+ Wexttext *w = exe_path + wext_strlen (exe_path);
diff --git a/app-editors/xemacs/files/xemacs-21.5.33-no-mule-build.patch b/app-editors/xemacs/files/xemacs-21.5.33-no-mule-build.patch
new file mode 100644
index 000000000000..17e572044fac
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.33-no-mule-build.patch
@@ -0,0 +1,33 @@
+diff -r a2912073be85 lisp/paragraphs.el
+--- a/lisp/paragraphs.el Wed Jun 19 09:30:30 2013 -0600
++++ b/lisp/paragraphs.el Sat Jun 22 13:27:48 2013 +0200
+@@ -180,7 +180,10 @@
+ :type '(choice regexp (const :tag "Use default value" nil)))
+ (put 'sentence-end 'safe-local-variable 'string-or-null-p)
+
+-(defcustom sentence-end-base "[.?!][]\"'”)}]*"
++(defcustom sentence-end-base
++ (concat "[.?!][]\"'"
++ (if (featurep 'mule) (string (unicode-to-char #x201D)) "")
++ ")}]*")
+ "Regexp matching the basic end of a sentence, not including following space."
+ :group 'paragraphs
+ :type 'string
+@@ -201,14 +204,14 @@
+ in between. See Info node `(elisp)Standard Regexps'."
+ (or sentence-end
+ ;; We accept non-break space along with space.
+- (concat (if sentence-end-without-period "\\w[ \u00a0][ \u00a0]\\|")
++ (concat (if sentence-end-without-period "\\w[ \240][ \240]\\|")
+ "\\("
+ sentence-end-base
+ (if sentence-end-double-space
+- "\\($\\|[ \u00a0]$\\|\t\\|[ \u00a0][ \u00a0]\\)" "\\($\\|[\t \u00a0]\\)")
++ "\\($\\|[ \240]$\\|\t\\|[ \240][ \240]\\)" "\\($\\|[\t \240]\\)")
+ "\\|[" sentence-end-without-space "]+"
+ "\\)"
+- "[ \u00a0\t\n]*")))
++ "[ \240\t\n]*")))
+
+ (defcustom page-delimiter "^\014"
+ "*Regexp describing line-beginnings that separate pages."
diff --git a/app-editors/xemacs/files/xemacs-21.5.34-ncurses-tinfo.patch b/app-editors/xemacs/files/xemacs-21.5.34-ncurses-tinfo.patch
new file mode 100644
index 000000000000..a08eda3c8a83
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.34-ncurses-tinfo.patch
@@ -0,0 +1,13 @@
+diff -r 6355de501637 configure
+--- a/configure Thu Jan 23 15:03:16 2014 +0000
++++ b/configure Fri Jan 31 23:55:12 2014 +0100
+@@ -19699,7 +19699,8 @@
+ extra_objs="$extra_objs terminfo.o" && if test "$verbose" = "yes"; then
+ echo " xemacs will be linked with \"terminfo.o\""
+ fi
+- LIBS="-lncurses $LIBS" && if test "$verbose" = "yes"; then echo " Prepending \"-lncurses\" to \$LIBS"; fi
++ ncurses_libs=$(pkg-config ncurses --libs)
++ LIBS="$ncurses_libs $LIBS" && if test "$verbose" = "yes"; then echo " Prepending \"$ncurses_libs\" to \$LIBS"; fi
+
+ if test "$ac_cv_header_ncurses_curses_h" != "yes" ; then
+ save_c_switch_site="$c_switch_site"
diff --git a/app-editors/xemacs/files/xemacs.desktop b/app-editors/xemacs/files/xemacs.desktop
new file mode 100644
index 000000000000..93f14a731f2b
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs.desktop
@@ -0,0 +1,33 @@
+[Desktop Entry]
+Name=XEmacs Text Editor
+Name[bg]=редактор XEmacs
+Name[ca]=Editor XEmacs
+Name[cs]=Editor XEmacs
+Name[da]=XEmacs tekstredigerer
+Name[de]=XEmacs Texteditor
+Name[eo]=La redaktilo XEmakso
+Name[es]=Emacs para X
+Name[et]=Emacs X'i kasutajaliidesega
+Name[fi]=XEmacs editori
+Name[fr]=Éditeur XEmacs
+Name[hu]=XEmacs szövegszerkesztő
+Name[is]=XEmacs-ritill
+Name[it]=Emacs per X
+Name[ja]=XEmacs テキスト・エディター
+Name[mk]=Софистицираниот XEmacs уредувач
+Name[no]=XEmacs-tekstredigerer
+Name[pt]=Editor XEmacs
+Name[ro]=Editorul XEmacs
+Name[ru]=Редактор XEmacs
+Name[sk]=Editor XEmacs
+Name[sl]=Urejevalnik XEmacs
+Name[uk]=Редактор XEmacs
+GenericName=Text Editor
+Comment=Edit text
+MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
+Exec=xemacs %f
+Icon=xemacs
+Type=Application
+Terminal=false
+Categories=Utility;TextEditor;
+StartupWMClass=Emacs
diff --git a/app-editors/xemacs/metadata.xml b/app-editors/xemacs/metadata.xml
new file mode 100644
index 000000000000..1476b66ede4b
--- /dev/null
+++ b/app-editors/xemacs/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>xemacs</herd>
+ <maintainer>
+ <email>xemacs@gentoo.org</email>
+ <description>Primary Maintainer</description>
+ </maintainer>
+ <longdescription></longdescription>
+ <use>
+ <flag name='athena'>Chooses the MIT Athena widget set</flag>
+ <flag name='dnd'>Enables support for the <pkg>x11-libs/dnd</pkg>
+ drag-n-drop library</flag>
+ <flag name='eolconv'>Support detection and translation of newline
+ conventions</flag>
+ <flag name='pop'>Support POP for mail retrieval</flag>
+ <flag name='xim'>Enable X11 XiM input method</flag>
+ </use>
+</pkgmetadata>
diff --git a/app-editors/xemacs/xemacs-21.4.22-r4.ebuild b/app-editors/xemacs/xemacs-21.4.22-r4.ebuild
new file mode 100644
index 000000000000..e8f4a7949c49
--- /dev/null
+++ b/app-editors/xemacs/xemacs-21.4.22-r4.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Note: xemacs currently does not work with a hardened profile. If you
+# want to use xemacs on a hardened profile then compile with the
+# -nopie flag in CFLAGS or help fix bug #75028.
+
+EAPI="5"
+
+WANT_AUTOCONF="2.1"
+inherit autotools eutils toolchain-funcs
+
+DESCRIPTION="highly customizable open source text editor and application development system"
+HOMEPAGE="http://www.xemacs.org/"
+SRC_URI="http://ftp.xemacs.org/xemacs-21.4/${P}.tar.gz
+ http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ppc ppc64 sparc x86"
+IUSE="eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xim athena neXt Xaw3d gdbm berkdb"
+
+X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
+
+RDEPEND="
+ berkdb? ( sys-libs/db:= )
+ gdbm? ( >=sys-libs/gdbm-1.8.3 )
+ >=sys-libs/zlib-1.1.4
+ >=dev-libs/openssl-0.9.6:0
+ >=media-libs/audiofile-0.2.3
+ gpm? ( >=sys-libs/gpm-1.19.6 )
+ postgres? ( dev-db/postgresql:= )
+ ldap? ( net-nds/openldap )
+ nas? ( media-libs/nas )
+ X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) )
+ dnd? ( x11-libs/dnd )
+ motif? ( >=x11-libs/motif-2.3:0 )
+ athena? ( x11-libs/libXaw )
+ Xaw3d? ( x11-libs/libXaw3d )
+ neXt? ( x11-libs/neXtaw )
+ xface? ( media-libs/compface )
+ tiff? ( media-libs/tiff:0 )
+ png? ( >=media-libs/libpng-1.2:0 )
+ jpeg? ( virtual/jpeg:0 )
+ canna? ( app-i18n/canna )
+ !amd64? ( freewnn? ( app-i18n/freewnn ) )
+ >=sys-libs/ncurses-5.2
+ >=app-eselect/eselect-emacs-1.15"
+
+DEPEND="${RDEPEND}"
+
+PDEPEND="app-xemacs/xemacs-base
+ mule? ( app-xemacs/mule-base )"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ use neXt && unpack NeXT_XEmacs.tar.gz
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/xemacs-21.4.19-texi.patch
+
+ # see bug 58350, 102540 and 143580
+ epatch "${FILESDIR}"/xemacs-21.4.19-db.patch
+
+ # Security bug #216880
+ epatch "${FILESDIR}"/xemacs-21.4.21-vcdiff.patch
+
+ # Security bug #275397
+ epatch "${FILESDIR}"/${P}-large-images.patch
+
+ # Make sure to include deprecated LDAP symbols to avoid runtime
+ # crashes.
+ epatch "${FILESDIR}"/${P}-deprecated-ldap.patch
+
+ # Fix compilation with libpng 1.5, bug 384461
+ epatch "${FILESDIR}"/${P}-libpng15.patch
+
+ # Add texinfo-5.1 compatibility
+ epatch "${FILESDIR}"/${P}-texinfo-5.patch
+
+ # Some binaries and man pages are installed under suffixed names
+ # to avoid collions with their GNU Emacs counterparts (see below).
+ # Fix internal filename references.
+ sed -i -e 's/exec gnuclient/&-xemacs/' lib-src/gnudoit || die
+ sed -i -e '/^\.so/s/etags/&-xemacs/' etc/ctags.1 || die
+ sed -i -e '/^\.so/s/gnuserv/&-xemacs/' etc/gnu{client,doit,attach}.1 || die
+
+ # Run autoconf. XEmacs tries to be smart by providing a stub
+ # configure.ac file for autoconf 2.59 but this throws our
+ # autotools eclass so it must be removed first.
+ rm "${S}"/configure.ac || die
+ eautoconf
+
+ use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/
+}
+
+src_configure() {
+ local myconf=""
+
+ if use X; then
+
+ myconf="${myconf} --with-widgets=athena"
+ myconf="${myconf} --with-dialogs=athena"
+ myconf="${myconf} --with-menubars=lucid"
+ myconf="${myconf} --with-scrollbars=lucid"
+ if use motif ; then
+ myconf="--with-widgets=motif"
+ myconf="${myconf} --with-dialogs=motif"
+ myconf="${myconf} --with-scrollbars=motif"
+ myconf="${myconf} --with-menubars=lucid"
+ fi
+ if use athena ; then
+ myconf="--with-scrollbars=athena"
+ fi
+
+ if use Xaw3d; then
+ myconf="${myconf} --with-athena=3d"
+ elif use neXt; then
+ myconf="${myconf} --with-athena=next"
+ else
+ myconf="${myconf} --with-athena=xaw"
+ fi
+
+ use dnd && myconf="${myconf} --with-dragndrop --with-offix"
+
+ myconf="${myconf} $(use_with tiff ) $(use_with png )"
+ myconf="${myconf} $(use_with jpeg ) $(use_with xface )"
+ else
+ myconf="${myconf}
+ --without-x
+ --without-xpm
+ --without-dragndrop
+ --with-gif=no"
+ fi
+
+ if use mule ; then
+ myconf="${myconf} --with-mule"
+
+ if use xim ; then
+ if use motif ; then
+ myconf="${myconf} --with-xim=motif"
+ else
+ myconf="${myconf} --with-xim=xlib"
+ fi
+ else
+ myconf="${myconf} --with-xim=no"
+ fi
+
+ myconf="${myconf} $(use_with canna ) $(use_with freewnn wnn )"
+ fi
+
+ # This determines the type of sounds we are playing
+ local soundconf="native"
+
+ # This determines how these sounds should be played
+ use nas && soundconf="${soundconf},nas"
+
+ myconf="${myconf} --with-sound=${soundconf}"
+
+ if use gdbm || use berkdb ; then
+ use gdbm && mydb="gdbm"
+
+ use berkdb && mydb="${mydb},berkdb"
+
+ myconf="${myconf} --with-database=${mydb}"
+ else
+ myconf="${myconf} --without-database"
+ fi
+
+ # fixes #21264, this should be fixed in 21.4.21 and has been fixed
+ # in 21.5 for sure. Now that 21.4.21 is out there is no real
+ # evidence that this indeed got fixed, so keep these exceptions
+ # for now.
+ use alpha && myconf="${myconf} --with-system-malloc"
+ use ppc64 && myconf="${myconf} --with-system-malloc"
+ use ia64 && myconf="${myconf} --with-system-malloc"
+
+ # Enabling modules will cause segfaults outside the XEmacs build directory
+ use ia64 && myconf="${myconf} --without-modules"
+
+ # fixes #552044, deprecation warnings fools header detection in configure
+ myconf="${myconf} --cppflags=-Wno-cpp"
+
+ einfo "${myconf}"
+
+ # Don't use econf because it uses options which this configure
+ # script does not understand (like --host).
+ ./configure ${myconf} ${EXTRA_ECONF} \
+ $(use_with gif ) \
+ $(use_with gpm ) \
+ $(use_with postgres postgresql ) \
+ $(use_with ldap ) \
+ $(use_with eolconv file-coding ) \
+ $(use_with pop ) \
+ --compiler=$(tc-getCC) \
+ --prefix=/usr \
+ --with-ncurses \
+ --with-msw=no \
+ --mail-locking=flock \
+ --with-site-lisp=yes \
+ --with-site-modules=yes \
+ || die "The configure script failed to run properly"
+}
+
+src_install() {
+ emake prefix="${D}"/usr \
+ mandir="${D}"/usr/share/man/man1 \
+ infodir="${D}"/usr/share/info \
+ install gzip-el || die "emake install failed"
+
+ # Rename some applications installed in bin so that it is clear
+ # which application installed them and so that conflicting
+ # packages (emacs) can't clobber the actual applications.
+ # Addresses bug #62991.
+ for i in b2m ctags etags rcs-checkin gnuclient gnudoit gnuattach; do
+ mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed"
+ done
+
+ # rename man pages
+ for i in ctags etags gnuserv gnuclient gnudoit gnuattach; do
+ mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed"
+ done
+
+ # install base packages directories
+ dodir /usr/lib/xemacs/xemacs-packages/
+ dodir /usr/lib/xemacs/site-packages/
+ dodir /usr/lib/xemacs/site-modules/
+ dodir /usr/lib/xemacs/site-lisp/
+
+ if use mule;
+ then
+ dodir /usr/lib/xemacs/mule-packages
+ fi
+
+ # remove extraneous info files
+ cd "${D}"/usr/share/info
+ rm -f dir info.info texinfo* termcap* standards*
+
+ cd "${S}"
+ dodoc BUGS CHANGES-* ChangeLog GETTING* INSTALL PROBLEMS README*
+ dodoc "${FILESDIR}"/README.Gentoo
+
+ newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm
+
+ domenu "${FILESDIR}"/${PN}.desktop
+}
+
+pkg_postinst() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+}
+
+pkg_postrm() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+}
diff --git a/app-editors/xemacs/xemacs-21.4.24.ebuild b/app-editors/xemacs/xemacs-21.4.24.ebuild
new file mode 100644
index 000000000000..a9b17c431eaa
--- /dev/null
+++ b/app-editors/xemacs/xemacs-21.4.24.ebuild
@@ -0,0 +1,241 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Note: xemacs currently does not work with a hardened profile. If you
+# want to use xemacs on a hardened profile then compile with the
+# -nopie flag in CFLAGS or help fix bug #75028.
+
+EAPI="5"
+
+WANT_AUTOCONF="2.1"
+inherit autotools eutils toolchain-funcs
+
+DESCRIPTION="highly customizable open source text editor and application development system"
+HOMEPAGE="http://www.xemacs.org/"
+SRC_URI="http://ftp.xemacs.org/xemacs-21.4/${P}.tar.gz
+ http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="alpha ~amd64 hppa ppc ppc64 sparc ~x86"
+IUSE="eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xim athena neXt Xaw3d gdbm berkdb"
+
+X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
+
+RDEPEND="
+ berkdb? ( sys-libs/db:= )
+ gdbm? ( >=sys-libs/gdbm-1.8.3 )
+ >=sys-libs/zlib-1.1.4
+ >=dev-libs/openssl-0.9.6:0
+ >=media-libs/audiofile-0.2.3
+ gpm? ( >=sys-libs/gpm-1.19.6 )
+ postgres? ( dev-db/postgresql:= )
+ ldap? ( net-nds/openldap )
+ nas? ( media-libs/nas )
+ X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) )
+ dnd? ( x11-libs/dnd )
+ motif? ( >=x11-libs/motif-2.3:0 )
+ athena? ( x11-libs/libXaw )
+ Xaw3d? ( x11-libs/libXaw3d )
+ neXt? ( x11-libs/neXtaw )
+ xface? ( media-libs/compface )
+ tiff? ( media-libs/tiff:0 )
+ png? ( >=media-libs/libpng-1.2:0 )
+ jpeg? ( virtual/jpeg:0 )
+ canna? ( app-i18n/canna )
+ !amd64? ( freewnn? ( app-i18n/freewnn ) )
+ >=sys-libs/ncurses-5.2
+ >=app-eselect/eselect-emacs-1.15"
+
+DEPEND="${RDEPEND}
+ >=sys-apps/texinfo-5"
+
+PDEPEND="app-xemacs/xemacs-base
+ mule? ( app-xemacs/mule-base )"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ use neXt && unpack NeXT_XEmacs.tar.gz
+}
+
+src_prepare() {
+ # see bug 58350, 102540 and 143580
+ epatch "${FILESDIR}"/xemacs-21.4.19-db.patch
+
+ # Some binaries and man pages are installed under suffixed names
+ # to avoid collions with their GNU Emacs counterparts (see below).
+ # Fix internal filename references.
+ sed -i -e 's/exec gnuclient/&-xemacs/' lib-src/gnudoit || die
+ sed -i -e '/^\.so/s/etags/&-xemacs/' etc/ctags.1 || die
+ sed -i -e '/^\.so/s/gnuserv/&-xemacs/' etc/gnu{client,doit,attach}.1 || die
+
+ # Run autoconf. XEmacs tries to be smart by providing a stub
+ # configure.ac file for autoconf 2.59 but this throws our
+ # autotools eclass so it must be removed first.
+ rm "${S}"/configure.ac || die
+ eautoconf
+
+ use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/
+}
+
+src_configure() {
+ local myconf=""
+
+ if use X; then
+
+ myconf="${myconf} --with-widgets=athena"
+ myconf="${myconf} --with-dialogs=athena"
+ myconf="${myconf} --with-menubars=lucid"
+ myconf="${myconf} --with-scrollbars=lucid"
+ if use motif ; then
+ myconf="--with-widgets=motif"
+ myconf="${myconf} --with-dialogs=motif"
+ myconf="${myconf} --with-scrollbars=motif"
+ myconf="${myconf} --with-menubars=lucid"
+ fi
+ if use athena ; then
+ myconf="--with-scrollbars=athena"
+ fi
+
+ if use Xaw3d; then
+ myconf="${myconf} --with-athena=3d"
+ elif use neXt; then
+ myconf="${myconf} --with-athena=next"
+ else
+ myconf="${myconf} --with-athena=xaw"
+ fi
+
+ use dnd && myconf="${myconf} --with-dragndrop --with-offix"
+
+ myconf="${myconf} $(use_with tiff ) $(use_with png )"
+ myconf="${myconf} $(use_with jpeg ) $(use_with xface )"
+ else
+ myconf="${myconf}
+ --without-x
+ --without-xpm
+ --without-dragndrop
+ --with-gif=no"
+ fi
+
+ if use mule ; then
+ myconf="${myconf} --with-mule"
+
+ if use xim ; then
+ if use motif ; then
+ myconf="${myconf} --with-xim=motif"
+ else
+ myconf="${myconf} --with-xim=xlib"
+ fi
+ else
+ myconf="${myconf} --with-xim=no"
+ fi
+
+ myconf="${myconf} $(use_with canna ) $(use_with freewnn wnn )"
+ fi
+
+ # This determines the type of sounds we are playing
+ local soundconf="native"
+
+ # This determines how these sounds should be played
+ use nas && soundconf="${soundconf},nas"
+
+ myconf="${myconf} --with-sound=${soundconf}"
+
+ if use gdbm || use berkdb ; then
+ use gdbm && mydb="gdbm"
+
+ use berkdb && mydb="${mydb},berkdb"
+
+ myconf="${myconf} --with-database=${mydb}"
+ else
+ myconf="${myconf} --without-database"
+ fi
+
+ # fixes #21264, this should be fixed in 21.4.21 and has been fixed
+ # in 21.5 for sure. Now that 21.4.21 is out there is no real
+ # evidence that this indeed got fixed, so keep these exceptions
+ # for now.
+ use alpha && myconf="${myconf} --with-system-malloc"
+ use ppc64 && myconf="${myconf} --with-system-malloc"
+ use ia64 && myconf="${myconf} --with-system-malloc"
+
+ # Enabling modules will cause segfaults outside the XEmacs build directory
+ use ia64 && myconf="${myconf} --without-modules"
+
+ # fixes #552044, deprecation warnings fools header detection in configure
+ myconf="${myconf} --cppflags=-Wno-cpp"
+
+ einfo "${myconf}"
+
+ # Don't use econf because it uses options which this configure
+ # script does not understand (like --host).
+ ./configure ${myconf} ${EXTRA_ECONF} \
+ $(use_with gif ) \
+ $(use_with gpm ) \
+ $(use_with postgres postgresql ) \
+ $(use_with ldap ) \
+ $(use_with eolconv file-coding ) \
+ $(use_with pop ) \
+ --compiler=$(tc-getCC) \
+ --prefix=/usr \
+ --with-ncurses \
+ --with-msw=no \
+ --mail-locking=flock \
+ --with-site-lisp=yes \
+ --with-site-modules=yes \
+ || die "The configure script failed to run properly"
+}
+
+src_install() {
+ emake prefix="${D}"/usr \
+ mandir="${D}"/usr/share/man/man1 \
+ infodir="${D}"/usr/share/info \
+ install gzip-el || die "emake install failed"
+
+ # Rename some applications installed in bin so that it is clear
+ # which application installed them and so that conflicting
+ # packages (emacs) can't clobber the actual applications.
+ # Addresses bug #62991.
+ for i in b2m ctags etags rcs-checkin gnuclient gnudoit gnuattach; do
+ mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed"
+ done
+
+ # rename man pages
+ for i in ctags etags gnuserv gnuclient gnudoit gnuattach; do
+ mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed"
+ done
+
+ # install base packages directories
+ dodir /usr/lib/xemacs/xemacs-packages/
+ dodir /usr/lib/xemacs/site-packages/
+ dodir /usr/lib/xemacs/site-modules/
+ dodir /usr/lib/xemacs/site-lisp/
+
+ if use mule;
+ then
+ dodir /usr/lib/xemacs/mule-packages
+ fi
+
+ # remove extraneous info files
+ cd "${D}"/usr/share/info
+ rm -f dir info.info texinfo* termcap* standards*
+
+ cd "${S}"
+ dodoc BUGS CHANGES-* ChangeLog GETTING* INSTALL PROBLEMS README*
+ dodoc "${FILESDIR}"/README.Gentoo
+
+ newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm
+
+ domenu "${FILESDIR}"/${PN}.desktop
+}
+
+pkg_postinst() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+}
+
+pkg_postrm() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+}
diff --git a/app-editors/xemacs/xemacs-21.5.31.ebuild b/app-editors/xemacs/xemacs-21.5.31.ebuild
new file mode 100644
index 000000000000..073ddf74b5a6
--- /dev/null
+++ b/app-editors/xemacs/xemacs-21.5.31.ebuild
@@ -0,0 +1,239 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Note: xemacs currently does not work with a hardened profile. If you
+# want to use xemacs on a hardened profile then compile with the
+# -nopie flag in CFLAGS or help fix bug #75028.
+
+EAPI=4
+
+WANT_AUTOCONF="2.5"
+inherit eutils flag-o-matic multilib
+
+DESCRIPTION="highly customizable open source text editor and application development system"
+HOMEPAGE="http://www.xemacs.org/"
+SRC_URI="http://ftp.xemacs.org/xemacs-21.5/${P}.tar.gz
+ http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd"
+IUSE="alsa debug eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xft xim athena neXt Xaw3d gdbm berkdb"
+
+X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
+
+RDEPEND="
+ berkdb? ( >=sys-libs/db-4 !!<sys-libs/db-4 )
+ gdbm? ( >=sys-libs/gdbm-1.8.3[berkdb(+)] )
+ >=sys-libs/zlib-1.1.4
+ >=dev-libs/openssl-0.9.6:0
+ >=media-libs/audiofile-0.2.3
+ gpm? ( >=sys-libs/gpm-1.19.6 )
+ postgres? ( dev-db/postgresql )
+ ldap? ( net-nds/openldap )
+ alsa? ( media-libs/alsa-lib )
+ nas? ( media-libs/nas )
+ X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) )
+ dnd? ( x11-libs/dnd )
+ motif? ( >=x11-libs/motif-2.3:0[xft=] )
+ athena? ( x11-libs/libXaw )
+ Xaw3d? ( x11-libs/libXaw3d )
+ xft? ( media-libs/freetype:2 x11-libs/libXft x11-libs/libXrender >=media-libs/fontconfig-2.5.0 )
+ neXt? ( x11-libs/neXtaw )
+ xface? ( media-libs/compface )
+ tiff? ( media-libs/tiff:0 )
+ png? ( >=media-libs/libpng-1.2:0 )
+ jpeg? ( virtual/jpeg:0 )
+ canna? ( app-i18n/canna )
+ freewnn? ( app-i18n/freewnn )
+ >=sys-libs/ncurses-5.2"
+
+DEPEND="${RDEPEND}
+ >=app-eselect/eselect-emacs-1.2"
+
+PDEPEND="app-xemacs/xemacs-base
+ mule? ( app-xemacs/mule-base )"
+
+src_unpack() {
+ default_src_unpack
+
+ use neXt && unpack NeXT_XEmacs.tar.gz
+}
+
+src_prepare() {
+ # Fix problem caused by improper optimization with GCC 4.1.2 on x86
+ # (and possibly other arches, but only confirmed on x86). See
+ # http://tracker.xemacs.org/XEmacs/its/issue354 for the upstream
+ # bug.
+ epatch "${FILESDIR}"/${PN}-21.5.29-optimization-bug.patch
+
+ use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/
+}
+
+src_configure() {
+ local myconf=""
+
+ if use X; then
+
+ myconf="${myconf} --with-widgets=athena"
+ myconf="${myconf} --with-dialogs=athena"
+ myconf="${myconf} --with-menubars=lucid"
+ myconf="${myconf} --with-scrollbars=lucid"
+ if use motif ; then
+ myconf="--with-widgets=motif"
+ myconf="${myconf} --with-dialogs=motif"
+ myconf="${myconf} --with-scrollbars=motif"
+ myconf="${myconf} --with-menubars=lucid"
+ fi
+ if use athena or use Xaw3d ; then
+ myconf="--with-scrollbars=athena"
+ fi
+
+ if use Xaw3d; then
+ myconf="${myconf} --with-athena=3d"
+ elif use neXt; then
+ myconf="${myconf} --with-athena=next"
+ else
+ myconf="${myconf} --with-athena=xaw"
+ fi
+
+ use dnd && myconf="${myconf} --with-dragndrop --with-offix"
+
+ myconf="${myconf} $(use_with tiff )"
+ myconf="${myconf} $(use_with png )"
+ myconf="${myconf} $(use_with jpeg )"
+ myconf="${myconf} $(use_with xface )"
+
+ use xft && myconf="${myconf} --with-xft=emacs,tabs,menubars,gauges" ||
+ myconf="${myconf} --with-xft=no"
+
+ else
+ myconf="${myconf}
+ --without-x
+ --without-xpm
+ --without-dragndrop
+ --with-xft=no
+ --with-gif=no"
+ fi
+
+ if use mule ; then
+ myconf="${myconf} --with-mule"
+
+ if use xim ; then
+ if use motif ; then
+ myconf="${myconf} --with-xim=motif"
+ else
+ myconf="${myconf} --with-xim=xlib"
+ fi
+ else
+ myconf="${myconf} --with-xim=no"
+ fi
+
+ myconf="${myconf} $(use_with canna )"
+ myconf="${myconf} $(use_with freewnn wnn )"
+ fi
+
+ # This determines the type of sounds we are playing
+ local soundconf="native"
+
+ # This determines how these sounds should be played
+ use nas && soundconf="${soundconf},nas"
+ use alsa && soundconf="${soundconf},alsa"
+
+ myconf="${myconf} --with-sound=${soundconf}"
+
+ if use gdbm || use berkdb ; then
+ use gdbm && mydb="gdbm"
+ use berkdb && mydb="${mydb},berkdb"
+
+ myconf="${myconf} --with-database=${mydb}"
+ else
+ myconf="${myconf} --without-database"
+ fi
+
+ use debug && myconf="${myconf} --with-debug" ||
+ myconf="${myconf} --with-optimization"
+
+ econf ${myconf} \
+ $(use_with gif ) \
+ $(use_with gpm ) \
+ $(use_with postgres postgresql ) \
+ $(use_with ldap ) \
+ $(use_with eolconv file-coding ) \
+ $(use_with pop ) \
+ --prefix=/usr \
+ --with-ncurses \
+ --with-msw=no \
+ --with-mail-locking=flock \
+ --with-site-lisp=yes \
+ --with-site-modules=yes \
+ --with-newgc \
+ --enable-option-checking=no \
+ --with-last-packages=/usr/lib/xemacs \
+ || die "configuration failed"
+}
+
+src_install() {
+ emake prefix="${D}"/usr \
+ mandir="${D}"/usr/share/man/man1 \
+ infodir="${D}"/usr/share/info \
+ libdir="${D}"/usr/$(get_libdir) \
+ datadir="${D}"/usr/share \
+ install gzip-el || die
+
+ # Rename some applications installed in bin so that it is clear
+ # which application installed them and so that conflicting
+ # packages (emacs) can't clobber the actual applications.
+ # Addresses bug #62991.
+ for i in b2m ctags etags ; do
+ mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed"
+ done
+
+ # rename man pages
+ for i in ctags etags; do
+ mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed"
+ done
+
+ # install base packages directories
+ dodir /usr/lib/xemacs/xemacs-packages/
+ dodir /usr/lib/xemacs/site-packages/
+ dodir /usr/lib/xemacs/site-modules/
+ dodir /usr/lib/xemacs/site-lisp/
+
+ if use mule;
+ then
+ dodir /usr/lib/xemacs/mule-packages
+ fi
+
+ # remove extraneous info files
+ cd "${D}"/usr/share/info
+ rm -f dir info.info texinfo* termcap* standards*
+
+ cd "${S}"
+ dodoc CHANGES-* ChangeLog INSTALL Installation PROBLEMS README*
+
+ newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm
+
+ domenu "${FILESDIR}"/${PN}.desktop
+}
+
+pkg_postinst() {
+ eselect emacs update ifunset
+
+ einfo "If you are upgrading from XEmacs 21.4 you should note the following"
+ einfo "incompatibilities:"
+ einfo "- Mule-UCS is no longer supported due to proper UTF-8 support in XEmacs 21.5"
+ einfo "- The X resource class has changed from Emacs to XEmacs,"
+ einfo " settings in your .Xdefaults file should be updated accordingly."
+
+ if use xft;
+ then
+ einfo "You have enabled Xft font support. Xft requires font names to be provided"
+ einfo "in a different way, so you may need to adjust your .Xdefaults accordingly."
+ fi
+}
+
+pkg_postrm() {
+ eselect emacs update ifunset
+}
diff --git a/app-editors/xemacs/xemacs-21.5.33.ebuild b/app-editors/xemacs/xemacs-21.5.33.ebuild
new file mode 100644
index 000000000000..07d4248e34d0
--- /dev/null
+++ b/app-editors/xemacs/xemacs-21.5.33.ebuild
@@ -0,0 +1,237 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Note: xemacs currently does not work with a hardened profile. If you
+# want to use xemacs on a hardened profile then compile with the
+# -nopie flag in CFLAGS or help fix bug #75028.
+
+EAPI=4
+
+WANT_AUTOCONF="2.5"
+inherit eutils flag-o-matic multilib
+
+DESCRIPTION="highly customizable open source text editor and application development system"
+HOMEPAGE="http://www.xemacs.org/"
+SRC_URI="http://ftp.xemacs.org/xemacs-21.5/${P}.tar.gz
+ http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd"
+IUSE="alsa debug eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xft xim athena neXt Xaw3d gdbm berkdb"
+
+X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
+
+RDEPEND="
+ berkdb? ( >=sys-libs/db-4 !!<sys-libs/db-4 )
+ gdbm? ( >=sys-libs/gdbm-1.8.3[berkdb(+)] )
+ >=sys-libs/zlib-1.1.4
+ >=dev-libs/openssl-0.9.6:0
+ >=media-libs/audiofile-0.2.3
+ gpm? ( >=sys-libs/gpm-1.19.6 )
+ postgres? ( dev-db/postgresql )
+ ldap? ( net-nds/openldap )
+ alsa? ( media-libs/alsa-lib )
+ nas? ( media-libs/nas )
+ X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) )
+ dnd? ( x11-libs/dnd )
+ motif? ( >=x11-libs/motif-2.3:0[xft=] )
+ athena? ( x11-libs/libXaw )
+ Xaw3d? ( x11-libs/libXaw3d )
+ xft? ( media-libs/freetype:2 x11-libs/libXft x11-libs/libXrender >=media-libs/fontconfig-2.5.0 )
+ neXt? ( x11-libs/neXtaw )
+ xface? ( media-libs/compface )
+ tiff? ( media-libs/tiff:0 )
+ png? ( >=media-libs/libpng-1.2:0 )
+ jpeg? ( virtual/jpeg:0 )
+ canna? ( app-i18n/canna )
+ freewnn? ( app-i18n/freewnn )
+ >=sys-libs/ncurses-5.2"
+
+DEPEND="${RDEPEND}
+ >=app-eselect/eselect-emacs-1.2"
+
+PDEPEND="app-xemacs/xemacs-base
+ mule? ( app-xemacs/mule-base )"
+
+src_unpack() {
+ default_src_unpack
+
+ use neXt && unpack NeXT_XEmacs.tar.gz
+}
+
+src_prepare() {
+ use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/
+
+ # Fix for no-mule build.
+ find "${S}"/lisp -name '*.elc' -exec rm {} \; || die
+ epatch "${FILESDIR}"/${P}-no-mule-build.patch
+}
+
+src_configure() {
+ local myconf=""
+
+ if use X; then
+
+ myconf="${myconf} --with-widgets=athena"
+ myconf="${myconf} --with-dialogs=athena"
+ myconf="${myconf} --with-menubars=lucid"
+ myconf="${myconf} --with-scrollbars=lucid"
+ if use motif ; then
+ myconf="--with-widgets=motif"
+ myconf="${myconf} --with-dialogs=motif"
+ myconf="${myconf} --with-scrollbars=motif"
+ myconf="${myconf} --with-menubars=lucid"
+ fi
+ if use athena or use Xaw3d ; then
+ myconf="--with-scrollbars=athena"
+ fi
+
+ if use Xaw3d; then
+ myconf="${myconf} --with-athena=3d"
+ elif use neXt; then
+ myconf="${myconf} --with-athena=next"
+ else
+ myconf="${myconf} --with-athena=xaw"
+ fi
+
+ use dnd && myconf="${myconf} --with-dragndrop --with-offix"
+
+ myconf="${myconf} $(use_with tiff )"
+ myconf="${myconf} $(use_with png )"
+ myconf="${myconf} $(use_with jpeg )"
+ myconf="${myconf} $(use_with xface )"
+
+ use xft && myconf="${myconf} --with-xft=emacs,tabs,menubars,gauges" ||
+ myconf="${myconf} --with-xft=no"
+
+ else
+ myconf="${myconf}
+ --without-x
+ --without-xpm
+ --without-dragndrop
+ --with-xft=no
+ --with-gif=no"
+ fi
+
+ if use mule ; then
+ myconf="${myconf} --with-mule"
+
+ if use xim ; then
+ if use motif ; then
+ myconf="${myconf} --with-xim=motif"
+ else
+ myconf="${myconf} --with-xim=xlib"
+ fi
+ else
+ myconf="${myconf} --with-xim=no"
+ fi
+
+ myconf="${myconf} $(use_with canna )"
+ myconf="${myconf} $(use_with freewnn wnn )"
+ fi
+
+ # This determines the type of sounds we are playing
+ local soundconf="native"
+
+ # This determines how these sounds should be played
+ use nas && soundconf="${soundconf},nas"
+ use alsa && soundconf="${soundconf},alsa"
+
+ myconf="${myconf} --with-sound=${soundconf}"
+
+ if use gdbm || use berkdb ; then
+ use gdbm && mydb="gdbm"
+ use berkdb && mydb="${mydb},berkdb"
+
+ myconf="${myconf} --with-database=${mydb}"
+ else
+ myconf="${myconf} --without-database"
+ fi
+
+ use debug && myconf="${myconf} --with-debug" ||
+ myconf="${myconf} --with-optimization"
+
+ econf ${myconf} \
+ $(use_with gif ) \
+ $(use_with gpm ) \
+ $(use_with postgres postgresql ) \
+ $(use_with ldap ) \
+ $(use_with eolconv file-coding ) \
+ $(use_with pop ) \
+ --prefix=/usr \
+ --with-ncurses \
+ --with-msw=no \
+ --with-mail-locking=flock \
+ --with-site-lisp=yes \
+ --with-site-modules=yes \
+ --with-newgc \
+ --enable-option-checking=no \
+ --with-last-packages=/usr/lib/xemacs \
+ || die "configuration failed"
+}
+
+src_install() {
+ emake prefix="${D}"/usr \
+ mandir="${D}"/usr/share/man/man1 \
+ infodir="${D}"/usr/share/info \
+ libdir="${D}"/usr/$(get_libdir) \
+ datadir="${D}"/usr/share \
+ install gzip-el || die
+
+ # Rename some applications installed in bin so that it is clear
+ # which application installed them and so that conflicting
+ # packages (emacs) can't clobber the actual applications.
+ # Addresses bug #62991.
+ for i in b2m ctags etags ; do
+ mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed"
+ done
+
+ # rename man pages
+ for i in ctags etags; do
+ mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed"
+ done
+
+ # install base packages directories
+ dodir /usr/lib/xemacs/xemacs-packages/
+ dodir /usr/lib/xemacs/site-packages/
+ dodir /usr/lib/xemacs/site-modules/
+ dodir /usr/lib/xemacs/site-lisp/
+
+ if use mule;
+ then
+ dodir /usr/lib/xemacs/mule-packages
+ fi
+
+ # remove extraneous info files
+ cd "${D}"/usr/share/info
+ rm -f dir info.info texinfo* termcap* standards*
+
+ cd "${S}"
+ dodoc CHANGES-* ChangeLog INSTALL Installation PROBLEMS README*
+
+ newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm
+
+ domenu "${FILESDIR}"/${PN}.desktop
+}
+
+pkg_postinst() {
+ eselect emacs update ifunset
+
+ einfo "If you are upgrading from XEmacs 21.4 you should note the following"
+ einfo "incompatibilities:"
+ einfo "- Mule-UCS is no longer supported due to proper UTF-8 support in XEmacs 21.5"
+ einfo "- The X resource class has changed from Emacs to XEmacs,"
+ einfo " settings in your .Xdefaults file should be updated accordingly."
+
+ if use xft;
+ then
+ einfo "You have enabled Xft font support. Xft requires font names to be provided"
+ einfo "in a different way, so you may need to adjust your .Xdefaults accordingly."
+ fi
+}
+
+pkg_postrm() {
+ eselect emacs update ifunset
+}
diff --git a/app-editors/xemacs/xemacs-21.5.34-r2.ebuild b/app-editors/xemacs/xemacs-21.5.34-r2.ebuild
new file mode 100644
index 000000000000..ee0d516b0536
--- /dev/null
+++ b/app-editors/xemacs/xemacs-21.5.34-r2.ebuild
@@ -0,0 +1,250 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Note: xemacs currently does not work with a hardened profile. If you
+# want to use xemacs on a hardened profile then compile with the
+# -nopie flag in CFLAGS or help fix bug #75028.
+
+EAPI=4
+
+WANT_AUTOCONF="2.5"
+inherit eutils flag-o-matic multilib
+
+DESCRIPTION="highly customizable open source text editor and application development system"
+HOMEPAGE="http://www.xemacs.org/"
+SRC_URI="http://ftp.xemacs.org/xemacs-21.5/${P}.tar.gz
+ http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd"
+IUSE="alsa debug eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xft xim athena neXt Xaw3d gdbm berkdb"
+
+X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
+
+RDEPEND="
+ berkdb? ( >=sys-libs/db-4 !!<sys-libs/db-4 )
+ gdbm? ( >=sys-libs/gdbm-1.8.3[berkdb(+)] )
+ >=sys-libs/zlib-1.1.4
+ >=dev-libs/openssl-0.9.6:0
+ >=media-libs/audiofile-0.2.3
+ gpm? ( >=sys-libs/gpm-1.19.6 )
+ postgres? ( dev-db/postgresql )
+ ldap? ( net-nds/openldap )
+ alsa? ( media-libs/alsa-lib )
+ nas? ( media-libs/nas )
+ X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) )
+ dnd? ( x11-libs/dnd )
+ motif? ( >=x11-libs/motif-2.3:0[xft=] )
+ athena? ( x11-libs/libXaw )
+ Xaw3d? ( x11-libs/libXaw3d )
+ xft? ( media-libs/freetype:2 x11-libs/libXft x11-libs/libXrender >=media-libs/fontconfig-2.5.0 )
+ neXt? ( x11-libs/neXtaw )
+ xface? ( media-libs/compface )
+ tiff? ( media-libs/tiff:0 )
+ png? ( >=media-libs/libpng-1.2:0 )
+ jpeg? ( virtual/jpeg:0 )
+ canna? ( app-i18n/canna )
+ freewnn? ( app-i18n/freewnn )
+ >=sys-libs/ncurses-5.2
+ >=app-eselect/eselect-emacs-1.15"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+PDEPEND="app-xemacs/xemacs-base
+ mule? ( app-xemacs/mule-base )"
+
+src_unpack() {
+ default_src_unpack
+
+ use neXt && unpack NeXT_XEmacs.tar.gz
+}
+
+src_prepare() {
+ use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/
+ find "${S}"/lisp -name '*.elc' -exec rm {} \; || die
+ epatch "${FILESDIR}/${P}-ncurses-tinfo.patch"
+
+ # Some binaries and man pages are installed under suffixed names
+ # to avoid collions with their GNU Emacs counterparts (see below).
+ # Fix internal filename references.
+ sed -i -e 's/exec gnuclient/&-xemacs/' lib-src/gnudoit || die
+ sed -i -e '/^\.so/s/etags/&-xemacs/' etc/ctags.1 || die
+ sed -i -e '/^\.so/s/gnuserv/&-xemacs/' etc/gnu{client,doit,attach}.1 || die
+}
+
+src_configure() {
+ local myconf=""
+
+ if use X; then
+
+ myconf="${myconf} --with-widgets=athena"
+ myconf="${myconf} --with-dialogs=athena"
+ myconf="${myconf} --with-menubars=lucid"
+ myconf="${myconf} --with-scrollbars=lucid"
+ if use motif ; then
+ myconf="--with-widgets=motif"
+ myconf="${myconf} --with-dialogs=motif"
+ myconf="${myconf} --with-scrollbars=motif"
+ myconf="${myconf} --with-menubars=lucid"
+ fi
+ if use athena or use Xaw3d ; then
+ myconf="--with-scrollbars=athena"
+ fi
+
+ if use Xaw3d; then
+ myconf="${myconf} --with-athena=3d"
+ elif use neXt; then
+ myconf="${myconf} --with-athena=next"
+ else
+ myconf="${myconf} --with-athena=xaw"
+ fi
+
+ use dnd && myconf="${myconf} --with-dragndrop --with-offix"
+
+ myconf="${myconf} $(use_with tiff )"
+ myconf="${myconf} $(use_with png )"
+ myconf="${myconf} $(use_with jpeg )"
+ myconf="${myconf} $(use_with xface )"
+
+ use xft && myconf="${myconf} --with-xft=emacs,tabs,menubars,gauges" ||
+ myconf="${myconf} --with-xft=no"
+
+ else
+ myconf="${myconf}
+ --without-x
+ --without-xpm
+ --without-dragndrop
+ --with-xft=no
+ --with-gif=no"
+ fi
+
+ if use mule ; then
+ myconf="${myconf} --with-mule"
+
+ if use xim ; then
+ if use motif ; then
+ myconf="${myconf} --with-xim=motif"
+ else
+ myconf="${myconf} --with-xim=xlib"
+ fi
+ else
+ myconf="${myconf} --with-xim=no"
+ fi
+
+ myconf="${myconf} $(use_with canna )"
+ myconf="${myconf} $(use_with freewnn wnn )"
+ fi
+
+ # This determines the type of sounds we are playing
+ local soundconf="native"
+
+ # This determines how these sounds should be played
+ use nas && soundconf="${soundconf},nas"
+ use alsa && soundconf="${soundconf},alsa"
+
+ myconf="${myconf} --with-sound=${soundconf}"
+
+ if use gdbm || use berkdb ; then
+ use gdbm && mydb="gdbm"
+ use berkdb && mydb="${mydb},berkdb"
+
+ myconf="${myconf} --with-database=${mydb}"
+ else
+ myconf="${myconf} --without-database"
+ fi
+
+ use debug && myconf="${myconf} --with-debug" ||
+ myconf="${myconf} --with-optimization"
+
+ econf ${myconf} \
+ $(use_with gif ) \
+ $(use_with gpm ) \
+ $(use_with postgres postgresql ) \
+ $(use_with ldap ) \
+ $(use_with eolconv file-coding ) \
+ $(use_with pop ) \
+ --prefix=/usr \
+ --with-ncurses \
+ --with-msw=no \
+ --with-mail-locking=flock \
+ --with-site-lisp=yes \
+ --with-site-modules=yes \
+ --with-newgc \
+ --enable-option-checking=no \
+ --with-last-packages=/usr/lib/xemacs \
+ || die "configuration failed"
+}
+
+src_compile() {
+ emake EMACSLOADPATH="${S}"/lisp
+}
+
+src_install() {
+ emake prefix="${D}"/usr \
+ mandir="${D}"/usr/share/man/man1 \
+ infodir="${D}"/usr/share/info \
+ libdir="${D}"/usr/$(get_libdir) \
+ datadir="${D}"/usr/share \
+ install || die
+
+ # Rename some applications installed in bin so that it is clear
+ # which application installed them and so that conflicting
+ # packages (emacs) can't clobber the actual applications.
+ # Addresses bug #62991.
+ for i in b2m ctags etags gnuclient gnudoit gnuattach; do
+ mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed"
+ done
+
+ # rename man pages
+ for i in ctags etags gnuserv gnuclient gnudoit gnuattach; do
+ mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed"
+ done
+
+ # install base packages directories
+ dodir /usr/lib/xemacs/xemacs-packages/
+ dodir /usr/lib/xemacs/site-packages/
+ dodir /usr/lib/xemacs/site-modules/
+ dodir /usr/lib/xemacs/site-lisp/
+
+ if use mule;
+ then
+ dodir /usr/lib/xemacs/mule-packages
+ fi
+
+ # remove extraneous info files
+ cd "${D}"/usr/share/info
+ rm -f dir info.info texinfo* termcap* standards*
+
+ cd "${S}"
+ dodoc CHANGES-* ChangeLog INSTALL Installation PROBLEMS README*
+
+ newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm
+
+ domenu "${FILESDIR}"/${PN}.desktop
+}
+
+pkg_postinst() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+
+ einfo "*************************************************"
+ einfo "If you are upgrading from XEmacs 21.4 you should note the following"
+ einfo "incompatibilities:"
+ einfo "- Mule-UCS is no longer supported due to proper UTF-8 support in XEmacs 21.5"
+ einfo "- The X resource class has changed from Emacs to XEmacs,"
+ einfo " settings in your .Xdefaults file should be updated accordingly."
+
+ if use xft;
+ then
+ einfo "You have enabled Xft font support. Xft requires font names to be provided"
+ einfo "in a different way, so you may need to adjust your .Xdefaults accordingly."
+ fi
+}
+
+pkg_postrm() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+}
diff --git a/app-editors/xmlcopyeditor/Manifest b/app-editors/xmlcopyeditor/Manifest
new file mode 100644
index 000000000000..529450773bb8
--- /dev/null
+++ b/app-editors/xmlcopyeditor/Manifest
@@ -0,0 +1,4 @@
+DIST GuideXML-templates.tar.gz 884 SHA256 3ede041b74a64a3f262455728486a616ffb496fa0d6f3c50610387d9de0d742e SHA512 1a303c8f0664d950b89430f940fc27b8cc4f3b76d076437e62edbc736c50bce5794a7178a2c99712a29db4de7e9e8b03c0f598ab702e4289cb77625d5a63ab30 WHIRLPOOL 6094faa76f1b731537e5d254cdd33a98830c22ad4fb99817fd8332b59a03451bf9e3c14ef2fc71c32ed2c74bf1c1ca132210aaf3b2bdeb4342f2a0fc24505f6f
+DIST xmlcopyeditor-1.2.0.12.tar.gz 4052354 SHA256 7f33795ca8c6c25207970a4933ff41651314dbd9fd73e94ae68dfde100baa415 SHA512 501ad0302d0dfd3a695adc430ca4b2a720092c04797ee9d2da597971be3c10a51984ab3d444b044f058ba6b1b7a384f71c16aac9fa30e7eb32d509d56972e349 WHIRLPOOL 7b731890a61a2c6742c3c97de9e661fe625a72d289711f9d04cd376e16b3f37dfde8b2d595fdd7ab35d1de8b2e992fdd0e2c824f9b915744f2e52fd2830a9f86
+DIST xmlcopyeditor-1.2.0.6-2.tar.gz 1526457 SHA256 9a4ba41d67604d303b1728877768f9e3ef85d56e6f580b0eeef840e12b84f02c SHA512 9833a520ed835ea1bb285ace9deca3e309a5b31fd923582f79302cd1b81e5caf1de39296efe6eda33d329b2c40aabb10bcd7b476e61d8b3ea6e5aac43b361b72 WHIRLPOOL 9e79075e4a0b325a08b9784a5bcdfdd414390d161440a47394bf63ed5944e700fef4c61e6e29c508ec7bfee802f527a5b393824d48ac82bd55527231ba341916
+DIST xmlcopyeditor-1.2.0.9.tar.gz 1815995 SHA256 850df750f3561320f6ab1b612e00cd2b9ecc2bed49ab1dcc261af78d0a28b7f7 SHA512 a375476fe1140a2089e7322c9d219ae3440a3b971947ced440f71c72e99b3b3998419bf34303df3e6093378336b2d69652c4e7dc93880ff40d8c3fac48103eaa WHIRLPOOL 75bbd422c7618650d183eac45f24871a80bf8cffcaa9f3d320d7fcb0a282cabf1f14b9f825e893373b85d99bd6c5f58db882a91eb427c9775822ce417f5d5278
diff --git a/app-editors/xmlcopyeditor/files/xmlcopyeditor-1.2.0.6-gcc-4.8.patch b/app-editors/xmlcopyeditor/files/xmlcopyeditor-1.2.0.6-gcc-4.8.patch
new file mode 100644
index 000000000000..4367cee1fa0a
--- /dev/null
+++ b/app-editors/xmlcopyeditor/files/xmlcopyeditor-1.2.0.6-gcc-4.8.patch
@@ -0,0 +1,13 @@
+--- a/xmlcopyeditor-1.2.0.9/src/housestyle.h 2012-10-07 09:19:52.000000000 -0400
++++ b/xmlcopyeditor-1.2.0.9/src/housestyle.h 2013-04-03 10:27:46.784455182 -0400
+@@ -68,8 +68,9 @@
+ filterDirectory,
+ filterFile,
+ pathSeparator,
+- error,
++ error
+ #ifdef __WXMSW__
++ ,
+ aspellDataPath,
+ aspellDictPath
+ #endif
diff --git a/app-editors/xmlcopyeditor/metadata.xml b/app-editors/xmlcopyeditor/metadata.xml
new file mode 100644
index 000000000000..5c04de6911fc
--- /dev/null
+++ b/app-editors/xmlcopyeditor/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>dabbott@gentoo.org</email>
+ <name>David Abbott</name>
+ <description>Maintainer. Assign bugs to him</description>
+ </maintainer>
+ <longdescription>
+ Fast, free, validating XML editor.
+</longdescription>
+ <use>
+ <flag name="guidexml">Install GuideXML templates to work with Gentoo
+ official docs</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">xml-copy-editor</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.12.ebuild b/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.12.ebuild
new file mode 100644
index 000000000000..0facaeb9a381
--- /dev/null
+++ b/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.12.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+WX_GTK_VER="2.8"
+
+inherit autotools wxwidgets
+
+DESCRIPTION="XML Copy Editor is a fast, free, validating XML editor"
+HOMEPAGE="http://xml-copy-editor.sourceforge.net/"
+SRC_URI="mirror://sourceforge/xml-copy-editor/${P}.tar.gz
+ guidexml? ( mirror://gentoo/GuideXML-templates.tar.gz )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="aqua guidexml"
+
+RDEPEND=">=dev-libs/libxml2-2.7.3-r1
+ dev-libs/libxslt
+ dev-libs/xerces-c[icu]
+ dev-libs/libpcre
+ app-text/aspell
+ !aqua? ( x11-libs/wxGTK:2.8[X] )
+ aqua? ( x11-libs/wxGTK:2.8[aqua] )"
+DEPEND="${RDEPEND}
+ dev-libs/boost"
+
+DOCS=( AUTHORS ChangeLog README NEWS )
+
+src_prepare() {
+ # fix desktop file
+ sed -i -e '/Categories/s/Application;//' \
+ -e '/Icon/s/.png//' \
+ -e 's/\r//g' \
+ "src/${PN}.desktop" || die "sed on src/${PN}.desktop failed"
+ # bug #440744
+ sed -i -e 's/ -Wall -g -fexceptions//g' \
+ -e '/CXXFLAGS/s/CPPFLAGS/CXXFLAGS/' \
+ configure.ac || die 'sed on configure.ac failed'
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ if use guidexml; then
+ insinto /usr/share/xmlcopyeditor/templates/
+ for TEMPLATE in "${WORKDIR}"/GuideXML-templates/*.xml; do
+ newins "${TEMPLATE}" "${TEMPLATE##*/}"
+ done
+ fi
+
+}
diff --git a/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.6.ebuild b/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.6.ebuild
new file mode 100644
index 000000000000..255dfa477a94
--- /dev/null
+++ b/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.6.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+WX_GTK_VER="2.8"
+MY_P=${P}-2
+
+inherit autotools eutils wxwidgets
+
+DESCRIPTION="XML Copy Editor is a fast, free, validating XML editor"
+HOMEPAGE="http://xml-copy-editor.sourceforge.net/"
+SRC_URI="mirror://sourceforge/xml-copy-editor/${MY_P}.tar.gz
+ guidexml? ( mirror://gentoo/GuideXML-templates.tar.gz )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="aqua guidexml"
+
+RDEPEND=">=dev-libs/libxml2-2.7.3-r1
+ dev-libs/libxslt
+ dev-libs/xerces-c[icu]
+ dev-libs/libpcre
+ app-text/aspell
+ !aqua? ( x11-libs/wxGTK:2.8[X] )
+ aqua? ( x11-libs/wxGTK:2.8[aqua] )"
+DEPEND="${RDEPEND}
+ dev-libs/boost"
+
+DOCS=( AUTHORS ChangeLog README NEWS )
+
+src_prepare() {
+ # fix desktop file
+ sed -i -e '/Categories/s/Application;//' \
+ -e '/Icon/s/.png//' \
+ "src/${PN}.desktop" || die "sed on src/${PN}.desktop failed"
+ # bug #440744
+ sed -i -e 's/ -Wall -g -fexceptions//g' \
+ -e '/CXXFLAGS/s/CPPFLAGS/CXXFLAGS/' \
+ configure.in || die 'sed on configure.in failed'
+ # bug #464280
+ epatch "${FILESDIR}/${P}-gcc-4.8.patch"
+
+ eautoreconf
+}
+
+src_install() {
+ default
+ if use guidexml; then
+ insinto /usr/share/xmlcopyeditor/templates/
+ for TEMPLATE in "${WORKDIR}"/GuideXML-templates/*.xml; do
+ newins "${TEMPLATE}" "${TEMPLATE##*/}"
+ done
+ fi
+}
diff --git a/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.9.ebuild b/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.9.ebuild
new file mode 100644
index 000000000000..a33e4e154b6f
--- /dev/null
+++ b/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.0.9.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+WX_GTK_VER="2.8"
+
+inherit autotools eutils wxwidgets
+
+DESCRIPTION="XML Copy Editor is a fast, free, validating XML editor"
+HOMEPAGE="http://xml-copy-editor.sourceforge.net/"
+SRC_URI="mirror://sourceforge/xml-copy-editor/${P}.tar.gz
+ guidexml? ( mirror://gentoo/GuideXML-templates.tar.gz )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="aqua guidexml"
+
+RDEPEND="app-text/aspell
+ >=dev-libs/libxml2-2.7.3-r1
+ dev-libs/libxslt
+ dev-libs/xerces-c[icu]
+ dev-libs/libpcre
+ !aqua? ( x11-libs/wxGTK:2.8[X] )
+ aqua? ( x11-libs/wxGTK:2.8[aqua] )"
+DEPEND="${RDEPEND}
+ dev-libs/boost"
+
+DOCS=( AUTHORS ChangeLog README NEWS )
+
+src_prepare() {
+ # fix desktop file
+ sed -i -e '/Categories/s/Application;//' \
+ -e '/Icon/s/.png//' \
+ "src/${PN}.desktop" || die "sed on src/${PN}.desktop failed"
+ # bug #440744
+ sed -i -e 's/ -Wall -g -fexceptions//g' \
+ -e '/CXXFLAGS/s/CPPFLAGS/CXXFLAGS/' \
+ configure.in || die 'sed on configure.in failed'
+ # bug #464280
+ epatch "${FILESDIR}/${PN}-1.2.0.6-gcc-4.8.patch"
+
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ if use guidexml; then
+ insinto /usr/share/xmlcopyeditor/templates/
+ for TEMPLATE in "${WORKDIR}"/GuideXML-templates/*.xml; do
+ newins "${TEMPLATE}" "${TEMPLATE##*/}"
+ done
+ fi
+
+}
diff --git a/app-editors/xvile/Manifest b/app-editors/xvile/Manifest
new file mode 100644
index 000000000000..4980defc1cf5
--- /dev/null
+++ b/app-editors/xvile/Manifest
@@ -0,0 +1,3 @@
+DIST vile-9.8k.tgz 2278349 SHA256 af8386a43fdf82ba3c8e4187b8fe850543c5baac769cf26bb2b437e5b3689e24 SHA512 93dce951701f156ebe5aecd39a86556658334a2f262919974bd302238e4b78a63ea6a675fc47fd5b170055e7fba8134db27ff26076be0d1b0cf7a58d697b5836 WHIRLPOOL e75ded06e6eb5234a673a92d27ceb1632150c60e580a27e0c00267a147a3b02005afb62843e373a3112ed8a353f230d4101ad1adfa0a045cba47d21f1b301a20
+DIST vile-9.8n.tgz 2300678 SHA256 36cea866603483e43e705ba1a96d0d52dc81f9c0d97fbefe5150c50b04b258bb SHA512 c87350325f47ef9338d9e7dca1a22b0d2c23b632cc2338ab07b00a986fc911f2bfbb05c9dcb98f4b606c2f2d0294dec26bcbf45a711cb6ad25c3ecf4b84c9037 WHIRLPOOL 16be864f128b256049a6d0e7cd39a3256415eabec66bcc632db09c6e5d07ef72b775fe28c38c2cfa805e0a495d3bf83d25ac9c5c6d3decaa5c165c91ee5558b1
+DIST vile-9.8o.tgz 2304783 SHA256 45625c060cb9da3d68bba0d308fa61cb6a1cd7c7fd8b0e83aba8890632a19b24 SHA512 ddcc01b47990cc603f4af2c4738ed989d2be51018aa0bbc96079771f2809f11df160c6bc597dc50bf30f47ef5ec7c78646cbc19d7c381ef836de7bdb884bab87 WHIRLPOOL 746e2face1cbf0881cc2c10a57b5d412a30668805a62c8f5db64ffb20e9a74285ef1e5a05e6d607530705427360b13a1cb22dd62ae1dfe02ac190e1bfea518cd
diff --git a/app-editors/xvile/files/vile-9.8h-flex.patch b/app-editors/xvile/files/vile-9.8h-flex.patch
new file mode 100644
index 000000000000..bb1c1c301110
--- /dev/null
+++ b/app-editors/xvile/files/vile-9.8h-flex.patch
@@ -0,0 +1,30 @@
+--- vile-9.8h/filters/filters.h
++++ vile-9.8h/filters/filters.h
+@@ -200,27 +200,6 @@
+ #endif
+ #endif /* __GNUC__ */
+
+-/*
+- * 2003/5/20 - "new" flex 2.5.31:
+- * workaround for "developers" who don't use compiler-warnings...
+- * perhaps by the time "new" flex merits the term "beta", they'll fix this:
+- */
+-#if defined(FLEX_BETA)
+-extern FILE *yyget_in (void);
+-extern FILE *yyget_out (void);
+-extern char *yyget_text (void);
+-extern int yyget_debug (void);
+-extern int yyget_leng (void);
+-extern int yyget_lineno (void);
+-extern int yylex_destroy (void);
+-extern void yyset_debug (int bdebug);
+-extern void yyset_in (FILE * in_str);
+-extern void yyset_lineno (int line_number);
+-extern void yyset_out (FILE * out_str);
+-/* there's also warnings for unused 'yyunput()', but I don't see a fix */
+-/* flex's skeleton includes <unistd.h> - no particular reason apparent */
+-#endif
+-
+ #define YY_NO_INPUT 1 /* get rid of 'input()' function */
+
+ /*
diff --git a/app-editors/xvile/metadata.xml b/app-editors/xvile/metadata.xml
new file mode 100644
index 000000000000..5fcb67350f69
--- /dev/null
+++ b/app-editors/xvile/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>vim</herd>
+</pkgmetadata>
diff --git a/app-editors/xvile/xvile-9.8k.ebuild b/app-editors/xvile/xvile-9.8k.ebuild
new file mode 100644
index 000000000000..36a1e4d4e33f
--- /dev/null
+++ b/app-editors/xvile/xvile-9.8k.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils
+
+MY_P="${PN/x/}-${PV}"
+DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone"
+HOMEPAGE="http://invisible-island.net/vile/"
+SRC_URI="ftp://invisible-island.net/vile/current/${MY_P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ia64 ppc sparc x86"
+IUSE="perl"
+
+RDEPEND="perl? ( dev-lang/perl )
+ =app-editors/vile-${PV}
+ >=x11-libs/libX11-1.0.0
+ >=x11-libs/libXt-1.0.0
+ >=x11-libs/libICE-1.0.0
+ >=x11-libs/libSM-1.0.0
+ >=x11-libs/libXaw-1.0.1
+ >=x11-libs/libXpm-3.5.4.2
+ >=x11-proto/xproto-7.0.4"
+DEPEND="${RDEPEND}
+ sys-devel/flex"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/vile-9.8h-flex.patch
+}
+
+src_configure() {
+ econf \
+ --with-ncurses \
+ --with-x \
+ $(use_with perl)
+}
+
+src_install() {
+ dobin xvile
+ dodoc CHANGES* README doc/*.doc
+ dohtml doc/*.html
+}
diff --git a/app-editors/xvile/xvile-9.8n.ebuild b/app-editors/xvile/xvile-9.8n.ebuild
new file mode 100644
index 000000000000..159f3a06ab80
--- /dev/null
+++ b/app-editors/xvile/xvile-9.8n.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+MY_P="${PN/x/}-${PV}"
+DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone"
+HOMEPAGE="http://invisible-island.net/vile/"
+SRC_URI="ftp://invisible-island.net/vile/current/${MY_P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86"
+IUSE="perl"
+
+RDEPEND="perl? ( dev-lang/perl )
+ =app-editors/vile-${PV}
+ >=x11-libs/libX11-1.0.0
+ >=x11-libs/libXt-1.0.0
+ >=x11-libs/libICE-1.0.0
+ >=x11-libs/libSM-1.0.0
+ >=x11-libs/libXaw-1.0.1
+ >=x11-libs/libXpm-3.5.4.2
+ >=x11-proto/xproto-7.0.4"
+DEPEND="${RDEPEND}
+ sys-devel/flex"
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ econf \
+ --with-ncurses \
+ --with-x \
+ $(use_with perl)
+}
+
+src_install() {
+ dobin xvile
+ dodoc CHANGES* README doc/*.doc
+ dohtml doc/*.html
+}
diff --git a/app-editors/xvile/xvile-9.8o.ebuild b/app-editors/xvile/xvile-9.8o.ebuild
new file mode 100644
index 000000000000..d36670a5174f
--- /dev/null
+++ b/app-editors/xvile/xvile-9.8o.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+MY_P="${PN/x/}-${PV}"
+DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone"
+HOMEPAGE="http://invisible-island.net/vile/"
+SRC_URI="ftp://invisible-island.net/vile/current/${MY_P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86"
+IUSE="perl"
+
+RDEPEND="perl? ( dev-lang/perl )
+ =app-editors/vile-${PV}
+ >=x11-libs/libX11-1.0.0
+ >=x11-libs/libXt-1.0.0
+ >=x11-libs/libICE-1.0.0
+ >=x11-libs/libSM-1.0.0
+ >=x11-libs/libXaw-1.0.1
+ >=x11-libs/libXpm-3.5.4.2
+ >=x11-proto/xproto-7.0.4"
+DEPEND="${RDEPEND}
+ sys-devel/flex"
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ econf \
+ --with-ncurses \
+ --with-x \
+ $(use_with perl)
+}
+
+src_install() {
+ dobin xvile
+ dodoc CHANGES* README doc/*.doc
+ dohtml doc/*.html
+}
diff --git a/app-editors/yudit/Manifest b/app-editors/yudit/Manifest
new file mode 100644
index 000000000000..3db07fd0c131
--- /dev/null
+++ b/app-editors/yudit/Manifest
@@ -0,0 +1,2 @@
+DIST yudit-2.9.2.tar.gz 2831966 SHA256 d9bb2fbf49dbc192b33a9095a819c6ee0b62bf46839333c286371786ab1acfc9 SHA512 39bbd6f1696a97922a5db83b25b52609660ea77c7651cfde1d7189789e7d9a6298f6dd91acf17ab9d1bef1fabbdeb7bb1f9ab95a14198913c84c30154efd9e07 WHIRLPOOL cc45b5cc6f7c2f683b76cf5bad81de78938c7ac0a7bebbe98a360e52f633dded01189047fd90f2eca632c8629a2090dfdb996fbe4ca8a0a35101364e52233aa3
+DIST yudit-2.9.6.tar.gz 2797142 SHA256 ded0b47742fce92aedb6403e8e758162abc73395f9c5a3268ceb2093fbfdf906 SHA512 a9a0b6f6c44451cf2fefc4fc0bb1bbd9ffccd17c4c622dc35b08113245b3bb9f3ca949f3e7b9d2aa919ebf3840295c5e63c0297576e74a5f2d1fb99cfc97c46b WHIRLPOOL b6a0a008ce67d6c2354ea74ee03dd6316cb86f091db5497dc329363c03dc805b8ac7191103f6372e8f4780604c309d8b77365d4600992d4ded09036c0c824bb0
diff --git a/app-editors/yudit/metadata.xml b/app-editors/yudit/metadata.xml
new file mode 100644
index 000000000000..ff62877c67ae
--- /dev/null
+++ b/app-editors/yudit/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/app-editors/yudit/yudit-2.9.2.ebuild b/app-editors/yudit/yudit-2.9.2.ebuild
new file mode 100644
index 000000000000..3445aa6533b9
--- /dev/null
+++ b/app-editors/yudit/yudit-2.9.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="Free (Y)unicode text editor for all unices"
+HOMEPAGE="http://www.yudit.org/"
+SRC_URI="http://yudit.org/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="x11-libs/libX11"
+DEPEND="${RDEPEND}
+ >=sys-devel/gettext-0.10"
+
+src_prepare() {
+ #Don't strip binaries, let portage do that.
+ sed -i "/^INSTALL_PROGRAM/s: -s::" Makefile.conf.in || die "sed failed"
+}
+
+src_compile() {
+ #FIXME:
+ #-j1 because this app builds a tool called 'mytool' and we need to make
+ #sure that it is built before it needs to be used.
+ emake -j1
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die
+ dodoc {BUGS,CHANGELOG,NEWS,TODO,XBUGS}.TXT
+}
diff --git a/app-editors/yudit/yudit-2.9.6.ebuild b/app-editors/yudit/yudit-2.9.6.ebuild
new file mode 100644
index 000000000000..4fa21b5d6360
--- /dev/null
+++ b/app-editors/yudit/yudit-2.9.6.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="Free (Y)unicode text editor for all unices"
+HOMEPAGE="http://www.yudit.org/"
+SRC_URI="http://yudit.org/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="x11-libs/libX11"
+DEPEND="${RDEPEND}
+ >=sys-devel/gettext-0.10"
+
+src_prepare() {
+ #Don't strip binaries, let portage do that.
+ sed -i "/^INSTALL_PROGRAM/s: -s::" Makefile.conf.in || die "sed failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc {BUGS,CHANGELOG,NEWS,TODO,XBUGS}.TXT
+}
diff --git a/app-editors/zile/Manifest b/app-editors/zile/Manifest
new file mode 100644
index 000000000000..039675d7d34b
--- /dev/null
+++ b/app-editors/zile/Manifest
@@ -0,0 +1,2 @@
+DIST zile-2.3.24.tar.gz 953962 SHA256 218bb2af414c6a168101656631a5b2da92f20a965895e1006658cc658b0b7e89 SHA512 8361f42436ae9ca150f09d830096b7a3fb0089d58bffe5ad7538b5ec5cd4e0e50085213e938db1a95e2922db845d1d2f36841a65fe1b9b72f60cd930dd8f09b9 WHIRLPOOL 37aae22305abdc2c2b86c8f6b43dcb7621464213ac375ec2fde767d99f79ddba08216c392c5500a71175f30762fe57e786f94305ff03947e413d5291cfafa934
+DIST zile-2.4.11.tar.gz 1293707 SHA256 1fd27bbddc61491b1fbb29a345d0d344734aa9e80cfa07b02892eedf831fa9cc SHA512 dbcbae98d8b9fc7ea71abc8ad0c4248edf1498a731172e800dd4b1fd598597924cc61e24fbfce5eb44dd2b3a0b2aea416c6373843a450e19cc8c98aa83d6ae0e WHIRLPOOL c39cafe9b4409580656c29df78e8a4aeb37487b93bb01e357c964866f27207ef2811672967c7da7e2ad9bdfb2d47ea09168c611d89757b000530dbb60d5785d9
diff --git a/app-editors/zile/files/zile-2.3.24-userhome.patch b/app-editors/zile/files/zile-2.3.24-userhome.patch
new file mode 100644
index 000000000000..37f605ccf610
--- /dev/null
+++ b/app-editors/zile/files/zile-2.3.24-userhome.patch
@@ -0,0 +1,26 @@
+http://lists.gnu.org/archive/html/bug-zile/2011-08/msg00030.html
+
+--- zile-2.3.24-orig/src/file.c
++++ zile-2.3.24/src/file.c
+@@ -177,14 +177,15 @@ compact_path (astr path)
+ {
+ /* Replace `/userhome/' (if found) with `~/'. */
+ size_t homelen = strlen (pw->pw_dir);
+- if (astr_len (path) >= homelen &&
+- !strncmp (pw->pw_dir, astr_cstr (path), homelen))
++ if (homelen > 0 && pw->pw_dir[homelen - 1] == '/')
++ homelen--;
++
++ if (astr_len (path) > homelen &&
++ !strncmp (pw->pw_dir, astr_cstr (path), homelen) &&
++ astr_get (path, homelen) == '/')
+ {
+ astr buf = astr_new_cstr ("~/");
+- if (STREQ (pw->pw_dir, "/"))
+- astr_cat_cstr (buf, astr_cstr (path) + 1);
+- else
+- astr_cat_cstr (buf, astr_cstr (path) + homelen + 1);
++ astr_cat_cstr (buf, astr_cstr (path) + homelen + 1);
+ astr_cpy (path, buf);
+ astr_delete (buf);
+ }
diff --git a/app-editors/zile/metadata.xml b/app-editors/zile/metadata.xml
new file mode 100644
index 000000000000..077afb685940
--- /dev/null
+++ b/app-editors/zile/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>emacs</herd>
+<longdescription>
+ Zile is a small, fast, and powerful Emacs clone. It is useful for small
+ footprint installations (e.g. on floppy disk), machines with little memory,
+ or quick editing sessions, especially on remote machines or as a different
+ user, e.g. root.
+</longdescription>
+<use>
+ <flag name='valgrind'>Enable usage of <pkg>dev-util/valgrind</pkg>
+ in tests</flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/zile/zile-2.3.24-r1.ebuild b/app-editors/zile/zile-2.3.24-r1.ebuild
new file mode 100644
index 000000000000..45e46f9835b3
--- /dev/null
+++ b/app-editors/zile/zile-2.3.24-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="Zile is a small Emacs clone"
+HOMEPAGE="http://www.gnu.org/software/zile/"
+SRC_URI="mirror://gnu/zile/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="alpha amd64 ppc sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="test valgrind"
+
+RDEPEND="sys-libs/ncurses"
+DEPEND="${RDEPEND}
+ test? ( valgrind? ( dev-util/valgrind ) )"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-userhome.patch"
+}
+
+src_configure() {
+ econf $(use test && use_with valgrind || echo "--without-valgrind")
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ # FAQ is installed by the build system in /usr/share/zile
+ dodoc AUTHORS BUGS NEWS README THANKS
+
+ # Zile should never install charset.alias (even on non-glibc arches)
+ rm -f "${ED}"/usr/lib/charset.alias
+}
diff --git a/app-editors/zile/zile-2.4.11.ebuild b/app-editors/zile/zile-2.4.11.ebuild
new file mode 100644
index 000000000000..13902d5582dd
--- /dev/null
+++ b/app-editors/zile/zile-2.4.11.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="Zile is a small Emacs clone"
+HOMEPAGE="http://www.gnu.org/software/zile/"
+SRC_URI="mirror://gnu/zile/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ppc sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="acl test"
+
+RDEPEND=">=dev-libs/boehm-gc-7.2
+ sys-libs/ncurses
+ acl? ( virtual/acl )"
+
+DEPEND="${RDEPEND}
+ test? ( dev-lang/perl )"
+
+QA_AM_MAINTAINER_MODE=".*help2man.*" #450278
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ $(use_enable acl)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ # AUTHORS, FAQ, and NEWS are installed by the build system
+ dodoc README THANKS
+
+ # Zile should never install charset.alias (even on non-glibc arches)
+ rm -f "${ED}"/usr/lib/charset.alias
+}
diff --git a/app-editors/znotes/Manifest b/app-editors/znotes/Manifest
new file mode 100644
index 000000000000..7b4fe9c2fe81
--- /dev/null
+++ b/app-editors/znotes/Manifest
@@ -0,0 +1 @@
+DIST znotes-0.4.5.tar.gz 171884 SHA256 ac692253e74bda8f989db40042c26b6db2bb60a5f9c30cdbfcd824af0de1c5b2 SHA512 a7d9c149bbe80b83eff75eeec9644f9e648911c9cc5d6c83507b2d82199b7a2d1148665d6b650eb022dab1b34bbab96d52a0c27ac04525c30e4840049565e240 WHIRLPOOL 02acbe2f712b9ec5e4e9ca383aa8f6c04c98ba1a6bec73572c4656b2d1bb3faca4c8f39021e2e8c68d57495b582e7b29eaf6bdc3878c947d6cd5aadd37806798
diff --git a/app-editors/znotes/files/znotes-0.4.5-gcc-4.7.patch b/app-editors/znotes/files/znotes-0.4.5-gcc-4.7.patch
new file mode 100644
index 000000000000..ae8c4eca7b8e
--- /dev/null
+++ b/app-editors/znotes/files/znotes-0.4.5-gcc-4.7.patch
@@ -0,0 +1,24 @@
+From 9cb09430444e36415e887317525a24e542e135fb Mon Sep 17 00:00:00 2001
+From: Michael Palimaka <kensington@gentoo.org>
+Date: Fri, 31 Aug 2012 02:15:30 +1000
+Subject: [PATCH] Fix build with GCC 4.7.
+
+---
+ single_inst/qtlocalpeer.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/single_inst/qtlocalpeer.cpp b/single_inst/qtlocalpeer.cpp
+index 6d7c24f..f9663c9 100644
+--- a/single_inst/qtlocalpeer.cpp
++++ b/single_inst/qtlocalpeer.cpp
+@@ -50,6 +50,7 @@ static PProcessIdToSessionId pProcessIdToSessionId = 0;
+ #endif
+ #if defined(Q_OS_UNIX)
+ #include <time.h>
++#include <unistd.h>
+ #endif
+
+ namespace QtLP_Private {
+--
+1.7.12
+
diff --git a/app-editors/znotes/metadata.xml b/app-editors/znotes/metadata.xml
new file mode 100644
index 000000000000..1fc9dad40de4
--- /dev/null
+++ b/app-editors/znotes/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>qt</herd>
+ <upstream>
+ <remote-id type="sourceforge">znotes</remote-id>
+ <remote-id type="github">proton/zNotes</remote-id>
+ <bugs-to>https://github.com/proton/zNotes/issues</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/znotes/znotes-0.4.5.ebuild b/app-editors/znotes/znotes-0.4.5.ebuild
new file mode 100644
index 000000000000..40ec5b607b75
--- /dev/null
+++ b/app-editors/znotes/znotes-0.4.5.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit qt4-r2
+
+DESCRIPTION="Simple Notes"
+HOMEPAGE="http://znotes.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-qt/qtcore:4
+ dev-qt/qtgui:4"
+RDEPEND="${DEPEND}"
+
+DOCS="CHANGELOG THANKS"
+
+PATCHES=( "${FILESDIR}/${P}-gcc-4.7.patch" )
+
+src_configure() {
+ lrelease znotes.pro || die "lrelease failed"
+ qt4-r2_src_configure
+}
diff --git a/app-editors/zoinks/Manifest b/app-editors/zoinks/Manifest
new file mode 100644
index 000000000000..63478dc8c9bf
--- /dev/null
+++ b/app-editors/zoinks/Manifest
@@ -0,0 +1 @@
+DIST zoinks-0.4.1.tar.gz 322009 SHA256 bd8b229904b2e0aeae4742cc9eda882cd47874c86dcf21df8b3d77c830d301cd SHA512 f1608755b25dd0b4cd2840592b9abd2df462d9a4b97847bf813d46e9f3fca0d15e41ef80b8bafbbb494a7c446b5f727a258f44d28fdbbf2ceddc179292d15a79 WHIRLPOOL 676640d85d9136b9ed227bc1c80a2ae4ac45476eaf6617d988167b78f8c98c2b71951271174ecae5b136fa752e96c7e910d98c5d028c72f47cca18ae96d19f01
diff --git a/app-editors/zoinks/metadata.xml b/app-editors/zoinks/metadata.xml
new file mode 100644
index 000000000000..ff62877c67ae
--- /dev/null
+++ b/app-editors/zoinks/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/app-editors/zoinks/zoinks-0.4.1.ebuild b/app-editors/zoinks/zoinks-0.4.1.ebuild
new file mode 100644
index 000000000000..3ae66d2e70af
--- /dev/null
+++ b/app-editors/zoinks/zoinks-0.4.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils toolchain-funcs
+
+DESCRIPTION="programmer's text editor and development environment"
+HOMEPAGE="http://zoinks.mikelockwood.com"
+SRC_URI="http://${PN}.mikelockwood.com/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="nls"
+
+RDEPEND="x11-libs/libX11
+ x11-libs/libXpm
+ x11-libs/libXext
+ x11-libs/libXt"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )"
+
+src_prepare() {
+ sed -i -e 's:-g -Werror::g' configure* || die
+ tc-export CXX
+}
+
+src_configure() {
+ econf $(use_enable nls) --disable-imlib
+}
+
+src_install() {
+ default
+ dodoc AUTHORS ChangeLog NEWS README
+ doicon ide/Pixmaps/${PN}.xpm
+ make_desktop_entry ${PN} "Zoinks!" ${PN} "Utility;TextEditor"
+}
+
+pkg_postinst() {
+ if ! [[ ${REPLACING_VERSIONS} ]]; then
+ elog "If you see this message when starting zoinks:"
+ elog "zoinks: TFont.cpp:40: TFont::TFont(const char*): Assertion \`fFontSet' failed."
+ elog "You need to install media-fonts/font-adobe-{75,100dpi}"
+ fi
+}