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.1