summaryrefslogtreecommitdiff
path: root/app-editors
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /app-editors
reinit the tree, so we can have metadata
Diffstat (limited to 'app-editors')
-rw-r--r--app-editors/adie/Manifest5
-rw-r--r--app-editors/adie/adie-1.7.54.ebuild18
-rw-r--r--app-editors/adie/metadata.xml4
-rw-r--r--app-editors/aee/Manifest10
-rw-r--r--app-editors/aee/aee-2.2.15b.ebuild63
-rw-r--r--app-editors/aee/aee-2.2.21.ebuild63
-rw-r--r--app-editors/aee/files/aee-2.2.15b-ae-location.patch89
-rw-r--r--app-editors/aee/files/aee-Wformat-security.patch11
-rw-r--r--app-editors/aee/files/aee-ae-location.patch89
-rw-r--r--app-editors/aee/metadata.xml7
-rw-r--r--app-editors/amyedit/Manifest9
-rw-r--r--app-editors/amyedit/amyedit-1.0-r2.ebuild33
-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.xml11
-rw-r--r--app-editors/atom/Manifest68
-rw-r--r--app-editors/atom/atom-1.15.0-r1.ebuild405
-rw-r--r--app-editors/atom/atom-1.16.0.ebuild405
-rw-r--r--app-editors/atom/atom-1.18.0.ebuild411
-rw-r--r--app-editors/atom/atom-1.20.1.ebuild514
-rw-r--r--app-editors/atom/atom-1.21.0.ebuild522
-rw-r--r--app-editors/atom/files/apm-python.patch16
-rw-r--r--app-editors/atom/files/atom-1.13-apm-path.patch16
-rw-r--r--app-editors/atom/files/atom-apm-path-r1.patch16
-rw-r--r--app-editors/atom/files/atom-apm-path-r2.patch16
-rw-r--r--app-editors/atom/files/atom-apm-path.patch14
-rw-r--r--app-editors/atom/files/atom-fix-app-restart-r1.patch12
-rw-r--r--app-editors/atom/files/atom-fix-app-restart.patch12
-rw-r--r--app-editors/atom/files/atom-license-path-r1.patch11
-rw-r--r--app-editors/atom/files/atom-license-path.patch11
-rw-r--r--app-editors/atom/files/atom-marker-layer-r1.patch11
-rw-r--r--app-editors/atom/files/atom-marker-layer.patch11
-rw-r--r--app-editors/atom/files/atom-python.patch10
-rw-r--r--app-editors/atom/files/atom-unbundle-electron-r1.patch45
-rw-r--r--app-editors/atom/files/atom-unbundle-electron.patch45
-rw-r--r--app-editors/atom/files/gyp-unbundle.py141
-rw-r--r--app-editors/atom/files/transpile-coffee-script.js23
-rw-r--r--app-editors/atom/metadata.xml18
-rw-r--r--app-editors/beaver/Manifest6
-rw-r--r--app-editors/beaver/beaver-0.4.1.ebuild51
-rw-r--r--app-editors/beaver/files/beaver-0.4.1-desktop-file-validate.patch14
-rw-r--r--app-editors/beaver/metadata.xml11
-rw-r--r--app-editors/bluefish/Manifest12
-rw-r--r--app-editors/bluefish/bluefish-2.2.10.ebuild106
-rw-r--r--app-editors/bluefish/bluefish-2.2.6.ebuild89
-rw-r--r--app-editors/bluefish/bluefish-2.2.8.ebuild100
-rw-r--r--app-editors/bluefish/bluefish-2.2.9.ebuild106
-rw-r--r--app-editors/bluefish/files/bluefish-2.2.9-charmap_configure.patch29
-rw-r--r--app-editors/bluefish/metadata.xml20
-rw-r--r--app-editors/bvi/Manifest9
-rw-r--r--app-editors/bvi/bvi-1.3.2-r2.ebuild46
-rw-r--r--app-editors/bvi/bvi-1.4.0_alpha.ebuild41
-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/Manifest12
-rw-r--r--app-editors/cooledit/cooledit-3.17.17-r1.ebuild47
-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.xml8
-rw-r--r--app-editors/curses-hexedit/Manifest6
-rw-r--r--app-editors/curses-hexedit/curses-hexedit-0.9.7.ebuild32
-rw-r--r--app-editors/curses-hexedit/files/curses-hexedit-0.9.7-ncurses-pkg-config.patch34
-rw-r--r--app-editors/curses-hexedit/metadata.xml7
-rw-r--r--app-editors/dav/Manifest9
-rw-r--r--app-editors/dav/dav-0.8.5-r1.ebuild40
-rw-r--r--app-editors/dav/dav-0.8.5-r2.ebuild40
-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/files/fix-Wformat-security-warnings.patch39
-rw-r--r--app-editors/dav/metadata.xml8
-rw-r--r--app-editors/dhex/Manifest6
-rw-r--r--app-editors/dhex/dhex-0.68.ebuild38
-rw-r--r--app-editors/dhex/files/dhex-0.63-Makefile.patch15
-rw-r--r--app-editors/dhex/metadata.xml5
-rw-r--r--app-editors/diakonos/Manifest5
-rw-r--r--app-editors/diakonos/diakonos-0.9.4.ebuild36
-rw-r--r--app-editors/diakonos/metadata.xml5
-rw-r--r--app-editors/e3/Manifest5
-rw-r--r--app-editors/e3/e3-2.8.ebuild37
-rw-r--r--app-editors/e3/metadata.xml19
-rw-r--r--app-editors/editra/Manifest7
-rw-r--r--app-editors/editra/editra-0.7.20-r1.ebuild53
-rw-r--r--app-editors/editra/editra-0.7.20-r2.ebuild54
-rw-r--r--app-editors/editra/files/editra-0.7.20-wx30.patch44
-rw-r--r--app-editors/editra/metadata.xml8
-rw-r--r--app-editors/ee/Manifest7
-rw-r--r--app-editors/ee/ee-1.5.2.ebuild51
-rw-r--r--app-editors/ee/files/ee-Wformat-security.patch28
-rw-r--r--app-editors/ee/files/ee-init-location.patch40
-rw-r--r--app-editors/ee/metadata.xml7
-rw-r--r--app-editors/efte/Manifest7
-rw-r--r--app-editors/efte/efte-1.1-r1.ebuild53
-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.xml8
-rw-r--r--app-editors/elvis/Manifest9
-rw-r--r--app-editors/elvis/elvis-2.2.0-r4.ebuild95
-rw-r--r--app-editors/elvis/elvis-2.2.0-r5.ebuild101
-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.xml8
-rw-r--r--app-editors/emacs-vcs/Manifest5
-rw-r--r--app-editors/emacs-vcs/emacs-vcs-26.0.9999-r1.ebuild386
-rw-r--r--app-editors/emacs-vcs/emacs-vcs-27.0.9999.ebuild386
-rw-r--r--app-editors/emacs-vcs/metadata.xml56
-rw-r--r--app-editors/emacs/Manifest23
-rw-r--r--app-editors/emacs/emacs-18.59-r11.ebuild148
-rw-r--r--app-editors/emacs/emacs-23.4-r15.ebuild346
-rw-r--r--app-editors/emacs/emacs-23.4-r16.ebuild346
-rw-r--r--app-editors/emacs/emacs-24.5-r3.ebuild344
-rw-r--r--app-editors/emacs/emacs-24.5-r4.ebuild344
-rw-r--r--app-editors/emacs/emacs-25.2-r1.ebuild358
-rw-r--r--app-editors/emacs/emacs-25.2.ebuild356
-rw-r--r--app-editors/emacs/emacs-25.3.ebuild356
-rw-r--r--app-editors/emacs/metadata.xml53
-rw-r--r--app-editors/emact/Manifest5
-rw-r--r--app-editors/emact/emact-2.56.0.ebuild31
-rw-r--r--app-editors/emact/metadata.xml27
-rw-r--r--app-editors/ersatz-emacs/Manifest6
-rw-r--r--app-editors/ersatz-emacs/ersatz-emacs-20060515.ebuild42
-rw-r--r--app-editors/ersatz-emacs/files/ersatz-emacs-20060515-gentoo.patch57
-rw-r--r--app-editors/ersatz-emacs/metadata.xml15
-rw-r--r--app-editors/fe/Manifest8
-rw-r--r--app-editors/fe/fe-1.8.ebuild38
-rw-r--r--app-editors/fe/fe-1.9.ebuild38
-rw-r--r--app-editors/fe/files/fe-1.8-makefile.patch16
-rw-r--r--app-editors/fe/metadata.xml33
-rw-r--r--app-editors/focuswriter/Manifest10
-rw-r--r--app-editors/focuswriter/files/focuswriter-1.6.0-unbundle-qtsingleapplication.patch37
-rw-r--r--app-editors/focuswriter/focuswriter-1.6.5.ebuild54
-rw-r--r--app-editors/focuswriter/focuswriter-1.6.6.ebuild54
-rw-r--r--app-editors/focuswriter/focuswriter-1.6.7.ebuild54
-rw-r--r--app-editors/focuswriter/metadata.xml8
-rw-r--r--app-editors/fte/Manifest15
-rw-r--r--app-editors/fte/files/fte26
-rw-r--r--app-editors/fte/files/fte-cpp14.patch17
-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-r1.ebuild119
-rw-r--r--app-editors/fte/metadata.xml9
-rw-r--r--app-editors/gedit-plugins/Manifest5
-rw-r--r--app-editors/gedit-plugins/gedit-plugins-3.22.0.ebuild97
-rw-r--r--app-editors/gedit-plugins/metadata.xml16
-rw-r--r--app-editors/gedit/Manifest7
-rw-r--r--app-editors/gedit/gedit-3.22.0.ebuild91
-rw-r--r--app-editors/gedit/gedit-3.22.1.ebuild91
-rw-r--r--app-editors/gedit/metadata.xml8
-rw-r--r--app-editors/ghex/Manifest5
-rw-r--r--app-editors/ghex/ghex-3.18.3.ebuild25
-rw-r--r--app-editors/ghex/metadata.xml8
-rw-r--r--app-editors/ghostwriter/Manifest4
-rw-r--r--app-editors/ghostwriter/ghostwriter-1.5.0.ebuild57
-rw-r--r--app-editors/ghostwriter/metadata.xml15
-rw-r--r--app-editors/gummi/Manifest5
-rw-r--r--app-editors/gummi/gummi-0.6.6.ebuild47
-rw-r--r--app-editors/gummi/metadata.xml25
-rw-r--r--app-editors/gvim/Manifest20
-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-r128
-rw-r--r--app-editors/gvim/gvim-8.0.0386-r1.ebuild388
-rw-r--r--app-editors/gvim/gvim-8.0.0386.ebuild407
-rw-r--r--app-editors/gvim/gvim-8.0.0938.ebuild388
-rw-r--r--app-editors/gvim/gvim-8.0.0983.ebuild388
-rw-r--r--app-editors/gvim/gvim-8.0.1056.ebuild388
-rw-r--r--app-editors/gvim/gvim-9999.ebuild388
-rw-r--r--app-editors/gvim/metadata.xml17
-rw-r--r--app-editors/hexcurse/Manifest11
-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/files/hexcurse-1.60.0-Werror.patch7
-rw-r--r--app-editors/hexcurse/files/hexcurse-1.60.0-tinfo.patch13
-rw-r--r--app-editors/hexcurse/hexcurse-1.55.ebuild31
-rw-r--r--app-editors/hexcurse/hexcurse-1.60.0.ebuild34
-rw-r--r--app-editors/hexcurse/metadata.xml14
-rw-r--r--app-editors/hexedit/Manifest6
-rw-r--r--app-editors/hexedit/files/hexedit-1.2.13-tinfo.patch10
-rw-r--r--app-editors/hexedit/hexedit-1.2.13.ebuild30
-rw-r--r--app-editors/hexedit/metadata.xml8
-rw-r--r--app-editors/hteditor/Manifest6
-rw-r--r--app-editors/hteditor/files/hteditor-2.1.0-gcc-7.patch32
-rw-r--r--app-editors/hteditor/hteditor-2.1.0.ebuild50
-rw-r--r--app-editors/hteditor/metadata.xml13
-rw-r--r--app-editors/jasspa-microemacs/Manifest11
-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.ebuild83
-rw-r--r--app-editors/jasspa-microemacs/metadata.xml25
-rw-r--r--app-editors/jed/Manifest5
-rw-r--r--app-editors/jed/jed-0.99.19.ebuild61
-rw-r--r--app-editors/jed/metadata.xml15
-rw-r--r--app-editors/jedit/Manifest9
-rw-r--r--app-editors/jedit/files/jedit-5.2.0-build-xml.patch24
-rw-r--r--app-editors/jedit/files/jedit-5.4.0-build-xml.patch12
-rw-r--r--app-editors/jedit/jedit-5.2.0-r1.ebuild102
-rw-r--r--app-editors/jedit/jedit-5.4.0.ebuild106
-rw-r--r--app-editors/jedit/metadata.xml11
-rw-r--r--app-editors/jext/Manifest7
-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.ebuild65
-rw-r--r--app-editors/jext/metadata.xml11
-rw-r--r--app-editors/joe/Manifest10
-rw-r--r--app-editors/joe/files/joe-4.3-tinfo.patch30
-rw-r--r--app-editors/joe/joe-4.2.ebuild38
-rw-r--r--app-editors/joe/joe-4.3-r1.ebuild46
-rw-r--r--app-editors/joe/joe-4.4.ebuild46
-rw-r--r--app-editors/joe/metadata.xml25
-rw-r--r--app-editors/jove/Manifest9
-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.ebuild51
-rw-r--r--app-editors/jove/metadata.xml15
-rw-r--r--app-editors/juffed/Manifest10
-rw-r--r--app-editors/juffed/files/0.10-link-libjuff-against-libenca.patch24
-rw-r--r--app-editors/juffed/files/FindQtSingleApplication.cmake94
-rw-r--r--app-editors/juffed/files/juffed-0.10_p20160323-qscintilla-2.10.patch11
-rw-r--r--app-editors/juffed/juffed-0.10-r1.ebuild44
-rw-r--r--app-editors/juffed/juffed-0.10_p20160323.ebuild62
-rw-r--r--app-editors/juffed/metadata.xml11
-rw-r--r--app-editors/jupp/Manifest7
-rw-r--r--app-editors/jupp/jupp-3.1_p27.ebuild35
-rw-r--r--app-editors/jupp/jupp-3.1_p30.ebuild36
-rw-r--r--app-editors/jupp/metadata.xml8
-rw-r--r--app-editors/kakoune/Manifest9
-rw-r--r--app-editors/kakoune/files/kakoune-0_pre20170523-makefile.patch31
-rw-r--r--app-editors/kakoune/files/kakoune-makefile.patch40
-rw-r--r--app-editors/kakoune/kakoune-0_pre20160620.ebuild41
-rw-r--r--app-editors/kakoune/kakoune-0_pre20170523.ebuild49
-rw-r--r--app-editors/kakoune/kakoune-9999.ebuild47
-rw-r--r--app-editors/kakoune/metadata.xml15
-rw-r--r--app-editors/kile/Manifest7
-rw-r--r--app-editors/kile/kile-2.1.3-r3.ebuild57
-rw-r--r--app-editors/kile/kile-2.9.91.ebuild74
-rw-r--r--app-editors/kile/metadata.xml16
-rw-r--r--app-editors/latexila/Manifest9
-rw-r--r--app-editors/latexila/latexila-3.22.1.ebuild52
-rw-r--r--app-editors/latexila/latexila-3.24.2.ebuild54
-rw-r--r--app-editors/latexila/latexila-3.24.3.ebuild54
-rw-r--r--app-editors/latexila/metadata.xml14
-rw-r--r--app-editors/le/Manifest9
-rw-r--r--app-editors/le/le-1.14.3.ebuild22
-rw-r--r--app-editors/le/le-1.16.1.ebuild21
-rw-r--r--app-editors/le/le-1.16.3.ebuild20
-rw-r--r--app-editors/le/metadata.xml13
-rw-r--r--app-editors/leafpad/Manifest7
-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.ebuild50
-rw-r--r--app-editors/leafpad/metadata.xml7
-rw-r--r--app-editors/leo/Manifest5
-rw-r--r--app-editors/leo/leo-5.1.ebuild34
-rw-r--r--app-editors/leo/metadata.xml9
-rw-r--r--app-editors/levee/Manifest8
-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.ebuild39
-rw-r--r--app-editors/levee/metadata.xml5
-rw-r--r--app-editors/lfhex/Manifest7
-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.ebuild37
-rw-r--r--app-editors/lfhex/metadata.xml5
-rw-r--r--app-editors/lpe/Manifest6
-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.ebuild49
-rw-r--r--app-editors/lpe/metadata.xml5
-rw-r--r--app-editors/metadata.xml32
-rw-r--r--app-editors/mg/Manifest9
-rw-r--r--app-editors/mg/metadata.xml12
-rw-r--r--app-editors/mg/mg-20161005.ebuild47
-rw-r--r--app-editors/mg/mg-20170401.ebuild47
-rw-r--r--app-editors/mg/mg-20170828.ebuild47
-rw-r--r--app-editors/moe/Manifest8
-rw-r--r--app-editors/moe/files/moe-1.6-tinfo.patch11
-rw-r--r--app-editors/moe/metadata.xml8
-rw-r--r--app-editors/moe/moe-1.6.ebuild36
-rw-r--r--app-editors/moe/moe-1.7.ebuild36
-rw-r--r--app-editors/mousepad/Manifest5
-rw-r--r--app-editors/mousepad/metadata.xml11
-rw-r--r--app-editors/mousepad/mousepad-0.4.0.ebuild46
-rw-r--r--app-editors/nano/Manifest11
-rw-r--r--app-editors/nano/files/nano-2.8.7-minimal_compile_fix.patch38
-rw-r--r--app-editors/nano/metadata.xml38
-rw-r--r--app-editors/nano/nano-2.7.5.ebuild83
-rw-r--r--app-editors/nano/nano-2.8.6.ebuild83
-rw-r--r--app-editors/nano/nano-2.8.7.ebuild87
-rw-r--r--app-editors/nano/nano-9999.ebuild83
-rw-r--r--app-editors/ne/Manifest6
-rw-r--r--app-editors/ne/metadata.xml8
-rw-r--r--app-editors/ne/ne-3.0.1-r1.ebuild53
-rw-r--r--app-editors/ne/ne-3.0.1.ebuild53
-rw-r--r--app-editors/nedit/Manifest10
-rw-r--r--app-editors/nedit/files/nedit-5.6-40_Pointer_to_Integer.patch261
-rw-r--r--app-editors/nedit/files/nedit-5.6-format.patch12
-rw-r--r--app-editors/nedit/files/nedit-5.6-ldflags.patch17
-rw-r--r--app-editors/nedit/files/nedit-5.6-security.patch63
-rw-r--r--app-editors/nedit/metadata.xml10
-rw-r--r--app-editors/nedit/nedit-5.6-r1.ebuild77
-rw-r--r--app-editors/neovim/Manifest24
-rw-r--r--app-editors/neovim/files/sysinit.vim104
-rw-r--r--app-editors/neovim/metadata.xml19
-rw-r--r--app-editors/neovim/neovim-0.1.0.ebuild77
-rw-r--r--app-editors/neovim/neovim-0.1.1-r1.ebuild77
-rw-r--r--app-editors/neovim/neovim-0.1.2.ebuild77
-rw-r--r--app-editors/neovim/neovim-0.1.3.ebuild74
-rw-r--r--app-editors/neovim/neovim-0.1.4.ebuild74
-rw-r--r--app-editors/neovim/neovim-0.1.5-r1.ebuild77
-rw-r--r--app-editors/neovim/neovim-0.1.5.ebuild76
-rw-r--r--app-editors/neovim/neovim-0.1.6.ebuild77
-rw-r--r--app-editors/neovim/neovim-0.1.7.ebuild77
-rw-r--r--app-editors/neovim/neovim-0.2.0.ebuild77
-rw-r--r--app-editors/neovim/neovim-9999.ebuild77
-rw-r--r--app-editors/ng/Manifest9
-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.xml8
-rw-r--r--app-editors/ng/ng-1.5_beta1-r1.ebuild63
-rw-r--r--app-editors/ng/ng-1.5_beta1-r2.ebuild70
-rw-r--r--app-editors/ng/ng-1.5_beta1.ebuild61
-rw-r--r--app-editors/notepadqq/Manifest4
-rw-r--r--app-editors/notepadqq/metadata.xml11
-rw-r--r--app-editors/notepadqq/notepadqq-1.0.1.ebuild55
-rw-r--r--app-editors/nvi/Manifest15
-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.patch38
-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-printf-types.patch14
-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.xml12
-rw-r--r--app-editors/nvi/nvi-1.81.6-r4.ebuild100
-rw-r--r--app-editors/nvi/nvi-1.81.6-r6.ebuild100
-rw-r--r--app-editors/nvi/nvi-1.81.6-r7.ebuild89
-rw-r--r--app-editors/padre/Manifest7
-rw-r--r--app-editors/padre/files/padre-1.0.0-DBD-Sqlite.patch35
-rw-r--r--app-editors/padre/metadata.xml11
-rw-r--r--app-editors/padre/padre-1.0.0-r1.ebuild113
-rw-r--r--app-editors/padre/padre-1.0.0.ebuild112
-rw-r--r--app-editors/pluma/Manifest11
-rw-r--r--app-editors/pluma/metadata.xml14
-rw-r--r--app-editors/pluma/pluma-1.12.2-r1.ebuild91
-rw-r--r--app-editors/pluma/pluma-1.14.1.ebuild93
-rw-r--r--app-editors/pluma/pluma-1.16.0-r1.ebuild93
-rw-r--r--app-editors/pluma/pluma-1.18.2.ebuild77
-rw-r--r--app-editors/qemacs/Manifest18
-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/files/qemacs-0.4.1_pre20150916-Makefile.patch38
-rw-r--r--app-editors/qemacs/files/qemacs-0.4.1_pre20150916-nostrip.patch38
-rw-r--r--app-editors/qemacs/files/qemacs-0.4.1_pre20170225-Makefile.patch42
-rw-r--r--app-editors/qemacs/files/qemacs-0.4.1_pre20170225-manpage.patch11
-rw-r--r--app-editors/qemacs/files/qemacs-0.4.1_pre20170225-nostrip.patch61
-rw-r--r--app-editors/qemacs/metadata.xml38
-rw-r--r--app-editors/qemacs/qemacs-0.4.0_pre20090420-r1.ebuild76
-rw-r--r--app-editors/qemacs/qemacs-0.4.1_pre20150916.ebuild70
-rw-r--r--app-editors/qemacs/qemacs-0.4.1_pre20170225.ebuild63
-rw-r--r--app-editors/qwriter/Manifest7
-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-r2.ebuild47
-rw-r--r--app-editors/qwriter/qwriter-0.1.9.ebuild49
-rw-r--r--app-editors/qxmledit/Manifest7
-rw-r--r--app-editors/qxmledit/metadata.xml23
-rw-r--r--app-editors/qxmledit/qxmledit-0.9.7.ebuild79
-rw-r--r--app-editors/qxmledit/qxmledit-0.9.8.ebuild77
-rw-r--r--app-editors/retext/Manifest8
-rw-r--r--app-editors/retext/metadata.xml13
-rw-r--r--app-editors/retext/retext-7.0.0.ebuild53
-rw-r--r--app-editors/retext/retext-7.0.1.ebuild53
-rw-r--r--app-editors/retext/retext-9999.ebuild52
-rw-r--r--app-editors/sandy/Manifest6
-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.ebuild30
-rw-r--r--app-editors/scite/Manifest12
-rw-r--r--app-editors/scite/files/scite.desktop8
-rw-r--r--app-editors/scite/metadata.xml16
-rw-r--r--app-editors/scite/scite-3.5.5.ebuild84
-rw-r--r--app-editors/scite/scite-3.6.2-r1.ebuild88
-rw-r--r--app-editors/scite/scite-3.6.4-r1.ebuild88
-rw-r--r--app-editors/scite/scite-3.6.5-r1.ebuild88
-rw-r--r--app-editors/shed/Manifest12
-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.ebuild20
-rw-r--r--app-editors/shed/shed-1.13.ebuild20
-rw-r--r--app-editors/shed/shed-1.15.ebuild27
-rw-r--r--app-editors/sublime-text/Manifest10
-rw-r--r--app-editors/sublime-text/metadata.xml7
-rw-r--r--app-editors/sublime-text/sublime-text-2.0.2-r2.ebuild62
-rw-r--r--app-editors/sublime-text/sublime-text-3_p3143.ebuild64
-rw-r--r--app-editors/sublime-text/sublime-text-3_pre3126-r3.ebuild64
-rw-r--r--app-editors/tea/Manifest5
-rw-r--r--app-editors/tea/metadata.xml17
-rw-r--r--app-editors/tea/tea-44.1.0.ebuild56
-rw-r--r--app-editors/teco/Manifest12
-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.ebuild65
-rw-r--r--app-editors/ted/Manifest7
-rw-r--r--app-editors/ted/files/ted-2.23-freetype261.patch11
-rw-r--r--app-editors/ted/files/ted-2.23-make.patch11
-rw-r--r--app-editors/ted/metadata.xml5
-rw-r--r--app-editors/ted/ted-2.23.ebuild74
-rw-r--r--app-editors/uemacs-pk/Manifest6
-rw-r--r--app-editors/uemacs-pk/files/uemacs-pk-4.0.15_p20110825-gentoo.patch15
-rw-r--r--app-editors/uemacs-pk/metadata.xml25
-rw-r--r--app-editors/uemacs-pk/uemacs-pk-4.0.15_p20141208.ebuild42
-rw-r--r--app-editors/vile/Manifest7
-rw-r--r--app-editors/vile/metadata.xml8
-rw-r--r--app-editors/vile/vile-9.8r.ebuild42
-rw-r--r--app-editors/vile/vile-9.8s.ebuild42
-rw-r--r--app-editors/vim-core/Manifest16
-rw-r--r--app-editors/vim-core/files/vimrc-r5203
-rw-r--r--app-editors/vim-core/files/xxd-completion25
-rw-r--r--app-editors/vim-core/metadata.xml11
-rw-r--r--app-editors/vim-core/vim-core-8.0.0386.ebuild217
-rw-r--r--app-editors/vim-core/vim-core-8.0.0938.ebuild217
-rw-r--r--app-editors/vim-core/vim-core-8.0.0983.ebuild217
-rw-r--r--app-editors/vim-core/vim-core-8.0.1056.ebuild217
-rw-r--r--app-editors/vim-core/vim-core-9999.ebuild217
-rw-r--r--app-editors/vim/Manifest16
-rw-r--r--app-editors/vim/files/vim-completion36
-rw-r--r--app-editors/vim/metadata.xml20
-rw-r--r--app-editors/vim/vim-8.0.0386-r1.ebuild329
-rw-r--r--app-editors/vim/vim-8.0.0386.ebuild348
-rw-r--r--app-editors/vim/vim-8.0.0938.ebuild330
-rw-r--r--app-editors/vim/vim-8.0.0983.ebuild330
-rw-r--r--app-editors/vim/vim-8.0.1056.ebuild330
-rw-r--r--app-editors/vim/vim-9999.ebuild330
-rw-r--r--app-editors/vis/Manifest4
-rw-r--r--app-editors/vis/metadata.xml17
-rw-r--r--app-editors/vis/vis-0.3.ebuild39
-rw-r--r--app-editors/vis/vis-9999.ebuild40
-rw-r--r--app-editors/wily/Manifest5
-rw-r--r--app-editors/wily/metadata.xml5
-rw-r--r--app-editors/wily/wily-1.0-r1.ebuild36
-rw-r--r--app-editors/wxhexeditor/Manifest6
-rw-r--r--app-editors/wxhexeditor/files/wxhexeditor-0.23-syslibs.patch84
-rw-r--r--app-editors/wxhexeditor/metadata.xml11
-rw-r--r--app-editors/wxhexeditor/wxhexeditor-0.23.ebuild45
-rw-r--r--app-editors/xemacs/Manifest28
-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.4.24-gcc5.patch32
-rw-r--r--app-editors/xemacs/files/xemacs-21.4.24-glibc-macro.patch28
-rw-r--r--app-editors/xemacs/files/xemacs-21.4.24-ncurses-tinfo.patch12
-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-gcc5.patch35
-rw-r--r--app-editors/xemacs/files/xemacs-21.5.34-glibc-macro.patch32
-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.xml17
-rw-r--r--app-editors/xemacs/xemacs-21.4.22-r4.ebuild257
-rw-r--r--app-editors/xemacs/xemacs-21.4.24-r1.ebuild245
-rw-r--r--app-editors/xemacs/xemacs-21.4.24.ebuild247
-rw-r--r--app-editors/xemacs/xemacs-21.5.34-r4.ebuild252
-rw-r--r--app-editors/xmlcopyeditor/Manifest5
-rw-r--r--app-editors/xmlcopyeditor/metadata.xml15
-rw-r--r--app-editors/xmlcopyeditor/xmlcopyeditor-1.2.1.3.ebuild43
-rw-r--r--app-editors/xvile/Manifest7
-rw-r--r--app-editors/xvile/metadata.xml8
-rw-r--r--app-editors/xvile/xvile-9.8r.ebuild42
-rw-r--r--app-editors/xvile/xvile-9.8s.ebuild42
-rw-r--r--app-editors/yudit/Manifest7
-rw-r--r--app-editors/yudit/metadata.xml5
-rw-r--r--app-editors/yudit/yudit-2.9.2.ebuild33
-rw-r--r--app-editors/yudit/yudit-2.9.6.ebuild26
-rw-r--r--app-editors/zile/Manifest11
-rw-r--r--app-editors/zile/files/zile-2.3.24-gets.patch30
-rw-r--r--app-editors/zile/files/zile-2.3.24-userhome.patch26
-rw-r--r--app-editors/zile/metadata.xml18
-rw-r--r--app-editors/zile/zile-2.3.24-r2.ebuild33
-rw-r--r--app-editors/zile/zile-2.4.11.ebuild38
-rw-r--r--app-editors/zile/zile-2.4.13.ebuild38
-rw-r--r--app-editors/znotes/Manifest6
-rw-r--r--app-editors/znotes/files/znotes-0.4.5-gcc-4.7.patch24
-rw-r--r--app-editors/znotes/metadata.xml13
-rw-r--r--app-editors/znotes/znotes-0.4.5.ebuild27
512 files changed, 29768 insertions, 0 deletions
diff --git a/app-editors/adie/Manifest b/app-editors/adie/Manifest
new file mode 100644
index 000000000000..dac38c0f1757
--- /dev/null
+++ b/app-editors/adie/Manifest
@@ -0,0 +1,5 @@
+DIST fox-1.7.54.tar.gz 5384000 SHA256 c6b749b1392d13e60b20525ed2e2107b40b4d25e757b2ee1e3fb96f59db9f053 SHA512 cf14a09f9a6a812ac87839a5df8fd68f693e59050695e8da5dbfe018676f29bc263e4f9208dc06419068e4140b826a0dcf70a8925fec379edf3e4d0d0b693795 WHIRLPOOL bb2829e16921e9171c6dd7f24be76803485c7f884f16c8e45f4adbbe91b0128a0024617a6f35c705149aeac921f891042605cff3499c200ba916de114547fca3
+EBUILD adie-1.7.54.ebuild 348 SHA256 90a5873eb53ba642b74b6ba5592b70899164d48383604ae4d0e2aa74449f7082 SHA512 d200b830310edb280d5ac4a8d87d3c013e8e8d7dd929decba94b0b4951b1a07dfadf664a6c1e8259d5dee0c298f0b8e79cc0f64b18b245b07e544d75d4f42480 WHIRLPOOL b40df91fc1abd2595055e221642cb4e58bfec908406be8cc5456122e4c9bb413cea993b9cb1a74822d648c71053106fa60a802cb706f159a4c87752a196d4c61
+MISC ChangeLog 3173 SHA256 5943b5284e6d1444f6cb1bc622eec387a06aa8cb79f33d2e2747580ef12cfade SHA512 855df55848e1eb93f0087a48791c247dc27408e7e424a265c4c7958d51bc3c2b7182ea9fccec1ea4579b93a06345670e4e69f1cafc70fe86849b306bc410fb97 WHIRLPOOL 5beb1213a7f85c4d9ae0157e2ef76f811518a98d0e0e07d548e83812ca926c2322e62e6b5e792e49bb0af346984a8ca85eaef50bdf37add5ddd54af4551e6ee5
+MISC ChangeLog-2015 7419 SHA256 55b323734e8f5fd5078b66bbe06687775c64beab2bec00cf2dba0bf0fc320a65 SHA512 696331c19e26a6cf5d8df8e8960ab1a1d34d55a127bc55e1f7cb3016ed640dfc6c5f3555e6abf4ddad51861b9440fe799ec679bb851f9ed62d318ca729896ea2 WHIRLPOOL 7c48195df4dc0db3a3d2b125f61d18300f6db433f7720b008a705c7dcbf2ca729ae74742fccc14939a3eca5c2fbb726c003ef1c691f0acc19fb5d9d68e593727
+MISC metadata.xml 139 SHA256 5cdc1888ebc8807b9a37b1d33429c61cabe7415a4f240e21a4c2ff8eca7a34ed SHA512 8be912ace7468a4396eb1da00a9785030a8ce35da4357a01591876a1056fd45e44da65de2af3e1eb0506ce6551714962c40c3ae5a3aefa2ad231de35af2519be WHIRLPOOL 620431014dd4fb752c3d46d11904ecb2c6d4525f5b4e30f4f778a3b74d3f7187ae4ccd856ebd7eabb48ce261b21849c732928fe647edce024a3fdc082d8f8630
diff --git a/app-editors/adie/adie-1.7.54.ebuild b/app-editors/adie/adie-1.7.54.ebuild
new file mode 100644
index 000000000000..a6bef80b026b
--- /dev/null
+++ b/app-editors/adie/adie-1.7.54.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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..097975e3adc2
--- /dev/null
+++ b/app-editors/adie/metadata.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+</pkgmetadata>
diff --git a/app-editors/aee/Manifest b/app-editors/aee/Manifest
new file mode 100644
index 000000000000..4fa4b80b1e22
--- /dev/null
+++ b/app-editors/aee/Manifest
@@ -0,0 +1,10 @@
+AUX aee-2.2.15b-ae-location.patch 2656 SHA256 fb93b05096fb148d564811fd2e74f29df71e17edc79dbf6c0029d9aed538b6b9 SHA512 1de3fa054e64f24cf45bf89dba133c60f24a79b8ce6abce7ad4ede595110cfda22121fa636f8d2c48866e68175008505299fc5e020d834e413eb34859711b313 WHIRLPOOL 3115e8ff3cbf4bfae3b33af4fa0d2378dc87dc4b5a2fbdae2ac67ec8ae34972a23b592415ca006329b1cf5b760b161aa151b16acf327ce3cf23515fd2534e34b
+AUX aee-Wformat-security.patch 225 SHA256 d35607b47d7c700a2f514bf0aff4d7d029fe23469032335992ab2bb43daca092 SHA512 bc2647b6e29ed039dd683c15001f7ee992091221ee9851bd302c066ce7c49ca6bcf01ef5eb111b6d998804074855eea497284a579835e3d335d7bfe422dad190 WHIRLPOOL 21b1ba2cedd80ae1c9e5721b7a4d5707818cf842ce142d616e26bf0c59b5df89d5c1037ec2e29be91a0d1b5332057e1bafa7b97d3b16d0cfc71d99643730ceb1
+AUX aee-ae-location.patch 2755 SHA256 83192202d074799cacd658f5f1f8e586d1d1cbecab94546e2457a5ea278e20c1 SHA512 48ded083b407d1fb94764967358dc6c858421a3586e56fca1803980912b90404dcbfcadfc5a041b0959e2e10b3a5224751671ec067687b2e361eb2e27eb86cfa WHIRLPOOL e847c79bb64a22d0b77c3174d3981d53480f632d3fe7f8973e6ccaa633f1f89faabd6f2a4d428500147c576e48522f0d76ce71dfabfd8da0520db2f9624631f7
+DIST aee-2.2.15b.tar.gz 184218 SHA256 7abbaffe35018f9de87c8685f9bee2ea3f261e88ce60674f1a5a9a3a0f54d752 SHA512 2810cd8f5148edb352fdaefbc823d417b9a83c8083644c8729be8595013ca8ba660bd72120db1e15915e454f5185d2d030c2f0c853b37eb83c213c1d581a640f WHIRLPOOL 3ae452544f8926fda55f3661c9890c39d6ab1dd295acba1a18edf91d010e731d7f356a679e8174f66ce7c8604c148ad1ce61d31c43a67162bdcda400b9de5961
+DIST aee-2.2.21.tar.gz 186304 SHA256 b8a9a20679736ec44e74faae1550b33411cc675f7c587d2316e578f97b0d3727 SHA512 c052ef97b18fa9900e9bf0c5894e05cbbf775d7de4ad4c14cb9e3e7758983c84e4768995a98398c05e30173464e6f7994e7f476522a314bc25dac5a84831155a WHIRLPOOL 7508981b4035fb80dc4fb4cb49af4a7ca552cdf6abe6427ec5bccd5d957f0e64db14083174e7671b521f772e36fc887ac0f7a2b078874888efb042a43ed0363b
+EBUILD aee-2.2.15b.ebuild 1224 SHA256 b6c2aceec9eab636f9d8712a01a04f2ab38d7b0d0f0bb22a65e154d1b9128277 SHA512 0a8047efc8c58561e49c186b96035c9c8b340194c7332efdc52fe6ba578f9960161d2500abb0a898176ad685b4267f0f8d287374307e5505794edfb13fc32247 WHIRLPOOL 72978ed0a4167c2a2b6f0f3add113b1c8f8c91cd90c44da3590cb972aef51a512b9f6282f3f8edf4ff4fe66baeabc5ebb97078a1ba0b07640e8223c796753f15
+EBUILD aee-2.2.21.ebuild 1227 SHA256 ba088444e03f3662ebd6bfc41fed404353af3783dd0109163d32e83d381c174d SHA512 8d7f1abfaa36cc1cbd4e7bb170e1fd9e938956e050fb03b0452dc04e9aded3052c5db92b674f5f78ac990756ceda6ef42c9a675414543ffecff74a52b3f3d9fb WHIRLPOOL 2f4404b6f3dcba22a912f33544daa1d6aa12e3573c8bf0223ccc09c84264937ebdf288724648bc26aaa97045041b6e184308b2ffddba28813e610ab3332da239
+MISC ChangeLog 2200 SHA256 f71b619baa507860b9e3be15e34f980e438a4c071654c6e72f01e8a7621c14af SHA512 bf47307549da84d35d033c48b4fa84b3e4d2026bdbd91fb1c71bd2ba44d6ad87796f2f4707d751ab105c8dbb264def0f54727fdacbc07a671f466986c91b92e7 WHIRLPOOL aa8fc2486e083ce78074d230993dc1a12717c462e6a6d5e983d77f90578aa2a2c914107260038696c16978e65c51be3602ab1410676e97d5cf535de4b92528b3
+MISC ChangeLog-2015 1022 SHA256 02136d4fe1111c25a770e96b2eafff845150175cfe79e73d665c166e9af92ca3 SHA512 ee5033386ae52a45abe86c6ef3f96957a472999960955506ba0d96955a583e89bbe659bdf16f6e6a19ce3164e3d5439b39706011cf5fbc5fb80e61ccd843e346 WHIRLPOOL e2563243116426d355e7a493fe136cfec38b7280c010f7cb37c8f0ecd3819a0a650025e9be72709f1c9fa4a13d59d886c47b995b9bf60d075df5623497c64f6f
+MISC metadata.xml 221 SHA256 27a3fa259bbce0eb90b1fe397126b9d5ef4e906e824ae72f9ea923fff8da6d02 SHA512 a11e9bbbabc9ac96985c5dc247e601b065fa762f12bce74224896c27aee34eb908187622bfc849c39c6c722a8ef8ee72b248afc84da1b0eb72f1ff5eeb13bbf0 WHIRLPOOL e8ddaad694d5f22a229ccc3dc7597a11dce9ffd502ed3fa64b9cc760d3404c4dac31c9b9948b38b2eee0efc446a8aee52a73f87ec28d229670ba3bfc3cb9a95c
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..bbd9266d8086
--- /dev/null
+++ b/app-editors/aee/aee-2.2.15b.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit toolchain-funcs
+
+DESCRIPTION="An easy to use text editor"
+#HOMEPAGE="http://mahon.cwx.net/ http://www.users.uswest.net/~hmahon/"
+HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux"
+IUSE="X"
+
+RDEPEND="X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-ae-location.patch
+ "${FILESDIR}"/${PN}-Wformat-security.patch
+)
+DOCS=( Changes README.${PN} ${PN}.i18n.guide ${PN}.msg )
+
+src_prepare() {
+ sed -i \
+ -e "s/make -/\$(MAKE) -/g" \
+ -e "/^buildaee/s/$/ localaee/" \
+ -e "/^buildxae/s/$/ localxae/" \
+ Makefile
+
+ sed -i \
+ -e "s/\([\t ]\)cc /\1\\\\\$(CC) /" \
+ -e "/CFLAGS =/s/\" >/ \\\\\$(LDFLAGS)\" >/" \
+ -e "/other_cflag/s/ \${strip_option}//" \
+ create.mk.{aee,xae}
+
+ default
+}
+
+src_compile() {
+ local target="aee"
+ use X && target="both"
+
+ emake CC="$(tc-getCC)" ${target}
+}
+
+src_install() {
+ dobin ${PN}
+ dosym ${PN} /usr/bin/rae
+ doman ${PN}.1
+ einstalldocs
+
+ 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/aee-2.2.21.ebuild b/app-editors/aee/aee-2.2.21.ebuild
new file mode 100644
index 000000000000..763b9cf91901
--- /dev/null
+++ b/app-editors/aee/aee-2.2.21.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit toolchain-funcs
+
+DESCRIPTION="An easy to use text editor"
+#HOMEPAGE="http://mahon.cwx.net/ http://www.users.uswest.net/~hmahon/"
+HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux"
+IUSE="X"
+
+RDEPEND="X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-ae-location.patch
+ "${FILESDIR}"/${PN}-Wformat-security.patch
+)
+DOCS=( Changes README.${PN} ${PN}.i18n.guide ${PN}.msg )
+
+src_prepare() {
+ sed -i \
+ -e "s/make -/\$(MAKE) -/g" \
+ -e "/^buildaee/s/$/ localaee/" \
+ -e "/^buildxae/s/$/ localxae/" \
+ Makefile
+
+ sed -i \
+ -e "s/\([\t ]\)cc /\1\\\\\$(CC) /" \
+ -e "/CFLAGS =/s/\" >/ \\\\\$(LDFLAGS)\" >/" \
+ -e "/other_cflag/s/ \${strip_option}//" \
+ create.mk.{aee,xae}
+
+ default
+}
+
+src_compile() {
+ local target="aee"
+ use X && target="both"
+
+ emake CC="$(tc-getCC)" ${target}
+}
+
+src_install() {
+ dobin ${PN}
+ dosym ${PN} /usr/bin/rae
+ doman ${PN}.1
+ einstalldocs
+
+ 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-2.2.15b-ae-location.patch b/app-editors/aee/files/aee-2.2.15b-ae-location.patch
new file mode 100644
index 000000000000..4a17642b915d
--- /dev/null
+++ b/app-editors/aee/files/aee-2.2.15b-ae-location.patch
@@ -0,0 +1,89 @@
+--- a/aee.1
++++ b/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
+--- a/aee.c
++++ b/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"
+ };
+--- a/aee.msg
++++ b/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 "
+--- a/help.ae
++++ b/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
+--- a/help.c
++++ b/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"
+ };
+--- a/localize.c
++++ b/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/files/aee-Wformat-security.patch b/app-editors/aee/files/aee-Wformat-security.patch
new file mode 100644
index 000000000000..7bc4c9c39fa1
--- /dev/null
+++ b/app-editors/aee/files/aee-Wformat-security.patch
@@ -0,0 +1,11 @@
+--- a/aee.c
++++ b/aee.c
+@@ -2493,7 +2493,7 @@
+ }
+ if (shell_fork)
+ {
+- printf(press_ret_to_cont_str);
++ printf("%s", press_ret_to_cont_str);
+ fflush(stdout);
+ while (((in = getchar()) != '\n') && (in != '\r'))
+ ;
diff --git a/app-editors/aee/files/aee-ae-location.patch b/app-editors/aee/files/aee-ae-location.patch
new file mode 100644
index 000000000000..eb598cc7be38
--- /dev/null
+++ b/app-editors/aee/files/aee-ae-location.patch
@@ -0,0 +1,89 @@
+--- a/aee.1
++++ b/aee.1
+@@ -680,7 +680,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
+@@ -962,7 +962,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.
+ .\"
+@@ -1019,7 +1019,7 @@
+ .\"
+ .SH FILES
+ .PP
+-.I /usr/local/lib/init.ae
++.I /usr/share/aee/init.ae
+ .br
+ .I $HOME/.aeeinfo
+ .br
+--- a/aee.c
++++ b/aee.c
+@@ -2628,7 +2628,7 @@
+
+ char *init_name[6] = {
+ "/usr/local/aee/init.ae",
+- "/usr/local/lib/init.ae",
++ "/usr/share/aee/init.ae",
+ NULL, /* to be ~/.init.ae */
+ ".init.ae",
+ NULL, /* to be ~/.aeerc */
+--- a/aee.msg
++++ b/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 "
+--- a/help.ae
++++ b/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
+--- a/help.c
++++ b/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"
+ };
+--- a/localize.c
++++ b/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..21dc8fdf43ff
--- /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 type="person">
+ <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..0fad682d3667
--- /dev/null
+++ b/app-editors/amyedit/Manifest
@@ -0,0 +1,9 @@
+AUX amyedit-1.0-gcc45.patch 675 SHA256 bc1cc1edd9004f9977035afdcf96c2dee9d3a2d5343d3c61af9de6ec9b9a4ca8 SHA512 5101dcd96f96f7f643001a03db4a7cb149568a689683c4faf13e82d948364b19fd0fff4bfbbd7efcab88392a5c0d51e0826ca8117b76032dc351f25694391b89 WHIRLPOOL e53a9d7ce1cc54b8403e081a03a84c2eeb49a89f41fde933dc8170e8b32ddb7127ac2989afcc0ba17e4891f4bae44a3735eabd1f9f87ef468d31b3126e7804b5
+AUX amyedit-1.0-keyfile.patch 2123 SHA256 aef655d331cca213d85f6f939b70604511d7b891e33834390d250ed08b9c577a SHA512 1fa4267c81d357294210cd3c1018a788cacc3e407cde8b566a9f3ff9bbfc69c54fa9cc80f4f21e377279f7c4886b39c6a53c9329ac28a85723f5c8fbe03b0cd1 WHIRLPOOL 46f531e75c60bf79f3bf1fed36adc50e5e07307d755b107460db0d6f3e4c763f5bc6b45a3ea768932663db0495db67c5fba75dd02df8421ecc23e68662454c27
+AUX amyedit-1.0-signal.patch 3142 SHA256 34123b5d142f9141f49cd05fa0c31cf631d6d83fe5ad1d343ecd356aedbd83a6 SHA512 b288592a941af8e7be3897f88dd51911560bb60e702a0a846eeca77b2d116b393e2a5bab278c2264a555e6b273a38ab972050db842d37fa958e3fc78e09d5b5c WHIRLPOOL 93fb71e122936e5f9f8d8057e3df5f821b265043638cd0223d2d2a81bfe463b10e596bd9eabf27aa238604dbd87e0532ae8385f30e5711003f9ca652328d085a
+AUX amyedit-1.0-sourceviewmm2.patch 12144 SHA256 9eaa72f825def4574c5a0639ed30fba86fcfd8b315f76e341964a01133ff047c SHA512 4c17617635765050edb64676f61a9d801747a50b38b66d4bb2dcf528e6ba10e4375c72008b6f84d620d2ffabe647dec33a51fa1c950be1179456df4eb0db1070 WHIRLPOOL 96e69270092514f1cda54cb37fb4e9b98695ec27b40cd956f53bbcc4a1db32313b05be14f23b5a67ca799467030e6f1342321da38bc1c057624fc4fda2182c6a
+DIST amyedit-1.0.tar.bz2 297769 SHA256 9aa88340266827bd83715d495b7e1f2c1ca7100ff9f7586877c1b4d3ec67f228 SHA512 dce101c5d356cd194703798002c29772b7b7339a97f683ba7459e983988f26722f800a2c36a0c36bdea70a35c8398bc55b5215b4c30779ca22b5f25bbfedbe09 WHIRLPOOL 1e92efb17c834e37f0400e97910d06470fd363ab8301d3bc11d30d3168ee740dfe87612e17856dc0ffb8e4b47d0761ea2f5225c5a1f40684d78f487c87279724
+EBUILD amyedit-1.0-r2.ebuild 861 SHA256 998be03331a324140bfcbc0ae7fd97c01997b4f25ffc6a234fd580f2955e37b2 SHA512 6436e72583bc912ce254b6a3b00086974be68391f3e5c0b015357578b91412b7e2b89b532811969f0b7e304fe6327f24400243eb544df57c044e2625d01d494a WHIRLPOOL 86752493cccfdba24ea544bb669feb42772a7708cb011b3cff28d06ff0bfde5f8e1bb130bcb7ba5d99638f8bea8ccdc94c9162a7ca70fc78f2772b9c3312556f
+MISC ChangeLog 2724 SHA256 e94b56fb2993f303a3434e6ed4e83b94d18c0d821c2e8e22c3916b6b16cf38cc SHA512 b774adc47fc11e59e6af709450fc953ba8f373553448e271deb63832667c1c02388ed53f56d4980eb22464c107a5bc575edb4ae1ca0d61e421225807d9460eae WHIRLPOOL 11d7816fea6ff7ca2c3d320a88947fd9e4a0166edba9713c348d7d3e6a7064e47fb2691f1f4a2dae9c05a576e3423f87bd8382a76da7904ec2031a1757d01677
+MISC ChangeLog-2015 4049 SHA256 2fccb24eb778f0ebadc1330f61501686a263b80d96c49bae8517a900e6897d22 SHA512 d77c4c2f7331de393dc7c9275d6f9209ef57de766fbb03a522bf7ee90e88330815d335b187959ae636e90eed0ea993b15b1b6d0a02c453ba8ee3e78a2ca4723d WHIRLPOOL 046a96b1adbaa0976d874ff1548e4d8b0f861a29179d504761a9799dffb91597ab76d3523f223527c86b352b88a5c129d35c557bf34b2e675680ad1a97d95638
+MISC metadata.xml 336 SHA256 8f981ce72bfaf96a85c14118bc5d6adbecbba0b547d5398d8a85c3186bd44b21 SHA512 93c12ff67fc6038a20615e27eaa2df0d9c02d4a9d15fa92e26ba4158872d60d9876e7caa3b0e970d90e86f5985f7f890f926ec6fc4420f06d53efec27db8e85e WHIRLPOOL 5141f2b3077d50fb1ef38c45afc946edb078e8a085658766b4da5ace18d60508851bf06e1ebd0b64e966151c32da365194f75f66a4a4453ffe682108d8edc4d7
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..91c331ece325
--- /dev/null
+++ b/app-editors/amyedit/amyedit-1.0-r2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils flag-o-matic
+
+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
+ append-cxxflags -std=c++11
+ mv configure.in configure.ac || die
+ eautoreconf
+}
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..130606723adb
--- /dev/null
+++ b/app-editors/amyedit/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 type="project">
+ <email>tex@gentoo.org</email>
+ <name>Gentoo TeX Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">amyedit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/atom/Manifest b/app-editors/atom/Manifest
new file mode 100644
index 000000000000..c27bf64cf8fa
--- /dev/null
+++ b/app-editors/atom/Manifest
@@ -0,0 +1,68 @@
+AUX apm-python.patch 388 SHA256 c43a64592954b476cd38fdc3ab24a1e5b7a76993be5b3abde8d3a4078b592c5d SHA512 5d280b2a37c8f1b03156627c1622d0a5c76edda7523353b7b60e6ba563f090e6472eae318689bd964cc98503a963aa591d3ed37929f1df36f81ab893ad437f21 WHIRLPOOL bdbbf460009698eea913d813c961adb790e1b6d470f4119d90616c2a3885bea82dcb79fa43515117cd18768681bbfbb1a8d988f9330e5d53308eaa65e8b1ac80
+AUX atom-1.13-apm-path.patch 549 SHA256 44550739a0ded936ab4af2d38d237602b6687c47d4e5c234e2afcc96e422f852 SHA512 050072d0a9db19c44a7a4c3fdbbe2aa5e558ea133176815c5ef796b1d532b1691dc1b3cf9ca5abc119653de380d3636d963da37bb8652ed560b052c1802a5a44 WHIRLPOOL b905517388e4208cc2d4f425cbb31a5977f511d7869d0c5c1f6dec7e2ee101908d125e00bbbab96e2dc1a0720cd24648182f3a9aa471181e5fc40d513bb80d82
+AUX atom-apm-path-r1.patch 522 SHA256 c4c9c6be2c00ff0d70471814b051f2766a46a856903a7c1eace14655f6c67327 SHA512 48a1d40cded6c4c2875c03867d98819e27da1af6f9ad171836598d3f7a687eaf47a1621397f186c8ebc122db77b24432b68902445d5ff9e641158d5096fa7892 WHIRLPOOL 67379ec8aadb33c53cdb28b70dfcc68ad044434c129dc13fc08efee12cff7d520e0714cf9f05e4a3bd706e5abd22c5a1bdd1eb596ad98c730c4b2a155e5e521d
+AUX atom-apm-path-r2.patch 537 SHA256 ce3f4ba3d203e0440ea95241527f58e1f7fe54061b2a233b7ecbc311090d7f11 SHA512 1172c72c94d25538d63e04202f273b87f794431847d9b1138d4eb43d4578d47ca1ecf2636170a8648eef2afaf01a35114752ebecad2b9cd8c7d4ae04dcbc741d WHIRLPOOL dc41d9d0b404d88a342f179cd16a85854d52c67eb94ed6153a02c6aa463e6c6f2e5a005642dcd136de6b088851c8742355c7e1cdd5f9036f71b72af17854c396
+AUX atom-apm-path.patch 441 SHA256 d8d8f973ede9e5d2d543969ccdf51d5195a8f05084ba802130d963c4ad155d9e SHA512 6cb559afa18586ed2dc00cf296e835e9611cbf0c29965b32132532282a47c94baa5e6066b1c6cfe4ad89fd1eb98abf2e4dc2439bfd7fdd3aed0836f411666484 WHIRLPOOL 7948f35f529cb17bc6193b5f72d534caeb36fa76ee2a3f93eb6b703ea1eb38443df75a797cb2d9cfca69de6aac5969a9a9afc5495f19cadf66477c4bc17665a4
+AUX atom-fix-app-restart-r1.patch 402 SHA256 b5054435a7657ceeb02e57fc1c1db35b69532091cc37121d44b5cf385ea53016 SHA512 6218175e2513f7afdbd6ed4875037929e375fdfd84683f84430e387bb8302aaf472845d74d46f75a79409b867a79b29f06ecfaea4a95ff48d229d080dc74f68f WHIRLPOOL 5604bf1bd9abd695098638c73752acd873da14f09d2d3a170649aa7a47afdd06613de191157048767a4af6c62348d28cf086d092e0c0cdef4d2511eb99125b0c
+AUX atom-fix-app-restart.patch 422 SHA256 fa12269160e78f293f8b74997990853e84444299e0bc33bd0b816ab33669b758 SHA512 2222c7aaeec01394286adc34337ab7f38e29e3b956e4c85dafe97654c85c0d68bb8bcf8b0e198faf2ed6329eb8236f7d16359888a439fd0c110f31b3a81cb7e9 WHIRLPOOL b4394b3ed1ed8b8e338cc0722ab5132174adf80dc6f0f4d67bc29376842763258e8936704d6954fc3e828caa6062689489592f392745de9ed5bcaace1f798ae2
+AUX atom-license-path-r1.patch 719 SHA256 6417fff5f48b9cb164e072d4052b8863211179a68f93fe08a04eacee3414f66b SHA512 2909f47f37d065afe5ef4fd86b8b1c01a1a4d4f9f03e7c762cfdb0f97b53ebec2eaa803b34273bf3401c5a0e1faf03ef10c3caf6f96000d1786883cd08d7b964 WHIRLPOOL f88d1419d125d3cd121ec28e04f1ba62d7557c2ecdfa5e3f90519f04ca349e31b486bde98c291a2a048072b1a3ef67631e14004bf0a854e832675d67f9d1a677
+AUX atom-license-path.patch 739 SHA256 7180fd2b624f98157c6999dc259a637e1ab5bda9d7767e3e4406d1e574707e27 SHA512 42ea90bc11af092c9b7b0a7150e253177ff1ffd7c68d9f343255bfd4c7da7b80d76a4eab5af9cdafd8f8916d5eeb7286c5c1b7a986d92d38be25a7232fa8c19c WHIRLPOOL c8327ba4eeaeaa829b5e8e40eb6e3f3b3ce387be70c1b295a21222613250745496399e56f94a3178d8bd7bc32c6bf6153574f68bf82ac70a2709d05ada248f25
+AUX atom-marker-layer-r1.patch 418 SHA256 beb87dd7c64ef79e6a2e1f49a96aac8f6b17fb7a270f5aa7ae4610a024ecb534 SHA512 c8bd34e4747626642a57596ef36c4ddbaee36273a213aa4439d0c64557084c7c5bdb25735ffc3c118533ce43dbf2ad638258c29b52a58a28e417163279ada925 WHIRLPOOL ab0ab5583008e7361665d894eb25e8acb9a3ad7b0eabcc0dc52c8d61b87f21a87fc660a52c0df904f59cb0df44c3b3627ce8d2ff49fdff26852e319120793f0d
+AUX atom-marker-layer.patch 438 SHA256 1951997d3d9f092f6029b420b8636feba4a61dc0c95eaf4305d8da8f716ae42d SHA512 360deb58fbfc0ab4659ed3ebefa6019f72b40b9b6e0abdad7a9b071f0d2be2da1d770542aa886b09a79670b218cd10282f74b21dc2614d564e41310c4a2439cc WHIRLPOOL a9e8c80d1931c8b6cdcedc0d5c6c0b6fcb465d8e37d8b146673cf27666a2c305fe2b7135063aad3cc9651a4ca4845ca37ef7ce0d80e2314f3a2ea9be4eed5d6d
+AUX atom-python.patch 168 SHA256 005a2c0e8a06aa50e2cfb4b1b2a33f6278ad28bf5584f76d6330b1aaf0c32975 SHA512 813e79528fd2e814d8e4c5d54cf4d59d2eb7f82683669b787604c713a165b8ea952fe31012c8cf0a208d3ecdb8fa7fdd70c9abd1090aeae549f9aaeb713be5ee WHIRLPOOL 2f8c4f9f99c6c4571f10866272e23f8bc35bb3d2e02e0a5f779c002c6feac10e048437aba0149fd238a401b5d9f23b27371f6c59e4d7e23be2860ba569ca7bc8
+AUX atom-unbundle-electron-r1.patch 1531 SHA256 f777006e0ba3b220ebc74278b54002153766d4b6812d360c274cd374b0dcb4bc SHA512 40f3f39720cd801f28d1d9e8e202d51848e7f5667f85c543caca623ad33b088b49cf6d5383dcd940448d4247991aaf1a33e868364830f000619856e39b4ec443 WHIRLPOOL 71c42e32bf9326302c17e523d43286fa670ae3fedca303e2c40b242629a67aa79f7853d56ac9c7a1ea40d0f0e3887810c7a84c5587f9a6ece716304348134dab
+AUX atom-unbundle-electron.patch 1516 SHA256 a2c343248eabf681762f2cd7cdd982e9cb6b927508d84f97171872ba832d76ba SHA512 96cf2dabd26e3a81294f1c1a362893026756e2ef3c9f08f82b5c7e07b1d5469df2899e4af45aa200fbc77ddb56aed84e15ca5065c2a693f2d2b04a675471c945 WHIRLPOOL f7fe73806bb3070a24c5518c856da8fb77b8b56e169130b1c3e80571988754af87b16c257e16883bc9bb7d46064fbcafb0d184d71ae131d126c553cbc3c9c9ea
+AUX gyp-unbundle.py 3933 SHA256 7f0ed65a9a5f72cc8c03de207fd5addf94bbebca2298fac350bb21ba19612a6c SHA512 5de7aab9b2fcf135fac5429a2655acfb53ed40871ca51281be237393b0318b06339d20af196275bc48acac456eac61e884821da7abeefb9991bf2502d2835cfe WHIRLPOOL 21e464c856ce693a9703f3b1c338fa9da85da08eee207e759b01739afa2f0df8085f46d68a62004fea82c91945ddd0d085db14f1f58b501960b432159c5f2b95
+AUX transpile-coffee-script.js 589 SHA256 8a9da56585800b10e81f59d9cc332b9e8f719bde31e095d26ec43e8562a7e7c9 SHA512 383772d0a8df6ab3f4950dcda87eb21222d71463007e15cf54c768aedcdd06d4791bf92660c042542aaf2c6fe283ff33f8e6c60488907bd309c450712bb94496 WHIRLPOOL 254601b055daf26a050e4b1f016dc82c0cab406e8aa0122cc1b619edeef80d3faa87dc928504e09e59dcf0cb6bee93127c33ee1bb80bb0b84e4cae02392cd64f
+DIST asar-0.12.1.tar.gz 1016626 SHA256 731714f0036318fe0878b517391a01977954bb088d4dbc7dd98682ff1e03c0e7 SHA512 fc64be9b11215426d405f7acd7adf6c0eead3135b0012baf6d168a13c77675058a4e2c60682928ac014e4bef4538d452ad745d1e87dd315387997a19e04718a7 WHIRLPOOL d73b8bb459724bb3b011de312171519c1f1954a94ce1bb0a20eb9877c168baa82a15786d3ab420d5b3d32ce8a11333e85f844b43c21cbd56c3b019e73774388e
+DIST asar-0.13.0.tar.gz 1622264 SHA256 f22b508d724c420e6aac3fa863cb03a6f668e841fd36486e6098fcce566415de SHA512 619b59e9576a185905b455b780630188ce32aed72b424c69967a7bf15236d1edf2f5d92f7dde972599679c88fe0a80f05295a3d82b2ae0944be08d332a659aee WHIRLPOOL 9d8fdb1f9c92eeb7d185583d2dcf9b2bf1b52a4feb158b4a676a16836c2402f80a80d133a24306ae4bf87216a345672e6a71a272bb30c0635fc46bf2bae1a7ad
+DIST atom-1.15.0.rpm 86561729 SHA256 935b444d9122f46d3ab490611476498c963de1232f9c732d9ad33f0e380a37be SHA512 e8f5ceaae020f9fbf8cb1ffbef0f64b7b5d23a0be20d063591e3ba3b9fd33c771a028aca9aa0ecad254e250342d40106dac85bf6bdeff4de64da0b57fe6de3ea WHIRLPOOL 4d4311654b8afaa4aa2d07611960d24775aeb825e97ea65e6f69d72790d4c160e8a371432346f1873a71b2e1bf4158f3eb5d35fc1fd882906765f3ea4328e526
+DIST atom-1.16.0.rpm 90249819 SHA256 6305f149f7b85e498e56d92fe0927ca81fd4cce62153f266fcd8f39958a59e69 SHA512 e3e9096caf6d5ca802ad47e434a6e8a51c0ab25b967747621e2ea4eb440d5401df3b7cd3d101d6d5a1f2f12fa77525e7e54e252438ff24ec9b651601bb7f4d97 WHIRLPOOL b294fa728388a2b10000a85c02d7548e077e34c5db83ddea1d2b5d6bdebd4c72db906ccc856fd766e3f2f3900ad5f02de3c4bd22e273683c92e4f0dd027fa6f3
+DIST atom-1.18.0.rpm 128551353 SHA256 08609b26776ee12effd47ff87a2eb44f7ba9000a0e28b8022ca0bace0216e8d8 SHA512 c30df4b3c10e2e886c349a8c255ea6e9e308b38811f02b2517ba464959a873d159b5fa4fe89d68ed50500038b92219cb061d9dee0917b0b807e086cceec2803b WHIRLPOOL 3a1607be3155ac614b403df94f8974a675a646e777e4cc7ce351b975e17a9e6708676f8c6772d35f90f9240757a0fbeb1e1fa1a304c3f08728041440e59b7192
+DIST atom-1.20.1.tar.gz 9358859 SHA256 0577ff9df069f8c290fb73b387ea88f8af1fae8b4a40c5ad7cf97af824584b11 SHA512 a7f9edcfc84b81d768a92af5967a6889f85155c46a623b33e51999706e22f411ce570f42777fb3015174611ef19a956d8ed336ab1172612b27d75de8ef9c96fa WHIRLPOOL 467169cd0e26d9738f25e974ac188b00e80d1bc5c525d17b1b0c221bf5826c2258267fd1723ff26fb827f6f9f268a34b6d25f6278adbd2bd628dd5dad03296a1
+DIST atom-1.21.0.tar.gz 9378180 SHA256 8600efc85e1c38c5d8c5571428eac37689fc8c1900192930cbae05d0056abcac SHA512 98afc286afc5ad46a28c3db7bfb7857c15a87711dae6b07046cd1aae5c7c2a30be847aec9eb779fdceaeb7e4f86f54ffd1262d6f0ba2d5a6c1b7d4ce5b8d2104 WHIRLPOOL 8876d974b1a22ccb20d8b660a451f7293f801d060c5835fe9d8bf74f96c1cbd4716d8ac054a8c858c3530fc547c0275cd9f17f085c0d52e76d5f7475a1eaf4b2
+DIST atom-bin-1.20.1.rpm 134506625 SHA256 20a0a1e398a1eace09f298231b7169bdb73c345c6ccb784a2929bc9df5996b17 SHA512 7bf8c4b092e0b45d56c5414d088633ae016b5564a7a97e1d706ad46743b6aad43a7268b7ade881680fa5f005eed0f46ba1523909a09cf3ec0aa51ce2335b8d92 WHIRLPOOL 263c888e9ba4c103a0fb859c210d1c49cc8a956dc50ae6dd6da0322c8e908b6741f6ff931f68f60800fce90fb5133494d7ffdb7455b74ea6cae6e32af022f0e9
+DIST atom-bin-1.21.0.rpm 131039632 SHA256 ba7cf7c68944a3b756e24dbd4cbf79f8b992612033ac63335dac5a529f9e9808 SHA512 8425b8d8741632e9fcc28127c8f2cbe5901c8a4a3b2a8a1cb5d4b1410374a841241e90939952db749334c829ac541925b3785a787c60adf32cfdfa5abc2e3b8a WHIRLPOOL b5be7c89db6fc8a814a9d209190433a9a93bddc6be8f5a6af895bea630ba52ce75bb892b49ffab1c1aa77513eb8a3e26921b1edec7207ece9f5fb1535f472c07
+DIST atom-cached-run-in-this-context-0.4.1.tar.gz 3855 SHA256 5487e7641d5031e652deeef8bebe2d3af4e4d2b89989dd8700bf14e33843ce89 SHA512 dca2a6c77bb94e704aa99b405ae017bf0c56ce536a7246a8feaf133722556d444fb684cd6b9b475abcd0b946a42073a9fc0d61f5141b564320ac023ab2fbf79d WHIRLPOOL 573d0f703989f31109854f0eb324d6b1364e93cd057c4cfe20409415dee3101964cacabc246d4df43124dad881d8fec8575c6bbb23ba98698e6c73cf3c5614d4
+DIST atom-git-utils-4.1.2.tar.gz 36492 SHA256 fd627647742359946d3b8f88bc91dd4d68a047dcba5bfafbd690e1a20afeb908 SHA512 d1f0a5bbd6b059131ccf4ab92174d80caddbb254ea6d0676a5ce71d7dba55d60c86ed1c412862b9d104a5f6deb2671facad84841f9644afb9b37416b743e917a WHIRLPOOL 4ee4620b0208a30f848167fffce05c5999d38bf5a3e50567e6bcf295fdafc7861e870346cfeb28a61392e7a737e100f90ae1dbd25066469926e3148006e02937
+DIST atom-git-utils-5.0.0.tar.gz 36545 SHA256 a79e4951de6ac0a81f2ea359f82c575f826a4409f91b90a11f75a85c7886bec9 SHA512 42fd7589ca56049b1ad5cf7f2df7e295fc8575f4eee8a562fa103541157bd487c1748e3d6c536237b260dcbb4b530619dfcc121ba84b6d2fbf6d684dc959f819 WHIRLPOOL 03ae2290fc1ef0863c643a1fd4f9d4c98bc9b2939fddf6fd366eea9122b9d5612f53ad7ea6eb57c020eb376fa623253082da4c26f67d8de1bb59189b64f9d60b
+DIST atom-keyboard-layout-2.0.11.tar.gz 19294 SHA256 fcef31c36619b76dd5f13a53c40eb9d3a7206a85cac3cd9dd0ba8e89d128258e SHA512 e7cbf3e8686ce6a86549d913523db75af623d4c5a18104f911b7f3931c273b87b4695b9b85afaea9a5cb440201b34d9e7445786c9328b87a5b58176cf2dbb877 WHIRLPOOL 85f06e125fca0e4e4c8a50fba539d674a0aadd1fba0c75b2be5663503c97bc8b6a6c75ee6b9916df5e598f3cc2a18f84e8392f1fb1145113d36d5216c0a2e5af
+DIST atom-keyboard-layout-2.0.12.tar.gz 19605 SHA256 4650855999cdf8bc1a3ed600210ac7a8a52f582dea13276e120f0b96d183fedd SHA512 ad6c3f9289ec015406fb85fde5e6dd5111b0fad70ec311df2d26dec257bfff674e65ff0827025b1394f3773ddf6957deb67fa5dba647d3bc5485b928b2cf966b WHIRLPOOL 9ba51082da4466a7e76339e12f4ebe53782b22f41cecc3886c00bff24ddbb27f0f7e5ff92dcb8ae3de40081bd8fe43fdcf76da6c996dba5fb65942c0d89ad26c
+DIST atom-node-ctags-3.0.0.tar.gz 15062 SHA256 40605012d06d4dcbfc369862b57900b6963613e2e4ee3b37fea21693b2b418a7 SHA512 6f7277a0ff872991c365f811c635fd881c3e466c20219d8a7bdaf6fec7c26c5feaa7ae2118691a8d52ceb3ecfda6d795bf39dfda7f8df5a6d02388575a010f87 WHIRLPOOL 2cff81d2ca405a615e5c7d284785f129f8fcd968998c68a42af1ca2e6d76a6fcb404a92f3c0d20220567b28593448b91657db6df8bce19de1f2eedbfe2959140
+DIST atom-node-keytar-3.0.2.tar.gz 5718 SHA256 16af03d2a7876e3008f82d35e913753384655bc181e93cb771639b6d5a2439bf SHA512 f08ec6e50071e6e8995244607144009eaa8fd61a1724c80c40ccfb497e2b4682b30d6a091de9480b78f49ceb11f1a655e12ccb6b43d3df34f7e089585381697a WHIRLPOOL 69b10619531bedb839c61c1b29d18d1a0bf4e468ed05ebd58db349010b8de555673f45bdf98c4ad252aaa960b47faa00d952470e9b3545a0e1e189bbb3e49ded
+DIST atom-node-nslog-3.0.0.tar.gz 2774 SHA256 6f2c7b79dd27688829d72dcbb94cc3da8b86fe74f355e1d407907cc56da29747 SHA512 1891632486acfa014eec79f70b14d56d967670310e46dedccfc9dfa505581365765f6bd42ad538b29e74d7c7de83d045b4199dd634fc588734a1ee086dcddb0a WHIRLPOOL d29f2c68e6168ce020c2a73d73f107ffb4c777e006fba4f01a93045ad631fb2d8b83f989244caf4d5e2f66474e660f3479d79a03e82a6b8fa8a297586ee6e556
+DIST atom-node-oniguruma-6.1.0.tar.gz 661394 SHA256 dab5322efac0cbe2c646559f130a2832be24e7caf8becabeedaf66842b72b289 SHA512 6443881353b61ad59d29cab6628f07d488e54df7b5a04ddffe4de11329e928b2a9cfc7582e22e0a90b6a3c6bf0e37873d8a5e34036cee5f7187ed4ae11fd6507 WHIRLPOOL 9c67fc6800e3d2b15160faa763539aefa2a40584697619b46098bd0f1c2820904ca6cae638e442c102c09616f62817c0df11f9c2da11d65c7dc9c98d04f668a4
+DIST atom-node-oniguruma-6.2.1.tar.gz 662040 SHA256 84751f3da5672e4a89ef11eab2d8be36a521297c2ee77357a1da7cda82430491 SHA512 5a7d601f58957eb2cca879bf1dccd32ba6be3d6728ceb7926ee9944e23d981d5a8e70a3cbc1ecb7a99f130760d0c8513539a00bbae731b49ab9cef18aec2e6cb WHIRLPOOL 4c4ae7c67254be68b1965d6abdaa15b234ea4eaf619982cb5834d62f0d17c48c8e38be72e7cc4ce8352d8778b5f60003ee5b259d2321a8ad34d371d9ce1c3df3
+DIST atom-node-pathwatcher-6.8.0.tar.gz 24627 SHA256 a714ed58e709f72a8f687d697d68332c5a2c4d0019e3cdc09886e5ff85bd493f SHA512 ccb4d1270ba91cf31c5725e985b7bf224a8878fbeeb5fd2e78e22de7e25d382fc5b1c9e05ce1f2c23968d4ca3018e1db611c9485dbbd6eca2169228fb0a136e9 WHIRLPOOL b7080b82d6b8564aa84040c2f1d2fa4546a0dd073f7f78fb5503dc36dec4316fe4750c38757397a8c4782680ec9e0458ad4428368279990f3ba23f3f929b8459
+DIST atom-node-pathwatcher-6.9.0.tar.gz 24821 SHA256 25c10c4a4a68a6ec17f3830c909faaac5f68ab418065f1035d81129ad1fb19ba SHA512 fc2842a6ee75981590b445c4f51ce3f44baabee879377397d5bd4092964c21e726be44b94ffd751bd496d66963fb71ff59fbdf9f9fc9c3f7cd83af1fd5d65fb6 WHIRLPOOL 8c0f7e7291bf4f9f8f89845fcde6ac437fd108fae5052efcd217da8ee2171b757f35c66e4082971eac9ae4c7e17fcb5220a585729faade15f498484510f07837
+DIST atom-node-pathwatcher-7.0.0.tar.gz 24822 SHA256 332f826f2cd77a34e1d1bde261f647d4cf8486796d6d9541eab473973b2ea88c SHA512 c6d72809b7f07d31f8d1624d6aa7565d8db6f4844febbedee9cca16cfb258bf3f55eefbd9247a0ab3f732d5e7433616e25d9adf5692f382ce3129b0963228bde WHIRLPOOL 17af594b74369f1a9862d9c27339c05e64dc99fcc76b4e8419a1827e84c1e13272771dea70a7d9d304a7009bcf20a71f75ae6a931ca2fdf8e966661c4ef56dce
+DIST atom-node-runas-3.1.1.tar.gz 6628 SHA256 9d7d5a157b16fdd7263f50adb2831706d6fcf0902a1af528fc2602db6f9dc1cf SHA512 bada6e99ceb833c8c6e74f4b3116c49f21b54b922c1a27668312552779b9e5ccebf380b41c781d49c1c0dd0fdff6de8b71a0dcaf1f992892593e85f4572238df WHIRLPOOL d286d76f38ee8a23b4b76a9070913abe901f4db273073d9c0dcef13004abe7e10e9b4cad451cfe8d0cd4cc1e0ac2ab28ed50f327c1b9d317689153658f7b8944
+DIST atom-node-spellchecker-3.2.3.tar.gz 481966 SHA256 bf4a07b4c671cd38b176ff8ef375f3cdf277decb941a0a279f8ffb36151fad55 SHA512 b0209fdfcbee53d289443e1c203a720888a82fa59648b4038c036c6afe68a6b04624e23267e69c36f23c185160d6ab84b1e4020047fbe6d94354e99d717a60b9 WHIRLPOOL d883cd3d3962e38ebe4c55e997ce461fa0b0da98e8b982793b77342eac1413e16090d562a9a50cb8200a18eda751a873528fdfde3b1f1928629bd56c5568f887
+DIST atom-nsfw-1.0.15.tar.gz 45222 SHA256 6dc20bcf6eafcd0d1c2293841d2f2da7216c454b5ba4044cf10cb84c74376c3f SHA512 dc2337caf6f82f0cd205af4bf92bf7d28b8eae091f8bbfb41f4ce6a4fe20d8ea4c793d1c51684a34bee2d264c420904db73992dad78eb6d6e584909c28a17746 WHIRLPOOL e14e1d1369bab285fc6d584ba062669784a0ab80ca5885e46a59f2a93354733b069905e7f3d04c8ad2303db5f13e4bc7123ee3441b6159619e34b1474d4b7d89
+DIST atom-scrollbar-style-3.2.0.tar.gz 4609 SHA256 ea0f8f00cac609537af0d10d228054371c58b5a74785bd52fbbd276af02911ef SHA512 fc3ddfe7582517df45d7258a5857ca05fbadb92417d68b0c77d1e89e54b3bdaef3a1624e29177ebe64a2a994e62e1d1f5cb438911e881124aeec359426fab1bc WHIRLPOOL f6e75aafa8946ccc16949bdffa33b2bf050f06434a3fedcf8e1abac8b6b2d31dd37fcc137a43274d4c55d5926349486fda157d3fb6948d97063aac33b99e6578
+DIST atom-superstring-1.1.0.tar.gz 259961 SHA256 fcfc7f94bc3631fda8b08b2b91778f8a62e863b346a2f90b66f9af9f4f3f8cbb SHA512 880c97d696036065aeb4320dc71c88b49b22b04e6582c75310131e61d8067fdf3d26c901d7b22a2bfd2a2a2056f350ba9485b7e55410cdee9ef29f5a75a8af59 WHIRLPOOL 6f857ea91c8df678c592232816ec3c251355cb7af4f1f6dbf0f16c44aa1a978c66c0ce8225d176e7b253addb1e38795a3902a8dd302dd72db1f35e4c18cd3236
+DIST atom-superstring-1.2.1.tar.gz 264386 SHA256 9d899c2dd497f25f9d629d4d8c4df9e1f7af21e8958a0e1458fc505b1c6ea8ca SHA512 8641f44defb9248c4fd91c4c7d5117322f83613386693ab51c3e77c9ad95ae383f69e662b6a870196504d7d99cd23527a822e989babdd95f42b6ddf517df7afc WHIRLPOOL 6a363569c737c2960140182cf7d5b77d551a2b463d096de4d32c64ee217dab733b30cb111521035bbb68bc510afa9532bc91af6037e4c9f11ae67672ed424deb
+DIST atomdep-cached-run-in-this-context-0.4.1.tar.gz 2388 SHA256 2bff3d01e95c3458ab0d1f2b22a61c0f8c675a0ef05f4936f51545dbd9095345 SHA512 942db40139b0beda616a25628772e515ce92ceca3e9a5288b10920e68c35149c52677a975e6e30f278ec64f06ae341fa1fa00702b339b2fb8f7af1cf9685efe5 WHIRLPOOL e7f7c4fe6cb642afcee2c71926cd813304071b0feff71c06e227bfb143f18438a49062a39068b7551938d8ebd8977bcf93ef98d187ea12cbe4afcde503aa9b14
+DIST atomdep-ctags-3.0.0.tar.gz 12864 SHA256 873139ccaf0b58567e1e6a8d99e934f637cb7ac6287fcc873678bb170bfdaf0b SHA512 af1d3764cc3a6bb781a9a2357eeb8503886fc14481c3dbe4a899d3c672fea9325524aed3a4c1c87965bc4cce2fbae20b56b32690849afc1fcb751cd5462adbcc WHIRLPOOL f00065a1ae36a73ea92f3175780e672ebfba2d69d17b00605ea0140fb16d7c451dddc2df757504231a0fd3d59f2524a8f06a3f121d2a29190e11b01dd4c9cd28
+DIST atomdep-fs-admin-0.1.6.tar.gz 5539 SHA256 976e7ea028d2a1166596119d434302c046869a722edd6e9808421ad11a6b4916 SHA512 2474523d5441ad882000633a929bcdbc5771b859a80f16a69c15504ff240a59b558e2edb1ca6e12ce91ad58da935243f3950a16e664529c59da70b9912903ae7 WHIRLPOOL 429a5b8bd5b8ae36ab4431e21c165b097931e6fad2ef3c13192bde67725b38e28f017e847b6e1f1931a8a101c76c6e2885bd9f07d19e9145a3b0c1cfe5eab280
+DIST atomdep-git-utils-5.0.0.tar.gz 4147470 SHA256 66934cbc288859028a1ab19bbb88cdba01c74c8bfb4d06bfb14b967762db091a SHA512 ffb2ecf8eb89f7e4cbf51e5953d4e547c4ccf21985a6177cffd5f958433ac7c98d36070ffea82dae65b02bed53c49ba94fc12fb4823e1ef985a350726fe46424 WHIRLPOOL 3b5a4767288a39e20ed419639da555fcd429585cf6a987c9709c8859b158cba5d629ad0bd3839003a13f4c7b9f561c2b6d08926de35f5aa8c7a3767a46854267
+DIST atomdep-keyboard-layout-2.0.13.tar.gz 17881 SHA256 9ef323cb2c333861e7ce834448ed00519eecf06035c03b66208e85727fdffa92 SHA512 5b155cddb0484edb47a334b21183eccabe6b376290b97b4469732541f4231337b526b90bc37d321ff6dc367d481b1e3c6feb5d39dc9ba67abef8914b53615a66 WHIRLPOOL cb5db27b2bac5250a07b73039dd4ace956d53709c206b8a9510def9779b87aa131cc4f414d3eb8279fbcc97850e6da393e4e8618541c608f7f57b3e71ccd6c84
+DIST atomdep-keytar-4.0.4.tar.gz 6550 SHA256 65221a8a44c542befd718374e7fd3fce61dab5cfe13fc57cac0c770ce6ebefc1 SHA512 78544e3646ce0f772a9adae055e137034d4b0e83bb8b95647a4efe239bf4bdf863f05317f4b37b0d2ac89e6a6e0107abd0022ccd7abb4310a39fa1c07982b4d4 WHIRLPOOL 249020aef10bc5be6630efa440449350207ca9893102a37173e82c98ab6110d61063abaa92c046a3dfdf2c57cd2d389cfd473092fae036e21bb16426abdbe5a2
+DIST atomdep-nsfw-1.0.16.tar.gz 43214 SHA256 ec205c8796dfac3d884ee50f6c0a0d1c9f8a365fe08e2abc5e73191e4d938eed SHA512 0060d7fb5016454aaaf7df438d973b9a389a6e5f7a166c5d402cf8ef8bcda724501c3bfbd44e37e9e6c38d5f1decaeb48c571aad9145dec38ba0c94073b9702a WHIRLPOOL ff797a7371c79a6cf67b90d9cd0d91bfa0540058354d305d6f3a8c9d1aeb9cbbcaad36892ab63bc77d5b835e1da608f7652da8169f69382dd8490022006eb2ca
+DIST atomdep-nslog-3.0.0.tar.gz 2270 SHA256 a972eaacf92c14e31ae7bfd24c9be5be9c71e693425305e0aa20121cd00d4e73 SHA512 6a0ce8970ae12fdefd0935916e5501bb89e366fb66b05fffade884f3adf4add4b135eb4f0f208684e28424fdb9858ee8193eb1f3db1f7eac3cb49bdb5d1a4bb1 WHIRLPOOL 0b3d1d40c0cfe892fd4b99f39fc8e308c92ef36eee16db8988782ff2b56b839c90910ada28997cadf5b9797305b408abed46b852eb4ddc6a26a1d38b15a0ff80
+DIST atomdep-oniguruma-6.2.1.tar.gz 586350 SHA256 ace3257ba94772982c8326156f2bda9e0def43185e150274b5b209e5e89f78ac SHA512 faa46dc4c1b8d7e75ab54512de9a823c5b958a7ccb43333375b33e16de47a464ea2a9ba9996596a8359d423a3e8c9d63cc92a5162b3f9d44b4485304073b41f1 WHIRLPOOL e0fdd3e1a9de2565b3bb5c8907e5c804907d0fcf7cdde67f13164178baaacf9e7a375eb8afe3c4113b91eecae3b88bab14f9ee68265acac9463a65678006c175
+DIST atomdep-pathwatcher-8.0.1.tar.gz 18357 SHA256 7da47cef336345ec37c9d22a8cf3cd516938e5bf512b95b25304e9c6edd184ac SHA512 34df8fecf456753f1977517018e5ff78b143f2d36e1417435bfcac2f9b9f8bd045a8080e7d0ad5d2930c63fa110c539911447863c46e757a4bb8f8c4f5bda999 WHIRLPOOL 4fe65035e0d594f3d0d2fae3cc7440a32382450ef09b294cbc5ed0421b1dfedef8101a2df0401553074457d24859404e6893fa5b160eb28051bb87229ce36db6
+DIST atomdep-runas-3.1.1.tar.gz 6197 SHA256 4322d505a2542c04b66da17d8342b08ae6d49173b5c221c8267ce8bb4b4453d2 SHA512 29b01d8a1bd05f7f0ad7cf4472f13d12ff27524d44fc0c2ffcf87c187633ccdd5a2d9ae6af2a771eb8e2432b6a957451ea6a6c68d15aa861c4a29affac711d79 WHIRLPOOL 01b83dd5f769d84e4ecacc0eb62acb9831f9b8fc396ad1e59a650faea1725a439e15c3c7bc73896097a9b0723654aa124bf99a121c50c6b5b2d5a012daa06636
+DIST atomdep-scrollbar-style-3.2.0.tar.gz 3498 SHA256 480ed4ff284fb3a1773d58975a18ac13ef4aa5c71a918acbae6542d078da0e90 SHA512 9f5fcc2bcb13cb81e95a52aa6db0c99ffd67c9cd48a9faf0223587359f4082c3e867cb384497dc6be3e8230b4cd035e910a7048d431e81a28dfded0bc572da18 WHIRLPOOL b39d66672bd5e038638c89ffbd8ee85cd663ebcdd2fc9ca55176ed7289fb7895e5adb384a435e716c5a9f54d5328b62532b14b0455adebff7f3f24f858d991bd
+DIST atomdep-spellchecker-3.4.2.tar.gz 476093 SHA256 e35619e9e8efcaa63ed126e43467e0c127e65b24a822f3d4e1c4ff17f25d0eff SHA512 8ed6fa4251cd79de6e77004ea91a438080df7109ebbe2c92934366c34433388bc30c8b1ebc97a47aa2a9f3eb28ac5ba2ccf3a0de9d6f59b2d3125ff7ff2c06a4 WHIRLPOOL 967b1f542e76d73b72e01656cc71c90c76f32542642de7f3bb5c5e3f06422b32e17fc6aaa4b6c3b3d88abe722937d75e8a48c1503125770aa6bae6478c86ec05
+DIST atomdep-spellchecker-3.4.3.tar.gz 480739 SHA256 ad74c118c1cd5f209946801554e5ede1ffa5332c020e7e50eb4ab5245a403b4f SHA512 cef2aa6adf95772f0d38760adb9a805ad540bfb422647486ccd63db7afcca508eb821b6099d9913912dd1b0881f3b5ccc62d203f2ce6bc47859f36a76c781376 WHIRLPOOL 0f3441f6ef01900d14fd949a2b33f91ef19f0731dd08cbab1969c1adfc24594840698b0606e555a27dcf72fa3565a30aa65342f312c09d532be19bd4665476f4
+DIST atomdep-superstring-2.2.3.tar.gz 785373 SHA256 a2a78064a0272094b312fa74dc04521b2badf776eb7b114f691b05c484fc70f6 SHA512 edb71f4cc54436f563b6491f71e8c6c78aa711d1da821619031062e5e85fd60d66f0bcb6a70184b1fd55f31724d63ed9ba9c872d6d80387710262e404541a355 WHIRLPOOL 86b4cbcf1b4e169f7ee3c3999912ef34224ce52ae909a291ea86e73891b04904dcb7bdf5aa0e3889b3abb30bd40dfcf215ae8f86c05e09eb500aff6de56d9c5e
+DIST nodejs-nan-2.4.0.tar.gz 157071 SHA256 290b4cd678bb0770fcc0dfa8415f908db09173acfdde31135a4e31716c311883 SHA512 e6f3ab3f67c72b3cc9e6e6b9b5de0f73134ef504dedae5e68376198858a6796f00c35869438e0480f28006dd8f6be13dca3bcc436a1a6b28b1dea5cbc72f9e45 WHIRLPOOL 8628452c69c1774e02b8069ee8db12b7b97bc45166dd4dbec3e8d3f532c97f15a24920f2f59ecb3b8d4addcbada33eb04c1f71222531a7377bcbfaf7d4f3d86b
+DIST nodejs-nan-2.6.2.tar.gz 161949 SHA256 c6b046499f6b2e2c09d6650849e429e226ad884c74dbb5ca8eacb1518d453e7f SHA512 d1b5ed12e90accfa117cb73b9432897631ed2dd6045f93fa8b53237a13cec0ec467b14c035e9e4d4a5c6588949c1c80b0eef48a46d5c9c0a1f81ef400da031c3 WHIRLPOOL 77d0dcf7b2f50007f76024235f2670d9154e8dc02be0dc71e99fb6da86b3e4d56b30271d3e3eb81b1a6715a1eb09d73ef8c2dedb4ac9adb51b8672de4c9cb5e2
+EBUILD atom-1.15.0-r1.ebuild 11170 SHA256 dcae3079a5d641316100b7296058063035ada0af2f0eb69e76f82c2e6a7f59e9 SHA512 697a2e56a78cbcb408fd5b695be249ccb08e5836a6d2df541684124f537850c2a502a74135b22b6c9910227a471581d1fcb564c49202ec59e335315403973189 WHIRLPOOL 812b4140f3d1ca86de9627c11834c14674276fb7303b5f0bad6a81bdd18a669839b87c8d20c00792aad15a74d0032446bb97658703227096e7e681e0f05bf4e9
+EBUILD atom-1.16.0.ebuild 11170 SHA256 e2eb7483e0201b0f2203bf29fcd16af1acef36b0326739036158fbe97818afe9 SHA512 f90bb70d4546c829688023724ba35711dee8b51242febd2312ec620c2b523b2facdcf0fa55d6742dd75786560cc334b69a83b42512743e6dccee1944f5918da8 WHIRLPOOL 8fb77f01367e683468df5c96da71041a1e682dd45aaa57c72caa72615aa4a3d1580a9fb695aea6c359d7f5c4db022a045390d5fa5ad1db81f140cb9a77c13476
+EBUILD atom-1.18.0.ebuild 11318 SHA256 9dc9e90580d8c9231028d8b19ac9dd8fbeeb884c876f9a5765e31a5e2f47d612 SHA512 cf1ef3657c5de8f8e69666707f7daa95c3c45a368c75fb547e33df51c9a8307df27bfb1f400772bc98f897d965e02f11508deb5e49fdc88f36dcbcf5cf63b121 WHIRLPOOL fea3fc4baab5d900ad2915d71e034c8a0b71c8d69c232de263728eaa451a49cb6a321ef5fc3ae2953022878c5d62171204b29da6c018f83faa10a944f8c45ded
+EBUILD atom-1.20.1.ebuild 14217 SHA256 4edf6344c8f48dd0ecbd816cf4824a7184604c04ec48670a5883a2fd584914f3 SHA512 9732c1262cc52096f05a0c6c29b3d0b2a55cda3033c42c0ecf4051194a79971896e8b0d58d5a859074747353483b7e5792ded3e4f6de996c2e8934b8b2a274f5 WHIRLPOOL 98a651b72111b019712d473bb9582bb687c295b5ce0f19cdd74f49bd9e9eca11058f9eafbd5c174658ab66da163d6aaaa80c1a8ef58ac6289d7a11418e772c72
+EBUILD atom-1.21.0.ebuild 14421 SHA256 0037ecceb6b649c37b191beea6bccf14fd12bbf889dbac3a528e0d987149c3b5 SHA512 5e02034c99fe1cd38fb04a7a4dca907c80ac07db45567df5a89431f42404af6f0ee3c2707e697d18e0b4bbb4671feb37ce3c6688a347c5f876117f5ec9d7608d WHIRLPOOL 05543af111cec11da2bb512a1c743177fa541871a6f3309faef5650aef4e778257386ed50650b154e88182fe280f43eaae2543f3b463beb5a924e3ca1c597e06
+MISC ChangeLog 6378 SHA256 4209563d54e913f78e83b183a44f11c16c4694ec15e1d3c82ac7933fb733bd9a SHA512 97061aaf0fba96693d4721b8d9d9a2f4794bae5dafea67f3fa4fd5c291c2a84b473d7577289f276e4b036469c4ec7950b0ae07c909cf2f278e86a87006eb3178 WHIRLPOOL d5cd748c24bd461dffe806c88d1c9e6e024a0d4075aa9cc245fac7bfd9eb997fa81fc52b45ff846f9f59568f9940bab82eddcdb688981f48fbd9b2ef02b60865
+MISC metadata.xml 531 SHA256 2bbdc7f8f3c7156409c0d983729dfa5f1a0ae50d9a9d7da02d13db4a97d64cd0 SHA512 ba84d0e101f6d53dbd6abb0e441d426bfd04f890331bd5357c18d7a34eea903897a06d725f45d50d95a645018f5ba6b519be07b7dd1ba6cbcfb30bbf1602ff12 WHIRLPOOL d205af3b8c7b6802f2a31ee4fdf7d688dfc1e7a69b827e06b15a3e80d4017f84b7fbbc28840692cf6cea7c8063ce681fe5fab93fa8160fe97ff7754a7e4eb116
diff --git a/app-editors/atom/atom-1.15.0-r1.ebuild b/app-editors/atom/atom-1.15.0-r1.ebuild
new file mode 100644
index 000000000000..b564d861165b
--- /dev/null
+++ b/app-editors/atom/atom-1.15.0-r1.ebuild
@@ -0,0 +1,405 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-single-r1 multiprocessing rpm
+
+DESCRIPTION="A hackable text editor for the 21st Century"
+HOMEPAGE="https://atom.io"
+MY_PV="${PV//_/-}"
+
+ELECTRON_V=1.3.13
+ELECTRON_SLOT=1.3
+
+# All binary packages depend on this
+NAN_V=2.4.0
+
+# Keep dep versions in sync with atom/package.json
+CACHED_RUN_IN_THIS_CONTEXT_V=0.4.1
+GIT_UTILS_V=4.1.2
+NODE_NSLOG_V=3.0.0
+NODE_ONIGURUMA_V=6.1.0
+NODE_PATHWATCHER_V=6.8.0
+NODE_RUNAS_V=3.1.1
+SCROLLBAR_STYLE_V=3.2.0
+SPELL_CHECK_V=0.70.2
+
+# text-buffer dependencies
+SUPERSTRING_V=1.1.0
+
+# apm dependency
+NODE_KEYTAR_V=3.0.2
+
+# atom-keymap dependency
+KEYBOARD_LAYOUT_V=2.0.11
+
+# symbols-view dependency
+NODE_CTAGS_V=3.0.0
+
+# spell-check dependency
+NODE_SPELLCHECKER_V=3.2.3
+
+ASAR_V=0.12.1
+
+# The x86_64 arch below is irrelevant, as we will rebuild all binary packages.
+SRC_URI="
+ https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/atom.x86_64.rpm -> atom-${MY_PV}.rpm
+ https://github.com/elprans/asar/releases/download/v${ASAR_V}-gentoo/asar-build.tar.gz -> asar-${ASAR_V}.tar.gz
+ https://github.com/nodejs/nan/archive/v${NAN_V}.tar.gz -> nodejs-nan-${NAN_V}.tar.gz
+ https://github.com/atom/cached-run-in-this-context/archive/v${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz -> atom-cached-run-in-this-context-${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz
+ https://github.com/atom/node-ctags/archive/v${NODE_CTAGS_V}.tar.gz -> atom-node-ctags-${NODE_CTAGS_V}.tar.gz
+ https://github.com/atom/git-utils/archive/v${GIT_UTILS_V}.tar.gz -> atom-git-utils-${GIT_UTILS_V}.tar.gz
+ https://github.com/atom/keyboard-layout/archive/v${KEYBOARD_LAYOUT_V}.tar.gz -> atom-keyboard-layout-${KEYBOARD_LAYOUT_V}.tar.gz
+ https://github.com/atom/superstring/archive/v${SUPERSTRING_V}.tar.gz -> atom-superstring-${SUPERSTRING_V}.tar.gz
+ https://github.com/atom/node-keytar/archive/v${NODE_KEYTAR_V}.tar.gz -> atom-node-keytar-${NODE_KEYTAR_V}.tar.gz
+ https://github.com/atom/node-nslog/archive/v${NODE_NSLOG_V}.tar.gz -> atom-node-nslog-${NODE_NSLOG_V}.tar.gz
+ https://github.com/atom/node-oniguruma/archive/v${NODE_ONIGURUMA_V}.tar.gz -> atom-node-oniguruma-${NODE_ONIGURUMA_V}.tar.gz
+ https://github.com/atom/node-pathwatcher/archive/v${NODE_PATHWATCHER_V}.tar.gz -> atom-node-pathwatcher-${NODE_PATHWATCHER_V}.tar.gz
+ https://github.com/atom/node-runas/archive/v${NODE_RUNAS_V}.tar.gz -> atom-node-runas-${NODE_RUNAS_V}.tar.gz
+ https://github.com/atom/scrollbar-style/archive/v${SCROLLBAR_STYLE_V}.tar.gz -> atom-scrollbar-style-${SCROLLBAR_STYLE_V}.tar.gz
+ https://github.com/atom/node-spellchecker/archive/v${NODE_SPELLCHECKER_V}.tar.gz -> atom-node-spellchecker-${NODE_SPELLCHECKER_V}.tar.gz
+"
+
+BINMODS="
+ cached-run-in-this-context
+ node-ctags
+ git-utils
+ keyboard-layout
+ node-nslog
+ node-oniguruma
+ node-pathwatcher
+ node-runas
+ node-keytar
+ scrollbar-style
+ node-spellchecker
+ superstring
+"
+
+RESTRICT="mirror"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ >=app-text/hunspell-1.3.3:=
+ >=dev-libs/libgit2-0.23:=[ssh]
+ >=gnome-base/libgnome-keyring-3.12:=
+ >=dev-libs/oniguruma-5.9.5:=
+ >=dev-util/ctags-5.8
+ >=dev-util/electron-1.3.5:${ELECTRON_SLOT}
+ x11-libs/libxkbfile"
+RDEPEND="
+ ${DEPEND}
+ !sys-apps/apmd
+"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+get_install_suffix() {
+ local c=(${SLOT//\// })
+ local slot=${c[0]}
+ local suffix
+
+ if [[ "${slot}" == "0" ]]; then
+ suffix=""
+ else
+ suffix="-${slot}"
+ fi
+
+ echo -n "${suffix}"
+}
+
+get_install_dir() {
+ echo -n "/usr/$(get_libdir)/atom$(get_install_suffix)"
+}
+
+get_electron_dir() {
+ echo -n "/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
+}
+
+get_electron_nodedir() {
+ echo -n "/usr/include/electron-${ELECTRON_SLOT}/node/"
+}
+
+enode_electron() {
+ "$(get_electron_dir)"/node $@
+}
+
+enodegyp_atom() {
+ local apmpath="/usr/share/atom/resources/app/apm"
+ local nodegyp="${S}/${apmpath}/node_modules/node-gyp/bin/node-gyp.js"
+
+ PATH="$(get_electron_dir):${PATH}" \
+ enode_electron "${nodegyp}" \
+ --nodedir="$(get_electron_nodedir)" $@ || die
+}
+
+easar() {
+ local asar="${WORKDIR}/$(package_dir asar)/node_modules/asar/bin/asar"
+ echo "asar" $@
+ enode_electron "${asar}" $@ || die
+}
+
+package_dir() {
+ local binmod="${1//-/_}"
+ local binmod_v="${binmod^^}_V"
+ echo -n ${1}-${!binmod_v}
+}
+
+_unpack_npm_package() {
+ local a="${1}" basename suffix
+
+ basename=${a%.*}
+ suffix=${basename##*.}
+ if [[ "${suffix}" == "tar" ]]; then
+ basename=${basename%.*}
+ fi
+
+ unpack ${a}
+ mv package "${basename}" || die
+}
+
+_have_patches_for() {
+ local _patches="${1}-*.patch" _find
+ _find=$(find "${FILESDIR}" -maxdepth 1 -name "${_patches}" -print -quit)
+ test -n "$_find"
+}
+
+src_unpack() {
+ local a
+
+ for a in ${A} ; do
+ case ${a} in
+ *.rpm) srcrpm_unpack "${a}" ;;
+ *) unpack "${a}" ;;
+ esac
+ done
+
+ mkdir "${WORKDIR}/atom-${MY_PV}" || die
+ mv "${WORKDIR}/usr" "${WORKDIR}/atom-${MY_PV}" || die
+}
+
+src_prepare() {
+ local install_dir="$(get_install_dir)"
+ local suffix="$(get_install_suffix)"
+ local patch binmod _s nan_s="${WORKDIR}/nan-${NAN_V}"
+
+ cd "${S}/usr/share/atom/resources/app" || die
+ eapply "${FILESDIR}/${PN}-python.patch"
+ eapply "${FILESDIR}/${PN}-unbundle-electron.patch"
+
+ sed -i -e "s|{{NPM_CONFIG_NODEDIR}}|$(get_electron_nodedir)|g" \
+ ./atom.sh \
+ || die
+
+ sed -i -e "s|{{ATOM_PATH}}|$(get_electron_dir)/electron|g" \
+ ./atom.sh \
+ || die
+
+ sed -i -e "s|{{ATOM_RESOURCE_PATH}}|${install_dir}/app.asar|g" \
+ ./atom.sh \
+ || die
+
+ local env="export NPM_CONFIG_NODEDIR=$(get_electron_nodedir)"
+ sed -i -e \
+ "s|\"\$binDir/\$nodeBin\"|${env}\nexec $(get_electron_dir)/node|g" \
+ apm/bin/apm || die
+
+ sed -i -e \
+ "s|^\([[:space:]]*\)node[[:space:]]\+|\1\"$(get_electron_dir)/node\" |g" \
+ apm/node_modules/npm/bin/node-gyp-bin/node-gyp || die
+
+ rm apm/bin/node || die
+
+ sed -i -e "s|/usr/share/atom/atom|/usr/bin/atom|g" \
+ "${S}/usr/share/applications/atom.desktop" || die
+
+ cd "${S}" || die
+
+ for binmod in ${BINMODS}; do
+ _s="${WORKDIR}/$(package_dir ${binmod})"
+ cd "${_s}" || die
+ if _have_patches_for "${binmod}"; then
+ for patch in "${FILESDIR}"/${binmod}-*.patch; do
+ eapply "${patch}"
+ done
+ fi
+ done
+
+ # Unbundle bundled libs from modules
+
+ _s="${WORKDIR}/$(package_dir git-utils)"
+ ${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+ --inplace --unbundle "git;libgit2;git2" \
+ "${_s}/binding.gyp" || die
+
+ _s="${WORKDIR}/$(package_dir node-oniguruma)"
+ ${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+ --inplace --unbundle "onig_scanner;oniguruma;onig" \
+ "${_s}/binding.gyp" || die
+
+ _s="${WORKDIR}/$(package_dir node-spellchecker)"
+ ${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+ --inplace --unbundle "spellchecker;hunspell;hunspell" \
+ "${_s}/binding.gyp" || die
+
+ for binmod in ${BINMODS}; do
+ _s="${WORKDIR}/$(package_dir ${binmod})"
+ mkdir -p "${_s}/node_modules" || die
+ ln -s "${nan_s}" "${_s}/node_modules/nan" || die
+ done
+
+ # Unpack app.asar
+ easar extract "${S}/usr/share/atom/resources/app.asar" "${S}/build/app"
+
+ cd "${S}" || die
+
+ eapply "${FILESDIR}/atom-1.13-apm-path.patch"
+ eapply "${FILESDIR}/atom-license-path.patch"
+ eapply "${FILESDIR}/atom-fix-app-restart.patch"
+ eapply "${FILESDIR}/atom-marker-layer.patch"
+
+ sed -i -e "s|{{ATOM_SUFFIX}}|${suffix}|g" \
+ "${S}/build/app/src/config-schema.js" || die
+
+ eapply_user
+}
+
+src_configure() {
+ local binmod _s
+
+ for binmod in ${BINMODS}; do
+ einfo "Configuring ${binmod}..."
+ _s="${WORKDIR}/$(package_dir ${binmod})"
+ cd "${_s}" || die
+ enodegyp_atom configure
+ done
+}
+
+src_compile() {
+ local binmod _s x
+ local ctags_d="node_modules/symbols-view/vendor"
+ local jobs=$(makeopts_jobs) gypopts
+
+ gypopts="--verbose"
+
+ if [[ ${MAKEOPTS} == *-j* && ${jobs} != 999 ]]; then
+ gypopts+=" --jobs ${jobs}"
+ fi
+
+ mkdir -p "${S}/build/modules/" || die
+
+ for binmod in ${BINMODS}; do
+ einfo "Building ${binmod}..."
+ _s="${WORKDIR}/$(package_dir ${binmod})"
+ cd "${_s}" || die
+ enodegyp_atom ${gypopts} build
+ x=${binmod##node-}
+ mkdir -p "${S}/build/modules/${x}" || die
+ cp build/Release/*.node "${S}/build/modules/${x}" || die
+ done
+
+ # Put compiled binary modules in place
+ _fix_binmods "${S}/build" "app"
+ _fix_binmods "${S}/usr/share/atom/resources" "app"
+
+ # Remove non-Linux vendored ctags binaries
+ rm "${S}/build/app/${ctags_d}/ctags-darwin" \
+ "${S}/build/app/${ctags_d}/ctags-win32.exe" || die
+
+ # Re-pack app.asar
+ # Keep unpack rules in sync with build/tasks/generate-asar-task.coffee
+ cd "${S}/build" || die
+ x="--unpack={*.node,ctags-config,ctags-linux,**/node_modules/spellchecker/**,**/resources/atom.png}"
+ easar pack "${x}" "app" "app.asar"
+ cd "${S}" || die
+}
+
+_fix_binmods() {
+ local _dir="${2}" _prefix="${1}" path relpath modpath mod depth link f d
+ local cruft
+
+ (find "${_prefix}/${_dir}" -name '*.node' -print || die) \
+ | while IFS= read -r path; do
+ f=$(basename "${path}")
+ d=$(dirname "${path}")
+ relpath=${path#${_prefix}}
+ relpath=${relpath##/}
+ relpath=${relpath#W${_dir}}
+ modpath=$(dirname ${relpath})
+ modpath=${modpath%build/Release}
+ mod=$(basename ${modpath})
+
+ # must copy here as symlinks will cause the module loading to fail
+ cp -f "${S}/build/modules/${mod}/${f}" "${path}" || die
+ cruft=$(find "${d}" -name '*.a' -print)
+ if [[ -n "${cruft}" ]]; then
+ rm ${cruft} || die
+ fi
+ done
+}
+
+_fix_executables() {
+ local _dir="${1}" _node_sb="#!$(get_electron_dir)"/node
+
+ (find -L "${ED}/${_dir}" -maxdepth 1 -mindepth 1 -type f -print || die) \
+ | while IFS= read -r f; do
+ IFS= read -r shebang < "${f}"
+
+ if [[ ${shebang} == '#!'* ]]; then
+ fperms +x "${f#${ED}}"
+ if [[ "${shebang}" == "#!/usr/bin/env node" || "${shebang}" == "#!/usr/bin/node" ]]; then
+ einfo "Fixing node shebang in ${f#${ED}}"
+ sed --follow-symlinks -i \
+ -e "1s:${shebang}$:${_node_sb}:" "${f}" || die
+ fi
+ fi
+ done || die
+}
+
+src_install() {
+ local install_dir="$(get_install_dir)"
+ local suffix="$(get_install_suffix)"
+ local ctags_d="node_modules/symbols-view/vendor"
+
+ cd "${S}" || die
+
+ # Replace vendored ctags with a symlink to system ctags
+ rm "${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+ ln -s "/usr/bin/ctags" \
+ "${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+
+ insinto "${install_dir}"
+
+ doins build/app.asar
+ doins -r build/app.asar.unpacked
+ doins -r usr/share/atom/resources/app
+
+ insinto /usr/share/applications/
+ newins usr/share/applications/atom.desktop "atom${suffix}.desktop"
+
+ insinto /usr/share/icons/
+ doins -r usr/share/icons/hicolor
+
+ exeinto "${install_dir}"
+ newexe usr/share/atom/resources/app/atom.sh atom
+ insinto /usr/share/licenses/"${PN}${suffix}"
+ doins usr/share/atom/resources/LICENSE.md
+ dosym "${install_dir}/atom" "/usr/bin/atom${suffix}"
+ dosym "${install_dir}/app/apm/bin/apm" "/usr/bin/apm${suffix}"
+
+ _fix_executables "${install_dir}/app/apm/bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/.bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/npm/bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/npm/bin/node-gyp-bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/node-gyp/bin"
+}
diff --git a/app-editors/atom/atom-1.16.0.ebuild b/app-editors/atom/atom-1.16.0.ebuild
new file mode 100644
index 000000000000..1af228834d83
--- /dev/null
+++ b/app-editors/atom/atom-1.16.0.ebuild
@@ -0,0 +1,405 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-single-r1 multiprocessing rpm
+
+DESCRIPTION="A hackable text editor for the 21st Century"
+HOMEPAGE="https://atom.io"
+MY_PV="${PV//_/-}"
+
+ELECTRON_V=1.3.13
+ELECTRON_SLOT=1.3
+
+# All binary packages depend on this
+NAN_V=2.4.0
+
+# Keep dep versions in sync with atom/package.json
+CACHED_RUN_IN_THIS_CONTEXT_V=0.4.1
+GIT_UTILS_V=4.1.2
+NODE_NSLOG_V=3.0.0
+NODE_ONIGURUMA_V=6.1.0
+NODE_PATHWATCHER_V=6.9.0
+NODE_RUNAS_V=3.1.1
+SCROLLBAR_STYLE_V=3.2.0
+SPELL_CHECK_V=0.71.3
+
+# text-buffer dependencies
+SUPERSTRING_V=1.1.0
+
+# apm dependency
+NODE_KEYTAR_V=3.0.2
+
+# atom-keymap dependency
+KEYBOARD_LAYOUT_V=2.0.11
+
+# symbols-view dependency
+NODE_CTAGS_V=3.0.0
+
+# spell-check dependency
+NODE_SPELLCHECKER_V=3.2.3
+
+ASAR_V=0.12.1
+
+# The x86_64 arch below is irrelevant, as we will rebuild all binary packages.
+SRC_URI="
+ https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/atom.x86_64.rpm -> atom-${MY_PV}.rpm
+ https://github.com/elprans/asar/releases/download/v${ASAR_V}-gentoo/asar-build.tar.gz -> asar-${ASAR_V}.tar.gz
+ https://github.com/nodejs/nan/archive/v${NAN_V}.tar.gz -> nodejs-nan-${NAN_V}.tar.gz
+ https://github.com/atom/cached-run-in-this-context/archive/v${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz -> atom-cached-run-in-this-context-${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz
+ https://github.com/atom/node-ctags/archive/v${NODE_CTAGS_V}.tar.gz -> atom-node-ctags-${NODE_CTAGS_V}.tar.gz
+ https://github.com/atom/git-utils/archive/v${GIT_UTILS_V}.tar.gz -> atom-git-utils-${GIT_UTILS_V}.tar.gz
+ https://github.com/atom/keyboard-layout/archive/v${KEYBOARD_LAYOUT_V}.tar.gz -> atom-keyboard-layout-${KEYBOARD_LAYOUT_V}.tar.gz
+ https://github.com/atom/superstring/archive/v${SUPERSTRING_V}.tar.gz -> atom-superstring-${SUPERSTRING_V}.tar.gz
+ https://github.com/atom/node-keytar/archive/v${NODE_KEYTAR_V}.tar.gz -> atom-node-keytar-${NODE_KEYTAR_V}.tar.gz
+ https://github.com/atom/node-nslog/archive/v${NODE_NSLOG_V}.tar.gz -> atom-node-nslog-${NODE_NSLOG_V}.tar.gz
+ https://github.com/atom/node-oniguruma/archive/v${NODE_ONIGURUMA_V}.tar.gz -> atom-node-oniguruma-${NODE_ONIGURUMA_V}.tar.gz
+ https://github.com/atom/node-pathwatcher/archive/v${NODE_PATHWATCHER_V}.tar.gz -> atom-node-pathwatcher-${NODE_PATHWATCHER_V}.tar.gz
+ https://github.com/atom/node-runas/archive/v${NODE_RUNAS_V}.tar.gz -> atom-node-runas-${NODE_RUNAS_V}.tar.gz
+ https://github.com/atom/scrollbar-style/archive/v${SCROLLBAR_STYLE_V}.tar.gz -> atom-scrollbar-style-${SCROLLBAR_STYLE_V}.tar.gz
+ https://github.com/atom/node-spellchecker/archive/v${NODE_SPELLCHECKER_V}.tar.gz -> atom-node-spellchecker-${NODE_SPELLCHECKER_V}.tar.gz
+"
+
+BINMODS="
+ cached-run-in-this-context
+ node-ctags
+ git-utils
+ keyboard-layout
+ node-nslog
+ node-oniguruma
+ node-pathwatcher
+ node-runas
+ node-keytar
+ scrollbar-style
+ node-spellchecker
+ superstring
+"
+
+RESTRICT="mirror"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ >=app-text/hunspell-1.3.3:=
+ >=dev-libs/libgit2-0.23:=[ssh]
+ >=gnome-base/libgnome-keyring-3.12:=
+ >=dev-libs/oniguruma-5.9.5:=
+ >=dev-util/ctags-5.8
+ >=dev-util/electron-1.3.5:${ELECTRON_SLOT}
+ x11-libs/libxkbfile"
+RDEPEND="
+ ${DEPEND}
+ !sys-apps/apmd
+"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+get_install_suffix() {
+ local c=(${SLOT//\// })
+ local slot=${c[0]}
+ local suffix
+
+ if [[ "${slot}" == "0" ]]; then
+ suffix=""
+ else
+ suffix="-${slot}"
+ fi
+
+ echo -n "${suffix}"
+}
+
+get_install_dir() {
+ echo -n "/usr/$(get_libdir)/atom$(get_install_suffix)"
+}
+
+get_electron_dir() {
+ echo -n "/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
+}
+
+get_electron_nodedir() {
+ echo -n "/usr/include/electron-${ELECTRON_SLOT}/node/"
+}
+
+enode_electron() {
+ "$(get_electron_dir)"/node $@
+}
+
+enodegyp_atom() {
+ local apmpath="/usr/share/atom/resources/app/apm"
+ local nodegyp="${S}/${apmpath}/node_modules/node-gyp/bin/node-gyp.js"
+
+ PATH="$(get_electron_dir):${PATH}" \
+ enode_electron "${nodegyp}" \
+ --nodedir="$(get_electron_nodedir)" $@ || die
+}
+
+easar() {
+ local asar="${WORKDIR}/$(package_dir asar)/node_modules/asar/bin/asar"
+ echo "asar" $@
+ enode_electron "${asar}" $@ || die
+}
+
+package_dir() {
+ local binmod="${1//-/_}"
+ local binmod_v="${binmod^^}_V"
+ echo -n ${1}-${!binmod_v}
+}
+
+_unpack_npm_package() {
+ local a="${1}" basename suffix
+
+ basename=${a%.*}
+ suffix=${basename##*.}
+ if [[ "${suffix}" == "tar" ]]; then
+ basename=${basename%.*}
+ fi
+
+ unpack ${a}
+ mv package "${basename}" || die
+}
+
+_have_patches_for() {
+ local _patches="${1}-*.patch" _find
+ _find=$(find "${FILESDIR}" -maxdepth 1 -name "${_patches}" -print -quit)
+ test -n "$_find"
+}
+
+src_unpack() {
+ local a
+
+ for a in ${A} ; do
+ case ${a} in
+ *.rpm) srcrpm_unpack "${a}" ;;
+ *) unpack "${a}" ;;
+ esac
+ done
+
+ mkdir "${WORKDIR}/atom-${MY_PV}" || die
+ mv "${WORKDIR}/usr" "${WORKDIR}/atom-${MY_PV}" || die
+}
+
+src_prepare() {
+ local install_dir="$(get_install_dir)"
+ local suffix="$(get_install_suffix)"
+ local patch binmod _s nan_s="${WORKDIR}/nan-${NAN_V}"
+
+ cd "${S}/usr/share/atom/resources/app" || die
+ eapply "${FILESDIR}/${PN}-python.patch"
+ eapply "${FILESDIR}/${PN}-unbundle-electron.patch"
+
+ sed -i -e "s|{{NPM_CONFIG_NODEDIR}}|$(get_electron_nodedir)|g" \
+ ./atom.sh \
+ || die
+
+ sed -i -e "s|{{ATOM_PATH}}|$(get_electron_dir)/electron|g" \
+ ./atom.sh \
+ || die
+
+ sed -i -e "s|{{ATOM_RESOURCE_PATH}}|${install_dir}/app.asar|g" \
+ ./atom.sh \
+ || die
+
+ local env="export NPM_CONFIG_NODEDIR=$(get_electron_nodedir)"
+ sed -i -e \
+ "s|\"\$binDir/\$nodeBin\"|${env}\nexec $(get_electron_dir)/node|g" \
+ apm/bin/apm || die
+
+ sed -i -e \
+ "s|^\([[:space:]]*\)node[[:space:]]\+|\1\"$(get_electron_dir)/node\" |g" \
+ apm/node_modules/npm/bin/node-gyp-bin/node-gyp || die
+
+ rm apm/bin/node || die
+
+ sed -i -e "s|/usr/share/atom/atom|/usr/bin/atom|g" \
+ "${S}/usr/share/applications/atom.desktop" || die
+
+ cd "${S}" || die
+
+ for binmod in ${BINMODS}; do
+ _s="${WORKDIR}/$(package_dir ${binmod})"
+ cd "${_s}" || die
+ if _have_patches_for "${binmod}"; then
+ for patch in "${FILESDIR}"/${binmod}-*.patch; do
+ eapply "${patch}"
+ done
+ fi
+ done
+
+ # Unbundle bundled libs from modules
+
+ _s="${WORKDIR}/$(package_dir git-utils)"
+ ${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+ --inplace --unbundle "git;libgit2;git2" \
+ "${_s}/binding.gyp" || die
+
+ _s="${WORKDIR}/$(package_dir node-oniguruma)"
+ ${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+ --inplace --unbundle "onig_scanner;oniguruma;onig" \
+ "${_s}/binding.gyp" || die
+
+ _s="${WORKDIR}/$(package_dir node-spellchecker)"
+ ${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+ --inplace --unbundle "spellchecker;hunspell;hunspell" \
+ "${_s}/binding.gyp" || die
+
+ for binmod in ${BINMODS}; do
+ _s="${WORKDIR}/$(package_dir ${binmod})"
+ mkdir -p "${_s}/node_modules" || die
+ ln -s "${nan_s}" "${_s}/node_modules/nan" || die
+ done
+
+ # Unpack app.asar
+ easar extract "${S}/usr/share/atom/resources/app.asar" "${S}/build/app"
+
+ cd "${S}" || die
+
+ eapply "${FILESDIR}/atom-1.13-apm-path.patch"
+ eapply "${FILESDIR}/atom-license-path.patch"
+ eapply "${FILESDIR}/atom-fix-app-restart.patch"
+ eapply "${FILESDIR}/atom-marker-layer.patch"
+
+ sed -i -e "s|{{ATOM_SUFFIX}}|${suffix}|g" \
+ "${S}/build/app/src/config-schema.js" || die
+
+ eapply_user
+}
+
+src_configure() {
+ local binmod _s
+
+ for binmod in ${BINMODS}; do
+ einfo "Configuring ${binmod}..."
+ _s="${WORKDIR}/$(package_dir ${binmod})"
+ cd "${_s}" || die
+ enodegyp_atom configure
+ done
+}
+
+src_compile() {
+ local binmod _s x
+ local ctags_d="node_modules/symbols-view/vendor"
+ local jobs=$(makeopts_jobs) gypopts
+
+ gypopts="--verbose"
+
+ if [[ ${MAKEOPTS} == *-j* && ${jobs} != 999 ]]; then
+ gypopts+=" --jobs ${jobs}"
+ fi
+
+ mkdir -p "${S}/build/modules/" || die
+
+ for binmod in ${BINMODS}; do
+ einfo "Building ${binmod}..."
+ _s="${WORKDIR}/$(package_dir ${binmod})"
+ cd "${_s}" || die
+ enodegyp_atom ${gypopts} build
+ x=${binmod##node-}
+ mkdir -p "${S}/build/modules/${x}" || die
+ cp build/Release/*.node "${S}/build/modules/${x}" || die
+ done
+
+ # Put compiled binary modules in place
+ _fix_binmods "${S}/build" "app"
+ _fix_binmods "${S}/usr/share/atom/resources" "app"
+
+ # Remove non-Linux vendored ctags binaries
+ rm "${S}/build/app/${ctags_d}/ctags-darwin" \
+ "${S}/build/app/${ctags_d}/ctags-win32.exe" || die
+
+ # Re-pack app.asar
+ # Keep unpack rules in sync with build/tasks/generate-asar-task.coffee
+ cd "${S}/build" || die
+ x="--unpack={*.node,ctags-config,ctags-linux,**/node_modules/spellchecker/**,**/resources/atom.png}"
+ easar pack "${x}" "app" "app.asar"
+ cd "${S}" || die
+}
+
+_fix_binmods() {
+ local _dir="${2}" _prefix="${1}" path relpath modpath mod depth link f d
+ local cruft
+
+ (find "${_prefix}/${_dir}" -name '*.node' -print || die) \
+ | while IFS= read -r path; do
+ f=$(basename "${path}")
+ d=$(dirname "${path}")
+ relpath=${path#${_prefix}}
+ relpath=${relpath##/}
+ relpath=${relpath#W${_dir}}
+ modpath=$(dirname ${relpath})
+ modpath=${modpath%build/Release}
+ mod=$(basename ${modpath})
+
+ # must copy here as symlinks will cause the module loading to fail
+ cp -f "${S}/build/modules/${mod}/${f}" "${path}" || die
+ cruft=$(find "${d}" -name '*.a' -print)
+ if [[ -n "${cruft}" ]]; then
+ rm ${cruft} || die
+ fi
+ done
+}
+
+_fix_executables() {
+ local _dir="${1}" _node_sb="#!$(get_electron_dir)"/node
+
+ (find -L "${ED}/${_dir}" -maxdepth 1 -mindepth 1 -type f -print || die) \
+ | while IFS= read -r f; do
+ IFS= read -r shebang < "${f}"
+
+ if [[ ${shebang} == '#!'* ]]; then
+ fperms +x "${f#${ED}}"
+ if [[ "${shebang}" == "#!/usr/bin/env node" || "${shebang}" == "#!/usr/bin/node" ]]; then
+ einfo "Fixing node shebang in ${f#${ED}}"
+ sed --follow-symlinks -i \
+ -e "1s:${shebang}$:${_node_sb}:" "${f}" || die
+ fi
+ fi
+ done || die
+}
+
+src_install() {
+ local install_dir="$(get_install_dir)"
+ local suffix="$(get_install_suffix)"
+ local ctags_d="node_modules/symbols-view/vendor"
+
+ cd "${S}" || die
+
+ # Replace vendored ctags with a symlink to system ctags
+ rm "${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+ ln -s "/usr/bin/ctags" \
+ "${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+
+ insinto "${install_dir}"
+
+ doins build/app.asar
+ doins -r build/app.asar.unpacked
+ doins -r usr/share/atom/resources/app
+
+ insinto /usr/share/applications/
+ newins usr/share/applications/atom.desktop "atom${suffix}.desktop"
+
+ insinto /usr/share/icons/
+ doins -r usr/share/icons/hicolor
+
+ exeinto "${install_dir}"
+ newexe usr/share/atom/resources/app/atom.sh atom
+ insinto /usr/share/licenses/"${PN}${suffix}"
+ doins usr/share/atom/resources/LICENSE.md
+ dosym "${install_dir}/atom" "/usr/bin/atom${suffix}"
+ dosym "${install_dir}/app/apm/bin/apm" "/usr/bin/apm${suffix}"
+
+ _fix_executables "${install_dir}/app/apm/bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/.bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/npm/bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/npm/bin/node-gyp-bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/node-gyp/bin"
+}
diff --git a/app-editors/atom/atom-1.18.0.ebuild b/app-editors/atom/atom-1.18.0.ebuild
new file mode 100644
index 000000000000..a5bf085f0cf4
--- /dev/null
+++ b/app-editors/atom/atom-1.18.0.ebuild
@@ -0,0 +1,411 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-single-r1 multiprocessing rpm
+
+DESCRIPTION="A hackable text editor for the 21st Century"
+HOMEPAGE="https://atom.io"
+MY_PV="${PV//_/-}"
+
+ELECTRON_V=1.3.13
+ELECTRON_SLOT=1.3
+
+# All binary packages depend on this
+NAN_V=2.4.0
+
+# Keep dep versions in sync with atom/package.json
+CACHED_RUN_IN_THIS_CONTEXT_V=0.4.1
+GIT_UTILS_V=5.0.0
+NODE_NSLOG_V=3.0.0
+NODE_ONIGURUMA_V=6.2.1
+NODE_PATHWATCHER_V=7.0.0
+NODE_RUNAS_V=3.1.1
+SCROLLBAR_STYLE_V=3.2.0
+SPELL_CHECK_V=0.71.4
+
+# text-buffer dependencies
+SUPERSTRING_V=1.2.1
+
+# apm dependency
+NODE_KEYTAR_V=3.0.2
+
+# atom-keymap dependency
+KEYBOARD_LAYOUT_V=2.0.12
+
+# symbols-view dependency
+NODE_CTAGS_V=3.0.0
+
+# spell-check dependency
+NODE_SPELLCHECKER_V=3.2.3
+
+NSFW_V=1.0.15
+
+ASAR_V=0.12.1
+
+# The x86_64 arch below is irrelevant, as we will rebuild all binary packages.
+SRC_URI="
+ https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/atom.x86_64.rpm -> atom-${MY_PV}.rpm
+ https://github.com/elprans/asar/releases/download/v${ASAR_V}-gentoo/asar-build.tar.gz -> asar-${ASAR_V}.tar.gz
+ https://github.com/nodejs/nan/archive/v${NAN_V}.tar.gz -> nodejs-nan-${NAN_V}.tar.gz
+ https://github.com/atom/cached-run-in-this-context/archive/v${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz -> atom-cached-run-in-this-context-${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz
+ https://github.com/atom/node-ctags/archive/v${NODE_CTAGS_V}.tar.gz -> atom-node-ctags-${NODE_CTAGS_V}.tar.gz
+ https://github.com/atom/git-utils/archive/v${GIT_UTILS_V}.tar.gz -> atom-git-utils-${GIT_UTILS_V}.tar.gz
+ https://github.com/atom/keyboard-layout/archive/v${KEYBOARD_LAYOUT_V}.tar.gz -> atom-keyboard-layout-${KEYBOARD_LAYOUT_V}.tar.gz
+ https://github.com/atom/superstring/archive/v${SUPERSTRING_V}.tar.gz -> atom-superstring-${SUPERSTRING_V}.tar.gz
+ https://github.com/atom/node-keytar/archive/v${NODE_KEYTAR_V}.tar.gz -> atom-node-keytar-${NODE_KEYTAR_V}.tar.gz
+ https://github.com/atom/node-nslog/archive/v${NODE_NSLOG_V}.tar.gz -> atom-node-nslog-${NODE_NSLOG_V}.tar.gz
+ https://github.com/atom/node-oniguruma/archive/v${NODE_ONIGURUMA_V}.tar.gz -> atom-node-oniguruma-${NODE_ONIGURUMA_V}.tar.gz
+ https://github.com/atom/node-pathwatcher/archive/v${NODE_PATHWATCHER_V}.tar.gz -> atom-node-pathwatcher-${NODE_PATHWATCHER_V}.tar.gz
+ https://github.com/atom/node-runas/archive/v${NODE_RUNAS_V}.tar.gz -> atom-node-runas-${NODE_RUNAS_V}.tar.gz
+ https://github.com/atom/scrollbar-style/archive/v${SCROLLBAR_STYLE_V}.tar.gz -> atom-scrollbar-style-${SCROLLBAR_STYLE_V}.tar.gz
+ https://github.com/atom/node-spellchecker/archive/v${NODE_SPELLCHECKER_V}.tar.gz -> atom-node-spellchecker-${NODE_SPELLCHECKER_V}.tar.gz
+ https://github.com/Axosoft/nsfw/archive/v${NSFW_V}.tar.gz -> atom-nsfw-${NSFW_V}.tar.gz
+"
+
+BINMODS="
+ cached-run-in-this-context
+ node-ctags
+ git-utils
+ keyboard-layout
+ node-nslog
+ node-oniguruma
+ node-pathwatcher
+ node-runas
+ node-keytar
+ scrollbar-style
+ node-spellchecker
+ superstring
+ nsfw
+"
+
+RESTRICT="mirror"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ >=app-text/hunspell-1.3.3:=
+ >=dev-libs/libgit2-0.23:=[ssh]
+ >=gnome-base/libgnome-keyring-3.12:=
+ >=dev-libs/oniguruma-5.9.5:=
+ >=dev-util/ctags-5.8
+ >=dev-util/electron-1.3.5:${ELECTRON_SLOT}
+ x11-libs/libxkbfile"
+RDEPEND="
+ ${DEPEND}
+ !sys-apps/apmd
+"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+get_install_suffix() {
+ local c=(${SLOT//\// })
+ local slot=${c[0]}
+ local suffix
+
+ if [[ "${slot}" == "0" ]]; then
+ suffix=""
+ else
+ suffix="-${slot}"
+ fi
+
+ echo -n "${suffix}"
+}
+
+get_install_dir() {
+ echo -n "/usr/$(get_libdir)/atom$(get_install_suffix)"
+}
+
+get_electron_dir() {
+ echo -n "/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
+}
+
+get_electron_nodedir() {
+ echo -n "/usr/include/electron-${ELECTRON_SLOT}/node/"
+}
+
+enode_electron() {
+ "$(get_electron_dir)"/node $@
+}
+
+enodegyp_atom() {
+ local apmpath="/usr/share/atom/resources/app/apm"
+ local nodegyp="${S}/${apmpath}/node_modules/node-gyp/bin/node-gyp.js"
+
+ PATH="$(get_electron_dir):${PATH}" \
+ enode_electron "${nodegyp}" \
+ --nodedir="$(get_electron_nodedir)" $@ || die
+}
+
+easar() {
+ local asar="${WORKDIR}/$(package_dir asar)/node_modules/asar/bin/asar"
+ echo "asar" $@
+ enode_electron "${asar}" $@ || die
+}
+
+package_dir() {
+ local binmod="${1//-/_}"
+ local binmod_v="${binmod^^}_V"
+ echo -n ${1}-${!binmod_v}
+}
+
+_unpack_npm_package() {
+ local a="${1}" basename suffix
+
+ basename=${a%.*}
+ suffix=${basename##*.}
+ if [[ "${suffix}" == "tar" ]]; then
+ basename=${basename%.*}
+ fi
+
+ unpack ${a}
+ mv package "${basename}" || die
+}
+
+_have_patches_for() {
+ local _patches="${1}-*.patch" _find
+ _find=$(find "${FILESDIR}" -maxdepth 1 -name "${_patches}" -print -quit)
+ test -n "$_find"
+}
+
+src_unpack() {
+ local a
+
+ for a in ${A} ; do
+ case ${a} in
+ *.rpm) srcrpm_unpack "${a}" ;;
+ *) unpack "${a}" ;;
+ esac
+ done
+
+ mkdir "${WORKDIR}/atom-${MY_PV}" || die
+ mv "${WORKDIR}/usr" "${WORKDIR}/atom-${MY_PV}" || die
+}
+
+src_prepare() {
+ local install_dir="$(get_install_dir)"
+ local suffix="$(get_install_suffix)"
+ local patch binmod _s nan_s="${WORKDIR}/nan-${NAN_V}"
+
+ cd "${S}/usr/share/atom/resources/app" || die
+ eapply "${FILESDIR}/${PN}-python.patch"
+ eapply "${FILESDIR}/${PN}-unbundle-electron.patch"
+
+ sed -i -e "s|{{NPM_CONFIG_NODEDIR}}|$(get_electron_nodedir)|g" \
+ ./atom.sh \
+ || die
+
+ sed -i -e "s|{{ATOM_PATH}}|$(get_electron_dir)/electron|g" \
+ ./atom.sh \
+ || die
+
+ sed -i -e "s|{{ATOM_RESOURCE_PATH}}|${install_dir}/app.asar|g" \
+ ./atom.sh \
+ || die
+
+ local env="export NPM_CONFIG_NODEDIR=$(get_electron_nodedir)"
+ sed -i -e \
+ "s|\"\$binDir/\$nodeBin\"|${env}\nexec $(get_electron_dir)/node|g" \
+ apm/bin/apm || die
+
+ sed -i -e \
+ "s|^\([[:space:]]*\)node[[:space:]]\+|\1\"$(get_electron_dir)/node\" |g" \
+ apm/node_modules/npm/bin/node-gyp-bin/node-gyp || die
+
+ rm apm/bin/node || die
+
+ sed -i -e "s|/usr/share/atom/atom|/usr/bin/atom|g" \
+ "${S}/usr/share/applications/atom.desktop" || die
+
+ cd "${S}" || die
+
+ for binmod in ${BINMODS}; do
+ _s="${WORKDIR}/$(package_dir ${binmod})"
+ cd "${_s}" || die
+ if _have_patches_for "${binmod}"; then
+ for patch in "${FILESDIR}"/${binmod}-*.patch; do
+ eapply "${patch}"
+ done
+ fi
+ done
+
+ # Unbundle bundled libs from modules
+
+ _s="${WORKDIR}/$(package_dir git-utils)"
+ ${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+ --inplace --unbundle "git;libgit2;git2" \
+ "${_s}/binding.gyp" || die
+
+ _s="${WORKDIR}/$(package_dir node-oniguruma)"
+ ${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+ --inplace --unbundle "onig_scanner;oniguruma;onig" \
+ "${_s}/binding.gyp" || die
+
+ _s="${WORKDIR}/$(package_dir node-spellchecker)"
+ ${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+ --inplace --unbundle "spellchecker;hunspell;hunspell" \
+ "${_s}/binding.gyp" || die
+
+ for binmod in ${BINMODS}; do
+ _s="${WORKDIR}/$(package_dir ${binmod})"
+ mkdir -p "${_s}/node_modules" || die
+ ln -s "${nan_s}" "${_s}/node_modules/nan" || die
+ done
+
+ mkdir "${S}/build" || die
+ cp -a "${S}/usr/share/atom/resources/app" "${S}/build/app" || die
+
+ cd "${S}" || die
+
+ eapply "${FILESDIR}/atom-1.13-apm-path.patch"
+ eapply "${FILESDIR}/atom-license-path.patch"
+ eapply "${FILESDIR}/atom-fix-app-restart.patch"
+ eapply "${FILESDIR}/atom-marker-layer.patch"
+
+ sed -i -e "s|{{ATOM_SUFFIX}}|${suffix}|g" \
+ "${S}/build/app/src/config-schema.js" || die
+
+ eapply_user
+}
+
+src_configure() {
+ local binmod _s
+
+ for binmod in ${BINMODS}; do
+ einfo "Configuring ${binmod}..."
+ _s="${WORKDIR}/$(package_dir ${binmod})"
+ cd "${_s}" || die
+ enodegyp_atom configure
+ done
+}
+
+src_compile() {
+ local binmod _s x
+ local ctags_d="node_modules/symbols-view/vendor"
+ local jobs=$(makeopts_jobs) gypopts
+
+ gypopts="--verbose"
+
+ if [[ ${MAKEOPTS} == *-j* && ${jobs} != 999 ]]; then
+ gypopts+=" --jobs ${jobs}"
+ fi
+
+ mkdir -p "${S}/build/modules/" || die
+
+ for binmod in ${BINMODS}; do
+ einfo "Building ${binmod}..."
+ _s="${WORKDIR}/$(package_dir ${binmod})"
+ cd "${_s}" || die
+ enodegyp_atom ${gypopts} build
+ x=${binmod##node-}
+ mkdir -p "${S}/build/modules/${x}" || die
+ cp build/Release/*.node "${S}/build/modules/${x}" || die
+ done
+
+ # Put compiled binary modules in place
+ _fix_binmods "${S}/build" "app"
+ _fix_binmods "${S}/usr/share/atom/resources" "app"
+
+ # Remove non-Linux vendored ctags binaries
+ rm "${S}/build/app/${ctags_d}/ctags-darwin" \
+ "${S}/build/app/${ctags_d}/ctags-win32.exe" || die
+
+ # Re-pack app.asar
+ # Keep unpack rules in sync with build/tasks/generate-asar-task.coffee
+ cd "${S}/build" || die
+ x="--unpack={*.node,ctags-config,ctags-linux,**/node_modules/spellchecker/**,**/resources/atom.png}"
+ easar pack "${x}" "app" "app.asar"
+ cd "${S}" || die
+}
+
+_fix_binmods() {
+ local _dir="${2}" _prefix="${1}" path relpath modpath mod depth link f d
+ local cruft
+
+ (find "${_prefix}/${_dir}" -name '*.node' -print || die) \
+ | while IFS= read -r path; do
+ f=$(basename "${path}")
+ d=$(dirname "${path}")
+ relpath=${path#${_prefix}}
+ relpath=${relpath##/}
+ relpath=${relpath#W${_dir}}
+ modpath=$(dirname ${relpath})
+ modpath=${modpath%build/Release}
+ mod=$(basename ${modpath})
+
+ # must copy here as symlinks will cause the module loading to fail
+ cp -f "${S}/build/modules/${mod}/${f}" "${path}" || die
+ cruft=$(find "${d}" -name '*.a' -print)
+ if [[ -n "${cruft}" ]]; then
+ rm ${cruft} || die
+ fi
+ done
+}
+
+_fix_executables() {
+ local _dir="${1}" _node_sb="#!$(get_electron_dir)"/node
+
+ (find -L "${ED}/${_dir}" -maxdepth 1 -mindepth 1 -type f -print || die) \
+ | while IFS= read -r f; do
+ IFS= read -r shebang < "${f}"
+
+ if [[ ${shebang} == '#!'* ]]; then
+ fperms +x "${f#${ED}}"
+ if [[ "${shebang}" == "#!/usr/bin/env node" || "${shebang}" == "#!/usr/bin/node" ]]; then
+ einfo "Fixing node shebang in ${f#${ED}}"
+ sed --follow-symlinks -i \
+ -e "1s:${shebang}$:${_node_sb}:" "${f}" || die
+ fi
+ fi
+ done || die
+}
+
+src_install() {
+ local install_dir="$(get_install_dir)"
+ local suffix="$(get_install_suffix)"
+ local ctags_d="node_modules/symbols-view/vendor"
+
+ cd "${S}" || die
+
+ # Replace vendored ctags with a symlink to system ctags
+ rm "${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+ ln -s "/usr/bin/ctags" \
+ "${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+
+ insinto "${install_dir}"
+
+ doins build/app.asar
+ doins -r build/app.asar.unpacked
+
+ insinto "${install_dir}/app"
+ doins -r usr/share/atom/resources/app/apm
+
+ insinto /usr/share/applications/
+ newins usr/share/applications/atom.desktop "atom${suffix}.desktop"
+
+ insinto /usr/share/icons/
+ doins -r usr/share/icons/hicolor
+
+ exeinto "${install_dir}"
+ newexe usr/share/atom/resources/app/atom.sh atom
+ insinto /usr/share/licenses/"${PN}${suffix}"
+ doins usr/share/atom/resources/LICENSE.md
+ dosym "${install_dir}/atom" "/usr/bin/atom${suffix}"
+ dosym "${install_dir}/app/apm/bin/apm" "/usr/bin/apm${suffix}"
+
+ _fix_executables "${install_dir}/app/apm/bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/.bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/npm/bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/npm/bin/node-gyp-bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/node-gyp/bin"
+}
diff --git a/app-editors/atom/atom-1.20.1.ebuild b/app-editors/atom/atom-1.20.1.ebuild
new file mode 100644
index 000000000000..e3b34cfffb41
--- /dev/null
+++ b/app-editors/atom/atom-1.20.1.ebuild
@@ -0,0 +1,514 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# NOTE: this ebuild has been generated by atom-ebuild-gen.py from the
+# atom overlay.
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-single-r1 multiprocessing rpm virtualx
+
+DESCRIPTION="A hackable text editor for the 21st Century"
+HOMEPAGE="https://atom.io"
+MY_PV="${PV//_/-}"
+
+ELECTRON_V=1.6.9
+ELECTRON_SLOT=1.6
+
+ASAR_V=0.13.0
+# All binary packages depend on this
+NAN_V=2.6.2
+
+CACHED_RUN_IN_THIS_CONTEXT_V=0.4.1
+CTAGS_V=3.0.0
+FS_ADMIN_V=0.1.6
+GIT_UTILS_V=5.0.0
+KEYBOARD_LAYOUT_V=2.0.13
+KEYTAR_V=4.0.4
+NSFW_V=1.0.16
+NSLOG_V=3.0.0
+ONIGURUMA_V=6.2.1
+PATHWATCHER_V=8.0.1
+RUNAS_V=3.1.1
+SCROLLBAR_STYLE_V=3.2.0
+SPELLCHECKER_V=3.4.2
+SUPERSTRING_V=2.2.3
+
+# The x86_64 arch below is irrelevant, as we will rebuild all binary packages.
+SRC_URI="
+ https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/atom.x86_64.rpm -> atom-bin-${MY_PV}.rpm
+ https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> atom-${MY_PV}.tar.gz
+ https://github.com/elprans/asar/releases/download/v${ASAR_V}-gentoo/asar-build.tar.gz -> asar-${ASAR_V}.tar.gz
+ https://github.com/nodejs/nan/archive/v${NAN_V}.tar.gz -> nodejs-nan-${NAN_V}.tar.gz
+ https://registry.npmjs.org/cached-run-in-this-context/-/cached-run-in-this-context-0.4.1.tgz -> atomdep-cached-run-in-this-context-0.4.1.tar.gz
+ https://registry.npmjs.org/ctags/-/ctags-3.0.0.tgz -> atomdep-ctags-3.0.0.tar.gz
+ https://registry.npmjs.org/fs-admin/-/fs-admin-0.1.6.tgz -> atomdep-fs-admin-0.1.6.tar.gz
+ https://registry.npmjs.org/git-utils/-/git-utils-5.0.0.tgz -> atomdep-git-utils-5.0.0.tar.gz
+ https://registry.npmjs.org/keyboard-layout/-/keyboard-layout-2.0.13.tgz -> atomdep-keyboard-layout-2.0.13.tar.gz
+ https://registry.npmjs.org/keytar/-/keytar-4.0.4.tgz -> atomdep-keytar-4.0.4.tar.gz
+ https://registry.npmjs.org/nsfw/-/nsfw-1.0.16.tgz -> atomdep-nsfw-1.0.16.tar.gz
+ https://registry.npmjs.org/nslog/-/nslog-3.0.0.tgz -> atomdep-nslog-3.0.0.tar.gz
+ https://registry.npmjs.org/oniguruma/-/oniguruma-6.2.1.tgz -> atomdep-oniguruma-6.2.1.tar.gz
+ https://registry.npmjs.org/pathwatcher/-/pathwatcher-8.0.1.tgz -> atomdep-pathwatcher-8.0.1.tar.gz
+ https://registry.npmjs.org/runas/-/runas-3.1.1.tgz -> atomdep-runas-3.1.1.tar.gz
+ https://registry.npmjs.org/scrollbar-style/-/scrollbar-style-3.2.0.tgz -> atomdep-scrollbar-style-3.2.0.tar.gz
+ https://registry.npmjs.org/spellchecker/-/spellchecker-3.4.2.tgz -> atomdep-spellchecker-3.4.2.tar.gz
+ https://registry.npmjs.org/superstring/-/superstring-2.2.3.tgz -> atomdep-superstring-2.2.3.tar.gz
+"
+
+BINMODS=(
+ cached-run-in-this-context
+ ctags
+ fs-admin
+ git-utils
+ keyboard-layout
+ keytar
+ nsfw
+ nslog
+ oniguruma
+ pathwatcher
+ runas
+ scrollbar-style
+ spellchecker
+ superstring
+)
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ >=app-text/hunspell-1.3.3:=
+ >=dev-libs/libgit2-0.23:=[ssh]
+ >=dev-libs/libpcre2-10.22:=[jit,pcre16]
+ >=gnome-base/libgnome-keyring-3.12:=
+ >=dev-libs/oniguruma-5.9.5:=
+ >=dev-util/ctags-5.8
+ >=dev-util/electron-${ELECTRON_V}:${ELECTRON_SLOT}
+ x11-libs/libxkbfile"
+RDEPEND="
+ ${DEPEND}
+ !sys-apps/apmd
+"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+BIN_S="${WORKDIR}/${PN}-bin-${MY_PV}"
+BUILD_DIR="${S}/out"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ local a
+
+ for a in ${A} ; do
+ case ${a} in
+ *.rpm) srcrpm_unpack "${a}" ;;
+ *) _unpack "${a}" ;;
+ esac
+ done
+
+ mkdir "${BIN_S}" || die
+ mv "${WORKDIR}/usr" "${BIN_S}" || die
+}
+
+src_prepare() {
+ local install_dir="$(get_install_dir)"
+ local suffix="$(get_install_suffix)"
+ local nan_s="${WORKDIR}/nodejs-nan-${NAN_V}"
+ local patch
+ local binmod
+ local _s
+
+ mkdir "${BUILD_DIR}" || die
+ cp -a "${BIN_S}/$(get_atom_rpmdir)/resources/app" \
+ "${BUILD_DIR}/app" || die
+
+ # Add source files omitted from the upstream binary distribution,
+ # and which we want to include in ours.
+ cp -a -t "${BUILD_DIR}/app" "${S}/spec" || die
+
+ # Unpack app.asar
+ if [ -e "${BIN_S}/$(get_atom_rpmdir)/resources/app.asar" ]; then
+ easar extract "${BIN_S}/$(get_atom_rpmdir)/resources/app.asar" \
+ "${BUILD_DIR}/app"
+ fi
+
+ cd "${BUILD_DIR}/app" || die
+
+ eapply "${FILESDIR}/atom-python.patch"
+ eapply "${FILESDIR}/apm-python.patch"
+ eapply "${FILESDIR}/atom-unbundle-electron.patch"
+ eapply "${FILESDIR}/atom-apm-path-r1.patch"
+ eapply "${FILESDIR}/atom-license-path-r1.patch"
+ eapply "${FILESDIR}/atom-fix-app-restart-r1.patch"
+ eapply "${FILESDIR}/atom-marker-layer-r1.patch"
+
+ sed -i -e "s|{{NPM_CONFIG_NODEDIR}}|$(get_electron_nodedir)|g" \
+ ./atom.sh \
+ || die
+
+ sed -i -e "s|{{ATOM_PATH}}|$(get_electron_dir)/electron|g" \
+ ./atom.sh \
+ || die
+
+ sed -i -e "s|{{ATOM_RESOURCE_PATH}}|${install_dir}/app.asar|g" \
+ ./atom.sh \
+ || die
+
+ local env="export NPM_CONFIG_NODEDIR=$(get_electron_nodedir)\n\
+ export ELECTRON_NO_ASAR=1"
+ sed -i -e \
+ "s|\"\$binDir/\$nodeBin\"|${env}\nexec $(get_electron_dir)/node|g" \
+ apm/bin/apm || die
+
+ sed -i -e \
+ "s|^\([[:space:]]*\)node[[:space:]]\+|\1\"$(get_electron_dir)/node\" |g" \
+ apm/node_modules/npm/bin/node-gyp-bin/node-gyp || die
+
+ sed -i -e \
+ "s|atomCommand = 'atom';|atomCommand = '/usr/bin/atom${suffix}'|g" \
+ apm/lib/test.js || die
+
+ rm apm/bin/node || die
+
+ sed -i -e "s|/$(get_atom_rpmdir)/atom|/usr/bin/atom${suffix}|g" \
+ "${BIN_S}/usr/share/applications/$(get_atom_appname).desktop" || die
+
+ for binmod in ${BINMODS[@]}; do
+ _s="${WORKDIR}/$(package_dir ${binmod})"
+ cd "${_s}" || die
+ if _have_patches_for "${binmod}"; then
+ for patch in "${FILESDIR}"/${binmod}-*.patch; do
+ eapply "${patch}"
+ done
+ fi
+ done
+
+ cd "${BUILD_DIR}/app" || die
+
+ # Unbundle bundled libs from modules
+
+ _s="${WORKDIR}/$(package_dir git-utils)"
+ ${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+ --inplace --unbundle "git;libgit2;git2" \
+ "${_s}/binding.gyp" || die
+
+ _s="${WORKDIR}/$(package_dir oniguruma)"
+ ${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+ --inplace --unbundle "onig_scanner;oniguruma;onig" \
+ "${_s}/binding.gyp" || die
+
+ _s="${WORKDIR}/$(package_dir spellchecker)"
+ ${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+ --inplace --unbundle "spellchecker;hunspell;hunspell" \
+ "${_s}/binding.gyp" || die
+
+ _s="${WORKDIR}/$(package_dir superstring)"
+ ${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+ --inplace --unbundle \
+ "superstring_core;./vendor/pcre/pcre.gyp:pcre;pcre2-16; \
+ -DPCRE2_CODE_UNIT_WIDTH=16" \
+ "${_s}/binding.gyp" || die
+
+ for binmod in ${BINMODS[@]}; do
+ _s="${WORKDIR}/$(package_dir ${binmod})"
+ mkdir -p "${_s}/node_modules" || die
+ ln -s "${nan_s}" "${_s}/node_modules/nan" || die
+ done
+
+ sed -i -e "s|{{ATOM_SUFFIX}}|${suffix}|g" \
+ "${BUILD_DIR}/app/src/config-schema.js" || die
+
+ eapply_user
+}
+
+src_configure() {
+ local binmod
+
+ for binmod in ${BINMODS[@]}; do
+ einfo "Configuring ${binmod}..."
+ cd "${WORKDIR}/$(package_dir ${binmod})" || die
+ enodegyp_atom configure
+ done
+}
+
+src_compile() {
+ local binmod
+ local x
+ local ctags_d="node_modules/symbols-view/vendor"
+ local jobs=$(makeopts_jobs)
+ local gypopts
+
+ # Transpile any yet untranspiled files.
+ ecoffeescript "${BUILD_DIR}/app/spec/*.coffee"
+
+ gypopts="--verbose"
+
+ if [[ ${MAKEOPTS} == *-j* && ${jobs} != 999 ]]; then
+ gypopts+=" --jobs ${jobs}"
+ fi
+
+ mkdir -p "${BUILD_DIR}/modules/" || die
+
+ for binmod in ${BINMODS[@]}; do
+ einfo "Building ${binmod}..."
+ cd "${WORKDIR}/$(package_dir ${binmod})" || die
+ enodegyp_atom ${gypopts} build
+ x=${binmod##node-}
+ mkdir -p "${BUILD_DIR}/modules/${x}" || die
+ cp build/Release/*.node "${BUILD_DIR}/modules/${x}" || die
+ done
+
+ # Put compiled binary modules in place
+ _fix_binmods "${BUILD_DIR}/app" "apm"
+ _fix_binmods "${BUILD_DIR}/app" "node_modules"
+
+ # Remove non-Linux vendored ctags binaries
+ rm "${BUILD_DIR}/app/${ctags_d}/ctags-darwin" \
+ "${BUILD_DIR}/app/${ctags_d}/ctags-win32.exe" || die
+
+ # Re-pack app.asar
+ # Keep unpack rules in sync with build/tasks/generate-asar-task.coffee
+ cd "${BUILD_DIR}" || die
+ x="--unpack={*.node,ctags-config,ctags-linux,**/spec/fixtures/**,**/node_modules/spellchecker/**,**/resources/atom.png}"
+ xd="--unpack-dir=apm"
+ easar pack "${x}" "${xd}" "app" "app.asar"
+
+ rm -r "${BUILD_DIR}/app.asar.unpacked/apm" || die
+
+ # Replace vendored ctags with a symlink to system ctags
+ rm "${BUILD_DIR}/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+ ln -s "/usr/bin/ctags" \
+ "${BUILD_DIR}/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+}
+
+src_test() {
+ local electron="$(get_electron_dir)/electron"
+ local app="${BUILD_DIR}/app.asar"
+
+ virtx "${electron}" --app="${app}" --test "${app}/spec"
+}
+
+src_install() {
+ local install_dir="$(get_install_dir)"
+ local suffix="$(get_install_suffix)"
+
+ insinto "${install_dir}"
+
+ doins "${BUILD_DIR}/app.asar"
+ doins -r "${BUILD_DIR}/app.asar.unpacked"
+
+ insinto "${install_dir}/app"
+ doins -r "${BUILD_DIR}/app/apm"
+
+ insinto "/usr/share/applications/"
+ newins "${BIN_S}/usr/share/applications/$(get_atom_appname).desktop" \
+ "atom${suffix}.desktop"
+
+ insinto "/usr/share/icons/"
+ doins -r "${BIN_S}/usr/share/icons/hicolor"
+
+ exeinto "${install_dir}"
+ newexe "${BUILD_DIR}/app/atom.sh" atom
+ insinto "/usr/share/licenses/${PN}${suffix}"
+ doins "${BIN_S}/$(get_atom_rpmdir)/resources/LICENSE.md"
+ dosym "${install_dir}/atom" "/usr/bin/atom${suffix}"
+ dosym "${install_dir}/app/apm/bin/apm" "/usr/bin/apm${suffix}"
+
+ _fix_executables "${install_dir}/app/apm/bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/.bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/npm/bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/npm/bin/node-gyp-bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/node-gyp/bin"
+}
+
+# Helpers
+# -------
+
+# Return the installation suffix appropriate for the slot.
+get_install_suffix() {
+ local c=(${SLOT//\// })
+ local slot=${c[0]}
+ local suffix
+
+ if [[ "${slot}" == "0" ]]; then
+ suffix=""
+ else
+ suffix="-${slot}"
+ fi
+
+ echo -n "${suffix}"
+}
+
+# Return the upstream app name appropriate for $PV.
+get_atom_appname() {
+ if [[ "${PV}" == *beta* ]]; then
+ echo -n "atom-beta"
+ else
+ echo -n "atom"
+ fi
+}
+
+# Return the app installation path inside the upstream archive.
+get_atom_rpmdir() {
+ echo -n "usr/share/$(get_atom_appname)"
+}
+
+# Return the installation target directory.
+get_install_dir() {
+ echo -n "/usr/$(get_libdir)/atom$(get_install_suffix)"
+}
+
+# Return the Electron installation directory.
+get_electron_dir() {
+ echo -n "/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
+}
+
+# Return the directory containing appropriate Node headers
+# for the required version of Electron.
+get_electron_nodedir() {
+ echo -n "/usr/include/electron-${ELECTRON_SLOT}/node/"
+}
+
+# Run JavaScript using Electron's version of Node.
+enode_electron() {
+ "$(get_electron_dir)"/node $@
+}
+
+# Run node-gyp using Electron's version of Node.
+enodegyp_atom() {
+ local apmpath="$(get_atom_rpmdir)/resources/app/apm"
+ local nodegyp="${BIN_S}/${apmpath}/node_modules/node-gyp/bin/node-gyp.js"
+
+ PATH="$(get_electron_dir):${PATH}" \
+ enode_electron "${nodegyp}" \
+ --nodedir="$(get_electron_nodedir)" $@ || die
+}
+
+# Coffee Script wrapper.
+ecoffeescript() {
+ local cscript="${FILESDIR}/transpile-coffee-script.js"
+
+ # Disable shell glob expansion, as we want the coffee script
+ # transpiler to do that instead.
+ set -f
+ echo "ecoffeescript" $@
+ ATOM_HOME="${T}/.atom" ATOM_SRC_ROOT="${BUILD_DIR}/app" \
+ NODE_PATH="${BUILD_DIR}/app/node_modules" \
+ enode_electron "${cscript}" $@ || die
+ set +f
+}
+
+# asar wrapper.
+easar() {
+ local asar="${WORKDIR}/$(package_dir asar)/node_modules/asar/bin/asar"
+ echo "asar" $@
+ enode_electron "${asar}" $@ || die
+}
+
+# Return a $WORKDIR directory for a given package name.
+package_dir() {
+ local binmod="${1//-/_}"
+ local binmod_v="${binmod^^}_V"
+ echo -n ${1}-${!binmod_v}
+}
+
+# Check if there are patches for a given package.
+_have_patches_for() {
+ local _patches="${1}-*.patch" _find
+ _find=$(find "${FILESDIR}" -maxdepth 1 -name "${_patches}" -print -quit)
+ test -n "$_find"
+}
+
+# Tarballs on registry.npmjs.org are wildly inconsistent,
+# and violate the convention of having ${P} as the top directory name.
+# This helper detects and fixes that.
+_unpack() {
+ local a="${1}"
+ local b="${a%.tar.gz}"
+ local p="${b#atomdep-}"
+ local dir="$(tar -tzf "${DISTDIR}/${a}" | head -1 | cut -f1 -d'/')"
+
+ unpack "${a}"
+
+ if [[ "${dir}" != "${p}" ]]; then
+ # Set the correct name for the unpacked directory.
+ mv "${WORKDIR}/${dir}" "${WORKDIR}/${p}" || die
+ fi
+}
+
+# Check if the binary node module is actually a valid dependency.
+# Sometimes the upstream removes a dependency from package.json but
+# forgets to remove the module from node_modules.
+_is_valid_binmod() {
+ local mod
+
+ for mod in "${BINMODS[@]}"; do
+ if [[ "${mod}" == "${1}" ]]; then
+ return 0
+ fi
+ done
+
+ return 1
+}
+
+# Replace binary node modules with the newly compiled versions thereof.
+_fix_binmods() {
+ local _dir="${2}"
+ local _prefix="${1}"
+ local path
+ local relpath
+ local modpath
+ local mod
+ local f
+ local d
+ local cruft
+
+ (find "${_prefix}/${_dir}" -name '*.node' -print || die) \
+ | while IFS= read -r path; do
+ f=$(basename "${path}")
+ d=$(dirname "${path}")
+ relpath=${path#${_prefix}}
+ relpath=${relpath##/}
+ relpath=${relpath#W${_dir}}
+ modpath=$(dirname ${relpath})
+ modpath=${modpath%build/Release}
+ mod=$(basename ${modpath})
+
+ _is_valid_binmod "${mod}" || continue
+
+ # must copy here as symlinks will cause the module loading to fail
+ cp -f "${BUILD_DIR}/modules/${mod}/${f}" "${path}" || die
+ cruft=$(find "${d}" -name '*.a' -print)
+ if [[ -n "${cruft}" ]]; then
+ rm ${cruft} || die
+ fi
+ done
+}
+
+# Fix script permissions and shebangs to point to the correct version
+# of Node.
+_fix_executables() {
+ local _dir="${1}"
+ local _node_sb="#!$(get_electron_dir)"/node
+
+ (find -L "${ED}/${_dir}" -maxdepth 1 -mindepth 1 -type f -print || die) \
+ | while IFS= read -r f; do
+ IFS= read -r shebang < "${f}"
+
+ if [[ ${shebang} == '#!'* ]]; then
+ fperms +x "${f#${ED}}"
+ if [[ "${shebang}" == "#!/usr/bin/env node" || "${shebang}" == "#!/usr/bin/node" ]]; then
+ einfo "Fixing node shebang in ${f#${ED}}"
+ sed --follow-symlinks -i \
+ -e "1s:${shebang}$:${_node_sb}:" "${f}" || die
+ fi
+ fi
+ done || die
+}
diff --git a/app-editors/atom/atom-1.21.0.ebuild b/app-editors/atom/atom-1.21.0.ebuild
new file mode 100644
index 000000000000..bb5d91505c94
--- /dev/null
+++ b/app-editors/atom/atom-1.21.0.ebuild
@@ -0,0 +1,522 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# NOTE: this ebuild has been generated by atom-ebuild-gen.py from the
+# atom overlay.
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+inherit python-single-r1 multiprocessing rpm virtualx
+
+DESCRIPTION="A hackable text editor for the 21st Century"
+HOMEPAGE="https://atom.io"
+MY_PV="${PV//_/-}"
+
+ELECTRON_V=1.6.9
+ELECTRON_SLOT=1.6
+
+ASAR_V=0.13.0
+# All binary packages depend on this
+NAN_V=2.6.2
+
+CACHED_RUN_IN_THIS_CONTEXT_V=0.4.1
+CTAGS_V=3.0.0
+FS_ADMIN_V=0.1.6
+GIT_UTILS_V=5.0.0
+KEYBOARD_LAYOUT_V=2.0.13
+KEYTAR_V=4.0.4
+NSFW_V=1.0.16
+NSLOG_V=3.0.0
+ONIGURUMA_V=6.2.1
+PATHWATCHER_V=8.0.1
+SCROLLBAR_STYLE_V=3.2.0
+SPELLCHECKER_V=3.4.3
+SUPERSTRING_V=2.2.3
+
+# The x86_64 arch below is irrelevant, as we will rebuild all binary packages.
+SRC_URI="
+ https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/atom.x86_64.rpm -> atom-bin-${MY_PV}.rpm
+ https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> atom-${MY_PV}.tar.gz
+ https://github.com/elprans/asar/releases/download/v${ASAR_V}-gentoo/asar-build.tar.gz -> asar-${ASAR_V}.tar.gz
+ https://github.com/nodejs/nan/archive/v${NAN_V}.tar.gz -> nodejs-nan-${NAN_V}.tar.gz
+ https://registry.npmjs.org/cached-run-in-this-context/-/cached-run-in-this-context-0.4.1.tgz -> atomdep-cached-run-in-this-context-0.4.1.tar.gz
+ https://registry.npmjs.org/ctags/-/ctags-3.0.0.tgz -> atomdep-ctags-3.0.0.tar.gz
+ https://registry.npmjs.org/fs-admin/-/fs-admin-0.1.6.tgz -> atomdep-fs-admin-0.1.6.tar.gz
+ https://registry.npmjs.org/git-utils/-/git-utils-5.0.0.tgz -> atomdep-git-utils-5.0.0.tar.gz
+ https://registry.npmjs.org/keyboard-layout/-/keyboard-layout-2.0.13.tgz -> atomdep-keyboard-layout-2.0.13.tar.gz
+ https://registry.npmjs.org/keytar/-/keytar-4.0.4.tgz -> atomdep-keytar-4.0.4.tar.gz
+ https://registry.npmjs.org/nsfw/-/nsfw-1.0.16.tgz -> atomdep-nsfw-1.0.16.tar.gz
+ https://registry.npmjs.org/nslog/-/nslog-3.0.0.tgz -> atomdep-nslog-3.0.0.tar.gz
+ https://registry.npmjs.org/oniguruma/-/oniguruma-6.2.1.tgz -> atomdep-oniguruma-6.2.1.tar.gz
+ https://registry.npmjs.org/pathwatcher/-/pathwatcher-8.0.1.tgz -> atomdep-pathwatcher-8.0.1.tar.gz
+ https://registry.npmjs.org/scrollbar-style/-/scrollbar-style-3.2.0.tgz -> atomdep-scrollbar-style-3.2.0.tar.gz
+ https://registry.npmjs.org/spellchecker/-/spellchecker-3.4.3.tgz -> atomdep-spellchecker-3.4.3.tar.gz
+ https://registry.npmjs.org/superstring/-/superstring-2.2.3.tgz -> atomdep-superstring-2.2.3.tar.gz
+"
+
+BINMODS=(
+ cached-run-in-this-context
+ ctags
+ fs-admin
+ git-utils
+ keyboard-layout
+ keytar
+ nsfw
+ nslog
+ oniguruma
+ pathwatcher
+ scrollbar-style
+ spellchecker
+ superstring
+)
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ >=app-text/hunspell-1.3.3:=
+ >=dev-libs/libgit2-0.23:=[ssh]
+ >=dev-libs/libpcre2-10.22:=[jit,pcre16]
+ >=gnome-base/libgnome-keyring-3.12:=
+ >=dev-libs/oniguruma-5.9.5:=
+ >=dev-util/ctags-5.8
+ >=dev-util/electron-${ELECTRON_V}:${ELECTRON_SLOT}
+ x11-libs/libxkbfile"
+RDEPEND="
+ ${DEPEND}
+ !sys-apps/apmd
+"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+BIN_S="${WORKDIR}/${PN}-bin-${MY_PV}"
+BUILD_DIR="${S}/out"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ local a
+
+ for a in ${A} ; do
+ case ${a} in
+ *.rpm) srcrpm_unpack "${a}" ;;
+ *) _unpack "${a}" ;;
+ esac
+ done
+
+ mkdir "${BIN_S}" || die
+ mv "${WORKDIR}/usr" "${BIN_S}" || die
+}
+
+src_prepare() {
+ local install_dir="$(get_install_dir)"
+ local suffix="$(get_install_suffix)"
+ local nan_s="${WORKDIR}/nodejs-nan-${NAN_V}"
+ local patch
+ local binmod
+ local _s
+
+ mkdir "${BUILD_DIR}" || die
+ cp -a "${BIN_S}/$(get_atom_rpmdir)/resources/app" \
+ "${BUILD_DIR}/app" || die
+
+ # Add source files omitted from the upstream binary distribution,
+ # and which we want to include in ours.
+ cp -a -t "${BUILD_DIR}/app" "${S}/spec" || die
+
+ # Unpack app.asar
+ if [ -e "${BIN_S}/$(get_atom_rpmdir)/resources/app.asar" ]; then
+ easar extract "${BIN_S}/$(get_atom_rpmdir)/resources/app.asar" \
+ "${BUILD_DIR}/app"
+ fi
+
+ cd "${BUILD_DIR}/app" || die
+
+ eapply "${FILESDIR}/atom-python.patch"
+ eapply "${FILESDIR}/apm-python.patch"
+ eapply "${FILESDIR}/atom-unbundle-electron-r1.patch"
+ eapply "${FILESDIR}/atom-apm-path-r2.patch"
+ eapply "${FILESDIR}/atom-license-path-r1.patch"
+ eapply "${FILESDIR}/atom-fix-app-restart-r1.patch"
+ eapply "${FILESDIR}/atom-marker-layer-r1.patch"
+
+ sed -i -e "s|{{NPM_CONFIG_NODEDIR}}|$(get_electron_nodedir)|g" \
+ ./atom.sh \
+ || die
+
+ sed -i -e "s|{{ATOM_PATH}}|$(get_electron_dir)/electron|g" \
+ ./atom.sh \
+ || die
+
+ sed -i -e "s|{{ATOM_RESOURCE_PATH}}|${EROOT%/}${install_dir}/app.asar|g" \
+ ./atom.sh \
+ || die
+
+ sed -i -e "s|{{ATOM_PREFIX}}|${EROOT%/}|g" \
+ ./atom.sh \
+ || die
+
+ sed -i -e "s|^#!/bin/bash|#!${EROOT%/}/bin/bash|g" \
+ ./atom.sh \
+ || die
+
+ local env="export NPM_CONFIG_NODEDIR=$(get_electron_nodedir)\n\
+ export ELECTRON_NO_ASAR=1"
+ sed -i -e \
+ "s|\"\$binDir/\$nodeBin\"|${env}\nexec $(get_electron_dir)/node|g" \
+ apm/bin/apm || die
+
+ sed -i -e \
+ "s|^\([[:space:]]*\)node[[:space:]]\+|\1\"$(get_electron_dir)/node\" |g" \
+ apm/node_modules/npm/bin/node-gyp-bin/node-gyp || die
+
+ sed -i -e \
+ "s|atomCommand = 'atom';|atomCommand = '${EROOT%/}/usr/bin/atom${suffix}'|g" \
+ apm/lib/test.js || die
+
+ rm apm/bin/node || die
+
+ sed -i -e "s|/$(get_atom_rpmdir)/atom|${EROOT%/}/usr/bin/atom${suffix}|g" \
+ "${BIN_S}/usr/share/applications/$(get_atom_appname).desktop" || die
+
+ for binmod in ${BINMODS[@]}; do
+ _s="${WORKDIR}/$(package_dir ${binmod})"
+ cd "${_s}" || die
+ if _have_patches_for "${binmod}"; then
+ for patch in "${FILESDIR}"/${binmod}-*.patch; do
+ eapply "${patch}"
+ done
+ fi
+ done
+
+ cd "${BUILD_DIR}/app" || die
+
+ # Unbundle bundled libs from modules
+
+ _s="${WORKDIR}/$(package_dir git-utils)"
+ ${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+ --inplace --unbundle "git;libgit2;git2" \
+ "${_s}/binding.gyp" || die
+
+ _s="${WORKDIR}/$(package_dir oniguruma)"
+ ${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+ --inplace --unbundle "onig_scanner;oniguruma;onig" \
+ "${_s}/binding.gyp" || die
+
+ _s="${WORKDIR}/$(package_dir spellchecker)"
+ ${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+ --inplace --unbundle "spellchecker;hunspell;hunspell" \
+ "${_s}/binding.gyp" || die
+
+ _s="${WORKDIR}/$(package_dir superstring)"
+ ${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+ --inplace --unbundle \
+ "superstring_core;./vendor/pcre/pcre.gyp:pcre;pcre2-16; \
+ -DPCRE2_CODE_UNIT_WIDTH=16" \
+ "${_s}/binding.gyp" || die
+
+ for binmod in ${BINMODS[@]}; do
+ _s="${WORKDIR}/$(package_dir ${binmod})"
+ mkdir -p "${_s}/node_modules" || die
+ ln -s "${nan_s}" "${_s}/node_modules/nan" || die
+ done
+
+ sed -i -e "s|{{ATOM_PREFIX}}|${EROOT%/}|g" \
+ "${BUILD_DIR}/app/src/config-schema.js" || die
+
+ sed -i -e "s|{{ATOM_SUFFIX}}|${suffix}|g" \
+ "${BUILD_DIR}/app/src/config-schema.js" || die
+
+ eapply_user
+}
+
+src_configure() {
+ local binmod
+
+ for binmod in ${BINMODS[@]}; do
+ einfo "Configuring ${binmod}..."
+ cd "${WORKDIR}/$(package_dir ${binmod})" || die
+ enodegyp_atom configure
+ done
+}
+
+src_compile() {
+ local binmod
+ local x
+ local ctags_d="node_modules/symbols-view/vendor"
+ local jobs=$(makeopts_jobs)
+ local gypopts
+
+ # Transpile any yet untranspiled files.
+ ecoffeescript "${BUILD_DIR}/app/spec/*.coffee"
+
+ gypopts="--verbose"
+
+ if [[ ${MAKEOPTS} == *-j* && ${jobs} != 999 ]]; then
+ gypopts+=" --jobs ${jobs}"
+ fi
+
+ mkdir -p "${BUILD_DIR}/modules/" || die
+
+ for binmod in ${BINMODS[@]}; do
+ einfo "Building ${binmod}..."
+ cd "${WORKDIR}/$(package_dir ${binmod})" || die
+ enodegyp_atom ${gypopts} build
+ x=${binmod##node-}
+ mkdir -p "${BUILD_DIR}/modules/${x}" || die
+ cp build/Release/*.node "${BUILD_DIR}/modules/${x}" || die
+ done
+
+ # Put compiled binary modules in place
+ _fix_binmods "${BUILD_DIR}/app" "apm"
+ _fix_binmods "${BUILD_DIR}/app" "node_modules"
+
+ # Remove non-Linux vendored ctags binaries
+ rm "${BUILD_DIR}/app/${ctags_d}/ctags-darwin" \
+ "${BUILD_DIR}/app/${ctags_d}/ctags-win32.exe" || die
+
+ # Re-pack app.asar
+ # Keep unpack rules in sync with build/tasks/generate-asar-task.coffee
+ cd "${BUILD_DIR}" || die
+ x="--unpack={*.node,ctags-config,ctags-linux,**/spec/fixtures/**,**/node_modules/spellchecker/**,**/resources/atom.png}"
+ xd="--unpack-dir=apm"
+ easar pack "${x}" "${xd}" "app" "app.asar"
+
+ rm -r "${BUILD_DIR}/app.asar.unpacked/apm" || die
+
+ # Replace vendored ctags with a symlink to system ctags
+ rm "${BUILD_DIR}/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+ ln -s "${EROOT%/}/usr/bin/ctags" \
+ "${BUILD_DIR}/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+}
+
+src_test() {
+ local electron="$(get_electron_dir)/electron"
+ local app="${BUILD_DIR}/app.asar"
+
+ virtx "${electron}" --app="${app}" --test "${app}/spec"
+}
+
+src_install() {
+ local install_dir="$(get_install_dir)"
+ local suffix="$(get_install_suffix)"
+
+ insinto "${install_dir}"
+
+ doins "${BUILD_DIR}/app.asar"
+ doins -r "${BUILD_DIR}/app.asar.unpacked"
+
+ insinto "${install_dir}/app"
+ doins -r "${BUILD_DIR}/app/apm"
+
+ insinto "/usr/share/applications/"
+ newins "${BIN_S}/usr/share/applications/$(get_atom_appname).desktop" \
+ "atom${suffix}.desktop"
+
+ insinto "/usr/share/icons/"
+ doins -r "${BIN_S}/usr/share/icons/hicolor"
+
+ exeinto "${install_dir}"
+ newexe "${BUILD_DIR}/app/atom.sh" atom
+ insinto "/usr/share/licenses/${PN}${suffix}"
+ doins "${BIN_S}/$(get_atom_rpmdir)/resources/LICENSE.md"
+ dosym "${install_dir}/atom" "/usr/bin/atom${suffix}"
+ dosym "${install_dir}/app/apm/bin/apm" "/usr/bin/apm${suffix}"
+
+ _fix_executables "${install_dir}/app/apm/bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/.bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/npm/bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/npm/bin/node-gyp-bin"
+ _fix_executables "${install_dir}/app/apm/node_modules/node-gyp/bin"
+}
+
+# Helpers
+# -------
+
+# Return the installation suffix appropriate for the slot.
+get_install_suffix() {
+ local c=(${SLOT//\// })
+ local slot=${c[0]}
+ local suffix
+
+ if [[ "${slot}" == "0" ]]; then
+ suffix=""
+ else
+ suffix="-${slot}"
+ fi
+
+ echo -n "${suffix}"
+}
+
+# Return the upstream app name appropriate for $PV.
+get_atom_appname() {
+ if [[ "${PV}" == *beta* ]]; then
+ echo -n "atom-beta"
+ else
+ echo -n "atom"
+ fi
+}
+
+# Return the app installation path inside the upstream archive.
+get_atom_rpmdir() {
+ echo -n "usr/share/$(get_atom_appname)"
+}
+
+# Return the installation target directory.
+get_install_dir() {
+ echo -n "/usr/$(get_libdir)/atom$(get_install_suffix)"
+}
+
+# Return the Electron installation directory.
+get_electron_dir() {
+ echo -n "${EROOT%/}/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
+}
+
+# Return the directory containing appropriate Node headers
+# for the required version of Electron.
+get_electron_nodedir() {
+ echo -n "${EROOT%/}/usr/include/electron-${ELECTRON_SLOT}/node/"
+}
+
+# Run JavaScript using Electron's version of Node.
+enode_electron() {
+ "$(get_electron_dir)"/node $@
+}
+
+# Run node-gyp using Electron's version of Node.
+enodegyp_atom() {
+ local apmpath="$(get_atom_rpmdir)/resources/app/apm"
+ local nodegyp="${BIN_S}/${apmpath}/node_modules/node-gyp/bin/node-gyp.js"
+
+ PATH="$(get_electron_dir):${PATH}" \
+ enode_electron "${nodegyp}" \
+ --nodedir="$(get_electron_nodedir)" $@ || die
+}
+
+# Coffee Script wrapper.
+ecoffeescript() {
+ local cscript="${FILESDIR}/transpile-coffee-script.js"
+
+ # Disable shell glob expansion, as we want the coffee script
+ # transpiler to do that instead.
+ set -f
+ echo "ecoffeescript" $@
+ ATOM_HOME="${T}/.atom" ATOM_SRC_ROOT="${BUILD_DIR}/app" \
+ NODE_PATH="${BUILD_DIR}/app/node_modules" \
+ enode_electron "${cscript}" $@ || die
+ set +f
+}
+
+# asar wrapper.
+easar() {
+ local asar="${WORKDIR}/$(package_dir asar)/node_modules/asar/bin/asar"
+ echo "asar" $@
+ enode_electron "${asar}" $@ || die
+}
+
+# Return a $WORKDIR directory for a given package name.
+package_dir() {
+ local binmod="${1//-/_}"
+ local binmod_v="${binmod^^}_V"
+ echo -n ${1}-${!binmod_v}
+}
+
+# Check if there are patches for a given package.
+_have_patches_for() {
+ local _patches="${1}-*.patch" _find
+ _find=$(find "${FILESDIR}" -maxdepth 1 -name "${_patches}" -print -quit)
+ test -n "$_find"
+}
+
+# Tarballs on registry.npmjs.org are wildly inconsistent,
+# and violate the convention of having ${P} as the top directory name.
+# This helper detects and fixes that.
+_unpack() {
+ local a="${1}"
+ local b="${a%.tar.gz}"
+ local p="${b#atomdep-}"
+ local dir="$(tar -tzf "${DISTDIR}/${a}" | head -1 | cut -f1 -d'/')"
+
+ unpack "${a}"
+
+ if [[ "${dir}" != "${p}" ]]; then
+ # Set the correct name for the unpacked directory.
+ mv "${WORKDIR}/${dir}" "${WORKDIR}/${p}" || die
+ fi
+}
+
+# Check if the binary node module is actually a valid dependency.
+# Sometimes the upstream removes a dependency from package.json but
+# forgets to remove the module from node_modules.
+_is_valid_binmod() {
+ local mod
+
+ for mod in "${BINMODS[@]}"; do
+ if [[ "${mod}" == "${1}" ]]; then
+ return 0
+ fi
+ done
+
+ return 1
+}
+
+# Replace binary node modules with the newly compiled versions thereof.
+_fix_binmods() {
+ local _dir="${2}"
+ local _prefix="${1}"
+ local path
+ local relpath
+ local modpath
+ local mod
+ local f
+ local d
+ local cruft
+
+ (find "${_prefix}/${_dir}" -name '*.node' -print || die) \
+ | while IFS= read -r path; do
+ f=$(basename "${path}")
+ d=$(dirname "${path}")
+ relpath=${path#${_prefix}}
+ relpath=${relpath##/}
+ relpath=${relpath#W${_dir}}
+ modpath=$(dirname ${relpath})
+ modpath=${modpath%build/Release}
+ mod=$(basename ${modpath})
+
+ _is_valid_binmod "${mod}" || continue
+
+ # must copy here as symlinks will cause the module loading to fail
+ cp -f "${BUILD_DIR}/modules/${mod}/${f}" "${path}" || die
+ cruft=$(find "${d}" -name '*.a' -print)
+ if [[ -n "${cruft}" ]]; then
+ rm ${cruft} || die
+ fi
+ done
+}
+
+# Fix script permissions and shebangs to point to the correct version
+# of Node.
+_fix_executables() {
+ local _dir="${1}"
+ local _node_sb="#!$(get_electron_dir)"/node
+
+ (find -L "${ED}/${_dir}" -maxdepth 1 -mindepth 1 -type f -print || die) \
+ | while IFS= read -r f; do
+ IFS= read -r shebang < "${f}"
+
+ if [[ ${shebang} == '#!'* ]]; then
+ fperms +x "${f#${ED}}"
+ if [[ "${shebang}" == "#!/usr/bin/env node" || "${shebang}" == "#!/usr/bin/node" ]]; then
+ einfo "Fixing node shebang in ${f#${ED}}"
+ sed --follow-symlinks -i \
+ -e "1s:${shebang}$:${_node_sb}:" "${f}" || die
+ fi
+ fi
+ done || die
+}
diff --git a/app-editors/atom/files/apm-python.patch b/app-editors/atom/files/apm-python.patch
new file mode 100644
index 000000000000..0467beaf10ee
--- /dev/null
+++ b/app-editors/atom/files/apm-python.patch
@@ -0,0 +1,16 @@
+diff --git a/apm/bin/python-interceptor.sh b/apm/bin/python-interceptor.sh
+index 7ce1965..12cc72f 100755
+--- a/apm/bin/python-interceptor.sh
++++ b/apm/bin/python-interceptor.sh
+@@ -34,9 +34,9 @@ case $1 in
+ ARGS+=("--format=safemake.py")
+ fi
+
+- exec python "${ARGS[@]}"
++ exec python2 "${ARGS[@]}"
+ ;;
+ *)
+- exec python "$@"
++ exec python2 "$@"
+ ;;
+ esac
diff --git a/app-editors/atom/files/atom-1.13-apm-path.patch b/app-editors/atom/files/atom-1.13-apm-path.patch
new file mode 100644
index 000000000000..0dcb7914c669
--- /dev/null
+++ b/app-editors/atom/files/atom-1.13-apm-path.patch
@@ -0,0 +1,16 @@
+diff --git a/build/app/src/config-schema.js b/build/app/src/config-schema.js
+index 1307db6..d6a1ba4 100644
+--- a/build/app/src/config-schema.js
++++ b/build/app/src/config-schema.js
+@@ -21,6 +21,11 @@ var configSchema = {
+ core: {
+ type: 'object',
+ properties: {
++ apmPath: {
++ type: 'string',
++ 'default': '/usr/bin/apm{{ATOM_SUFFIX}}',
++ description: 'Path to apm executable.'
++ },
+ ignoredNames: {
+ type: 'array',
+ 'default': ['.git', '.hg', '.svn', '.DS_Store', '._*', 'Thumbs.db'],
diff --git a/app-editors/atom/files/atom-apm-path-r1.patch b/app-editors/atom/files/atom-apm-path-r1.patch
new file mode 100644
index 000000000000..c30987d8a300
--- /dev/null
+++ b/app-editors/atom/files/atom-apm-path-r1.patch
@@ -0,0 +1,16 @@
+diff --git a/src/config-schema.js b/src/config-schema.js
+index 39f0585..24ee2de 100644
+--- a/src/config-schema.js
++++ b/src/config-schema.js
+@@ -5,6 +5,11 @@ const configSchema = {
+ core: {
+ type: 'object',
+ properties: {
++ apmPath: {
++ type: 'string',
++ "default": '/usr/bin/apm{{ATOM_SUFFIX}}',
++ description: 'Path to apm executable.'
++ },
+ ignoredNames: {
+ type: 'array',
+ default: ['.git', '.hg', '.svn', '.DS_Store', '._*', 'Thumbs.db', 'desktop.ini'],
diff --git a/app-editors/atom/files/atom-apm-path-r2.patch b/app-editors/atom/files/atom-apm-path-r2.patch
new file mode 100644
index 000000000000..12234b6bab13
--- /dev/null
+++ b/app-editors/atom/files/atom-apm-path-r2.patch
@@ -0,0 +1,16 @@
+diff --git a/src/config-schema.js b/src/config-schema.js
+index 39f0585..24ee2de 100644
+--- a/src/config-schema.js
++++ b/src/config-schema.js
+@@ -5,6 +5,11 @@ const configSchema = {
+ core: {
+ type: 'object',
+ properties: {
++ apmPath: {
++ type: 'string',
++ "default": '{{ATOM_PREFIX}}/usr/bin/apm{{ATOM_SUFFIX}}',
++ description: 'Path to apm executable.'
++ },
+ ignoredNames: {
+ type: 'array',
+ default: ['.git', '.hg', '.svn', '.DS_Store', '._*', 'Thumbs.db', 'desktop.ini'],
diff --git a/app-editors/atom/files/atom-apm-path.patch b/app-editors/atom/files/atom-apm-path.patch
new file mode 100644
index 000000000000..7ee7cdb4a107
--- /dev/null
+++ b/app-editors/atom/files/atom-apm-path.patch
@@ -0,0 +1,14 @@
+--- a/build/app/src/config-schema.js
++++ b/build/app/src/config-schema.js
+@@ -9,6 +9,11 @@
+ core: {
+ type: 'object',
+ properties: {
++ apmPath: {
++ type: 'string',
++ "default": '/usr/bin/apm{{ATOM_SUFFIX}}',
++ description: 'Path to apm executable.'
++ },
+ ignoredNames: {
+ type: 'array',
+ "default": [".git", ".hg", ".svn", ".DS_Store", "._*", "Thumbs.db"],
diff --git a/app-editors/atom/files/atom-fix-app-restart-r1.patch b/app-editors/atom/files/atom-fix-app-restart-r1.patch
new file mode 100644
index 000000000000..f984d7841be9
--- /dev/null
+++ b/app-editors/atom/files/atom-fix-app-restart-r1.patch
@@ -0,0 +1,12 @@
+diff --git a/atom-application.js.orig b/atom-application.js
+index 92d985f..9a120e6 100644
+--- a/src/main-process/atom-application.js
++++ b/src/main-process/atom-application.js
+@@ -1178,6 +1178,7 @@
+ AtomApplication.prototype.restart = function() {
+ var args;
+ args = [];
++ args.push("--app=" + this.resourcePath);
+ if (this.safeMode) {
+ args.push("--safe");
+ }
diff --git a/app-editors/atom/files/atom-fix-app-restart.patch b/app-editors/atom/files/atom-fix-app-restart.patch
new file mode 100644
index 000000000000..1bfa1ed429a0
--- /dev/null
+++ b/app-editors/atom/files/atom-fix-app-restart.patch
@@ -0,0 +1,12 @@
+diff --git a/atom-application.js.orig b/atom-application.js
+index 92d985f..9a120e6 100644
+--- a/build/app/src/main-process/atom-application.js
++++ b/build/app/src/main-process/atom-application.js
+@@ -1178,6 +1178,7 @@
+ AtomApplication.prototype.restart = function() {
+ var args;
+ args = [];
++ args.push("--app=" + this.resourcePath);
+ if (this.safeMode) {
+ args.push("--safe");
+ }
diff --git a/app-editors/atom/files/atom-license-path-r1.patch b/app-editors/atom/files/atom-license-path-r1.patch
new file mode 100644
index 000000000000..c8d6ab9784f0
--- /dev/null
+++ b/app-editors/atom/files/atom-license-path-r1.patch
@@ -0,0 +1,11 @@
+--- a/src/main-process/atom-application.js
++++ b/src/main-process/atom-application.js
+@@ -406,7 +406,7 @@
+ this.openPathOnEvent('application:open-your-keymap', 'atom://.atom/keymap');
+ this.openPathOnEvent('application:open-your-snippets', 'atom://.atom/snippets');
+ this.openPathOnEvent('application:open-your-stylesheet', 'atom://.atom/stylesheet');
+- this.openPathOnEvent('application:open-license', path.join(process.resourcesPath, 'LICENSE.md'));
++ this.openPathOnEvent('application:open-license', '/usr/share/licenses/atom/LICENSE.md');
+ this.disposable.add(ipcHelpers.on(app, 'before-quit', (function(_this) {
+ return function(event) {
+ if (!_this.quitting) {
diff --git a/app-editors/atom/files/atom-license-path.patch b/app-editors/atom/files/atom-license-path.patch
new file mode 100644
index 000000000000..0ddf993448a5
--- /dev/null
+++ b/app-editors/atom/files/atom-license-path.patch
@@ -0,0 +1,11 @@
+--- a/build/app/src/main-process/atom-application.js
++++ b/build/app/src/main-process/atom-application.js
+@@ -406,7 +406,7 @@
+ this.openPathOnEvent('application:open-your-keymap', 'atom://.atom/keymap');
+ this.openPathOnEvent('application:open-your-snippets', 'atom://.atom/snippets');
+ this.openPathOnEvent('application:open-your-stylesheet', 'atom://.atom/stylesheet');
+- this.openPathOnEvent('application:open-license', path.join(process.resourcesPath, 'LICENSE.md'));
++ this.openPathOnEvent('application:open-license', '/usr/share/licenses/atom/LICENSE.md');
+ this.disposable.add(ipcHelpers.on(app, 'before-quit', (function(_this) {
+ return function(event) {
+ if (!_this.quitting) {
diff --git a/app-editors/atom/files/atom-marker-layer-r1.patch b/app-editors/atom/files/atom-marker-layer-r1.patch
new file mode 100644
index 000000000000..1dcdecbd4eba
--- /dev/null
+++ b/app-editors/atom/files/atom-marker-layer-r1.patch
@@ -0,0 +1,11 @@
+--- a/node_modules/text-buffer/lib/marker-layer.js
+--- b/node_modules/text-buffer/lib/marker-layer.js
+@@ -192,7 +192,7 @@
+ return function(markerId) {
+ var marker;
+ marker = _this.markersById[markerId];
+- if (!marker.matchesParams(params)) {
++ if (marker == null || !marker.matchesParams(params)) {
+ return;
+ }
+ return result.push(marker);
diff --git a/app-editors/atom/files/atom-marker-layer.patch b/app-editors/atom/files/atom-marker-layer.patch
new file mode 100644
index 000000000000..2d797aa293da
--- /dev/null
+++ b/app-editors/atom/files/atom-marker-layer.patch
@@ -0,0 +1,11 @@
+--- a/build/app/node_modules/text-buffer/lib/marker-layer.js
+--- b/build/app/node_modules/text-buffer/lib/marker-layer.js
+@@ -192,7 +192,7 @@
+ return function(markerId) {
+ var marker;
+ marker = _this.markersById[markerId];
+- if (!marker.matchesParams(params)) {
++ if (marker == null || !marker.matchesParams(params)) {
+ return;
+ }
+ return result.push(marker);
diff --git a/app-editors/atom/files/atom-python.patch b/app-editors/atom/files/atom-python.patch
new file mode 100644
index 000000000000..57a475ecce02
--- /dev/null
+++ b/app-editors/atom/files/atom-python.patch
@@ -0,0 +1,10 @@
+--- a/atom.sh
++++ b/atom.sh
+@@ -92,6 +92,7 @@
+ fi
+
+ ATOM_HOME="${ATOM_HOME:-$HOME/.atom}"
++ export PYTHON=python2
+ mkdir -p "$ATOM_HOME"
+
+ : ${TMPDIR:=/tmp}
diff --git a/app-editors/atom/files/atom-unbundle-electron-r1.patch b/app-editors/atom/files/atom-unbundle-electron-r1.patch
new file mode 100644
index 000000000000..85c0c64ab794
--- /dev/null
+++ b/app-editors/atom/files/atom-unbundle-electron-r1.patch
@@ -0,0 +1,45 @@
+From ea6d1be3558d7610ccc82b3a44dd30657a686639 Mon Sep 17 00:00:00 2001
+From: Elvis Pranskevichus <elvis@magic.io>
+Date: Thu, 27 Jul 2017 13:18:54 -0400
+Subject: [PATCH] Unbundle electron
+
+---
+ atom.sh | 13 ++++++-------
+ 1 file changed, 6 insertions(+), 7 deletions(-)
+
+diff --git a/atom.sh b/atom.sh
+index 6b0e94430..ea8e0dc2e 100755
+--- a/atom.sh
++++ b/atom.sh
+@@ -102,11 +102,10 @@ elif [ $OS == 'Linux' ]; then
+ SCRIPT=$(readlink -f "$0")
+ USR_DIRECTORY=$(readlink -f $(dirname $SCRIPT)/..)
+
+- if [ -n "$BETA_VERSION" ]; then
+- ATOM_PATH="$USR_DIRECTORY/share/atom-beta/atom"
+- else
+- ATOM_PATH="$USR_DIRECTORY/share/atom/atom"
+- fi
++ export NPM_CONFIG_NODEDIR="{{NPM_CONFIG_NODEDIR}}"
++ export ATOM_RESOURCE_PATH="{{ATOM_RESOURCE_PATH}}"
++ export LOCAL_GIT_DIRECTORY="{{ATOM_PREFIX}}/usr"
++ ATOM_PATH="{{ATOM_PATH}}"
+
+ ATOM_HOME="${ATOM_HOME:-$HOME/.atom}"
+ mkdir -p "$ATOM_HOME"
+@@ -116,11 +115,11 @@ elif [ $OS == 'Linux' ]; then
+ [ -x "$ATOM_PATH" ] || ATOM_PATH="$TMPDIR/atom-build/Atom/atom"
+
+ if [ $EXPECT_OUTPUT ]; then
+- "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
++ "$ATOM_PATH" --app="$ATOM_RESOURCE_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
+ exit $?
+ else
+ (
+- nohup "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
++ nohup "$ATOM_PATH" --app="$ATOM_RESOURCE_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
+ if [ $? -ne 0 ]; then
+ cat "$ATOM_HOME/nohup.out"
+ exit $?
+--
+2.13.3
diff --git a/app-editors/atom/files/atom-unbundle-electron.patch b/app-editors/atom/files/atom-unbundle-electron.patch
new file mode 100644
index 000000000000..296b17b0c157
--- /dev/null
+++ b/app-editors/atom/files/atom-unbundle-electron.patch
@@ -0,0 +1,45 @@
+From ea6d1be3558d7610ccc82b3a44dd30657a686639 Mon Sep 17 00:00:00 2001
+From: Elvis Pranskevichus <elvis@magic.io>
+Date: Thu, 27 Jul 2017 13:18:54 -0400
+Subject: [PATCH] Unbundle electron
+
+---
+ atom.sh | 13 ++++++-------
+ 1 file changed, 6 insertions(+), 7 deletions(-)
+
+diff --git a/atom.sh b/atom.sh
+index 6b0e94430..ea8e0dc2e 100755
+--- a/atom.sh
++++ b/atom.sh
+@@ -102,11 +102,10 @@ elif [ $OS == 'Linux' ]; then
+ SCRIPT=$(readlink -f "$0")
+ USR_DIRECTORY=$(readlink -f $(dirname $SCRIPT)/..)
+
+- if [ -n "$BETA_VERSION" ]; then
+- ATOM_PATH="$USR_DIRECTORY/share/atom-beta/atom"
+- else
+- ATOM_PATH="$USR_DIRECTORY/share/atom/atom"
+- fi
++ export NPM_CONFIG_NODEDIR="{{NPM_CONFIG_NODEDIR}}"
++ export ATOM_RESOURCE_PATH="{{ATOM_RESOURCE_PATH}}"
++ export LOCAL_GIT_DIRECTORY="/usr"
++ ATOM_PATH="{{ATOM_PATH}}"
+
+ ATOM_HOME="${ATOM_HOME:-$HOME/.atom}"
+ mkdir -p "$ATOM_HOME"
+@@ -116,11 +115,11 @@ elif [ $OS == 'Linux' ]; then
+ [ -x "$ATOM_PATH" ] || ATOM_PATH="$TMPDIR/atom-build/Atom/atom"
+
+ if [ $EXPECT_OUTPUT ]; then
+- "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
++ "$ATOM_PATH" --app="$ATOM_RESOURCE_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
+ exit $?
+ else
+ (
+- nohup "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
++ nohup "$ATOM_PATH" --app="$ATOM_RESOURCE_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
+ if [ $? -ne 0 ]; then
+ cat "$ATOM_HOME/nohup.out"
+ exit $?
+--
+2.13.3
diff --git a/app-editors/atom/files/gyp-unbundle.py b/app-editors/atom/files/gyp-unbundle.py
new file mode 100644
index 000000000000..370221380b64
--- /dev/null
+++ b/app-editors/atom/files/gyp-unbundle.py
@@ -0,0 +1,141 @@
+#!/usr/bin/env python2
+
+from __future__ import print_function
+
+
+import argparse
+import pprint
+import sys
+
+
+def die(msg):
+ print(msg, file=sys.stderr)
+ sys.exit(1)
+
+
+def do_unbundle(gypdata, targets):
+ gyptargets = {t['target_name']: t for t in gypdata['targets']}
+ dropped_deps = set()
+
+ def _unbundle_in_block(gypblock):
+ gypdeps = gypblock.get('dependencies') or {}
+
+ for dep, (libs, defines) in unbundlings.items():
+ if dep not in gypdeps:
+ continue
+
+ gypdeps.remove(dep)
+
+ try:
+ ls = gyptarget['link_settings']
+ except KeyError:
+ ls = gyptarget['link_settings'] = {}
+
+ try:
+ gyplibs = ls['libraries']
+ except KeyError:
+ gyplibs = ls['libraries'] = []
+
+ gyplibs.extend('-l{}'.format(lib) for lib in libs)
+
+ if defines:
+ try:
+ dd = gyptarget['defines']
+ except KeyError:
+ dd = gyptarget['defines'] = []
+
+ dd.extend(defines)
+
+ dropped_deps.add(dep)
+
+ gypconds = gypblock.get('conditions') or []
+ for cond in gypconds:
+ condblocks = cond[1:]
+ for condblock in condblocks:
+ _unbundle_in_block(condblock)
+
+ for target, unbundlings in targets.items():
+ if target not in gyptargets:
+ die('There is no {} target in gyp file'.format(target))
+
+ gyptarget = gyptargets[target]
+
+ _unbundle_in_block(gyptarget)
+
+ for gyptarget in gypdata['targets']:
+ if gyptarget['target_name'] in dropped_deps:
+ if gyptarget.get('dependencies'):
+ dropped_deps.update(gyptarget.get('dependencies'))
+
+ new_targets = []
+ for gyptarget in gypdata['targets']:
+ if gyptarget['target_name'] not in dropped_deps:
+ new_targets.append(gyptarget)
+
+ gypdata['targets'] = new_targets
+
+ gypconds = gypdata.get('conditions')
+ if gypconds:
+ for cond in gypconds:
+ condblocks = cond[1:]
+ for condblock in condblocks:
+ new_targets = []
+ blocktargets = condblock.get('targets')
+ if blocktargets:
+ for blocktarget in blocktargets:
+ if blocktarget['target_name'] not in dropped_deps:
+ new_targets.append(blocktarget)
+ condblock['targets'] = new_targets
+
+
+def main():
+ parser = argparse.ArgumentParser(description='Unbundle libs in gyp files')
+ parser.add_argument('gypfile', type=str, help='input gyp file')
+ parser.add_argument(
+ '--unbundle', type=str, action='append',
+ help='unbundle rule in the format '
+ '<target>;<dep>;<lib>[;lib][;-DMACRO]')
+ parser.add_argument(
+ '-i', '--inplace', action='store_true',
+ help='modify gyp file in-place')
+
+ args = parser.parse_args()
+
+ targets = {}
+
+ for unbundle in args.unbundle:
+ rule = list(filter(None, (i.strip() for i in unbundle.split(';'))))
+ if len(rule) < 3:
+ die('Invalid unbundle rule: {!r}'.format(unbundle))
+ target, dep = rule[:2]
+
+ defines = []
+ libs = []
+
+ for item in rule[2:]:
+ if item.startswith('-D'):
+ defines.append(item[2:])
+ else:
+ libs.append(item)
+
+ try:
+ target_unbundlings = targets[target]
+ except KeyError:
+ target_unbundlings = targets[target] = {}
+
+ target_unbundlings[dep] = libs, defines
+
+ with open(args.gypfile, 'rt') as f:
+ gypdata = eval(f.read())
+
+ do_unbundle(gypdata, targets)
+
+ if args.inplace:
+ with open(args.gypfile, 'wt') as f:
+ pprint.pprint(gypdata, stream=f)
+ else:
+ pprint.pprint(gypdata)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/app-editors/atom/files/transpile-coffee-script.js b/app-editors/atom/files/transpile-coffee-script.js
new file mode 100644
index 000000000000..c32e09cad92d
--- /dev/null
+++ b/app-editors/atom/files/transpile-coffee-script.js
@@ -0,0 +1,23 @@
+'use strict'
+
+const CompileCache = require(process.env.ATOM_SRC_ROOT + '/src/compile-cache')
+const fs = require('fs')
+const glob = require('glob')
+const path = require('path')
+
+module.exports = function () {
+ let paths = new Set()
+
+ for (let pattern of process.argv.slice(2)) {
+ for (let path of glob.sync(pattern, {nodir: true})) {
+ paths.add(path)
+ }
+ }
+
+ for (let path of paths) {
+ let jsPath = coffeePath.replace(/coffee$/g, 'js')
+ fs.writeFileSync(
+ jsPath, CompileCache.addPathToCache(coffeePath, process.env.ATOM_HOME))
+ fs.unlinkSync(coffeePath)
+ }
+}
diff --git a/app-editors/atom/metadata.xml b/app-editors/atom/metadata.xml
new file mode 100644
index 000000000000..8278b52b9728
--- /dev/null
+++ b/app-editors/atom/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>elvis@magic.io</email>
+ <name>Elvis Pranskevichus</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>cynede@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">atom/node-spellchecker</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/beaver/Manifest b/app-editors/beaver/Manifest
new file mode 100644
index 000000000000..2e1c30e21fc2
--- /dev/null
+++ b/app-editors/beaver/Manifest
@@ -0,0 +1,6 @@
+AUX beaver-0.4.1-desktop-file-validate.patch 541 SHA256 87297a819dc0b276987d912345ba33e0f4366ad24349411bc717f2d84bc72ad3 SHA512 17a1f673f3b7b9e283cb1d8ea33b387cf78f1a2623f2a8ae114960504db6c90afec980035ec5627584f144ec516f65b1c2a52880f0ad6114dbabff02031ba6d5 WHIRLPOOL 91985ae5da9c90afbcb434ecc11132feaa3a7c35693b72e6bfddaadd9052562802066ef1710077bec8a4e705c914a5eceaa52fb9e4a945fcba4228c9786a7274
+DIST beaver-0.4.1.tar.bz2 436321 SHA256 844a327a59f2de21e48e55176d45207036837f08935c3341ea963dc62a1531e3 SHA512 3000bed3aa2a67d6c38a68a7782a9d5423bcec0b8420272b0f0dade604c094a7b52058b43222af38d56313f0aa27998028c984f69340bf28eeaa8b8a93548a1e WHIRLPOOL a0ec8b443888380ba4f6923688a0119eef950d5b14d1d91328b3992c962eab1b32546ab65b8047410c114912d34f85b415ed4eed6d636d427453603724fafe80
+EBUILD beaver-0.4.1.ebuild 926 SHA256 fd407ccecd1974c17eff8ed069fd2452a0a1eb87f737152dcbf1c516ee531b75 SHA512 9ebbe07c0cbb89a13da8661d0f0d2860d5c158cbb39daefabe9690290998afc29ae4eecbc1c7d376db7ba0954a757ae02f50fa083ec4530f37bbad89a270b60a WHIRLPOOL e902b90199e67ea6a3265615df9ce5ff579e9b0a1858dc59d6820aecdaa929e48c251e94090f43cc50214a9f18e192d19ec378824e3ed018acdfaf58b9efc2f6
+MISC ChangeLog 2476 SHA256 b1e42c7bfee444c4d4a8eb714572d1b474fbe8bcb88d0f62e3dfb6635655d125 SHA512 ff7067bb76bac62294bda409007182f87cbc6cd901e886c2665cde6e832aad0c00d35073a08aeb6a8d1bdd9f8f47610e85e3c957dcd4358ef5f46ef81e4bea83 WHIRLPOOL 1b6a59027826c90730bff9728ce5fbe047c515959a9d27c675682621717ccce479bcd604553ace3dda1df41e61a5a43fb611fd5f594fa8145bbff03d3227e471
+MISC ChangeLog-2015 711 SHA256 a14f31abac9885b89700c1675e685b101719b9d0b719a64951b4ddf57f764173 SHA512 4478bcb47aa36cd8a0a98bcdf81a6eabffad1514af643fe666f58d7a32978d59e9512fa8f2e3045ae6c9b3a501c506250eef2e7a51502d7ed3b22aec76a7414c WHIRLPOOL 653363e1d5d53687d4ff7cf49639d0afccde4044217005fc7c2f4736708e6084c8755c2a7b76a365f76038956cfe000b063e0a58b6e621cfb2dc8f18e31be8d8
+MISC metadata.xml 359 SHA256 50bb2212f3ee49628236523f818504e94ce4ca6f2e9a4471310c38ab6a314a22 SHA512 7fec5e4168c877d16d8d744244e0aa3cfef4d6d219dc3485caeb21802de8aab2a00188572393b885ef7f8f7ed72b3bad3f5622ecf057347ce6969fb1d3fc5759 WHIRLPOOL ebad70a02575d33bfbd0f5fe9a66f20d43b066530e4cc16bbc494159e5ddff45d51d0355d6b2785011a381fd95c0795bd000c2a59ca2624d580a92d99cb4f730
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..88eebb1e378a
--- /dev/null
+++ b/app-editors/beaver/beaver-0.4.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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..086adea88901
--- /dev/null
+++ b/app-editors/beaver/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 type="project">
+ <email>desktop-misc@gentoo.org</email>
+ <name>Gentoo Desktop Miscellaneous Project</name>
+ </maintainer>
+ <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..5525fea01ea0
--- /dev/null
+++ b/app-editors/bluefish/Manifest
@@ -0,0 +1,12 @@
+AUX bluefish-2.2.9-charmap_configure.patch 728 SHA256 76d9175544300985460d70d761e438b6b5906c9f012295fd7b4286de4044ce4d SHA512 46482a73b6d374cdd5881e9ed7a79199c85cb436cc700950c09541a94d61fc4f200613a34575e74d013409f0e42a7c1df4ed25ed65880f25cbebd926d47c6889 WHIRLPOOL c4149a8acb058b4d8d4bb5438f18a00777499f254aeef15b6889eb6666f4c2d9b3037e2ddf2d85edc0dacc4f1d6449a642152da773a3f2c19d48ddd3d49980bd
+DIST bluefish-2.2.10.tar.bz2 4159964 SHA256 afeca12b693bb58e30c2199e6a21cc06da02d88e0ac9d08b7a231a9c8e7c3eb2 SHA512 ddfad4c595d371dfd7ca5551c1771c2d82dbffcc90acda31bbd2a048730e24e2d1e37fbe847e5005d96acefdf5f38cb93785d23817e59624ecd7ea10bfbc3aeb WHIRLPOOL bdc8153cb851b4083048799244d9964b06964d4da55ac79c5cfed665a5e118c9575b1b22e324476574e3cd03e03eafd01b440be74f4c3716365e76ce03d8b6b9
+DIST bluefish-2.2.6.tar.bz2 3793018 SHA256 54c2892c317eb2287c9fb0a3e29c3f19bef51d9ab0353bfb158e52a1cdae4216 SHA512 39dee296ec6bbe1a946f9fb1c54e7143363da4bb6ce52aee14c9bef906d2eb82e5e58f78680810357c0bfcb11c21f982756a9199fec2f454c2816005a4d9d83e WHIRLPOOL b0847ea74fdc388e9ddccf1a23e8802379d149b85c5010ff9a64b3e061b0c1999e1f1a5872404b8bad2b0024fcdb09db964dae2177092d770f56aca50628d146
+DIST bluefish-2.2.8.tar.bz2 4097769 SHA256 32578f955cee3f43e5b3a86e2588e6a679df94438b21dcbe38e3c82282745000 SHA512 0450909feb2370c1c84a214744f103bfe891086ba5f3ccc85060b4e134ee2161c3fde641720a3544a4d71c25f120a35925517cee4ffce6e2f07c778baa2cc5c1 WHIRLPOOL 0253e2176d68033c57db2ea1ec67c8e154722835652fe792e218a9430832ad40f67c360fc03f03e7317cda5d0fff7e83437cfd8543d58dbaf7b663ee4f68a77f
+DIST bluefish-2.2.9.tar.bz2 4082978 SHA256 5b717b563325bc6c2b6cb2700323c93eb08f914f204b322241d21744a079f7d0 SHA512 ef644b37907d308b908d508ad00069e48343cd240ca7703a20b4498eda73be1a97a6c07598f6e51d4fb1c0f2a380c86a274ccbbe046da01db6c4641e41e268ae WHIRLPOOL 4e03efbc1fef3b8064e042b8532f96cafdc95ba6350b86f2b7928b93ac11bde329a16822f71bb50912c8e27a75349e8768be89e14fa5186912a5f1a13eb4d14d
+EBUILD bluefish-2.2.10.ebuild 2656 SHA256 6b99d5524cb152c3a74d76ace5d29c807720b704aadc1f984a2610a66a8af6fd SHA512 c93e74f176233278a380b637dab5378515a30eae921a9272caa4209235ee959e69cca1c477bf14ef11a034ca9e4c56f8e3afe4d895729b2fd4d89603d5a29de9 WHIRLPOOL 1e6da498496df8d6865e04ed218e9905089813ac6804ef752aa8ed9e2f6236bb0c54e1bce7f490f18e5e2b2114e8308785143d52e4cadc88ded3c6b34f31ae08
+EBUILD bluefish-2.2.6.ebuild 2252 SHA256 10f90c59b019b5388e69f9e4da5930755aba4393013247a79dc5c71b6e3d8287 SHA512 de8c028ca5caef9bcbbc95fde54b38a79f548b2ec939364eb414ab29ce27e06b4e4dfba5a1757c83f196d65947ca50025cefebc76f844d6f8b5bf78d63f0e014 WHIRLPOOL 85e09a661ae516ce3ebeb936f22b6346064e8a59a0e2e6a1bddd4aa6c31f448c257afd302905931894a7030153ec954bb5af58f81328bd83f906a969060544d6
+EBUILD bluefish-2.2.8.ebuild 2496 SHA256 727c8f20c4c3896ca65a14a13b328a106c59b7fea1d22d62bd7763ab25736b7e SHA512 000ed3a4c617d9620b05f2e763f36beda2204b4ce91ec7b710087f2ba480efbfd48cbaead3c2d9029d3b4ec1e9eb4eccf5113c5146aae3dd6846485998b5b2e3 WHIRLPOOL f9e7a28cabb4e1fd5b1dd4a292f37de3d1033f0e6ce2e131e5976c83240e0b79cb69b48efdc7f33e6fa57d69edfadaedf32b77220f35c0727d038e3239dccc8e
+EBUILD bluefish-2.2.9.ebuild 2656 SHA256 6b99d5524cb152c3a74d76ace5d29c807720b704aadc1f984a2610a66a8af6fd SHA512 c93e74f176233278a380b637dab5378515a30eae921a9272caa4209235ee959e69cca1c477bf14ef11a034ca9e4c56f8e3afe4d895729b2fd4d89603d5a29de9 WHIRLPOOL 1e6da498496df8d6865e04ed218e9905089813ac6804ef752aa8ed9e2f6236bb0c54e1bce7f490f18e5e2b2114e8308785143d52e4cadc88ded3c6b34f31ae08
+MISC ChangeLog 3206 SHA256 5ebd57b0548cbf1cbf0a20e94ee3086ac605debacd687e7d3fbf9c9af4a9a831 SHA512 df6e980f7351b874feafa016250a6cfd7a7a63e5bd161c61a9b95e49cf03c5324dfb568f0f138bb3c6afc82213dae0044ab565e68df179ad816cdeedf864ddfc WHIRLPOOL 7aafadafddfe52cc5c0f495a9be8b3950b0a1596240505f062f163e15443c26ea3ddbf3a72e888cbb5ba1520ad74cf573559867caf41f8baefc370282bfdf413
+MISC ChangeLog-2015 13487 SHA256 e15e840b1908ae071aeff684384a2da2700f11cd087f2dad9c386a3819f85ad5 SHA512 ed13fba5237c6f22a6905e5df2ec9a65bd3b87e0d431eaf973c7a9e4ffdfb238a4768c4940f2d57c236569861eac9a3c96fb57c71e655021295a719485c3aec0 WHIRLPOOL eae9ae96b1f2e12f0a1c409fd271351e8024231541a68b307e64cec4e020e893fdea14111e47a2eb5cdd55cbc16d836f57099d3e7a388b9706c9993ad563fe81
+MISC metadata.xml 798 SHA256 c15db86b5ee93f9558e4ff3285345ad75598ea5854ce23437b2dc56b05d35d51 SHA512 f4c1796fa2fb953dc6dbfc4186a91558c4912ee9a6d85ed04b9afa6175afff5f0842b431957d9e90af3b8e0202b4db03a8d1f1f86b8bfdde70d7e911288e7c7a WHIRLPOOL dadf2eea849c014da62335b313613a949eef15575ec13f2947fcbe419880012d4d4486d304f505ba060de5d9a5f65bb842aac56b30b82466bde1d91d3f52e6f6
diff --git a/app-editors/bluefish/bluefish-2.2.10.ebuild b/app-editors/bluefish/bluefish-2.2.10.ebuild
new file mode 100644
index 000000000000..edf1fbd4866e
--- /dev/null
+++ b/app-editors/bluefish/bluefish-2.2.10.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools 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="+gtk3 gucharmap nls python spell"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ sys-libs/zlib
+ !gtk3? ( x11-libs/gtk+:2 )
+ gtk3? (
+ x11-libs/gtk+:3
+ gucharmap? ( gnome-extra/gucharmap:2.90 )
+ )
+ python? ( ${PYTHON_DEPS} )
+ spell? ( app-text/enchant )"
+DEPEND="${RDEPEND}
+ dev-libs/libxml2:2
+ >=dev-libs/glib-2.24: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() {
+ if ! use gtk3 && use gucharmap ; then
+ ewarn "gucharmap USE flag requires the gtk3 USE flag being enabled."
+ ewarn "Disabling charmap plugin."
+ fi
+
+ use python && python-single-r1_pkg_setup
+}
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.2.9-charmap_configure.patch"
+)
+
+# eautoreconf seems to no longer kill translation files.
+src_prepare() {
+ default
+ eautoreconf
+ sed -i 's:gzip -n $< -c:gzip -n -c $<:' data/bflib/Makefile.* || die "Cannot fix makefile"
+}
+
+src_configure() {
+ econf \
+ --disable-dependency-tracking \
+ --disable-update-databases \
+ --disable-xml-catalog-update \
+ $(use_with !gtk3 gtk2) \
+ $(usex gtk3 "$(use_with gucharmap charmap)" '--without-charmap') \
+ $(use_enable nls) \
+ $(use_enable spell spell-check) \
+ $(use_enable python)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
+
+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.6.ebuild b/app-editors/bluefish/bluefish-2.2.6.ebuild
new file mode 100644
index 000000000000..2c420dafef14
--- /dev/null
+++ b/app-editors/bluefish/bluefish-2.2.6.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+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.8.ebuild b/app-editors/bluefish/bluefish-2.2.8.ebuild
new file mode 100644
index 000000000000..bf84c0859b2e
--- /dev/null
+++ b/app-editors/bluefish/bluefish-2.2.8.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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="gtk2 +gtk3 gucharmap nls python spell"
+
+RDEPEND="
+ sys-libs/zlib
+ gtk2? ( x11-libs/gtk+:2 )
+ gtk3? ( x11-libs/gtk+:3 )
+ gucharmap? ( gnome-extra/gucharmap:2.90 )
+ python? ( ${PYTHON_DEPS} )
+ spell? ( app-text/enchant )"
+DEPEND="${RDEPEND}
+ dev-libs/libxml2:2
+ >=dev-libs/glib-2.24:2
+ virtual/pkgconfig
+ x11-libs/pango
+ nls? (
+ sys-devel/gettext
+ dev-util/intltool
+ )"
+
+REQUIRED_USE="
+ gtk2? ( !gtk3 !gucharmap )
+ gtk3? ( !gtk2 )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+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() {
+ default
+ 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_with gtk2 ) \
+ $(use_enable nls) \
+ $(use_enable spell spell-check) \
+ $(use_enable python)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
+
+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.9.ebuild b/app-editors/bluefish/bluefish-2.2.9.ebuild
new file mode 100644
index 000000000000..edf1fbd4866e
--- /dev/null
+++ b/app-editors/bluefish/bluefish-2.2.9.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools 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="+gtk3 gucharmap nls python spell"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ sys-libs/zlib
+ !gtk3? ( x11-libs/gtk+:2 )
+ gtk3? (
+ x11-libs/gtk+:3
+ gucharmap? ( gnome-extra/gucharmap:2.90 )
+ )
+ python? ( ${PYTHON_DEPS} )
+ spell? ( app-text/enchant )"
+DEPEND="${RDEPEND}
+ dev-libs/libxml2:2
+ >=dev-libs/glib-2.24: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() {
+ if ! use gtk3 && use gucharmap ; then
+ ewarn "gucharmap USE flag requires the gtk3 USE flag being enabled."
+ ewarn "Disabling charmap plugin."
+ fi
+
+ use python && python-single-r1_pkg_setup
+}
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.2.9-charmap_configure.patch"
+)
+
+# eautoreconf seems to no longer kill translation files.
+src_prepare() {
+ default
+ eautoreconf
+ sed -i 's:gzip -n $< -c:gzip -n -c $<:' data/bflib/Makefile.* || die "Cannot fix makefile"
+}
+
+src_configure() {
+ econf \
+ --disable-dependency-tracking \
+ --disable-update-databases \
+ --disable-xml-catalog-update \
+ $(use_with !gtk3 gtk2) \
+ $(usex gtk3 "$(use_with gucharmap charmap)" '--without-charmap') \
+ $(use_enable nls) \
+ $(use_enable spell spell-check) \
+ $(use_enable python)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
+
+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/files/bluefish-2.2.9-charmap_configure.patch b/app-editors/bluefish/files/bluefish-2.2.9-charmap_configure.patch
new file mode 100644
index 000000000000..0e97e38c59f5
--- /dev/null
+++ b/app-editors/bluefish/files/bluefish-2.2.9-charmap_configure.patch
@@ -0,0 +1,29 @@
+--- bluefish-2.2.9/configure.ac
++++ bluefish-2.2.9/configure.ac
+@@ -504,7 +504,15 @@
+ AC_MSG_RESULT([no])
+ fi
+
++AC_ARG_WITH(
++ [charmap],
++ AC_HELP_STRING(
++ [--with-charmap],
++ [Build the charmap plugin if gucharmap is available @<:@default=yes@:>@]
++ )
++)
+
++if test "x$with_charmap" != "xno"; then
+ # optionally build the charmap plugin if gucharmap is available
+ AC_MSG_NOTICE([checking for optional libgucharmap development files])
+ if test "x$with_gtk3" != "xno"; then
+@@ -544,6 +552,10 @@
+ )]
+ )
+ fi
++else
++ build_charmap_plugin=no
++ AC_MSG_WARN([Disabling the building of the charmap plugin.])
++fi
+ AM_CONDITIONAL([ENABLE_CHARMAP_PLUGIN], [test "x$build_charmap_plugin" = "xyes"])
+
+ AC_SEARCH_LIBS([log10], [m])
diff --git a/app-editors/bluefish/metadata.xml b/app-editors/bluefish/metadata.xml
new file mode 100644
index 000000000000..53a0d5107dcf
--- /dev/null
+++ b/app-editors/bluefish/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sdnick484@gmail.com</email>
+ <name>Nick Andrade</name>
+ <description>Active Maintainer, Assign bugs</description>
+ </maintainer>
+<maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+<use>
+ <flag name="gtk2">Enable GTK2 instead of GTK3 even if GTK3 is available</flag>
+ <flag name="gtk3">Enable GTK3 interface (default)</flag>
+ <flag name="gucharmap">Enable gucharmap dictionary plugin</flag>
+ <flag name="python">Enable Python integration for zen-coding plugin</flag>
+ <flag name="spell">Enable spell checking capabilities via enchant library</flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/bvi/Manifest b/app-editors/bvi/Manifest
new file mode 100644
index 000000000000..49abeeb49148
--- /dev/null
+++ b/app-editors/bvi/Manifest
@@ -0,0 +1,9 @@
+AUX bvi-1.3.2-fix-buffer-overflow.patch 622 SHA256 5729f4d044bfa1036d16c236d2400150a1168431cfdc8cf12006c358928ac6f1 SHA512 87549381d8c9ef76c4153917faabe2b814dab9ecfb59e9b0cf75be5d02b917fd88266ad5e846982c8d40b80b3304f7efc912bd13f83f48e7a411f663cb10a28d WHIRLPOOL a26b879cc23428852eccf661dbf6d596b3f62817ba6e0f270f44d83cffff618ab0f4da72f250a34d00a3396855789164b95d5ddeb880d6e85e90968708b6442e
+AUX bvi-1.3.2-tinfo.patch 1342 SHA256 2531f2ee9ebc3bb8cb6e675e6fdb9825ea870a1cab33ccffc3acf5084911f6c4 SHA512 0ebb9dd499f1959eb760f84a15f2ebeb98b60a576459d05f1280ff48b94ac167d5e5a1dc5877f69198e1fc91e7d3a652a6e4a1fc49fb94395191cbadf07d7cc7 WHIRLPOOL ae29c0c19f9d4f3ccee863ae4f65e966c45a79714a73952c8cf3b547dc30f8d315a60edcd62234836a60c29dc587b312ee216acc656ffed5fa3804d7678b846a
+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
+EBUILD bvi-1.3.2-r2.ebuild 1165 SHA256 0600a64952cc22ed64be0a94d9c5b08bea94b6d98dc14aa4274ce55d3156ca19 SHA512 cac249798af37841330e91e49d74d6badb65d8df69aa0512721bd3d47c8961e2c0a940efed31569863767485917d9ce3c42ee888a244a60a229920241b987002 WHIRLPOOL 9ac1d0063c12d2ebb435e060fd40832cc78a6ace8ed5212517ab459232354e088a791c413cf122228ca7fa752344b3cd51a7d5d3ce5b175d1f95f13ae974ed72
+EBUILD bvi-1.4.0_alpha.ebuild 1058 SHA256 0e6ed4d21f8e56398338824203d892f838da80618f6366a625d4d55db4c300c7 SHA512 065cad807372427e57158a12ec5ca095dd7a63a54db8e3a79a607766f79edd05e589b82606261d963eebdac37c3dfb87404bfc4b09106e299d435ef925b3b9cf WHIRLPOOL 813963a9ac29ca8b9445929ae1f8ac5c8575b20e6fff7e42273780082f459604d53948c7a0264a766cc28d23d081ecb6aacaa953309c71a5677f100f229f89b0
+MISC ChangeLog 2305 SHA256 cbdecf8b4b2c4d8c06e64cc8baee6fca6eb8452a387ade82971e91beb72d36de SHA512 9ead3b752a430aa31197ca2c71441817ea7c090c1884798800c9ede142596869f2ce3e4a6dddb613963fe005c6e25a916d72e6630908fdd83f3555632b377f55 WHIRLPOOL b2ceab4de36c6e623c1fa995da571a598953cda40f0d2b00dc35140c321349fac941e3aafaefa713fd8d78caffbc1c040b9333c94100ae929dd87ee2b8ac48dd
+MISC ChangeLog-2015 3098 SHA256 3df2061ea7952a1eef3f4e0a49c81e0dbd9d9796b0071bc01c51c69405bcafee SHA512 c044ee504af2b0097182aee7be5322f7d47319cbee237a9682f261a7c1663fa181b47063ea89a5c258193659101d3474259ba7f95e39e4f3dc3437e647ebe82b WHIRLPOOL 7d630958ada0ae817913a15e768ad5e86fcc1477fda76f2c300d4371f84f2cc058f60b17686bd3c337abb92f36e957b4eeb65bd2311cb43ebdae9f68180c90a6
+MISC metadata.xml 315 SHA256 03e10850ec3c9829a3b6d9d4ffaa4d1f969051cfc1241b72a0c5710158781d5b SHA512 d1f861b92b72cdbea9acc1bd9557da9dae3f771bb7dfdd5eeafe0da9ac4f9f9766fd20eeadffca7d8425e79a87f01d019c618314eb63a0493051c589c7378a68 WHIRLPOOL 2816696b6249d13fb2afd34fd8849834fd8651149038ec8499424c827a0fd8c8b11ca2d02e967d0c0e4187daced076083cc07cc292e6518bf691805a419d47db
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..1f7611c79ba0
--- /dev/null
+++ b/app-editors/bvi/bvi-1.3.2-r2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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 ~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..6c63395f9c09
--- /dev/null
+++ b/app-editors/bvi/bvi-1.4.0_alpha.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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 ~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..71c450e2a5e7
--- /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 type="person">
+ <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..5934454ccd6c
--- /dev/null
+++ b/app-editors/cooledit/Manifest
@@ -0,0 +1,12 @@
+AUX cooledit-3.17.17-asneeded.patch 502 SHA256 fc0b88b6eb900bb46cb1a06012242c24dd31196da66efc47fac7deb8ab4b7836 SHA512 36a871202307e670888a23a974a46e0fb86cacbea507d4c76e162181ed5c909cafdd172da03c668d968103c7988924ec1c681c422a2b9b9e1ddaec5cf84a3767 WHIRLPOOL b944c6a65b600b91594308b5e57a70dead3a3c6d97ae920698141d81bddc8489f35c8a46728edeede41660e2142c3195c7453c9c886134a73c5eb856032b0e7d
+AUX cooledit-3.17.17-copy.patch 772 SHA256 e3fcba15c529a4f6374e171b046b3c578044a0722fc362e0041b053c3c7a5a22 SHA512 a72a63ea39cc9897319889e2dd5ce9ae09ef54227b1fbba14e3169b48895261b0e1269b4245956d38ba6994848e7c4a72b6a75a5fe457b215eb7361d0638e2cd WHIRLPOOL 83745e9e9134cff27db6087a885656a636d6bbb0a20153846db3349bc227e7251f0ce07e7b13d79e85126a60904d73ab6e8414b69097a99c84b95ce665c658c8
+AUX cooledit-3.17.17-gcc4.patch 682 SHA256 e8ef6bf8d3ef355b7f560b35595e149258c1d7a51c13c66b1f37e7ff1751c48a SHA512 c5dedb8db56b3a9dc336668ea5985ea083c0eb3af0261ca1f246d5769bd84d968a02b3d8181c991bfa95f9c5a4432e20013929cc543a4fbc7723199b56f8316b WHIRLPOOL 0b586cb4929c935fbf848ee576110b4c88746ca68be50136d1078fd48c261a71090ec1f56ee38ac03b2ea6fcab1ce569a222696536778aa4badbef3aece9fea3
+AUX cooledit-3.17.17-implicit_declarations.patch 1261 SHA256 0d4fb9bb935a0ca527e61de653e29ea3b0a9eb2365511c71f5c466c6bcce3789 SHA512 10b763cebe98d47282e2fd885c47ca5141642ddc7a841a32312dae82f95591549340a9c78095000ec1e1c5920d9d0c5c1236057d82f3aaebafa1a58f3876752e WHIRLPOOL 27d145c5918b5aa53e386dc02067a26369e8a766ac6721f9b656b339d47c8c7590ee43b7ec8ec9f1790cdb3ea213b7b1ccdd8dde090fdbc71701470f0ed95d96
+AUX cooledit-3.17.17-interix.patch 1120 SHA256 d4d22086f844ea7e71abb1bc72deaad4bb3335b8ce053b9df2f4fbc48fef5db1 SHA512 66fd727c851f7aa73338eb3cb56624b4b71227ddd1e93f2a3ce8ba82154778248e3e4c05a8c602276bbb6168549b628cab4f4dcbc2d3463064981f4680a37d11 WHIRLPOOL 19e10ef7ec962e4678f99e3f1df45785c6fc0cc5de8ec066850792eb941a988084772ef30e6b70df7b0b20d58771a705c2c2d63a8da1da32ba7952edc422f0c2
+AUX cooledit-3.17.17-interix5.patch 464 SHA256 8e0084fa27b5ce46d5e3ee30078924f4ac1b89481ae52ccbec2f126e28bd219d SHA512 19dc7269c583bb95ba92113c5570d221680205395670fe7058cd001e0337b0259e53547093807dd1b4f9ed3d9ca587cada5340cad29eca509a1ae1861785e987 WHIRLPOOL e4348dccf5a7d2a55f82174c1c44bfe0881e80b1c0805770c809e3b17e22cc3d98507978aeeedfd406d2821ffbc0fc3447c3442e3c9b39daedb7c1fde8ebef8c
+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
+EBUILD cooledit-3.17.17-r1.ebuild 1294 SHA256 277a3c274486a38e06270ea1c1f0188728a9659b5927c3866a759d083fbd32c5 SHA512 ee95719dcad736b4ac1a05107b28148cf9b7881e922e9c7db5ef2aacc85bc4be192cbe960fd88b0f5ae216dda63f86a7b47105a0c86adf9732eda2e49d5b63de WHIRLPOOL 90d6babca1a24562fe25071f490c2d2568f9b03495ca83a08d34c161113a72b8e0b7c5f1d23a72c71d4e2bdfef0d9b9f21a9be2de75b04d712478c0273bc33f3
+MISC ChangeLog 2820 SHA256 116881688c3968a4b70b4d9a217162289f7c164f58a542d62e1d743b29d3c84a SHA512 5f58f14ade26993d5fcf59063f5f8af8cff0f55a5e1737ffde01b9866b1ba5158a652edfbd81d497114b2d650a92890b7b9e1e9e89319098bcd34e93522ef61f WHIRLPOOL f5a5e2aeca4f1dc0fd1ba9bab3f87a7b4b240608817ddea0255a68fa20e13074cd3bd92a9910493b6cc371b31c3853144fa8f41dede5f0732a5c63a5e72e8ec0
+MISC ChangeLog-2015 4883 SHA256 e37927de5b7e4b8359f5cfd68998dd3bd62f0b2bd6a5a4fd3b8df760d1a4824b SHA512 d4fef06d0a70debd0072f98f42a7297832e8d2374e83012baf90a00c0f3fce6bf9419c310d82bd4394a8bb4547baefdd7bb1a9561697d0e788452fe744cc1bb3 WHIRLPOOL 55049179151906519bdb079e16b9f704bc7f3b6ced7735fc3b6c50d9ccf6486bf058a1170b0dde02e52886fb3cd7b927f3d7d559ba13a9e70b2ab70bc2a9eab7
+MISC metadata.xml 243 SHA256 889352a60c40b4989df960d3c792cd25a8efbaa4206b577b907ced4fff86ce16 SHA512 1cad578d264fc42a741bbcceb659376975e7f5c591f463ef6c0afb9b842e2417bd8772b17ae9eaa4127e31abf5fc2f958b7f0ee7ec23da67d64f50ba6e0fda39 WHIRLPOOL 948083a451a35ea190362eac268c70499b4683b8ee1483bbc0fd8d8fb59dacb6282a9d654ea28373b637ee464560cb8c924bd074d7b52a4aef425efa7b3af4e0
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..149ee82675d7
--- /dev/null
+++ b/app-editors/cooledit/cooledit-3.17.17-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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
+ https://dev.gentoo.org/~hwoarang/distfiles/${P}-nopython.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ppc x86 ~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..504380650de6
--- /dev/null
+++ b/app-editors/cooledit/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="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..bf23a31cdc78
--- /dev/null
+++ b/app-editors/curses-hexedit/Manifest
@@ -0,0 +1,6 @@
+AUX curses-hexedit-0.9.7-ncurses-pkg-config.patch 964 SHA256 8add4e88d67471c0ff4ff4a35204cab0557a82d3e1fcd0f7fbea6bd09f00b828 SHA512 33efc29f64b9556e761f84d425b1e3c6207c06ecdac0499c9ce4fc1fe9023dbb06245987e8d4f23a6149607d033d1b6a22bf2e7cb5904f83a258cf0e91e56cda WHIRLPOOL d6b32c82f51527646fdf03103ad2c83082668d407e2ecdca6e33c53cf383618a90f078bdafd5155a205d9050872136a0bc1bc6d8e0302de94bf407ec8482246d
+DIST hexedit-0.9.7.tar.gz 165110 SHA256 3d15ab33dae9014180cc3d54636aaab4d9c88257f7a2d1cfda490d1bfa6e043a SHA512 b11b28538900f6e66a9efcca14cd8c2a312c29cea98c6ea5018cd3423e12876a9a4d0bf6dc4f94e7cb02e8bc8d3a406e6bccca7fa7dcbab2e4b717ee2fd826da WHIRLPOOL 24c22d7dc8906610f868c511d524e84dcc64d8900ea845e62d7eb3b26e07966cff6d5008c39f060eab87cfd6ece2f526aad4c375e2eebd25c109d8aafb244b25
+EBUILD curses-hexedit-0.9.7.ebuild 726 SHA256 5757e4c7f56f7ab25cf395f8b604f61d1eb2e25a1e0b31775d0544cb44dda8c8 SHA512 7f4631bacfdb9c2a3a3f8910c27caee77ab087de74a585c7527fd72d779700493bb73cb19eb8979dd3727394dfd2c73c36d50853f7c5587cdf36a11b3ac7356f WHIRLPOOL a9d93e2f5e62611d662d8280433aeabe7f4cae57bfad3ce3c76b5c284d53d95cb478f734ce1486543e8db0b71a0c792170c91b81d117a3ee649f835a01296d8d
+MISC ChangeLog 2748 SHA256 25260d0e57afebe8692e399e9a1c7bc0b2389393d1b71f85038e901719da0fec SHA512 1240072e6a8c54fe9101307b9b1b67f968f5c763f649f5a87347841a4ba7296d76104dc6e0ca22d4ae3545d7ddc62d802fa51d2ab59ab0ea5799f7b546c2d47b WHIRLPOOL d0c2adeb42e62711343dc0e0a483d2482700d70eba9db6c32dc770cee1dfd1224e64ff1cf040e3aa9000415fad6c8ca6106530ada5b2bde0518fcc5b2b968405
+MISC ChangeLog-2015 502 SHA256 373a49c8a1cd00ebeddd11df124094c2d95f46f10991a9b22876f85af70c15a8 SHA512 d24e6df86760f11817fcabf6f68f50b0c7b6d1693740272c9b0dd0d98011f00acda343632bcdf812f87650524bb71e6ed0bceb8f37aeb69348cb59eba89a0e22 WHIRLPOOL 92384856ba158dceb45cced284425bbba37b3ebf8b32ce2012a4a0f3fc1b965d1000316c56e79c5a84373e47a5f4b754d8c7c123167eedb6b55b6c627111efdb
+MISC metadata.xml 214 SHA256 d6339a92715ade5f609951c445c03024adbfecbca53a9cb232c6838c8ded201e SHA512 ac8342ba1f8eaf027f23e677b348b4da59f5d6b0d9ddf434def5413c6f7c9b3d803fe2c8141fd7aaf8c8d9ac2a0fe800e3d0c41017c28dbd9104e34f83ca24f7 WHIRLPOOL 5c05dce3362f17da9c9478ea9ad10b392d6fb5ec493b4904abff61ebc4e4b838fd5f77abfbea0f9ccd334027105ada679f392cd1a0940d3a28f0c6af1c99e375
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..7eddb2375aaf
--- /dev/null
+++ b/app-editors/curses-hexedit/curses-hexedit-0.9.7.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# There's already a "hexedit" package in the tree, so name this one differently
+
+EAPI="5"
+
+inherit toolchain-funcs eutils autotools
+
+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_prepare() {
+ epatch "${FILESDIR}"/${P}-ncurses-pkg-config.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf --program-prefix=curses-
+}
diff --git a/app-editors/curses-hexedit/files/curses-hexedit-0.9.7-ncurses-pkg-config.patch b/app-editors/curses-hexedit/files/curses-hexedit-0.9.7-ncurses-pkg-config.patch
new file mode 100644
index 000000000000..94d6263589cf
--- /dev/null
+++ b/app-editors/curses-hexedit/files/curses-hexedit-0.9.7-ncurses-pkg-config.patch
@@ -0,0 +1,34 @@
+use pkg-config to locate ncurses rather than a library search
+
+--- a/configure.in
++++ b/configure.in
+@@ -19,14 +19,9 @@
+ AC_HEADER_STDC
+ AC_PROG_GCC_TRADITIONAL
+
+-AC_CHECK_HEADERS(ncurses.h)
+-if test "$ac_cv_header_ncurses_h" = "no"; then
+- AC_CHECK_HEADERS(curses.h)
+- if test "$ac_cv_header_curses_h" = "no"; then
+- echo "*** Cannot find Curses headers, probably not installed"
+- echo "*** Hexedit will not run without the curses library"
+- fi
+-fi
++PKG_CHECK_MODULES(NCURSES, ncurses)
++CFLAGS="$CFLAGS $NCURSES_CFLAGS -DHAVE_NCURSES_H=1"
++LIBS="$LIBS $NCURSES_LIBS"
+
+ AC_CHECK_HEADERS(fcntl.h getopt.h limits.h sys/ioctl.h unistd.h)
+ AC_HEADER_DIRENT
+@@ -96,11 +91,4 @@ else
+ fi
+ fi
+
+-AC_CHECK_LIB(ncurses, newwin, ,
+- AC_CHECK_LIB(curses, newwin), ,
+- echo "Hexedit requires the curses library"
+- echo "Ncurses is freely available: ftp://ftp.gnu.org/pub/gnu/"
+- exit 1)
+-
+-
+ AC_OUTPUT(Makefile docs/Makefile gnu/Makefile src/Makefile)
diff --git a/app-editors/curses-hexedit/metadata.xml b/app-editors/curses-hexedit/metadata.xml
new file mode 100644
index 000000000000..1021f53d6e8c
--- /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 type="person">
+ <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..61f88fdd48ad
--- /dev/null
+++ b/app-editors/dav/Manifest
@@ -0,0 +1,9 @@
+AUX dav-0.8.5-asneeded.patch 318 SHA256 a20f1e1965ef7e9d5dd68c514b538733e949144a793913153c1cf4f3d18ccd1a SHA512 06ad6057354af941512e6c77f59cd9c30a7192c01fdce65d5d66e15fb99476429092f0587130162b78f22ca72354af8925735733c142a889a478c8a07384138f WHIRLPOOL f7f32dce5ca527fb6c09ec61367fc2de8769f375610d7d258bbd2874bc874fbf249b0bb2715511a79d96bfa19081ecfe196c3e8b5a5b3c072c8ce964c3e1f924
+AUX dav-0.8.5-davrc-buffer-overflow.patch 246 SHA256 5f0eb25c62b4b6bef694d7691ec6f525d66c7f5f71b15d8752f3df3c394a4c68 SHA512 36c8e336adc3cdb053af61ea53bf497073d197e67957f2ad011f7199c1518deb08f5fcfffa4ff14c49139f6bab01303332c8c15e5944245696dbc62dceff116c WHIRLPOOL d53dfa76d7a241cf3b770347bbe8df2deff12f49c9f9e90f2f1e80839fb03cbd0aba3a7ffaad9d622b9a8913259e7176002984c5de96115905af066ae11a1b7f
+AUX fix-Wformat-security-warnings.patch 1179 SHA256 e2af06615aee874426a97fe42dc1bef016d6c6c79954b8c25db15b72f118ad1d SHA512 c5665be995e718a460b6c75ae3843104721a58c2d4a5321659d8527034f413d433fdd1140b14d6a8587f298a2e4935f8a07579071e5aa5d6fa49e125da5e4895 WHIRLPOOL e39ca3dcb6768ce3336b20ace4790438518206d6cf9ff8a1fb75be34d302ca7b9417fdc56c88cb06f08448d20808f225d2663934a0d7d4f24ce2e13b82b7d2c5
+DIST dav-0.8.5.tar.gz 22824 SHA256 af3835c31f7fb28815bc9b5fcc76e229d0e389d13b178858d120664af486a9ba SHA512 cdedff875df392e8525399b40d45cdf4e984b1b014f03d9f5cd5be270eebe0003fcf48e9738f6ac2789138973970bb9fe6d0b8babd20c1df61e193f84ee066b3 WHIRLPOOL 049684e2846f9bbbd8b0cab97689f69adfff2067485be59789913272d884c5b07ad47320f2b9dbf1285af01a12cfd2f7f9eca8ac0a7528ba10271b64a767c94c
+EBUILD dav-0.8.5-r1.ebuild 877 SHA256 8774c4830bfcf9c89604077946c9f68844300ddc058b4e3a1077137d172be67a SHA512 1a9890ee20cbe8fe381dec550c9d4ddcca1fc3db2b0ecf09059529157da349a2e3d27b4e3da50d63b390fe5a7ce92350ff980042413b3c88212593c8b2c0bf4b WHIRLPOOL a9f42b416e97c35b56837c33c48459e22a2ac6c7a4fdc230ae66c95b9f81ac9dbf39d0ef81b966ae6e23dc213e69609e3a7d1a2801a123f4d6529a25fb98d216
+EBUILD dav-0.8.5-r2.ebuild 907 SHA256 33bb413af06f67e0a5c24e107f08268ef0b8bd67eb2c1d80714362e041a86bff SHA512 4f419b6de7cd8e1003407173b297f67ba94bdae738443c90677ed8e42d0468b8b22bc98c8456653970e13322bf20dcc43f63ab405ed7f1767656ed3d5caaee54 WHIRLPOOL 170e1dcfe157406e6bc113a894d0e72543bbe5f50bc31e2da037098a15aad732f113f23a7e9e37145e77d91cf824469f9a2c04c192d64b7ec7bd927f774084e4
+MISC ChangeLog 3393 SHA256 1d8d30effbccff01cc937e9ec7553ce505a5371957071cab5371e789a1b6dd53 SHA512 5c1265b1d78f4bafa18a8b931555644041a49e71250741cff5c163a87555f62d7e24cd85cea4d488d276965c144219dc138bed142d096b08f018564b3e35cb5f WHIRLPOOL a2afc62ff085ae775747a77f39b837f55f2c61de28570c16a67df1090f21ff4eab67364cb349d8a9977f897222974ac44d29ab19dcd13ee2835461a2b3de6e8d
+MISC ChangeLog-2015 2388 SHA256 d65955217eab11486ed91023b7ccd57dfbfd89083df1744389b5c3dc0c9110b9 SHA512 0281137c752a7c761f61d9641ce7c4682a5a2563a02eba88292f220cb4007182ee609a59bf13bdc7acf5ab637f40e573573ff2a11d2f7c7ac4d35de88fc06668 WHIRLPOOL 104180131eb27984e49050ec8f4089b66e4824d69cc7398d4e7124eaa6fe58c4f246d2b1efc0ffdd353ebe0d9c602b2610209dfd574a67716cd5a019bdb34114
+MISC metadata.xml 245 SHA256 ce7dad3296fc521e775dce46cd51580e366ba33c278989f773343032d24bb5c4 SHA512 c42813db6849d65a3316be196bafc9fb991f6d78eb75f07e4202ba512c11ba1c6ea4082742df51fc83a06a520bd3297bd6f7404a48fbfee969937d10cd777a18 WHIRLPOOL 72c28bd0f649c7ae5e2ff828f09e21c810d7bd5efb49d77af0949bd24795d216984bac6427b8d8696de3c93189bc1a8a3304491c419a0e62367110c0ed5b0049
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..daf758b0c875
--- /dev/null
+++ b/app-editors/dav/dav-0.8.5-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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/dav-0.8.5-r2.ebuild b/app-editors/dav/dav-0.8.5-r2.ebuild
new file mode 100644
index 000000000000..b01033d75652
--- /dev/null
+++ b/app-editors/dav/dav-0.8.5-r2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit 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:0"
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-asneeded.patch"
+ "${FILESDIR}/${P}-davrc-buffer-overflow.patch"
+ "${FILESDIR}/fix-Wformat-security-warnings.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/files/fix-Wformat-security-warnings.patch b/app-editors/dav/files/fix-Wformat-security-warnings.patch
new file mode 100644
index 000000000000..fe1733360551
--- /dev/null
+++ b/app-editors/dav/files/fix-Wformat-security-warnings.patch
@@ -0,0 +1,39 @@
+From 8e57c21b3b707c2a81695384688c46faa1d51da8 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Aug 2016 15:52:30 -0400
+Subject: [PATCH 1/1] fileIO.c: add format strings to sprintf calls.
+
+Two calls to sprintf() in fileIO.c were missing the trivial format
+string "%s". This caused warnings with -Wformat-security, and build
+failures with -Werror=format-security. Those two calls are now fixed.
+
+Gentoo-Bug: 521016
+---
+ fileIO.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/fileIO.c b/fileIO.c
+index a6c535a..1916a46 100644
+--- a/fileIO.c
++++ b/fileIO.c
+@@ -92,7 +92,7 @@ char *doSave(char *filename) {
+ n++;
+ choices = realloc(choices, n*sizeof(char *));
+ choices[n-1] = malloc(256);
+- sprintf(choices[n-1], d->d_name);
++ sprintf(choices[n-1], "%s", d->d_name);
+ }
+ closedir(dir);
+
+@@ -178,7 +178,7 @@ void load(char *filename)
+ n++;
+ choices = realloc(choices, n*sizeof(char *));
+ choices[n-1] = malloc(256);
+- sprintf(choices[n-1], d->d_name);
++ sprintf(choices[n-1], "%s", d->d_name);
+ }
+ closedir(dir);
+
+--
+2.7.3
+
diff --git a/app-editors/dav/metadata.xml b/app-editors/dav/metadata.xml
new file mode 100644
index 000000000000..d9948d999a74
--- /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-needed -->
+ <upstream>
+ <remote-id type="sourceforge">dav-text</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/dhex/Manifest b/app-editors/dhex/Manifest
new file mode 100644
index 000000000000..9c783cbab4b6
--- /dev/null
+++ b/app-editors/dhex/Manifest
@@ -0,0 +1,6 @@
+AUX dhex-0.63-Makefile.patch 651 SHA256 109f842528179cc20a676c2af5ec53ea2c5dd34218ec359422ce5e1e2bc2c8df SHA512 80a938e81aef1e7450410138ebb445541f9707a59add8dc25aa7ac7f0154d17d1adc4de1c4d72f2e933b9882cce545b9d13650e8e653f26cc38ee65ec7c6a685 WHIRLPOOL 83a5b91b0a1f3c38c3fef272eb321beaa61ceb9511a24a1011b8eabc499866a28789f213ac4dfa07aa3568b06a8c3531d8be24fa2e6a447c701e79f313a2fefe
+DIST dhex_0.68.tar.gz 58602 SHA256 126c34745b48a07448cfe36fe5913d37ec562ad72d3f732b99bd40f761f4da08 SHA512 9397ec0574652022387f4108613f839b9262841c436079249fb325011b0a0e3c5bbd32d323f37b0f30e643f7060c1275337710c237ab68fb0c3f8096651a2421 WHIRLPOOL a56bf1952108a97a8c2672e681bce01ef2e5dd99f39373aad168acc6772692aa2d569d3d7fcbb3bfe86960f8f72e74aad2a3ba1053378ad48fc8a6de2d9e5bb8
+EBUILD dhex-0.68.ebuild 716 SHA256 184d82de36fb14d2235110c0a6764a148df2e169c230b1d2c54f0ba4fd3cce9b SHA512 038f4083ad3578eab56f87fbc042de67d6be67f8c8bbf0e2c20134ab9f90f64e43bdced4fb5a25f308c1e0d5565bed6227a6eeee71bdc710b7d17e4c11c147da WHIRLPOOL 7b92e2850a885907d11d5a1f5a8c690e9261321f457373e1827c32741b69708d1f49f7751d4465c4958ed89e1f034cee8f61385c45caaeab8e606b8a95849e64
+MISC ChangeLog 2784 SHA256 dea2b1119685664091e535a469041c6333a6203bf655c544756a1421310cdc3b SHA512 75acac5b8e8e75942281e8ddc8d6b128edd235e788bd82f90a4a1a797fe75593cf51d13db173bd0eacc2d5e6cd7a75041f61078578a8425b92060358d728e709 WHIRLPOOL b428e5f23c853bd7ddad87cdc3eec407ab8221a08bc10a5e4f852bc8bace0ae5583baaf30c6f13bd7d2a2ffacd2c2e61ab7fd9cbe4e56cf01aeb8d69c8c1a2d6
+MISC ChangeLog-2015 2090 SHA256 4cece2e4b98699fc732e04f66ad05d9babeff6c074e552538304d9a38a56fbe2 SHA512 6208ceef9f3a0de94ce04bfd782f3be358e4c5b9d411a8f433c1420c202880239d63f1086d6c13f9d09c096ff55ec8946de39306d912a8817b0c425e4cf016a1 WHIRLPOOL e73397e25f23179441c9e49bb5265ac8963604d3d4a22f625679a484e5ddcad6e274d2b0b866fb72a9204eb79ceef5fbbb3b15cbcb304f80949f2b364cd269c1
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/app-editors/dhex/dhex-0.68.ebuild b/app-editors/dhex/dhex-0.68.ebuild
new file mode 100644
index 000000000000..bce05d75ad52
--- /dev/null
+++ b/app-editors/dhex/dhex-0.68.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+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)" \
+ LIBS="$($(tc-getPKG_CONFIG) --libs ncurses)"
+}
+
+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..6f49eba8f496
--- /dev/null
+++ b/app-editors/dhex/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/app-editors/diakonos/Manifest b/app-editors/diakonos/Manifest
new file mode 100644
index 000000000000..9fe7c10a27a1
--- /dev/null
+++ b/app-editors/diakonos/Manifest
@@ -0,0 +1,5 @@
+DIST diakonos-0.9.4.tar.bz2 102282 SHA256 9da8d3846c15f2568a77431bb5fe9ee76a890c982cebb745050f2e864d7916d0 SHA512 8aab6173c40b9a182853977ed7631c391a10d3339918fa96866da8c9fa8e36e40f1c5093465c734a9ce36a69c5d994d6b2d1c0306f1e57bff708fd7a64a62db7 WHIRLPOOL 3dc625942653135a55905f173f566a2627cdaf03ac2c9c00f80bc12cf0947864c3689d9aa3174f779370914d71cc2781984a2de03d1573cac2ff5eaa291179c0
+EBUILD diakonos-0.9.4.ebuild 782 SHA256 331968eafe9268bb80e6d57fdc8aadac29b63a1cf763a7e7557f266dab3abcf5 SHA512 b7cf40cc4d5f143cd672eb6a25357e97b896a6eb47d31dbb69f2178e4eb9ef6bed0d5ab8c3f1fa10ccab13bc2bdb607e6fead56ef8aa0d412261fc9bf56da024 WHIRLPOOL c42f875b6ef4c2f0f82578401a42b92a89bce46d0620ca55ef090efc0c8d3ad116ca79029fb4656deb6081c45fa228484359ce87c6f1d8971869459aa2d569d7
+MISC ChangeLog 2815 SHA256 3ac2316bc29e7c2b2acd21d923df5c635d2ac86ca2f0ccbd9fdbeb016809c4c8 SHA512 d83cea9d9a4184326224c09ddc6ddaa05ed06b790386cbba2a0e45b571bb7d64f696cd6ddec51453c9334cdc98f860364da2ae21b07d191da3b7f67a67e51a5a WHIRLPOOL d93a8f426f488df430b57c8fd93c5fd667a20f44de35d01b4efd784d4b4ec47c8ab69f523ddf778675887830c4b6d4b17132fe2896db5a66327b1e17ee3f2ae6
+MISC ChangeLog-2015 936 SHA256 fbec28dc9925aa3c4501d609d715e8cebe2a988312ce02865a40ab7da98e814d SHA512 60a920d32ae3c7fcd068d71968d6ef2ea9c42341255ffb6aafde8590fa39d20f88abe9aa5e5f05ddcb5e44148dbf6af26ad86fcac62ff8f5058b8fbcf1a14173 WHIRLPOOL 36642d4d56e71cabd9e596e6df68de92e28a964863a099db5786f383b8e5aa2869b0817a72e7af524aff321da9e11221a301ad57a9934a8d17a6149656aad76e
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
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..a4673b47c438
--- /dev/null
+++ b/app-editors/diakonos/diakonos-0.9.4.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+USE_RUBY="ruby20 ruby21 ruby22 ruby23"
+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"
+
+USE_RUBY=${USE_RUBY/ruby20/} ruby_add_rdepend "dev-ruby/curses"
+
+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..6f49eba8f496
--- /dev/null
+++ b/app-editors/diakonos/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/app-editors/e3/Manifest b/app-editors/e3/Manifest
new file mode 100644
index 000000000000..2602e1b2a490
--- /dev/null
+++ b/app-editors/e3/Manifest
@@ -0,0 +1,5 @@
+DIST e3-2.8.tgz 119939 SHA256 035737d0cc82b287386fdff8682b2c23ef620d7ef97dff7a1b1fe1777e4c4fb7 SHA512 f3443ac558203b6921458761174ebc060936ae9f8a834670044152b9af52e0919075ac8110ba47b4b6f4e8261afa917e9fe49492b8d40d38d69987353ddd5189 WHIRLPOOL 9531a30229fe78bb2f55621d085d561923cae4b7db6c91f46320c81516936389f765fa0ef8bc65c19fefae40a60e50b5541f1e751a03aabf56d6b57dbf4cb165
+EBUILD e3-2.8.ebuild 759 SHA256 fecea30a1f10672f411747d02bb8a444287ab58a1684fbbf7a9f182187179db7 SHA512 d76af36d27aee6a1aff25d85c89dee78c223009caee6d8b5f57e66f6b5818aae97324203391ba91e03c5cf72bcc8c658d024660bffaf0b874a9ab68b34e49799 WHIRLPOOL 8403dacfeff816fe05411c9ef061a0e4d815578b9713c176225d6d7478af1d8b0761831544608f1989ea74eb4488ddcc6df69b0e9cad34a39e073e1246f37d61
+MISC ChangeLog 2446 SHA256 7b4476e4c97e5214974a1441cf47b1ff162ec6c1b83bb5fec2189fecf2e1ce62 SHA512 1fe17cbf7aa70e664b8470de213e9aa557be01ca5883c9e98dfacc8f1549ad7e31d8b5ea9723d60124f9e84ecfd4181194a7d79baf301ee682f4b47513ae5bff WHIRLPOOL ec826c5c1ec82efe421198461e8d38df4bf36b657520f12e406580ec48aa4b59cd2796e8e6abc10b15a6b6a75e2524aa73d8fe36838ab03f72ca9f84872bc998
+MISC ChangeLog-2015 4867 SHA256 fcb958cf6c0bc734a613b8a9781a9b64f0b86eb4592b9d6a45048cb071410d60 SHA512 2802224c2cafa461025af84e54e2d3332f4f5d628abbe3c177aaccb8fc8b1dd00ee2763a543cc3a227b7d0f5b6e5e94d6accf34078db796962a7cfb141d42f14 WHIRLPOOL 28712f3c6d3f1df99694005adadfe1cff36193f0bfc9f16204118ac52d35168f17a6de85be337b686543ef17fd52c2f36a577e8a8cd7a85404df1d81633fa134
+MISC metadata.xml 918 SHA256 866e50d84fcae3b06fde029c82fff7b7d5a5cb76e4047617a93d6ca9ffa7dc2f SHA512 9e8d5b6557a492d39c79c06507ea3ee670729e315cee2456e595d53f88178801b629595ac8903ac70878a63e85b46e934c761d70fef328fdfddc78e0c7416f4d WHIRLPOOL 7984b5d44d724a726d2a391db66244bbbd2f4c33b86755458e16811e837c6f83ca970b025120dfc5e2c35c39b1eafc5dcdd493e062a5b82b682aeaadfd6b6d5c
diff --git a/app-editors/e3/e3-2.8.ebuild b/app-editors/e3/e3-2.8.ebuild
new file mode 100644
index 000000000000..3cb12476d34d
--- /dev/null
+++ b/app-editors/e3/e3-2.8.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="Very tiny editor in ASM with emacs, pico, wordstar, and vi keybindings"
+HOMEPAGE="https://sites.google.com/site/e3editor/"
+SRC_URI="https://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..e38b0be62252
--- /dev/null
+++ b/app-editors/e3/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>emacs@gentoo.org</email>
+ <name>Gentoo Emacs project</name>
+</maintainer>
+<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..5909446bd8f3
--- /dev/null
+++ b/app-editors/editra/Manifest
@@ -0,0 +1,7 @@
+AUX editra-0.7.20-wx30.patch 2264 SHA256 ee850c1ff4151313b5881b26dcf8feefd978dd04498b4670904680463f7e79f5 SHA512 c0befbe2fb2eead2c4fc066767b48938b0f2b17949dc42fd98128d63556268a12b73fb49f22a8e9abf524e4450bda2b2b4e0b4953bc7f3c7c32b6ba1e7eefe63 WHIRLPOOL 08b108cb07dba01c6ea12a764dcc64e9b44ba5281d89a8634b3896694c28b7db5f10dbe3302349539a0b3c50b58f361c42cdedbaf2c1f779e4974fb38da8ef31
+DIST Editra-0.7.20.tar.gz 4072243 SHA256 ed515bca58d87d9a2b3085f322a9fe7c6d1407a3b05db1434f80ea8f7e42ccc0 SHA512 e568ce2a5f04300c33223bf7a0e6fbc52d0a51c3472afb9b613fe21cfbeba0b9b453d87837e52c7c48050fc266ff5ff194a42f797053f21f0a25cd5c4579febe WHIRLPOOL ecfbc9610ba707aaad4995f9832e0f2bf2d79e56a5fadb27ae6c5b671c0f69a166c3d2d37163141789629a30fe56fbeb59c05c0203ae9201e2447ea479f52c55
+EBUILD editra-0.7.20-r1.ebuild 1229 SHA256 e089a9c6f2406de4a40c09839bcfe4a01fd71d1406da8e890511ce9856c1b018 SHA512 0d18d21b90528220f2d6dd1ca8cd61ed8c922f1a39307eec94511f1c7e634ec02a26bf1455fcb7c7361d355aaa3dff75d9bb86ecffe3bd82d9fbc362e2f4429e WHIRLPOOL 989606aa054c30a95cde14890f2501664cdf5fcd62eac56bbd50bfe0c789cfb537731aaef221f30538a6222b8fac7f0723ae920162a89c3146041821c5b64f24
+EBUILD editra-0.7.20-r2.ebuild 1263 SHA256 5a4fc633fa98c69651b37e013fe3798b810c833454277c7dad2d6b6c3690a5fc SHA512 5ed7f65ac2fad154890b6f3fc7a4d080eefc6b5ce8ea2c87e6f5a1995c38c80bed31d19a2d7423931acd13a3592db6f09abe68b14fdc05ba285fc7760a1094b6 WHIRLPOOL 11e3a7a7c360abada1b71eae3b9cdefea8a884c2f76ab3aa5d4a9bd2d55eaee8d36f2bd405f76ccb57da37161f09a6ebe09a5ba11847c94d615dc5d330a1697c
+MISC ChangeLog 2954 SHA256 f3401053f2dbbfe4125c21bcbe4765891077ff462d956f5aa4417493ca844bad SHA512 29e4ea1df313ed66fc3d271e9a316109d34916a8708157bf3e4ee2342a9cd52938d3f92443730095c802ddb961b796c8f08bc7eee57b64d9650abf6c9e2fbf1e WHIRLPOOL 4c2769921db652d271c6277d4d4b81c40bd823209d470741bf12aecddba5ada8762860d97eb1abaf56ba54f32a130f809be8c8931a905b1a42ecd60200b97578
+MISC ChangeLog-2015 6596 SHA256 45499c3b42ab295cc3dbdfbba40bb87fcc6a20a3ac6e024fd779b14de1d966a9 SHA512 d74ba28b915a1071fcae4ba96c029cd308bbc1908f5ded4ed56c4b72d56e3c15aaa513bf756255398ec79e99f7a1c279ecbf7ad0dc867ac799c24b14cc2a60ab WHIRLPOOL e0f95bae0477624c00a55848f575d224503d1b6ecf759a094e563d0fc7ec03e75b666823b18c7dbff477837b582568280f4a038d037aa90cd5e1429fb5e21756
+MISC metadata.xml 261 SHA256 c44cf79e2521fb9e30d1fe5dc005186407fc3a6c45988dd67812566f3f2cdc97 SHA512 f7ad013dd5f01aaedd4528f98ba9a4b4b44d353502df3438a8b513dd2ee7af1e24328c34187e156370efb550c401b81175cccc7a7643ea6a5a83766d68a05221 WHIRLPOOL e52deeefe3ba231f2cad86e533c9584a6f760ebee81e1ae2eed0d5fbd59c8c8e296a6e4bd603a849afd1414ae81b684b902d84a63a1db08d274f7d6f6ac3bc4d
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..d5b36f96a376
--- /dev/null
+++ b/app-editors/editra/editra-0.7.20-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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 https://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() {
+ # https://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-r2.ebuild b/app-editors/editra/editra-0.7.20-r2.ebuild
new file mode 100644
index 000000000000..4bd7d9c6f228
--- /dev/null
+++ b/app-editors/editra/editra-0.7.20-r2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils distutils-r1 fdo-mime
+
+MY_PN=${PN/e/E}
+
+DESCRIPTION="Multi-platform text editor supporting over 50 programming languages"
+HOMEPAGE="http://editra.org https://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:3.0[${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}] )"
+
+PATCHES=( "${FILESDIR}/${P}-wx30.patch" )
+
+S="${WORKDIR}"/${MY_PN}-${PV}
+
+python_compile() {
+ # https://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/files/editra-0.7.20-wx30.patch b/app-editors/editra/files/editra-0.7.20-wx30.patch
new file mode 100644
index 000000000000..e5e7b7f918d6
--- /dev/null
+++ b/app-editors/editra/files/editra-0.7.20-wx30.patch
@@ -0,0 +1,44 @@
+Description: Updates for better wxPython 3.0 compatibility
+Author: Olly Betts <olly@survex.com>
+Bug-Debian: https://bugs.debian.org/758947
+Forwarded: no
+Last-Update: 2014-08-30
+
+--- editra-0.7.20+dfsg.1.orig/src/ed_main.py
++++ editra-0.7.20+dfsg.1/src/ed_main.py
+@@ -432,7 +432,7 @@ class MainWindow(wx.Frame, viewmgr.Persp
+
+ dlg = wx.FileDialog(self, _("Editra: Open"), fdir, "",
+ ''.join(syntax.GenFileFilters()),
+- wx.OPEN | wx.MULTIPLE | wx.CHANGE_DIR)
++ wx.FD_OPEN | wx.FD_MULTIPLE | wx.FD_CHANGE_DIR)
+ dlg.SetFilterIndex(_PGET('FFILTER', 'int', 0))
+
+ if ebmlib.LockCall(self._mlock, dlg.ShowModal) == wx.ID_OK:
+@@ -680,7 +680,7 @@ class MainWindow(wx.Frame, viewmgr.Persp
+ os.path.dirname(sdir),
+ title.lstrip(u"*"),
+ u''.join(syntax.GenFileFilters()),
+- wx.SAVE | wx.OVERWRITE_PROMPT)
++ wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT)
+
+ if ebmlib.LockCall(self._mlock, dlg.ShowModal) == wx.ID_OK:
+ path = dlg.GetPath()
+@@ -713,7 +713,7 @@ class MainWindow(wx.Frame, viewmgr.Persp
+ dlg = wx.FileDialog(self, _("Where to Save Profile?"), \
+ CONFIG['PROFILE_DIR'], "default.ppb", \
+ _("Profile") + " (*.ppb)|*.ppb",
+- wx.SAVE | wx.OVERWRITE_PROMPT)
++ wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT)
+
+ if ebmlib.LockCall(self._mlock, dlg.ShowModal) == wx.ID_OK:
+ profiler.TheProfile.Write(dlg.GetPath())
+@@ -732,7 +732,7 @@ class MainWindow(wx.Frame, viewmgr.Persp
+ if evt.Id == ID_LOAD_PROFILE:
+ dlg = wx.FileDialog(self, _("Load a Custom Profile"),
+ CONFIG['PROFILE_DIR'], "default.ppb",
+- _("Profile") + " (*.ppb)|*.ppb", wx.OPEN)
++ _("Profile") + " (*.ppb)|*.ppb", wx.FD_OPEN)
+
+ if ebmlib.LockCall(self._mlock, dlg.ShowModal) == wx.ID_OK:
+ profiler.TheProfile.Load(dlg.GetPath())
diff --git a/app-editors/editra/metadata.xml b/app-editors/editra/metadata.xml
new file mode 100644
index 000000000000..0c7ee856e108
--- /dev/null
+++ b/app-editors/editra/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 type="project">
+ <email>wxwidgets@gentoo.org</email>
+ <name>Gentoo wxWidgets Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-editors/ee/Manifest b/app-editors/ee/Manifest
new file mode 100644
index 000000000000..b5bd7a8bd153
--- /dev/null
+++ b/app-editors/ee/Manifest
@@ -0,0 +1,7 @@
+AUX ee-Wformat-security.patch 675 SHA256 cb7a7363e17aaa593cb885ca92902da1115a17d1527302fb8eabbfff146c6178 SHA512 d6b8dc118c3381da71ea7d10673af52d8d36575480a274d5e0f30645e86b082d5381ee7682fcf9b253b621ba9138a350b132875ecdc9b2fb5ed75bd111ce5304 WHIRLPOOL b217f4e8eceb51f5b60a91a762aa78229ea80aef08de12c8531729ff1881b78402b9301d955a16863ec8266e7f4c493fb19994f342df1798d6efca4055914df0
+AUX ee-init-location.patch 1280 SHA256 8e4a4e46226a665c792e850c5b0fe527b46fec802f7112e01e4d72b13580b64a SHA512 69732f151f7d8e9779c6826c89e92e9e4b5a8ab1580b8de562897a322e61514e3225eaecb9e2bf9fdf7063a126382ea9ba9ff7c233b2bebd8d4062b61b20375a WHIRLPOOL 70bfb8c6193490d510293b727c0354525be6fb42ae43463620106610ed39cc5067bb9b2103f893f4656a4444de86e7431286078ce45bc662e93500bf1f84dfe9
+DIST ee-1.5.2.src.tgz 69651 SHA256 e08d7511a48b43ee354042fe3fe7d9cb3431238caedcf4ac729c61a447003918 SHA512 9ca0e82d65971b0bce38e09c365b6eb8b81ca6ff5b244107ae254322e47e841e7f5345bf242a0a9dd66b731d46cead6f442016b9e070a1298e1a5319b1d7b97a WHIRLPOOL 60397b6cde372268d5785b13a3e8e9eddd9c489c0e1981787055d1df52b22f1a7179583a487be4243874b1f9a30a242b630df1a1d3bf6a13d7380b1cb8716b95
+EBUILD ee-1.5.2.ebuild 1093 SHA256 4f7487db7620eb16651d0d2ba7a5c6a8d5aeef78cdc1dbfb7a8c129c4388576e SHA512 1d3b0a43730d5ed35c04923973d3336024157619f4a71fc355d27adac28ee00571a6f956304281c4b8ed4b7e757ebd7ea4af742e7d08d29273aa31937a945d8c WHIRLPOOL 6a9053a252d20d1f76d3ed698149b5c060e221234ce82cbccdd415a1929febed4b1840f452b6ac957df785e049255703672494ee99079538f2a2853ac4b4f3cb
+MISC ChangeLog 2236 SHA256 537bc9e67f4454b72a0eeff3f5bf99445f332d93c46838b026d5cca7f4b05d6a SHA512 2505a5861f4a8eb9b6e6a751d06b27a30998cec34082e58244e443e119a75ad5292b701c9987106bbf53a12a34e79f806110cf149b88ba51e275ffce10bfb785 WHIRLPOOL b479d91912a3a4719933180a01de106e1ee77381fd6e594875560a586359ff34b85d2856ad348bd562e813114fa1438053bd43445d9d2160547becf6436a6c34
+MISC ChangeLog-2015 3810 SHA256 9240da1f079503cc7a9396e2b0612355ada5cce29ae570a91264d93257ae9b80 SHA512 72dd8b03da5a0f406dff9098d79f52112553b2e6f62ababe371cbe98337d8035bc5bada892917d83e85f928b6395bf266c8fea480daebbc170acb0fbd573634d WHIRLPOOL 528b1097cc2e0f980cc3fd26e084ee40f79289b846ba8b591e3b0c2fe5d2806c16e9acf64fbc43713a43c30f0d774c588d8a0496be32e984caa5e24053b3dbf5
+MISC metadata.xml 221 SHA256 27a3fa259bbce0eb90b1fe397126b9d5ef4e906e824ae72f9ea923fff8da6d02 SHA512 a11e9bbbabc9ac96985c5dc247e601b065fa762f12bce74224896c27aee34eb908187622bfc849c39c6c722a8ef8ee72b248afc84da1b0eb72f1ff5eeb13bbf0 WHIRLPOOL e8ddaad694d5f22a229ccc3dc7597a11dce9ffd502ed3fa64b9cc760d3404c4dac31c9b9948b38b2eee0efc446a8aee52a73f87ec28d229670ba3bfc3cb9a95c
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..0d343a67d9ea
--- /dev/null
+++ b/app-editors/ee/ee-1.5.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit toolchain-funcs
+
+DESCRIPTION="An easy to use text editor. A subset of aee"
+#HOMEPAGE="http://mahon.cwx.net/ http://www.users.uswest.net/~hmahon/"
+HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
+SRC_URI="mirror://gentoo/${P}.src.tgz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE=""
+
+RDEPEND="!app-editors/ersatz-emacs"
+S="${WORKDIR}/easyedit-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-init-location.patch
+ "${FILESDIR}"/${PN}-Wformat-security.patch
+)
+DOCS=( Changes README.${PN} ${PN}.i18n.guide ${PN}.msg )
+
+src_prepare() {
+ 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
+
+ default
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ dobin ${PN}
+ doman ${PN}.1
+ einstalldocs
+ keepdir /usr/share/${PN}
+}
diff --git a/app-editors/ee/files/ee-Wformat-security.patch b/app-editors/ee/files/ee-Wformat-security.patch
new file mode 100644
index 000000000000..6db64188347a
--- /dev/null
+++ b/app-editors/ee/files/ee-Wformat-security.patch
@@ -0,0 +1,28 @@
+--- a/ee.c
++++ b/ee.c
+@@ -2105,11 +2105,11 @@
+ }
+ else if (!strcmp("-?", buff))
+ {
+- fprintf(stderr, usage0, arguments[0]);
+- fprintf(stderr, usage1);
+- fprintf(stderr, usage2);
+- fprintf(stderr, usage3);
+- fprintf(stderr, usage4);
++ fprintf(stderr, "%s", usage0, arguments[0]);
++ fprintf(stderr, "%s", usage1);
++ fprintf(stderr, "%s", usage2);
++ fprintf(stderr, "%s", usage3);
++ fprintf(stderr, "%s", usage4);
+ exit(1);
+ }
+ else if ((*buff == '+') && (start_at_line == NULL))
+@@ -3243,7 +3243,7 @@
+ }
+ if (shell_fork)
+ {
+- printf(continue_msg);
++ printf("%s", continue_msg);
+ fflush(stdout);
+ while ((in = getchar()) != '\n')
+ ;
diff --git a/app-editors/ee/files/ee-init-location.patch b/app-editors/ee/files/ee-init-location.patch
new file mode 100644
index 000000000000..5ac1e47ae962
--- /dev/null
+++ b/app-editors/ee/files/ee-init-location.patch
@@ -0,0 +1,40 @@
+--- a/ee.1
++++ b/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
+--- a/ee.c
++++ b/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..21dc8fdf43ff
--- /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 type="person">
+ <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..94bd564dab7e
--- /dev/null
+++ b/app-editors/efte/Manifest
@@ -0,0 +1,7 @@
+AUX efte-1.1-desktopfile.patch 619 SHA256 b36601d89605cae5956ffcc9acfce1ef0efa16491b700c4460b96838ad82402b SHA512 e48df45d0daa6264503c94a7d2d6c886b6101f5d258fbc3a3825377f25b601b3f8869a4337330ea325a44086db20b2c2906f3556b5e066b1f399afe3aadcdc98 WHIRLPOOL db7aef8d4a2f616b0e86e66df0105d7a0daf6ddeae7fac77329bcd648a6849f94c81be4474e4bd01714928914687025ce6dcae0c0a743ab4fd1a9a870d77c806
+AUX efte-1.1-flags.patch 657 SHA256 4bcbecc5be94ebff43ffbc8abfab46c7a7ade70458cb89c86a98f7806fea646f SHA512 7721010873e2030428f2c855d35b18ce6c6ab2d884c25e1611045e8d3209cb0baf94a7d90661de6ea86d084e9b73cf4b8ac724308f94263adbad12db2507a870 WHIRLPOOL e0aaf9989870e3ff4eaf2efe3231f400ed28e4786df471b5fc6d921853c0ef333b5b41491935ef402805232e1d934df0e0835a99026841d3d4de44ec0045a4fa
+DIST efte-1.1.tar.bz2 429919 SHA256 b71b9301dc781555bd9f4c73d7d81eb92701ccd5119b17da9b86ede402d31e16 SHA512 4dbfcaaadc56996d1b4659db2a82ec5132cf45b6f65ef545274769aa47f44ba27a8af1488ed57e5ffec2d9f5f1d1ef4cb9ee97514414796f176c2272a6bb6661 WHIRLPOOL 0d14d090767d55fb6d46d183e5ff9b43ecc9aacfe8171c63c1e15f0fc10bc562cde196cd06589515ba97429d195d2927df085b799c793a21dda0fee37d84190f
+EBUILD efte-1.1-r1.ebuild 1079 SHA256 df9b87a793d4aa7ea05e3e40cd1317659198da4636a7c4ea75cae0f36be0bcb4 SHA512 98177fc61404ac6048cf3c2d384b68fc2a4a04366543b59a0bde7b7c5d5775b2cc23ef9e1702a3530d3945f4b2fa50a85d052372b2c85e075316a0376c3dc700 WHIRLPOOL 37118d7743f09f910eb9d71451a828e4db7f13dfa662554265b635cd95574546658f8189b49e65393db62a1f4ca4343ee839d0410a23a67bc9c2ed4847825c43
+MISC ChangeLog 2584 SHA256 fc054a0f7528edad080553ba4760c33a54ee82a180a6edd890693708f620340c SHA512 b0fd474c653bdd06fd293185c3c78590bb088432a2c6329f761e29a51ffefc6b1d55f3b3bd0a3d1f0040bdfb3f92f5e49db3b9b8c44039c167aa74dca65c1167 WHIRLPOOL 4140eaeea34460a25378554219259ad4a8797f907c3ecc76cced05fb19b667f18f6037717e6b3be570eb17e769906d709f6cc5f5c5bf761422f90d7a95443500
+MISC ChangeLog-2015 2118 SHA256 4b4178b7b2fbc029d9f8737836ba7dda41afc41eaabda4793d0ec5bb10fcfb0e SHA512 c7e8cc0d0c332f12782db28d71ef5eaa2a8247e27eec676bac66aeec96e5a21ef8dcc29720f8bdf736837ae10db6db3fe107f3650c875ff9ee03bb4a0064bff1 WHIRLPOOL e2b23decf595388d7c5b1de4f6685a54528cd240a1025f8d06a46ca2a9353ccbae20eed61a883541961d3d5daf87c7a64348bd6c9cf70dd5f6126382032dc850
+MISC metadata.xml 241 SHA256 670b1cdf38cf11f46112ffba3cde18f9bafb482ca8b076d32dda6a948caa6acd SHA512 e2cf99ff1a4a6d577eb0fdd2a097cbfd71e60d860d6294d59ef4ec596eba2c85a50ed4f50944356637e145f0d3b38d0da90d87bcdf1f51eb76e93345cadbee52 WHIRLPOOL d3512fc4451df440e50c07da86d0f78ef96d9b618043ae71ffe9095b8141c02cc5b6bbc69b05ac620953a097dbf9812ac2000bebbbb155921d83254abe57798a
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..d5b7990d9b50
--- /dev/null
+++ b/app-editors/efte/efte-1.1-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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..81d7428b8621
--- /dev/null
+++ b/app-editors/efte/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="sourceforge">efte</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/elvis/Manifest b/app-editors/elvis/Manifest
new file mode 100644
index 000000000000..c5dcd237c2e2
--- /dev/null
+++ b/app-editors/elvis/Manifest
@@ -0,0 +1,9 @@
+AUX elvis-2.2.0-glibc-2.10.patch 1526 SHA256 1363fd4ed25c7b97d1a79da7c243f38ed5d2053fdf83e23ed0be3167bd14c46d SHA512 2658fc5a6758a0ecab2320a01fcb708d595e304e94609f642e324d6d77a58a13e20560041fdb890f0f91443c5a3c53ccd1eb8f6a7bc47c70f8e910da107b071c WHIRLPOOL dc34ec022f1dc652e1368539ac7a34d720b5e73edc384fd54b9b2e2c954ee8e3a15e9fa2972daa0f75e83ba5037e0f68278a0d4413b30d388dacab1c4ec38fda
+AUX elvis-2.2.0-interix.patch 297 SHA256 36e401aa2375266813133dd195469837c60daf723c8b53a05300eb4fa6b62cae SHA512 7215150c74b96ea441898435c02f342c0fac2e579363be5a95684a49b84e020275b6e9124b8fd449559e1e3217f96901c2887214ee61a4ca8484598a7cd42442 WHIRLPOOL 996a8163bbb343371cbbdc427cbfa8dc5369911ac1853ab30664d22d6be234d24344accb14beb92febf3da62d3e3b411e37e086656ee2e8bbfbecbd8cf79a7e4
+AUX ft2.3-symbol-collision-fix.patch 2396 SHA256 59960b0498863f0793b5c33a824efc62c6255d26455d3ec6c87f62cb1969f008 SHA512 14a2880f9984615f9876973e5eaea54846547d2871b8c2f1417c968e5e92c01612c954d39026671cb29656c4d6fd93d65f1bd6fc6325471346e1f56e3e1b97a3 WHIRLPOOL d21ca4e78f5288688e539c85ea3300e252ea0d56adb6a101eed531cc2a4e2a7ab8a0cf49c80640aab5bdcd18ee71e57d352d5280befe0a40a710b2e7809347d1
+DIST elvis-2.2_0.tar.gz 1439293 SHA256 9a8466b2293798441056bc279736af3a616baaba2f11940396cc60ff71924ea0 SHA512 847cc9ac0af170798abd4725f7dc2ec74d4931fb761b58836d4016d36da5657176bd8cdcdae02bc08438b18e8ce2433eb3340ec2503630fd2992e83ba06adf42 WHIRLPOOL be087bc38507900852dbe1f9b59a14c3e135d14bc695f2ec23c6c70284c6f9b7d35b7d25a0dd2b36f32392537421aeb6804df477cfc98a206f101ffee5f2be8f
+EBUILD elvis-2.2.0-r4.ebuild 2390 SHA256 bed6b14546ebcbc552a978e7bdd1c263b17339c97efac671b4c2b80bf0ee0c93 SHA512 666b7762e576f9661574c9ac5bb55804bf4f4a5aa307ecb61cb8708cf0efd3608caadf6bbb33d40c2b285c3f86fe4ec72de532de2b0f1d761cf053d8c77584db WHIRLPOOL 469ed2ce6f5ea0c6c9589516c9a9e18167eedf6c0ce270b3c688bae895a5d13017aae98553e8f40d839f8d832b4116077b80f97d0b6d9817eea1b1a2479256ab
+EBUILD elvis-2.2.0-r5.ebuild 2403 SHA256 5fdd914d1442b99defae86f447154f0fa008c52f8e7cddd534734798fc24f3dd SHA512 32dc4c7035b383b3a9e80cfe6dc5b249fb11c01992f1d4ed0b48daa5243f1c2e9e6207d67a79c6a838d8a64b4cb908783f93ac6a276cf19dbaca0d1a8760bf56 WHIRLPOOL da69cc12161b4842f221166df75e084f65070340ee1ccdd8af063485bcd7d2d7d665e0aebe037a69b039c0a316d5b1a3ca1e936db48708ed5e7be6dd7994c08c
+MISC ChangeLog 2544 SHA256 04901afe585dba01d1c3f131bc2302ecd44f7cc3ca1569215ff13067c0dc5e42 SHA512 41c81a3b4f53f2522611302a780295eb1e6756976809db90774bb73fd6ca6a444b37c8268bba9599c50fbff2e90c6282f20cfb787148bc16dd9586e28db95da7 WHIRLPOOL 31664b2686c9c4b42ecee6dbc3affe7e6f6c588fe0c1bfa21b50c516957454b3bc2c7d7c488114ed4602d69ffe07860cf4e32ead2b1a4d5f73acbaeaba0ae401
+MISC ChangeLog-2015 6399 SHA256 3ab51ecb1497af7b68c3c74372e542187b1ecdffc436074704850917d5917ac7 SHA512 c831d80afa150d4b9b7fa1eb3e5b34cfe02142d47180d010113a92e906e4ed89a59cb24f501a838369287e48d662ee6f8879681951209d04550f2083af4b8710 WHIRLPOOL 325122fea95c1d32c6f47d59fbbf01010fe6bf27ed36664ebd1002a0df8629f26ab46a2adc78a33898c1d7a60d8989569fca8ed948ab2d4037fa28b00917d535
+MISC metadata.xml 245 SHA256 a8b1695a5ced5d18651f2c27eb007b4eaf4af0a421f0cbc21e2be1d9282d9e62 SHA512 6d6d35ccbb839c939bc663cecb55e2178f5fd4e455ee3088b8847416d558dd3e7969f4c78bc445ff29503d6906fec12d302d7249e9adc8cb708d0790e681e5a2 WHIRLPOOL 5bd04d29b34b35ffc355cf4fa5048b94bea046b3bcd327674a05c25d5ad3f8a131a1ba4c06e0f897be0037df160acdb82303be1c89057e7ed3586d0bd493a47b
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..0bf433f212fd
--- /dev/null
+++ b/app-editors/elvis/elvis-2.2.0-r4.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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 ~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/elvis-2.2.0-r5.ebuild b/app-editors/elvis/elvis-2.2.0-r5.ebuild
new file mode 100644
index 000000000000..a17ff3472331
--- /dev/null
+++ b/app-editors/elvis/elvis-2.2.0-r5.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit versionator toolchain-funcs
+
+MY_PV=$(replace_version_separator 2 '_')
+
+DESCRIPTION="A vi/ex clone"
+HOMEPAGE="http://elvis.the-little-red-haired-girl.org"
+SRC_URI="ftp://ftp.cs.pdx.edu/pub/elvis/${PN}-${MY_PV}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~ppc-macos ~x86-macos ~m68k-mint ~sparc-solaris"
+IUSE="X"
+
+RDEPEND="
+ sys-libs/ncurses:0=
+ app-eselect/eselect-vi
+ 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
+ )"
+
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+PATCHES=(
+ "${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 || die
+ mv doc/elvtags.man doc/elvtags.1 || die
+ mv doc/ref.man doc/ref.1 || die
+ 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..f1abc6411341
--- /dev/null
+++ b/app-editors/elvis/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 type="project">
+ <email>vim@gentoo.org</email>
+ <name>Gentoo Vim Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/app-editors/emacs-vcs/Manifest b/app-editors/emacs-vcs/Manifest
new file mode 100644
index 000000000000..8f9feea1fa35
--- /dev/null
+++ b/app-editors/emacs-vcs/Manifest
@@ -0,0 +1,5 @@
+EBUILD emacs-vcs-26.0.9999-r1.ebuild 12481 SHA256 7c513ad35622bb81b9d1de9aaffcee19b007de9b2ae4d9cce2822b3d841f9cc5 SHA512 d22f94dfb76abc307a9db8a084b745eb863825929b0ba09f982d914f818e88288adc5f42fc40bf014264011e04d9a6052b4f85648fa355ec2b3655d402837021 WHIRLPOOL ac2ea53d90a5b2f09e1a7652cc57f2bd6d1f9bee32330d7e0399e9083a69fc8ca64f1d122e7d117baa802045976fa79a67aeb829d90e61a95c4266790f877aeb
+EBUILD emacs-vcs-27.0.9999.ebuild 12479 SHA256 cee5bab88c05d0b8a0295e909b71408e836a3b5ab1e0d2b625b71bd2406ddaab SHA512 eb70620a2a2f97b75a890d2dce3998ec633dd238c1f12ebc923289c0de1b3ac586262f73ee995973142df67fb95b0fe0be00b296d5b93ade6d322bf23a754e14 WHIRLPOOL dcf15b899c5f035cc6457c9de193e5d9edc59d8bcbf7f1e16e8901c4d2d5e86c995a766365d2c24d261c718af756520123873be19f4907b37bd2e621e17f46f3
+MISC ChangeLog 10414 SHA256 32cd8f329ea3c934af07ac926bee0c3aa9ecf8ae243feab908a313d5f97dc350 SHA512 0ee17116099eb0c506ec730f1e8564364065fbbac5970f551b7f6339b9f153aa4e293bd99fe952ac8d25a5045b245b11723b206f9594cfccdf46658589df71e3 WHIRLPOOL 5c52e92cf6e1e4cab924922ade9ec2809b4907d541078055d9dd53c2a188c7482d4198ca14f21dccbe022304757228b3cc563dd06171d6d93dffe1490612a637
+MISC ChangeLog-2015 86237 SHA256 ce19205e1c53f0b9c690a754434783f4e5a8c3265f3ed3580e670dc14109c107 SHA512 fecc40cad7372dc11f3a6cbccfd369e4c75d92a3dd57c7bf671df624a2d120d8496e088a748580937ec7a68d3087cb2e7a3393799124a7ad991447badbf22e58 WHIRLPOOL e0d14721260bc439a87cc70e386a4a04607aa3b20d29fe1cd195a4c613427a1111daa7c808d0ffaf7dc3061b9299986709cad3a531d8793f134129c94482246f
+MISC metadata.xml 2949 SHA256 69319ade9d384d0f73b92c35b64050902f9830a5f9f9a9d1662002290581a1ca SHA512 8a349fcb7e9a915ceb37b766f9286ea701aac5aee65fca04357e7e734fd767b2f824525960fa6b860be9e52c2099396f05c2710ecebd020b5d42341849918a98 WHIRLPOOL 65b95389278286f2f0b92e88e0156062e16b98e3866b94831618f8b98f9324ad6d7e1952566bfb2b758c74129acaa8b9439b9d98dc4fdc49e86d6e1569fdf630
diff --git a/app-editors/emacs-vcs/emacs-vcs-26.0.9999-r1.ebuild b/app-editors/emacs-vcs/emacs-vcs-26.0.9999-r1.ebuild
new file mode 100644
index 000000000000..88806f04f0e7
--- /dev/null
+++ b/app-editors/emacs-vcs/emacs-vcs-26.0.9999-r1.ebuild
@@ -0,0 +1,386 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools elisp-common flag-o-matic multilib readme.gentoo-r1
+
+if [[ ${PV##*.} = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://git.sv.gnu.org/emacs.git"
+ EGIT_BRANCH="emacs-26"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
+ S="${EGIT_CHECKOUT_DIR}"
+else
+ SRC_URI="https://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}"
+ [[ ${FULL_VERSION} != ${PV} ]] && S="${WORKDIR}/emacs"
+fi
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="https://www.gnu.org/software/emacs/"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="26"
+IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib mailutils motif pax_kernel png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm xwidgets zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses:0=
+ >=app-eselect/eselect-emacs-1.16
+ >=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ gpm? ( sys-libs/gpm )
+ hesiod? ( net-dns/hesiod )
+ !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
+ kerberos? ( virtual/krb5 )
+ libxml2? ( >=dev-libs/libxml2-2.2.0 )
+ mailutils? ( net-mail/mailutils[clients] )
+ !mailutils? ( net-libs/liblockfile )
+ selinux? ( sys-libs/libselinux )
+ ssl? ( net-libs/gnutls:0= )
+ systemd? ( sys-apps/systemd )
+ 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:0= )
+ 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:0= )
+ 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? (
+ xwidgets? (
+ x11-libs/gtk+:3
+ net-libs/webkit-gtk:4=
+ )
+ !xwidgets? (
+ 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 )"
+
+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
+
+ eapply_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 line
+ 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 <https://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
+ if use xwidgets; then
+ myconf+=" --with-x-toolkit=gtk3 --with-xwidgets"
+ else
+ myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
+ myconf+=" --without-xwidgets"
+ fi
+ 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
+ ! use gtk && use xwidgets && ewarn \
+ "USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
+ 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}" \
+ --without-compress-install \
+ --with-file-notification=$(usev inotify || usev gfile || echo no) \
+ --without-pop \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with dynamic-loading modules) \
+ $(use_with games gameuser ":gamestat") \
+ $(use_with gpm) \
+ $(use_with hesiod) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with libxml2 xml2) \
+ $(use_with mailutils) \
+ $(use_with selinux) \
+ $(use_with ssl gnutls) \
+ $(use_with systemd libsystemd) \
+ $(use_with threads) \
+ $(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}/usr/$(get_libdir)"
+ 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
+ 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-27.0.9999.ebuild b/app-editors/emacs-vcs/emacs-vcs-27.0.9999.ebuild
new file mode 100644
index 000000000000..2e2eb90c8f94
--- /dev/null
+++ b/app-editors/emacs-vcs/emacs-vcs-27.0.9999.ebuild
@@ -0,0 +1,386 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools elisp-common flag-o-matic multilib readme.gentoo-r1
+
+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="https://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}"
+ [[ ${FULL_VERSION} != ${PV} ]] && S="${WORKDIR}/emacs"
+fi
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="https://www.gnu.org/software/emacs/"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="27"
+IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib mailutils motif pax_kernel png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm xwidgets zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses:0=
+ >=app-eselect/eselect-emacs-1.16
+ >=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ gpm? ( sys-libs/gpm )
+ hesiod? ( net-dns/hesiod )
+ !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
+ kerberos? ( virtual/krb5 )
+ libxml2? ( >=dev-libs/libxml2-2.2.0 )
+ mailutils? ( net-mail/mailutils[clients] )
+ !mailutils? ( net-libs/liblockfile )
+ selinux? ( sys-libs/libselinux )
+ ssl? ( net-libs/gnutls:0= )
+ systemd? ( sys-apps/systemd )
+ 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:0= )
+ 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:0= )
+ 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? (
+ xwidgets? (
+ x11-libs/gtk+:3
+ net-libs/webkit-gtk:4=
+ )
+ !xwidgets? (
+ 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 )"
+
+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
+
+ eapply_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 line
+ 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 <https://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
+ if use xwidgets; then
+ myconf+=" --with-x-toolkit=gtk3 --with-xwidgets"
+ else
+ myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
+ myconf+=" --without-xwidgets"
+ fi
+ 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
+ ! use gtk && use xwidgets && ewarn \
+ "USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
+ 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}" \
+ --without-compress-install \
+ --with-file-notification=$(usev inotify || usev gfile || echo no) \
+ --without-pop \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with dynamic-loading modules) \
+ $(use_with games gameuser ":gamestat") \
+ $(use_with gpm) \
+ $(use_with hesiod) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with libxml2 xml2) \
+ $(use_with mailutils) \
+ $(use_with selinux) \
+ $(use_with ssl gnutls) \
+ $(use_with systemd libsystemd) \
+ $(use_with threads) \
+ $(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}/usr/$(get_libdir)"
+ 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
+ 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..a9cf8efdbc3c
--- /dev/null
+++ b/app-editors/emacs-vcs/metadata.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<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="dynamic-loading">Enable loading of dynamic libraries at
+ runtime</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">Prefer version 3 of the GIMP Toolkit to 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="mailutils">Retrieve e-mail using <pkg>net-mail/mailutils</pkg>
+ instead of the internal movemail substitute</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="threads">Add elisp threading support</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>
+ <flag name='xwidgets'>Enable use of GTK widgets in Emacs buffers
+ (requires GTK3)</flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/emacs/Manifest b/app-editors/emacs/Manifest
new file mode 100644
index 000000000000..12a68f70a246
--- /dev/null
+++ b/app-editors/emacs/Manifest
@@ -0,0 +1,23 @@
+DIST emacs-18.59-linux22x-elf-glibc21.diff.gz 15671 SHA256 fb810d893938883d50a3a8d7c43fbeb1604d5454f760b8f1f700326c8ee659dd SHA512 c6c6ea33850dadf08d68fff56fc6aacc80ad1aa36661260715d50b95438942d56e6244094427d50356cfe716f26559feb885254c436399bff7be639637d605b6 WHIRLPOOL cafaa0fb0d06058cac8e445a7a1b5cba145d23186477a9c681efdab8ca0f18a9675dec3a93851fd7138890701f83fab83300c28a548c8fc22478a0cfff95d5da
+DIST emacs-18.59-patches-9.tar.xz 21380 SHA256 69411c57b20850e8aab1e20614437f9a836c2ddf47c46a833d0262c138fa3270 SHA512 595a4a7a4052c3b3325e4d4952eed24c98d3dd62b7ce89bd149f046552e2dd67ec3e720b7559fbc086b06a667c992bccc60201ef53b263dbd0fc96cbcdceee38 WHIRLPOOL 23f803d940c35fe9519fe7169e6bca7012c2d2db2246dec121fba37e8dbf39f411a9e579a9cbd4193562da72b9ac226286ad687877ccadd7cb78ea7eb615ab3f
+DIST emacs-18.59.tar.gz 2962652 SHA256 1e27e33f91984a91e9b4c1f21433f931aba03670960ecc147bb6d7b0de0f051e SHA512 03ce565e346e89b7aacb1852f4783e8907f394de7da0c543b475cb038eb89b87f980d0f7ca1841b1d2108b20f211e95113c7214e4a33e5767a1827ff43173f33 WHIRLPOOL 5e98e71518f665e2a8278afe54e0ace6d7fdd9df23ff0a3354ffc1d5cc25cd21b0dd4d82766fcb436d4f24e9291c933295e956e1ffea43cfeedf915175763be6
+DIST emacs-23.4-patches-20.tar.xz 18544 SHA256 3ea6d9211b03ee5566674bf1ae3d4032c0921234c1612af66407e880f7e52749 SHA512 cf98090327a1963625b91149d8ff66e9ec4dc8c0bb1054eee138429b5c0d39c2a4662ae5425d7f06e7e69a17d28353f163ca38f6fe786d10def8e143f8a6b1d6 WHIRLPOOL ac3283271d71dc43595fc95dd8930e5888ef7d22cbd19c4701206ebc5aaac8178f462b789a058bb3ae6c9a17c63c0f2a16185708c4517566de50fc035298fe31
+DIST emacs-23.4-patches-21.tar.xz 19604 SHA256 b8974eab444e90b2327a3023e7c385df1a7c0e5c583a675ef3cf5f1730174535 SHA512 135eda432de64200797456d594f7de811275a7adf792d10a1c3a51ca4bbbbaa3a2c682b9fd577c4d93fbce967ca08d4ac47eb45f031477c3e44c69c14d5d5b48 WHIRLPOOL 0f746ca161861c128a9d15bc7590954c5a6242c1af495bc65e9bb9c1da3a536ca92755660d0b719155bdb3d3ad18b0d14d820e271c566c97428ea4221b76adce
+DIST emacs-23.4.tar.bz2 38646508 SHA256 26576f9e664397c729f78f5ffcd092969251988461896fe8793062346ee988b9 SHA512 def7a95ecaefae24d8102b96b1d575a23def1b11a8f0bb17b68f7913bd118e2ea4449a8feee76c1bd649f099b70419f0d494ddd9bb32b26f92720cda842b0296 WHIRLPOOL 2384c3f63ff153c3975e373334d6021d46b23ad3cab448ed2e1180501236453a61d13bf1dfbb2e6075bb141dd8511d85f77e37c763b39769f98de48eacc56f3b
+DIST emacs-24.5-patches-3.tar.xz 12500 SHA256 4927e037141c0c242d0d6d3aa7dfde140faae361aa556e6ded64b7ab26819f07 SHA512 9bddca3d4a67b57ca03c26fbca378def345592a95c40e868fc47fd9944ed0f750bc30f3a4d588a8a0b4c90daa6c9ed63b56182e8d2d87b4c8d849bf834ead1cc WHIRLPOOL c16cbfda1040b205ced4c1ed120aad6f65285fb315ce89dc936e6a357fbc8f9215fb178b696d2a914c53c6869384f0b1b56fcb6b84c5438f026101b4989de6c5
+DIST emacs-24.5-patches-4.tar.xz 13632 SHA256 3b2d7c2034711d114494745780b6521150aa0c524966cbaceeb8d4d053dcbdd3 SHA512 569c3a55aaf1102c0bae4ab25ee06372763cd2de8a54e26b3eefd54e585cf90b53c8ffe1ca48eb4fd312a340380fd3f2fcdb584697814bf429129b48fa56ffb5 WHIRLPOOL 1855ac4178faafcc2d86141e023ff2626246c87e7ff2e7bfbaf9a989e9a48d2767acb9f7af99924cd7db04d34913a42764490831b7b45a34bcd131999180ff28
+DIST emacs-24.5.tar.xz 39759804 SHA256 dd47d71dd2a526cf6b47cb49af793ec2e26af69a0951cc40e43ae290eacfc34e SHA512 89dee4c3aadb6e505c523f84c65b5e40e5bf28a586cc8a4518a59581c22972f942bb6f3c772df0d5b2685c3e78247c545c6bb2576e981d1ef0f9298c18ad1677 WHIRLPOOL 3d9f8fb840f4c846246e642369f967ba0ec357c7cf718ed865523a3cd39605ba14b8c15fc9ae3f076c27e5b6e41fcb681d15f1c6ffc5934430c0a2bf47c233a3
+DIST emacs-25.2-patches-1.tar.xz 2104 SHA256 ea0ba1cf1fb06eb76907cc034acb440af1147bdc0fa849ba8185d016fe58e4ff SHA512 45c666ba6332c8fb60a925c6af9c0da113f46055159d931feddb99ce19b2a03e0101b3a4d671fe699cd5f33fd58a25791bfb8b16e20f463e5d304902ee24854a WHIRLPOOL 97c49266b7be18f028ae939dbdcfd3933637770506f108fcd9d08fa33c63f376fbb6fe520e42ec28adb6d4527c298173bffe596af774748946a3d8a130aa90f7
+DIST emacs-25.2.tar.xz 46900336 SHA256 59b55194c9979987c5e9f1a1a4ab5406714e80ffcfd415cc6b9222413bc073fa SHA512 2485d5ccd58ecc953cbd2458bdfa45e3c9a6ddfdb1b93c72b957a0da2460d4e42092905e039e8f5bac337ea1ecb9ac404b28702a363323ee5813b30032ebf00c WHIRLPOOL 98de8ad164cf65b21e5fbfdbd7fcee84da32e3de66715d2f03f3c4d03cfa68d49aff2124e5da331282bb5fd9c2b2fbac4ddfd0985e907d2354994c783dddd83f
+DIST emacs-25.3.tar.xz 42854740 SHA256 253ac5e7075e594549b83fd9ec116a9dc37294d415e2f21f8ee109829307c00b SHA512 1cce656451b6ca8502ebb229e88bd3ef48b7f9444a10eeac4ea43bd5491b2efacd641dfa35227a33362c3866493d3449cf1df81606563eef44bba0ed668e457f WHIRLPOOL 603ec6b203523a22556e48616b4a5ab227c32d3653ac4b713e6cb0357e3556964bc92a1818b417bbf9037cca7dac55935da9458dc3d29b3bb24d66157e74c8df
+EBUILD emacs-18.59-r11.ebuild 4147 SHA256 1fc23c3661811f3d30df44e296a1457aa2bab44c535999ae1dc0d397d8d67695 SHA512 fd953bf529ec8f3094fcfe1b22ba690efa419059ca2d01ca2246f13554463eb586ad402ca58f12a4dd00c347358365633e52f7191ce8989abf48dc0c2d7813ac WHIRLPOOL 84470de04c81a67b58d02ebea299d48c192403e58ecbb2f684ed10e46239ef6db5ff49fb3d59aa53c08b177e56f35019ac29848969ea317e79824aafd33a87c8
+EBUILD emacs-23.4-r15.ebuild 11217 SHA256 296ed49f7fe853fabe6d8dc55b4e093b4f98f2fb475fef8d64458eab69643c2b SHA512 a70cf6e0500f7b2a8b63d06340a60d99283a51e21bfd6954a0ed6cfbf0b5a12204f43c9b7c661022d8f147cb5c88f5a37f5f987ec36084abc3d584e809090bf3 WHIRLPOOL cf78e3fff39e93b98985e1ac6d6ee4411ab0d879794010dad144cc619afb6955f64e9db79e826ec61423fa19039fbcd22cb1f7de6a4afd0fd9f2fcd9db45adaf
+EBUILD emacs-23.4-r16.ebuild 11219 SHA256 99c1a858fd4ff1877eeba0a986b0eacef9e8dd6b034606af28d21df52ed6e1d8 SHA512 9f7c9e017fbdc13d69fbf802ee6a3900e0c816c8b6f472bed22e13b23e658d004efdaae84be010b3822a636653a009d41206d8ca4294e1fca5d5a7cb5d40dc6b WHIRLPOOL 891730bf39ec3736257bce4f9c4b6821cd552ad8d3c53b145c12d63c0e9bfafa1b52dae3944fd4411e0fccbadc4e25bdbcb03d3663d3f2b6ced59d8dc6e2f443
+EBUILD emacs-24.5-r3.ebuild 11048 SHA256 3a737f3afaa2784d6e87af64ecf60db8aac8b73d5699595eb21b583940137d67 SHA512 4a612329a0f585db081c9727632acae909db7741c7604b28fa36fca42539e4f44928a685d603bba7946d2c1a95db2a23513d55726eb15bff84d3773b34c92353 WHIRLPOOL 043f51cbfb72389ca538125766d852bf3cad8f1068e0633a9decefc93aaf8da82a80f094cae0dedac7e1ac131440f607e300d9a11224b3639fd6ef46335a97e3
+EBUILD emacs-24.5-r4.ebuild 11050 SHA256 0bb2aee6af100424b16fa8b23da4a9b04a40582b217932e074e31b4c1778d39d SHA512 44887a9b0715902f069734429bb253443c1ba555a729bcbc839ee61bf2e6e2bd53df181eace9cd0ba68aa8b6a34280583e3644656e2d7f6f3f5b6af2c598ea39 WHIRLPOOL 8d108af2e8d7e8d008fb02020738daaf76870b1d96c193ea5259076d4b29faa33bff86efeb363a32dda6a1483a645230b4f77e4fe2d6854c6906d7230bd0ae43
+EBUILD emacs-25.2-r1.ebuild 11534 SHA256 3ebc01217f850cb414b4daaff05a8f6e157ee1f7d27f6f43c9f22ddaefd04e07 SHA512 e29e7e2c3f8987843203799620099f3da70f89d7e44ad606f2b7f4ff7077333c7e783c3b327d735165b6d9e38e8f22a8eb635b8f412c53a7c9946e81467bf2e2 WHIRLPOOL 5458fae2212afe44629ffea3fad6194dc7e2b9b0b1b7c2e9446ac392ff0a5f004593a09e6bef4db557cc4e812b31af154c20833d6d6947b960d368e5200eb5c6
+EBUILD emacs-25.2.ebuild 11454 SHA256 3ae3b02fe763fa2015dd3c4224f6c3cc891cec0abd0a8553bdf5c1b9f68f3a55 SHA512 cd770b82b502e2ce1507345cb4e011f9df9a1b7243696dc5df1e705ec374e43917177e6cd7d215eb8426f1460b80b29c2bfb51a359c7fcb2c0a40bc51a3a1f84 WHIRLPOOL 8c055a2dcf880a3d486cefaaeef4ea4b68fafccb2007dcb1dda608c12c84977e02e8b6a8aa28ecf3ea958db6295c67d3b329f581b4b94b75ce1e1d175211afcb
+EBUILD emacs-25.3.ebuild 11457 SHA256 318604c373dc8ee9a157d8daa2ed7dc36167686d0feecb193dbd89e1de1449bb SHA512 c74f92d0c40d8cbb40c9b4d179ba40d94409eecdc397faa35e64f81ddc0fef88a86b2f2eb93795ad0eb0d613ceb1dfe290d641d9e1a4a7e94d33ffbe5dad2edc WHIRLPOOL 0dc2134fa1db3b02ca3f0698b3f92e02c8fe2c41d40fd17f62eb35c2a25536bc5724f5e8bfe509d7ab82d1595d419b9bac4a9c2bf84ed63ee52f906e0b2031b7
+MISC ChangeLog 12072 SHA256 cbbb16232ce5f7e640a63614a882cf80f25c86e6c47e693a5f6de8de093385ee SHA512 fb8e13e19fd88c032c01f2c248ffbab47947bb3c3b5e7e7c16ed6972515b850c30774c56493472ba9275e85e30c0b45d0b4aa77f5313b5a4a3a78633fdffa328 WHIRLPOOL 9c1c0ae2cdd9685a7476499b4a51cdb8236e923a50105745979e339e4c9264a8ee7bcf7376ac03d94b2a857421ee77e7b6db342c30ee0b546eaa40e5419dae71
+MISC ChangeLog-2015 93870 SHA256 0de5747f6d5fff7e3dfca0a37269e4c804d6ab3c9fdb34d39e51b650ce46117a SHA512 d41a91ed0454ab885df588edc8a7ee1b97faed64cd479dc12fadbb8056c36b81aabd43ea521171db511e7061ccbfbaec4c443924528dd1779147a4cf5537bf57 WHIRLPOOL c51fbaa8eae82fb02fc76683b2cdf0de65321b07fc1f5b9c2d929a605ac48ce7354f1d4fdc9a7bf1833e9e7280f4cd62e9130b94107b5860890d255ba1b14ea7
+MISC metadata.xml 2759 SHA256 7f568caaf3e715c1534bd7848b60e8234b4f082b665ba6769780dccdf9939b3e SHA512 748620c7f63f55d74bd758fbe21d3762d23e97b362aa356ea30e42efb5f297b1e1abf6b43f6ff1239db0d1732f0d514d49f354a3792d839437f7b29f5ea23b42 WHIRLPOOL 9eec021a8c2a2a8b7d79ff1d348699f051d6e7e54586445ab691632bf26155c4ec722ef0db6984efb0510e7e49537c4c421fb896c7d861da836d3bc6bfe85de2
diff --git a/app-editors/emacs/emacs-18.59-r11.ebuild b/app-editors/emacs/emacs-18.59-r11.ebuild
new file mode 100644
index 000000000000..abf7a53aa027
--- /dev/null
+++ b/app-editors/emacs/emacs-18.59-r11.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs flag-o-matic multilib
+
+DESCRIPTION="The extensible self-documenting text editor"
+HOMEPAGE="https://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
+ https://dev.gentoo.org/~ulm/emacs/${P}-patches-9.tar.xz"
+
+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:0=
+ amd64? (
+ abi_x86_x32? ( >=sys-libs/ncurses-5.9-r3:0=[abi_x86_x32(-)?] )
+ !abi_x86_x32? ( >=sys-libs/ncurses-5.9-r3:0=[abi_x86_32(-)] )
+ )"
+# X? ( x11-libs/libX11[-xcb] )
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+PATCHES="../${P}-linux22x-elf-glibc21.diff ../patch"
+
+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
+ # Quieten GCC 5. Feel free to submit a patch adding all those prototypes.
+ append-flags -Wno-implicit
+}
+
+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-r15.ebuild b/app-editors/emacs/emacs-23.4-r15.ebuild
new file mode 100644
index 000000000000..34eef1e0b9d6
--- /dev/null
+++ b/app-editors/emacs/emacs-23.4-r15.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+WANT_AUTOMAKE="none"
+
+inherit autotools elisp-common flag-o-matic multilib readme.gentoo-r1
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="https://www.gnu.org/software/emacs/"
+SRC_URI="mirror://gnu/emacs/${P}.tar.bz2
+ https://dev.gentoo.org/~ulm/emacs/${P}-patches-20.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 ~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:0=
+ >=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:0= )
+ 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 )"
+
+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() {
+ eapply ../patch
+ eapply_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
+
+ mv configure.in configure.ac || die
+ eautoreconf
+ touch src/stamp-h.in || die
+}
+
+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-23.4-r16.ebuild b/app-editors/emacs/emacs-23.4-r16.ebuild
new file mode 100644
index 000000000000..15369355c279
--- /dev/null
+++ b/app-editors/emacs/emacs-23.4-r16.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+WANT_AUTOMAKE="none"
+
+inherit autotools elisp-common flag-o-matic multilib readme.gentoo-r1
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="https://www.gnu.org/software/emacs/"
+SRC_URI="mirror://gnu/emacs/${P}.tar.bz2
+ https://dev.gentoo.org/~ulm/emacs/${P}-patches-21.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 ~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:0=
+ >=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:0= )
+ 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 )"
+
+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() {
+ eapply ../patch
+ eapply_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
+
+ mv configure.in configure.ac || die
+ eautoreconf
+ touch src/stamp-h.in || die
+}
+
+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.5-r3.ebuild b/app-editors/emacs/emacs-24.5-r3.ebuild
new file mode 100644
index 000000000000..8157ba3ff267
--- /dev/null
+++ b/app-editors/emacs/emacs-24.5-r3.ebuild
@@ -0,0 +1,344 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo-r1
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="https://www.gnu.org/software/emacs/"
+SRC_URI="mirror://gnu/emacs/${P}.tar.xz
+ https://dev.gentoo.org/~ulm/emacs/${P}-patches-3.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 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="acl alsa aqua athena dbus games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses:0=
+ >=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 )
+ gpm? ( sys-libs/gpm )
+ hesiod? ( net-dns/hesiod )
+ !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
+ kerberos? ( virtual/krb5 )
+ libxml2? ( >=dev-libs/libxml2-2.2.0 )
+ selinux? ( sys-libs/libselinux )
+ ssl? ( net-libs/gnutls:0= )
+ 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:0= )
+ 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:0= )
+ 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 )"
+
+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() {
+ eapply ../patch
+ eapply_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
+ touch src/stamp-h.in || die
+}
+
+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 line
+ 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 <https://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 inotify || usev gfile || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with gpm) \
+ $(use_with hesiod) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with libxml2 xml2) \
+ $(use_with selinux) \
+ $(use_with ssl gnutls) \
+ $(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-r4.ebuild b/app-editors/emacs/emacs-24.5-r4.ebuild
new file mode 100644
index 000000000000..a09a7c74e569
--- /dev/null
+++ b/app-editors/emacs/emacs-24.5-r4.ebuild
@@ -0,0 +1,344 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo-r1
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="https://www.gnu.org/software/emacs/"
+SRC_URI="mirror://gnu/emacs/${P}.tar.xz
+ https://dev.gentoo.org/~ulm/emacs/${P}-patches-4.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 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="acl alsa aqua athena dbus games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses:0=
+ >=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 )
+ gpm? ( sys-libs/gpm )
+ hesiod? ( net-dns/hesiod )
+ !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
+ kerberos? ( virtual/krb5 )
+ libxml2? ( >=dev-libs/libxml2-2.2.0 )
+ selinux? ( sys-libs/libselinux )
+ ssl? ( net-libs/gnutls:0= )
+ 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:0= )
+ 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:0= )
+ 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 )"
+
+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() {
+ eapply ../patch
+ eapply_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
+ touch src/stamp-h.in || die
+}
+
+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 line
+ 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 <https://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 inotify || usev gfile || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with gpm) \
+ $(use_with hesiod) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with libxml2 xml2) \
+ $(use_with selinux) \
+ $(use_with ssl gnutls) \
+ $(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-25.2-r1.ebuild b/app-editors/emacs/emacs-25.2-r1.ebuild
new file mode 100644
index 000000000000..b2ad0adcb12d
--- /dev/null
+++ b/app-editors/emacs/emacs-25.2-r1.ebuild
@@ -0,0 +1,358 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit elisp-common flag-o-matic multilib readme.gentoo-r1
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="https://www.gnu.org/software/emacs/"
+SRC_URI="mirror://gnu/emacs/${P}.tar.xz
+ https://dev.gentoo.org/~ulm/emacs/${P}-patches-1.tar.xz"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="25"
+KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm xwidgets zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses:0=
+ >=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 )
+ gpm? ( sys-libs/gpm )
+ hesiod? ( net-dns/hesiod )
+ !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
+ kerberos? ( virtual/krb5 )
+ libxml2? ( >=dev-libs/libxml2-2.2.0 )
+ selinux? ( sys-libs/libselinux )
+ ssl? ( net-libs/gnutls:0= )
+ 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:0= )
+ 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:0= )
+ 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? (
+ xwidgets? (
+ x11-libs/gtk+:3
+ net-libs/webkit-gtk:3=
+ )
+ !xwidgets? (
+ 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 )"
+
+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() {
+ eapply ../patch
+ eapply_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
+ #touch src/stamp-h.in || die
+}
+
+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 line
+ 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 <https://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
+ if use xwidgets; then
+ myconf+=" --with-x-toolkit=gtk3 --with-xwidgets"
+ else
+ myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
+ myconf+=" --without-xwidgets"
+ fi
+ 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
+ ! use gtk && use xwidgets && ewarn \
+ "USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
+ 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 inotify || usev gfile || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with dynamic-loading modules) \
+ $(use_with gpm) \
+ $(use_with hesiod) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with libxml2 xml2) \
+ $(use_with selinux) \
+ $(use_with ssl gnutls) \
+ $(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
+ 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-25.2.ebuild b/app-editors/emacs/emacs-25.2.ebuild
new file mode 100644
index 000000000000..1936a8777e52
--- /dev/null
+++ b/app-editors/emacs/emacs-25.2.ebuild
@@ -0,0 +1,356 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit elisp-common flag-o-matic multilib readme.gentoo-r1
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="https://www.gnu.org/software/emacs/"
+SRC_URI="mirror://gnu/emacs/${P}.tar.xz"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="25"
+KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm xwidgets zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses:0=
+ >=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 )
+ gpm? ( sys-libs/gpm )
+ hesiod? ( net-dns/hesiod )
+ !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
+ kerberos? ( virtual/krb5 )
+ libxml2? ( >=dev-libs/libxml2-2.2.0 )
+ selinux? ( sys-libs/libselinux )
+ ssl? ( net-libs/gnutls:0= )
+ 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:0= )
+ 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:0= )
+ 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? (
+ xwidgets? (
+ x11-libs/gtk+:3
+ net-libs/webkit-gtk:3=
+ )
+ !xwidgets? (
+ 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 )"
+
+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() {
+ eapply_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
+ #touch src/stamp-h.in || die
+}
+
+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 line
+ 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 <https://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
+ if use xwidgets; then
+ myconf+=" --with-x-toolkit=gtk3 --with-xwidgets"
+ else
+ myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
+ myconf+=" --without-xwidgets"
+ fi
+ 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
+ ! use gtk && use xwidgets && ewarn \
+ "USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
+ 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 inotify || usev gfile || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with dynamic-loading modules) \
+ $(use_with gpm) \
+ $(use_with hesiod) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with libxml2 xml2) \
+ $(use_with selinux) \
+ $(use_with ssl gnutls) \
+ $(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
+ 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-25.3.ebuild b/app-editors/emacs/emacs-25.3.ebuild
new file mode 100644
index 000000000000..e2c75ebe4c4c
--- /dev/null
+++ b/app-editors/emacs/emacs-25.3.ebuild
@@ -0,0 +1,356 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit elisp-common flag-o-matic multilib readme.gentoo-r1
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="https://www.gnu.org/software/emacs/"
+SRC_URI="mirror://gnu/emacs/${P}.tar.xz"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="25"
+KEYWORDS="alpha ~amd64 ~arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm xwidgets zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses:0=
+ >=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 )
+ gpm? ( sys-libs/gpm )
+ hesiod? ( net-dns/hesiod )
+ !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
+ kerberos? ( virtual/krb5 )
+ libxml2? ( >=dev-libs/libxml2-2.2.0 )
+ selinux? ( sys-libs/libselinux )
+ ssl? ( net-libs/gnutls:0= )
+ 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:0= )
+ 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:0= )
+ 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? (
+ xwidgets? (
+ x11-libs/gtk+:3
+ net-libs/webkit-gtk:3=
+ )
+ !xwidgets? (
+ 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 )"
+
+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() {
+ eapply_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
+ #touch src/stamp-h.in || die
+}
+
+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 line
+ 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 <https://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
+ if use xwidgets; then
+ myconf+=" --with-x-toolkit=gtk3 --with-xwidgets"
+ else
+ myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
+ myconf+=" --without-xwidgets"
+ fi
+ 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
+ ! use gtk && use xwidgets && ewarn \
+ "USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
+ 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 inotify || usev gfile || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with dynamic-loading modules) \
+ $(use_with gpm) \
+ $(use_with hesiod) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with libxml2 xml2) \
+ $(use_with selinux) \
+ $(use_with ssl gnutls) \
+ $(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
+ 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..61b88217833d
--- /dev/null
+++ b/app-editors/emacs/metadata.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<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="dynamic-loading">Enable loading of dynamic libraries at
+ runtime</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">Prefer version 3 of the GIMP Toolkit to 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>
+ <flag name='xwidgets'>Enable use of GTK widgets in Emacs buffers
+ (requires GTK3)</flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/emact/Manifest b/app-editors/emact/Manifest
new file mode 100644
index 000000000000..801eb7a87052
--- /dev/null
+++ b/app-editors/emact/Manifest
@@ -0,0 +1,5 @@
+DIST emact-2.56.0.tar.gz 578640 SHA256 dfe5c17ed6bab49bdb46425bf616a6ce689b73f498a61c094eb97d1765007e57 SHA512 96fce3bf3e00e84abd9de0778a02cfd284689073391e6f9eb3bb4a54e8899ae32d9e8acd45d0f1d575e36f171ca148fc574c9ecc71615df9a9907ee1d30bb99d WHIRLPOOL 8d4e821c4a24c3cb2b9a5ca898a9a8e0d245242c1c0f8e2986212939d772df503222023d19918b32276e3061d92c7dbe6292a720a0255464e614254c7f7d742a
+EBUILD emact-2.56.0.ebuild 605 SHA256 c89c898c1e9508207f51c505bc7fbceaed86e20203a792b13233257c68f3f4fd SHA512 c1b0ba7d6eafe7e177e412eb7310aff4ca2244c28099e05d38ec668346d3e518cd79b271e9204cfcbe0e9d654a2302105c8288a7b9eacfa4fde395c11737874b WHIRLPOOL 73343e9bcb5d8f0360b01d0a2f1e02167bda9c1a77c46c19b9ae88efacc08ba52a27083e715529a157cead0cba526b278c30d312d77fd73782c5ef12019125e3
+MISC ChangeLog 2313 SHA256 fef77f617a148f96d816a3817172fc8075d4918f298346d521f5bc7bbfbaa0cd SHA512 275f746df27698fef04fecaea182160c18293a4d29300745ebb2af7bb50bf11c61e6f73a7fbb470f389cb50c93c72c64a7e94c33b62171dce9f7c666fc98c36b WHIRLPOOL 120077c2cb366c4f87a9d14736517f4f2079e34379eb8ec4f36b7359c69ed4c35900ed6e472ccaa27a2572779c67a67632741a242f38627d828b741e17a73d27
+MISC ChangeLog-2015 3243 SHA256 cb4b5e7d6257cbe784e4d0618e18b10be61740df34b1e6cd960deeedba934b73 SHA512 c5c8d22a3aeb37b5f19a9df6b4d01aeb4195b90d3077d60038568a39a64afa172d1b512556eaa531abca6cda45eaf420e6ebc4d2f78c83035e279866bde6841e WHIRLPOOL 6eb8f7609aacad2ff1bf450e391b8f150adccbe601d11f3501425465bc82623101faad9e78e41ae903d2ee422cbc03fdb687fb13ddedeb6e8eef594003e29939
+MISC metadata.xml 1356 SHA256 89fe6278a1985e62b05a5404ca3cae3794f35292de4e2f9fcf57a5da236452c3 SHA512 f376c46dc531f259dda9842b817c5eb040c4c2f9ee811e728770b660e4af1b8d588081e34bd3149c88fbbfbb976cc6cdb3013a8c8a5ae488a198a9c3ac10d75d WHIRLPOOL 353cde5c249e8a2a0d4f0d20da2a42dec5104bc41b647101b0925b695477973d9938a536bf2d64bbd3762447e0b5f7c3c4b5913545e857bc43571b07ee7fa69e
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..5ac2733b21f4
--- /dev/null
+++ b/app-editors/emact/emact-2.56.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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..d94e6b286818
--- /dev/null
+++ b/app-editors/emact/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>emacs@gentoo.org</email>
+ <name>Gentoo Emacs project</name>
+</maintainer>
+<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..777db428c38a
--- /dev/null
+++ b/app-editors/ersatz-emacs/Manifest
@@ -0,0 +1,6 @@
+AUX ersatz-emacs-20060515-gentoo.patch 971 SHA256 d946cebfc361584c8caed7f2ee9622df0d6f64d6a51b513f9c55c6c4e837c2f4 SHA512 dd9264a80f80eeb06a1c194d9f9df02c2b53fc143ec676e9c9489b57d337fe2b42240029026acc932f05b11ca78464033a5571990dca1cae716932d3c9a300fe WHIRLPOOL 32c8996e85afd3015da8f4ea673fa8d0b973f79fd9f842cf0b07822ea3e3136ac759021951991521cc6c2c74379d9d3042fe1703089782854bc8ff5d541862b4
+DIST ersatz-emacs-20060515.tar.gz 45581 SHA256 7585aaa0aba1232204332ecf91906e0d74da9cb33dfa2889e45bcf0f251f99a5 SHA512 c30ede63ebb44076762aa430a73c73d3fa3bcd0e3d0016162aab31347257124479f464a1003012f7418e807abfd3c613c81f5196ccf65b0cb3f939b7ad5c989d WHIRLPOOL 0c19be0c1b891abf4e09d641e56008743da7297a5d6b3fa48de14b75e5a5d1bc2e9caf53d96d995a0807e47618d091bbb1348ee781bc980f2a1a79d0f582b71d
+EBUILD ersatz-emacs-20060515.ebuild 998 SHA256 efae28df4c14621885c9b78f6fe8448aed3f068ccc4cdd3585d8853b7897685a SHA512 fb40ee9f53105526538b353bcbffa9f3c8b361f9da27289f127b6eff53f78f860577f633172e975338df6d781d85d6b629a4051cc2328bd0ba1a6f7e28099406 WHIRLPOOL 217a07c92fe4d38a539031e29668ec62953b6f8a1c6c4c976c1d8d84dbb269561f50c10dea72d78e6fbedfc326aed3e8d63392cfe3b5e8ea078c155deba3f59d
+MISC ChangeLog 2383 SHA256 de25753f9f04f22a897abdf76f567648b41f3bdea98447c55ae3dc1785b0be40 SHA512 e6865af1ac82aef87b1b4f59dfb1fad99d57282c9628922fcb9dc3d096aa12e95df2ce9ae6c175e475d1b511295201674688853ad098d8c08f1bfcb126ba7eea WHIRLPOOL 7d0bdcda388f304b420f1013329d899ee8f8476afcea2df4408af00a6059cc2738a0923c991204821e97fc0c9ab112fae8bc0560a3b5eea39f112a934d700489
+MISC ChangeLog-2015 1623 SHA256 bdb49ea90a82716372ab433376e27689d504cc6dbccd20dcbabaf8d4b9fe713d SHA512 0b6bc54a49c263a1d21858b6a34f9468f25accfabfa539b277687abf54562ad8b420e0c7290bb3aaedce6ddce038f356654ea637598a2f279a51be4127ea10b4 WHIRLPOOL ced005d0e9e0a6fc968269103c930f85def85cba3388f07807e8b70d86789caff70b61c2a07752ba3ea5bee6e4e3b599f9ad981a3ebd68f328f721e64be2e1e3
+MISC metadata.xml 610 SHA256 536c3ee412b85b8f2c8b7541de947a84b03d210eb3d012347f8e2148a3ac7c73 SHA512 a48b4e5215cdd4a33802ef3fcf3324f43bd3c8ec8d70ba6be8e295c8dda35c4e4df400a04afbf4193c595c7dd4d23aeee38cb80585e498b1b77907aaedb56926 WHIRLPOOL 67d70e42ab9893936fa99455446c9d719dcb338baee17002303cfa2b44e1e5054379065a004fb0270ae11f8a28d9a5a5b562d6f2b5d421fc1ae60652ab8cacf4
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..2b147efbad2e
--- /dev/null
+++ b/app-editors/ersatz-emacs/ersatz-emacs-20060515.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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..047063ba435e
--- /dev/null
+++ b/app-editors/ersatz-emacs/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 type="project">
+ <email>emacs@gentoo.org</email>
+ <name>Gentoo Emacs project</name>
+</maintainer>
+<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/fe/Manifest b/app-editors/fe/Manifest
new file mode 100644
index 000000000000..7dfb80c4f940
--- /dev/null
+++ b/app-editors/fe/Manifest
@@ -0,0 +1,8 @@
+AUX fe-1.8-makefile.patch 495 SHA256 484bc8b6ccaa1078fcf89722e4cd2eba1ee374bf079faa01b9e1b8186e881209 SHA512 1e88c66f37d5cfc90b8561cc8bb99a460003b79ca312e2a5a7ad5ebb44bbea86deb4aab115c3dbe7775edfb162d7417e4581a9854b1cc7e9efd8a91502c12cab WHIRLPOOL 725843aee84dc5b2e9e846640c62d67b739c75c2150a1249fe40fd30ea41bbe2215bffaaa4f803d62cb9c8fff6231a8e2074ec7cea4a4f749ba95cb59b629b39
+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
+EBUILD fe-1.8.ebuild 689 SHA256 c6ca64e6fa6a71645cbccc70ea0c0a847f3df120668005ddc8de5ddbc457039a SHA512 e4272214d6a2876f4eeb46b20ac24a186f2f187fe62705f388bc905ce249013d457e82e168e3fbfd23a9b212aeb2021dc1ffbafb9b5c6467a75ed7ed89079285 WHIRLPOOL b6708a81e7286114a091181936311d285f84acddf9cbdac9404a8326b1a97023b4ede81ce3e21142725b4dcfe3819627290da2c02cb1cb110ec60ece4eccf972
+EBUILD fe-1.9.ebuild 694 SHA256 36058a677f429844c416b152ddd66917f2d0c3374bbf8e8f2e54ac380a002c25 SHA512 987ee3a593b521916c12c40823840d593766c31bf4bcb47d5f082092d3a95078915d8180b6a482c6afc0c014faf88c79076823153f42a64a5aa6789f24243767 WHIRLPOOL 62e27d18c06aefe585e5188d731ba647a1bd95c900c2d89f674c7462c1a08bce0c51bb7e7beac99a6804129a0937f0842c1687db7dc7b255763d6d9fdb0cbb86
+MISC ChangeLog 2759 SHA256 f563134751e350f7892a3fb60d52b13f9f37834a8d2ba2dbc99039b34282ed7d SHA512 98e3c2739d557340e5682775b7b47710dad0806eeb3a6b9664ee22272902b0b77edd6ba6fd8dca0bfc98957f8ed1a17fab33d2d7a8e7fc405faf504bf9b5a666 WHIRLPOOL abc379289050da989883b7ef7cbe3d2fb1f2ede3692146310eb33d66f52d8cb7fc8b89e3654add9d31921e7b885660d5198fb79bce1168357985a3f294d2e215
+MISC ChangeLog-2015 1620 SHA256 ba9d3a29ae4cbc03536d378ee385a90b035b4bd58b629f93303652df7558d182 SHA512 6b56a10d88d0ffb079ce450bd27cc3a11d6e4cfba93530d1bf28b2b64df1f675bf5dc489c1b736fcd7c8192460c6859cf4b755fdcf0c5692751e1abd452ee9e7 WHIRLPOOL 604d9f1da34253aa29d4d225135538d41e745cedce0f8214b0e67c1db731a82ae7feaf32dca33134ad1d2db129b78f250f1c5cc13af6e55fb38323dd0c6b59f6
+MISC metadata.xml 1259 SHA256 0e241c9cc059adef79538990bb4000477e0489642aaa79d45e4fa8bc5617bc32 SHA512 6539d808d3cd85bab1985dbfb69ddbd01166a4e6dcf66d0f138d1ff1e52d9b7342ff3b468e031f9372308533296e28eb978b00954624890a897b5f41c222f701 WHIRLPOOL bef43f12ebfd0c59f5e5e3c96a4a24c944017652d47602033ad5b010ddaca6af93e3a4a1a444d031e2f87be699b9a80df6008a4cc7328f4c4943b909280dd0ab
diff --git a/app-editors/fe/fe-1.8.ebuild b/app-editors/fe/fe-1.8.ebuild
new file mode 100644
index 000000000000..5567eebdbb07
--- /dev/null
+++ b/app-editors/fe/fe-1.8.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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..084a8edd52c2
--- /dev/null
+++ b/app-editors/fe/fe-1.9.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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..5020c7020a74
--- /dev/null
+++ b/app-editors/fe/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>emacs@gentoo.org</email>
+ <name>Gentoo Emacs project</name>
+</maintainer>
+<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..343d76d29c45
--- /dev/null
+++ b/app-editors/focuswriter/Manifest
@@ -0,0 +1,10 @@
+AUX focuswriter-1.6.0-unbundle-qtsingleapplication.patch 1108 SHA256 0ad444b717639deb1ca219e0ed06d614c41026521e205076e38c765e4e550f6e SHA512 5f272a4c65b1eb58cc87732fbe82f2c6b925562e77b2280a8b9a0a8b0a41716567051ebd4f6ed32caa8ce7f14edff4e20666f6ad4e464cc8d308640efa4a3c19 WHIRLPOOL 22c495e6d2a7c9298a8d6cb775be9177830d3ec630774552517b72472ffc52ccc227d9f4947fb7128604ab54003bc39423ac4f9c52be1fbb7ea04ab878c9e9b9
+DIST focuswriter-1.6.5-src.tar.bz2 10194695 SHA256 48e949986a65bc51f46f10c075de2904b2e1feb0e1c74c0a8efe99cd8c2de0ce SHA512 a15024bc94f0212db2ec4f8d88b942fc3640b2917f130b1fbfb04ab616ed4d10baa11f9cab8d27a8fc40150bfa3e25d3afe1d76581dbe96a3cd6d62530207e12 WHIRLPOOL acb8fb4cc802a4f12758d02250fb14ef9b1eef4dad5aa98219c3a985f5df56c9fb780f7668a52e4ef7944b5e153386b00aff86c0e8e6161a99aa2bbf818d92b0
+DIST focuswriter-1.6.6-src.tar.bz2 10195488 SHA256 472e78de5443f52b3fbad0be0096b3eb5425e2719813b75ce28aa2c8d9b6340a SHA512 d4faae8477080e3898bad144e154c4c43232befe0c2ee90643a816cbb847d3eb25ed8f6fe916cafa5d445c4b3483e880f84015f952f4606bc01f595aa01e113a WHIRLPOOL 0570009d2240c42c128ecd35274bd876ff026b6f9a2abb6d56aa686fadc4f1aebd8c2e637ae6574a377e501e406c19c34088667c34cf8c76a37400c28c1ddae7
+DIST focuswriter-1.6.7-src.tar.bz2 10196583 SHA256 bf78e596d7ed9de774bef5bbe75f1f0a01d626198fce6c8062a679936dfc3883 SHA512 d33c66881b1065aa9812dae14a5fe2a2850ce1c50f4b38e028bcd3f5a4bb1fd489705b0272e3233f3db468b262daefbd906025126f792d04af41722cde2c7bf5 WHIRLPOOL 32f19b772f069907cfefa69e2d0c1b633392d47a852cda3f811622ef24ec4e4d59270468a87bdc28f022453b3ed7eba86d4749882defae126ccae527ae0926eb
+EBUILD focuswriter-1.6.5.ebuild 1041 SHA256 6653fd4d0d8043770c84c5d944c1b1dcaa628ae1ee80fca36bdd0fc4f469eebd SHA512 71fe8650e73194be29014ea4bf881309f55a0f9bcffd70b016e52ea0d476e8008cfe7b71bf8bcfa016232e68d34c9ae41195d21b2b4459f4fabd4d39d01c0bc3 WHIRLPOOL 9b134cae745361e53501ce7cbd0ccebbc905d3d68080c0d874df8bf97c8dbac149a794d04f0b6db5aa0601e17bba7d377341c12b52defa265b450f98d2ee0921
+EBUILD focuswriter-1.6.6.ebuild 1043 SHA256 e777578ad0ac1d2469c32539d5606b3fefb6d3ca0c279bcab3940776d6d65b0c SHA512 1dc69ea4f13b1ff946e08bc7e83297bd3ba804708b304c449123ccaf2c51aba0f4aa62c643b83cbc5cf4832352f5afdcd445a82f2fcba2086bc008f1406bbac5 WHIRLPOOL d3510b92812932bd896ffa923a73b148b355bfa33438fa95a33ff4066c0f1d243d2192eff197cdc36ce65e12eb63475cb8e9ef46c6d51608ffe03bdfa661f1a1
+EBUILD focuswriter-1.6.7.ebuild 1043 SHA256 e777578ad0ac1d2469c32539d5606b3fefb6d3ca0c279bcab3940776d6d65b0c SHA512 1dc69ea4f13b1ff946e08bc7e83297bd3ba804708b304c449123ccaf2c51aba0f4aa62c643b83cbc5cf4832352f5afdcd445a82f2fcba2086bc008f1406bbac5 WHIRLPOOL d3510b92812932bd896ffa923a73b148b355bfa33438fa95a33ff4066c0f1d243d2192eff197cdc36ce65e12eb63475cb8e9ef46c6d51608ffe03bdfa661f1a1
+MISC ChangeLog 4750 SHA256 2bc5a928bb2643d0581af28192ecd59386f5a5a67c0e53712ff66aa2c2740a1a SHA512 e2d1fe9b563ea6f73f99a17762b891c498f6f91f751eb055385772c0f9b28474122c7f6a53c02ecfccd6f0f551075ea21cf83bbd4541732039acfcc0dfbce78b WHIRLPOOL d879fe7ec6991ea9ea56c4e128a215ce4c7cf2d50fe027c25e997f792fce8b46ec4433233884d6f1ca925fce7d801ae9e19a8c4f86bbb143aae4191d7ff80bfc
+MISC ChangeLog-2015 5163 SHA256 e1349068889089afd502c266b2b334b73fbb158ffcecb331e8247d0af55e18d9 SHA512 fc9f18b9b42bb90197f23c9725393975e43c9a2166ecfe386e3dac6b13282be87241964c246d09ec08d3bbd548b6d44f316adb9cb7697a80b2703414dd98d951 WHIRLPOOL dbf0b5af8c770c6f599f269139e3f989937d859505e496ba7625ca52fe7cbc531377c4c7842c313784080aa4578d4ab49ffdde41976fcf882a2db84e506c0c96
+MISC metadata.xml 247 SHA256 690d3e08cdd71b405f5361dfa3f33007ce9ec9d0ae7628e9271891da9e2bda92 SHA512 b43c8e84c3c753b49b203921a5aca792639a36d6efdbe16c069ff9abfbce0585718bb3824c03abdd7bd19ada13fb0a98a378c85ed369ac5fdc53ad3b3d5465d2 WHIRLPOOL dffc398d6bdbe8a8afc8863675a819a7bd69ae4d098ffbddad4c21ab8f1a850ab8ede71f98e34999b0605ad01ea93c8864cd681b50d3e153aa3d0901ddb10743
diff --git a/app-editors/focuswriter/files/focuswriter-1.6.0-unbundle-qtsingleapplication.patch b/app-editors/focuswriter/files/focuswriter-1.6.0-unbundle-qtsingleapplication.patch
new file mode 100644
index 000000000000..000db83f10e1
--- /dev/null
+++ b/app-editors/focuswriter/files/focuswriter-1.6.0-unbundle-qtsingleapplication.patch
@@ -0,0 +1,37 @@
+--- a/focuswriter.pro
++++ b/focuswriter.pro
+@@ -7,6 +7,7 @@
+
+ TEMPLATE = app
+ QT += network widgets printsupport multimedia concurrent
++CONFIG += qtsingleapplication
+ macx {
+ QT += macextras
+ }
+@@ -83,7 +84,7 @@
+ src/spelling/dictionary_provider_voikko.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 \
+@@ -142,8 +143,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 \
+@@ -207,8 +206,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.6.5.ebuild b/app-editors/focuswriter/focuswriter-1.6.5.ebuild
new file mode 100644
index 000000000000..aee21c9571a5
--- /dev/null
+++ b/app-editors/focuswriter/focuswriter-1.6.5.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2-utils qmake-utils xdg-utils
+
+DESCRIPTION="A fullscreen and distraction-free word processor"
+HOMEPAGE="https://gottcode.org/focuswriter/"
+SRC_URI="https://gottcode.org/${PN}/${P}-src.tar.bz2"
+
+LICENSE="LGPL-3 GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="
+ app-text/hunspell:=
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtmultimedia:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtsingleapplication[qt5,X]
+ dev-qt/qtwidgets:5
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}
+ dev-qt/linguist-tools:5
+ dev-qt/qtconcurrent:5
+ virtual/pkgconfig
+"
+
+DOCS=( ChangeLog CREDITS NEWS README )
+
+PATCHES=( "${FILESDIR}/${PN}-1.6.0-unbundle-qtsingleapplication.patch" )
+
+src_configure() {
+ eqmake5 PREFIX="${EPREFIX}/usr"
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+ einstalldocs
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/app-editors/focuswriter/focuswriter-1.6.6.ebuild b/app-editors/focuswriter/focuswriter-1.6.6.ebuild
new file mode 100644
index 000000000000..00b883cea9f2
--- /dev/null
+++ b/app-editors/focuswriter/focuswriter-1.6.6.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2-utils qmake-utils xdg-utils
+
+DESCRIPTION="A fullscreen and distraction-free word processor"
+HOMEPAGE="https://gottcode.org/focuswriter/"
+SRC_URI="https://gottcode.org/${PN}/${P}-src.tar.bz2"
+
+LICENSE="LGPL-3 GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+ app-text/hunspell:=
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtmultimedia:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtsingleapplication[qt5,X]
+ dev-qt/qtwidgets:5
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}
+ dev-qt/linguist-tools:5
+ dev-qt/qtconcurrent:5
+ virtual/pkgconfig
+"
+
+DOCS=( ChangeLog CREDITS NEWS README )
+
+PATCHES=( "${FILESDIR}/${PN}-1.6.0-unbundle-qtsingleapplication.patch" )
+
+src_configure() {
+ eqmake5 PREFIX="${EPREFIX}/usr"
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+ einstalldocs
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/app-editors/focuswriter/focuswriter-1.6.7.ebuild b/app-editors/focuswriter/focuswriter-1.6.7.ebuild
new file mode 100644
index 000000000000..00b883cea9f2
--- /dev/null
+++ b/app-editors/focuswriter/focuswriter-1.6.7.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2-utils qmake-utils xdg-utils
+
+DESCRIPTION="A fullscreen and distraction-free word processor"
+HOMEPAGE="https://gottcode.org/focuswriter/"
+SRC_URI="https://gottcode.org/${PN}/${P}-src.tar.bz2"
+
+LICENSE="LGPL-3 GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+ app-text/hunspell:=
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtmultimedia:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtsingleapplication[qt5,X]
+ dev-qt/qtwidgets:5
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}
+ dev-qt/linguist-tools:5
+ dev-qt/qtconcurrent:5
+ virtual/pkgconfig
+"
+
+DOCS=( ChangeLog CREDITS NEWS README )
+
+PATCHES=( "${FILESDIR}/${PN}-1.6.0-unbundle-qtsingleapplication.patch" )
+
+src_configure() {
+ eqmake5 PREFIX="${EPREFIX}/usr"
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+ einstalldocs
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/app-editors/focuswriter/metadata.xml b/app-editors/focuswriter/metadata.xml
new file mode 100644
index 000000000000..17237689dcfd
--- /dev/null
+++ b/app-editors/focuswriter/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 type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-editors/fte/Manifest b/app-editors/fte/Manifest
new file mode 100644
index 000000000000..fa37a0b22c26
--- /dev/null
+++ b/app-editors/fte/Manifest
@@ -0,0 +1,15 @@
+AUX fte 604 SHA256 ab2f22eb5fe1d1df82c0f976a457979f66b0c4f605fb69baba46d50204021f0c SHA512 5f93df643282016c352db88cddd37c1b9f86d94654a7eff0089b9d349ad3f56ba4266cb2431ac3a418bd4b5aebf6d7ad04c26099061942fd3e90fc9fb938322b WHIRLPOOL 8ba69515823d2f340559acc9b39b36952db41e66c49c652e200edf7d550f7c1ef6332264ec2806c91bab420a54fc202c109b37c594ee1aa36aead047fb6781cf
+AUX fte-cpp14.patch 531 SHA256 99e71c9a9c681cfc7b6744ed4399acf556984b8b415f09e306ebcd9e290d5fb1 SHA512 d6bfe5912f92e5d948d3de49085824d74ca51877b93cf8af7f2d4a6d162e6ea5ae11f96fc2b096875a9cd08476af88b07a7a1e352a97206876c15779e4bc36a5 WHIRLPOOL 2c915a7cbb6af0556eb3cfc362293b11c44ef9956af27dc2b4b3ae6b13f5dfe070502a8d9e391babe907fd47d801baadf63d552135f99ed2551017fd9de5041d
+AUX fte-gcc34 1092 SHA256 c3f452a0b72182c50a2f3057a10d749d8a304890b0844ad9ee572cf4ebf83811 SHA512 390da870507786d74d67847d644c07d9c24789913117c46fcd8739f5ceb58345ac100a7cd1e2ef1183d09e76f923b73cd94fa523f5eaa3d6113a952240fd4800 WHIRLPOOL 488e5e72a87a50be21da96ca04c4b743bb3f55cc709d59ebce2887140aff9afde03229b4264d0ef0624902e87872da3ffd9a652aaabe1456926b989611a5fc72
+AUX fte-interix.patch 1041 SHA256 e4289d383169cbafdadb4868a4ca64a43a6f70da8870b34c2228eda9ae6317b7 SHA512 6f43c682b577b838675fe93c9e2b4c225e3c853d2db95f81f84d64508e78c6f957f1c8842343df2d9a6e7d01e5103a6cc2a1cd0cf414cee641b6b11c0d551b78 WHIRLPOOL 9eb0bb3401695d5609a314495f4af91f756cf895b1649bc75a0b462cfa7fff0d56b6060832fe9b51b80c90d12414eba5c4e74d3f1bfb0c138b1864a66fd03631
+AUX fte-new_keyword.patch 340 SHA256 c30c5c216ee481a6e1fe964d12998b5b36e288d30883f9ced88fca60ab7253b8 SHA512 ab003f671919fb03429ab13adda5025554258e0799844b887cb786c2378e81025893998b0ef3b0b121d82422502d90f5dc8afa9855c1432c8d2f6597ea087c7a WHIRLPOOL cdfef784939b444dd7d83de66599955c7b927b93b1980fe070311cbac349767f66e481b67246b0512b6bc76017d56083416abb47bfc943a3d2051b69d1dffc46
+AUX fte-slang.patch 3567 SHA256 00b623d6c05f03243cbc7d6c3fa90f3b083f87b613cfa8110f4e1eaef9695a19 SHA512 3f9504d9b4d6de6e012f0aedf762dce51d1fbc79345f2f45f5303bc81194441396cbd7eadc9457e07814cb6d33b6db6ad1186de026b5b474f9419071e4b75d10 WHIRLPOOL 2cc082f80a33ae22a3a19a0eda86988e70d9f37480c7210f4b5902d8361b114789a692446a6ce092f1809ac9f2efaca34b362b5907ac9f056e83b3a7f6edcd5c
+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
+EBUILD fte-20051115-r3.ebuild 2780 SHA256 a0d895dba1b543a73aeaa985466236d8a238c31c7c9054c737e0a5fe070f857f SHA512 106f6eda464bb37d35d549e8c3a56c53a3571e259e748bf7f975d1e6fce4a4e1fa32ea85f8cc26f38ac5181cdd64af32012a8332594a74c09d4e064779a9778a WHIRLPOOL 9460aeadc6e925a6b947706638239594e6477b29bb680e8fc31987beceb46fc3b8b21e8e7126739c2aa42ee951b245f73764fe2f56c6b13896407ed0a02608ef
+EBUILD fte-20110708-r1.ebuild 2656 SHA256 e60cfd519210ff900890874f4d1cde7115ad8779b10ba539c9abfdc5e3b201ee SHA512 989ddf33022f0bd8b8d0e1d79bb1dcad111f8fbe3d7de329512feedbd4751a6790d5c08657ec83f110bf86547e05be5795fcfdbf2597ed172b11664a47bb38a0 WHIRLPOOL a3fc82ffc1a3dde64e3e5d122a1e4c0a5792dc7e618ba9f730a7dd0348ee01de24f6f44870950a0c4286da0905f29f8a59af037078323596cd030cc16b18cdde
+MISC ChangeLog 3346 SHA256 e965d42b0e02d5f43f1da0476375769888895b1f3dad172f8417302346e9ed7f SHA512 8954369ed575b8504b5360839e0c466e83dbbe3c3f49294f4ef495008b8d1122a1d56afed49414116c470b0ab1933986f41d6ce7aa62c8dcea8b37451a28b67c WHIRLPOOL 5f07a715944deb5752249de20fdf9d7e2502506064f9be6c00e31b4df12235f9fc32c84f8284e155abd7b00027a05bb0c4780a322a7545d5cc8d6a8683fbb9fc
+MISC ChangeLog-2015 9237 SHA256 9267816793bb7360d1adde12d08e3906f92a618017184b947fd0adc084f5a964 SHA512 1d7f0bd93b04099436e9bc141972e0cf0a33c305670f5466d252e92dd9c1ff2d6a916fd79c5c594dbaade63077b20995627afce355b484032dc036a6cfe0d6a0 WHIRLPOOL 765e58749f0ea8bf67c1ca95d951185802869ad53d60688684b63d2c03348a2a838771bed828e35087a303141404ee3be3672744b3cd226622472d1ca7a6ef14
+MISC metadata.xml 312 SHA256 41e084f55bc5c50a862824d7c1e3dc2153df5a8c22e7ca8a9e724ae927b5069d SHA512 3946924797105501c1388f172caf774488ebb480ff13664fffd75fb30ebdfba27d52c3e7d534e7dcad5204b6074ba28ee25a4724ed117748059fceeff9d23b60 WHIRLPOOL 2b4b53365baa68eb87f5c0216bfcba285a71816b287808ed17db1939cf6e2674beeb6c5b723c68c427b91972a6682295f058ab8850633a5e88cc66c7a5f75dac
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-cpp14.patch b/app-editors/fte/files/fte-cpp14.patch
new file mode 100644
index 000000000000..bea83b6a5ccd
--- /dev/null
+++ b/app-editors/fte/files/fte-cpp14.patch
@@ -0,0 +1,17 @@
+Fix C++14 compilation errors. Add casting int literals to char in config
+generator to avoid narrowing conversions.
+Gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=595048
+
+--- a/src/mkdefcfg.pl
++++ b/src/mkdefcfg.pl
+@@ -24,8 +24,8 @@
+
+ @c = split(//, $buf);
+ for ($i = 0; $i < $len; $i++) {
+- $out .= sprintf("0x%02X", ord($c[$i]));
+- if ($n++ % 10) {
++ $out .= sprintf("(char)0x%02X", ord($c[$i]));
++ if ($n++ % 5) {
+ $out .= ", ";
+ } else {
+ $out .= ",\n";
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..ea155c1e9f64
--- /dev/null
+++ b/app-editors/fte/fte-20051115-r3.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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 ~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 \
+ "${FILESDIR}"/${PN}-cpp14.patch # bug #595048
+
+ [[ -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-r1.ebuild b/app-editors/fte/fte-20110708-r1.ebuild
new file mode 100644
index 000000000000..e32fb0fe8861
--- /dev/null
+++ b/app-editors/fte/fte-20110708-r1.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="gpm slang X"
+
+S="${WORKDIR}/${PN}"
+
+RDEPEND="
+ sys-libs/ncurses:0=
+ 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"
+
+HTML_DOCS=( doc/. )
+
+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() {
+ default
+
+ if [[ -e "${EPREFIX}"/usr/include/linux/keyboard.h ]]; then
+ sed "${EPREFIX}"/usr/include/linux/keyboard.h \
+ -e '/wait.h/d' > src/hacked_keyboard.h || die
+ fi
+
+ 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() {
+ keepdir /etc/${PN}
+ into /usr
+
+ set_targets
+
+ local i files="${TARGETS} c${PN}"
+ for i in ${files}; do
+ dobin src/${i}
+ done
+
+ dobin "${FILESDIR}/${PN}"
+
+ einstalldocs
+
+ 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 || die
+ eend $?
+}
diff --git a/app-editors/fte/metadata.xml b/app-editors/fte/metadata.xml
new file mode 100644
index 000000000000..c209ef776339
--- /dev/null
+++ b/app-editors/fte/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-needed -->
+ <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..783a4e7b14b6
--- /dev/null
+++ b/app-editors/gedit-plugins/Manifest
@@ -0,0 +1,5 @@
+DIST gedit-plugins-3.22.0.tar.xz 1314512 SHA256 83a73088de73478841b9a216bd89c2e478aa302b3579a2a8685893d7a6a48fdc SHA512 5560b48c0b21b535de7247c39653c111439f9cb138025d7e3a600b94babbe060777c2095160b7e5ea39b8ba8be520ea3966b0ffc2ec15d17ea0bf814bf58748d WHIRLPOOL 81c9d266982377e43082a71a6ebbbff96f426912bd07b10e1000a70894982af71f6617e6e9bb27d932214509e622740ecf72af5929a0d4f5d4085052696cd954
+EBUILD gedit-plugins-3.22.0.ebuild 2418 SHA256 f1fbb512e7d23de85fe132c98d1593565deb261656f7166513ab79a74f7b36b3 SHA512 c281e7d554951875681f8a4592568006977d74c04cb60db0683766c634b09d8caff228125001f8bac8cb54b06e16a14a969ce6983e0acc9e1ec34832b02ba64e WHIRLPOOL 14619f59c37f81c419a4be390ddfd1d3c473fd7f6bf0fdb24375972f9144c2204a06c968cfdaae005d2b1989abb86eb87d27208d38d6a3d58c2869b6347b9212
+MISC ChangeLog 4942 SHA256 6133cc61ce4b51d171ccaae6abd0c24e6eee330f46d8ab43610d6a31e62653e8 SHA512 58828c19a7891e41f66fc50574c9774859059e2d9ea4de3b2359ba0988e4193f5566d6d1c1cb4c8ea27251103d0879ae3e818671d6e52ec60947567565184d90 WHIRLPOOL 6dec47a5f613cbd3ece427f86d2d9f46e45c90d30c823335adbc87c0584a617be78e7c2588f4889ddf4a170adc38385b7c12f09a3c89e546e69d33330e71689f
+MISC ChangeLog-2015 10767 SHA256 3ef9357a5c830dd9fe787999c8e43956ca259322eb01fd00afabcc844c3fbdb4 SHA512 579959c1e31382d0004d3eac2ca87306db46bdefe36dc145943a6b1090eba3671ef97cf88c77aa95d42a167d4a85f97390bd50633fa6248074da655b6eb18584 WHIRLPOOL 493a93a2602233fe65717294dbab5ce421ae8fdb0815aeaf658a9c65c0576762793aec7aa73ce4ded30922391fe41ac0c73af9613da9d280a0d240cd2ab67f96
+MISC metadata.xml 643 SHA256 9a348fe86587ab346256d1ea958ca9e1c49cea3b75e735eacf8c7328c427fbcf SHA512 e699d207fcc3d0c2f0fdeb6c3bb6d8db3f4afc4f17065d9ade43c257db59357a179ecd380cda15c46bf5342dd68fe80c6eba0707d912f04e469fd368ca1e40ef WHIRLPOOL e27135f168f343faff44794db1b8309dca3b3eb9e117c4d6eadf6e3e00f89a9d7502eeace9f415130cdf37a3650236cedae0983c1690c479759b43d7c0735280
diff --git a/app-editors/gedit-plugins/gedit-plugins-3.22.0.ebuild b/app-editors/gedit-plugins/gedit-plugins-3.22.0.ebuild
new file mode 100644
index 000000000000..fdf3fe79fdaf
--- /dev/null
+++ b/app-editors/gedit-plugins/gedit-plugins-3.22.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+GNOME2_LA_PUNT="yes" # plugins are dlopened
+PYTHON_COMPAT=( python3_{4,5} )
+PYTHON_REQ_USE="xml"
+VALA_MIN_API_VERSION="0.28"
+
+inherit eutils gnome2 multilib python-single-r1 vala
+
+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 vala zeitgeist"
+IUSE="+python ${IUSE_plugins}"
+# python-single-r1 would request disabling PYTHON_TARGETS on libpeas
+REQUIRED_USE="
+ charmap? ( python )
+ git? ( python )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ terminal? ( python )
+ zeitgeist? ( python )
+"
+
+RDEPEND="
+ >=app-editors/gedit-3.16
+ >=dev-libs/glib-2.32:2
+ >=dev-libs/libpeas-1.7.0[gtk]
+ >=x11-libs/gtk+-3.9:3
+ >=x11-libs/gtksourceview-3.21.3:3.0
+ python? (
+ ${PYTHON_DEPS}
+ >=app-editors/gedit-3.16[introspection,python,${PYTHON_USEDEP}]
+ dev-libs/libpeas[python,${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] )
+ vala? ( $(vala_depend) )
+ zeitgeist? ( >=gnome-extra/zeitgeist-0.9.12[introspection] )
+"
+DEPEND="${RDEPEND}
+ app-text/yelp-tools
+ >=dev-util/intltool-0.40.0
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig
+"
+
+pkg_setup() {
+ use python && [[ ${MERGE_TYPE} != binary ]] && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ use vala && vala_src_prepare
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ $(use_enable python) \
+ $(use_enable vala) \
+ $(use_enable zeitgeist)
+}
+
+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..ef0c87055091
--- /dev/null
+++ b/app-editors/gedit-plugins/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+<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..40238d019e68
--- /dev/null
+++ b/app-editors/gedit/Manifest
@@ -0,0 +1,7 @@
+DIST gedit-3.22.0.tar.xz 2957520 SHA256 063b5a0b5dcc8f540f6e8c3ea1c22cf8a3a19edffc25315a1b6bc51d462b3f45 SHA512 7137fe96cca072c294dea545cb7fafee7ca2da84d8b7756e03a5f5dde6cdca8a3eec6f58136cec0aeeb49c294acd000f01bf3a44447411924aff107dbab26efb WHIRLPOOL 621a9ef89bdaafc490e6b05ac00d91978f175953c37c3d6c141b0513a99bc77b05907dab665d48022f56d0c6a8b9ad8e935c2279d58356d691490b16e533135e
+DIST gedit-3.22.1.tar.xz 2948048 SHA256 aa7bc3618fffa92fdb7daf2f57152e1eb7962e68561a9c92813d7bbb7fc9492b SHA512 7251732f353b1d9dab0fe447fe90b2259df34ff0694d8731ce3be531c21ac82ab6e7f4a07090aeef364640154f4ba6103539a253bc7942952dcf1e331418f0eb WHIRLPOOL 5bb12a567693107ae8b3fc625ae546b0d56e781fe4aa009f3a26ace56ab603bd1d4de80386584837563f8d77b173adf39e5850010a50d4eb3add82bbefb85445
+EBUILD gedit-3.22.0.ebuild 2308 SHA256 17ce987af101f08fa18cd15a1c88e65f39d488fe47c6c5ebd3853cf8665d9c37 SHA512 226c19770e1fe9f3c52ef869e457bc23a5460c0273da73011cefb0f894c032d971d8e2f94ea9a3a8d81bc9a3c9450fae9f794686a51433ae142b2471c26c4a90 WHIRLPOOL 489220c9915b7d727dc1b880b4c0b55490b9844254b1fc4a03f7a92d212f0687915b9defde9420d1f1548d53f81cafbb27a73c173a7ffdfbc5c0200582b69a32
+EBUILD gedit-3.22.1.ebuild 2310 SHA256 e8e8dca9ed8f59a3bac58a7d73951d68d58110538a9c7512df399c6d992b16a0 SHA512 e6b77913d3a8202abe0baaf989ced233c0916f488515c8b70a8356c7a83f6173efc306b5c1ac6c7640b39cb3c20382fd71cf351d3584551ad0c8772f048f161b WHIRLPOOL ae07d886d808897e0e08c4c5d97a5d1941c9d7d316fa79cb90fdd088f53788450a3725632fae6ee8d8b154cec51f51cf0e950b62ab40376a6f28977facf0f587
+MISC ChangeLog 5439 SHA256 94d04e47f8b5e7284c7acb069af82d2b7edab00ac2f308dee4e5c93166b4338c SHA512 5adc291f7de1262df31b64f45ad4493e44dc50795e342959c4e82b30205d03e766ecfaa768e3a9358714ad969d66b4e775aea62cf99b164d83a8c12736b3787f WHIRLPOOL 6eba785f04029896ac45616077c7a858514881f2e92cc45863636dd666f2898c9289132875873c6733afa1efbf9a25fc34997b06964c1c3f52af4ac6d40334d8
+MISC ChangeLog-2015 48720 SHA256 ebca2e00460b2129c07da74314a0b80b8b0cf3d2fa7845c096676978b31c593a SHA512 dfbe86b8b9cc7dab7488a056aa3e41fc5845dd32fb5bec104be7483290ad91b31f310c0844e7e1bf9f4c36b02c62758f828417677a95d8301d9148a4566c3d65 WHIRLPOOL f3698d5b69afbb872581cffce50a713f5a3e08861224b32da65286742d10bc39f6b86b76606d54b1620a7d198288a7095fa780b6185a2685d31e2c249bf587f5
+MISC metadata.xml 249 SHA256 4505b0bfeadff287958620b7dc7b7209699065a8f17139a237a5dd409a726a97 SHA512 c40662134899a5c9f0369a1017806f35adf3280a0b3c91726f7a8ca6012a073a8b471583f5bfb6fe95faac1dcf607e8e2e43f8c91d48ec46f4a8824e2f551506 WHIRLPOOL 333a938ee1d2124595596c572697bf5ebad523a92ba12005cfb12e6bb6270881a94a911f0cc9c1cf2bb571559e8271e07dfd307dabe50058236dbe7103562b92
diff --git a/app-editors/gedit/gedit-3.22.0.ebuild b/app-editors/gedit/gedit-3.22.0.ebuild
new file mode 100644
index 000000000000..5524763def02
--- /dev/null
+++ b/app-editors/gedit/gedit-3.22.0.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+GNOME2_LA_PUNT="yes" # plugins are dlopened
+PYTHON_COMPAT=( python3_{4,5} )
+VALA_MIN_API_VERSION="0.26"
+VALA_USE_DEPEND="vapigen"
+
+inherit eutils gnome2 multilib python-single-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"
+REQUIRED_USE="python? ( introspection ${PYTHON_REQUIRED_USE} )"
+
+KEYWORDS="~alpha amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+
+# X libs are not needed for OSX (aqua)
+COMMON_DEPEND="
+ >=dev-libs/libxml2-2.5.0:2
+ >=dev-libs/glib-2.44:2[dbus]
+ >=x11-libs/gtk+-3.21.3:3[introspection?]
+ >=x11-libs/gtksourceview-3.21.2:3.0[introspection?]
+ >=dev-libs/libpeas-1.14.1[gtk]
+
+ gnome-base/gsettings-desktop-schemas
+ gnome-base/gvfs
+
+ x11-libs/libX11
+
+ 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,${PYTHON_USEDEP}] )
+ spell? ( >=app-text/gspell-0.2.5:0= )
+"
+RDEPEND="${COMMON_DEPEND}
+ x11-themes/adwaita-icon-theme
+"
+DEPEND="${COMMON_DEPEND}
+ ${vala_depend}
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/yelp-tools
+ >=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 && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ vala_src_prepare
+ gnome2_src_prepare
+}
+
+src_configure() {
+ DOCS="AUTHORS ChangeLog MAINTAINERS NEWS README"
+
+ gnome2_src_configure \
+ --disable-deprecations \
+ --disable-updater \
+ --enable-gvfs-metadata \
+ $(use_enable introspection) \
+ $(use_enable spell) \
+ $(use_enable python) \
+ $(use_enable vala)
+}
+
+src_test() {
+ "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/data" || die
+ GSETTINGS_SCHEMA_DIR="${S}/data" virtx emake 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.22.1.ebuild b/app-editors/gedit/gedit-3.22.1.ebuild
new file mode 100644
index 000000000000..e931e8b99a06
--- /dev/null
+++ b/app-editors/gedit/gedit-3.22.1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+GNOME2_LA_PUNT="yes" # plugins are dlopened
+PYTHON_COMPAT=( python3_{4,5} )
+VALA_MIN_API_VERSION="0.26"
+VALA_USE_DEPEND="vapigen"
+
+inherit eutils gnome2 multilib python-single-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"
+REQUIRED_USE="python? ( introspection ${PYTHON_REQUIRED_USE} )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+
+# X libs are not needed for OSX (aqua)
+COMMON_DEPEND="
+ >=dev-libs/libxml2-2.5.0:2
+ >=dev-libs/glib-2.44:2[dbus]
+ >=x11-libs/gtk+-3.21.3:3[introspection?]
+ >=x11-libs/gtksourceview-3.21.2:3.0[introspection?]
+ >=dev-libs/libpeas-1.14.1[gtk]
+
+ gnome-base/gsettings-desktop-schemas
+ gnome-base/gvfs
+
+ x11-libs/libX11
+
+ 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,${PYTHON_USEDEP}] )
+ spell? ( >=app-text/gspell-0.2.5:0= )
+"
+RDEPEND="${COMMON_DEPEND}
+ x11-themes/adwaita-icon-theme
+"
+DEPEND="${COMMON_DEPEND}
+ ${vala_depend}
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/yelp-tools
+ >=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 && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ vala_src_prepare
+ gnome2_src_prepare
+}
+
+src_configure() {
+ DOCS="AUTHORS ChangeLog MAINTAINERS NEWS README"
+
+ gnome2_src_configure \
+ --disable-deprecations \
+ --disable-updater \
+ --enable-gvfs-metadata \
+ $(use_enable introspection) \
+ $(use_enable spell) \
+ $(use_enable python) \
+ $(use_enable vala)
+}
+
+src_test() {
+ "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/data" || die
+ GSETTINGS_SCHEMA_DIR="${S}/data" virtx emake 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..39980802b1da
--- /dev/null
+++ b/app-editors/gedit/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 type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+</pkgmetadata>
diff --git a/app-editors/ghex/Manifest b/app-editors/ghex/Manifest
new file mode 100644
index 000000000000..7592006fe59e
--- /dev/null
+++ b/app-editors/ghex/Manifest
@@ -0,0 +1,5 @@
+DIST ghex-3.18.3.tar.xz 1630720 SHA256 c67450f86f9c09c20768f1af36c11a66faf460ea00fbba628a9089a6804808d3 SHA512 e03b154a22db000a5994c68bb72280113e69e7ef210f86ab2c6578e77daabf50bac8eb620ffaad5a7eb776d23383478cbdc7fb317fa336cef55173f858519023 WHIRLPOOL 00d1c5bf88abac210be1a7a6c85e8dc4ec8db2d9063ad007c01ce67a3322de34ba38cfe13e88c96ad433f2831907987fc07cbe1490232c033848656a8896b12e
+EBUILD ghex-3.18.3.ebuild 511 SHA256 faea955caf9f4d65b6cf64dc03346dbe9b032b2ea89ef7dadf0483ebee2e5b76 SHA512 c2549dc8e027269994643c0394dcd494406bca8d2bbf36f6aa1f0f0bde781df0b8c95042d7c2ec3e04c499f86602f3034ffb681b733222538670c4e3aed6b315 WHIRLPOOL 8c44524e71a517ae56c703a40200c216e2cd57fa4e2dd32a36470f5ed85a9f5e04940ec28b182c3cda8dcc6c1b3926b790da10df6f33b2813b12fe3b826411dc
+MISC ChangeLog 4560 SHA256 f8f5cb8004d228c1a516bddb1d33873eeb6d5647234e3076855efd994400ee1e SHA512 e58a891e2f71d64da67d91f8927500e21627c1ef1b2fd5d02a4490b05706ef6aefd5b9a98a3b1d3046bef48082ec692fcfe68b77a54827357198d9781e7d0e40 WHIRLPOOL 731604661879f17288f1b5d4e6d71bb7547d5e189a2b2d2edcfb795f24f5facc069401d5f17164d6c5cdccff5a869fa59d72ebb5900383ab982a11f406b8ec27
+MISC ChangeLog-2015 10667 SHA256 cc9f2c41798cadbeb1605c3e2ee4f0938071898beeb4f18506e777746cefd7e0 SHA512 36d5ff08d89a03ca202293272e802dc7d06db411f5005d725a5e06418af4c56b1fa037ad590e0c71fb5f53b7431f4ba8022ac9835ecd373aad7d53312dabc8c5 WHIRLPOOL b4930b5d3100d8af4c06c23e6e61c08709f06953695acc4a3027b61bd7fde0aabaabbf8298e653302e46831e2f9c494c2622d00f68ea5bc8b5de09e92dda9f7a
+MISC metadata.xml 249 SHA256 4505b0bfeadff287958620b7dc7b7209699065a8f17139a237a5dd409a726a97 SHA512 c40662134899a5c9f0369a1017806f35adf3280a0b3c91726f7a8ca6012a073a8b471583f5bfb6fe95faac1dcf607e8e2e43f8c91d48ec46f4a8824e2f551506 WHIRLPOOL 333a938ee1d2124595596c572697bf5ebad523a92ba12005cfb12e6bb6270881a94a911f0cc9c1cf2bb571559e8271e07dfd307dabe50058236dbe7103562b92
diff --git a/app-editors/ghex/ghex-3.18.3.ebuild b/app-editors/ghex/ghex-3.18.3.ebuild
new file mode 100644
index 000000000000..fb9c73c07e41
--- /dev/null
+++ b/app-editors/ghex/ghex-3.18.3.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+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 ~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..39980802b1da
--- /dev/null
+++ b/app-editors/ghex/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 type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+</pkgmetadata>
diff --git a/app-editors/ghostwriter/Manifest b/app-editors/ghostwriter/Manifest
new file mode 100644
index 000000000000..82ea328cab3c
--- /dev/null
+++ b/app-editors/ghostwriter/Manifest
@@ -0,0 +1,4 @@
+DIST ghostwriter-1.5.0.tar.gz 620301 SHA256 bfd64024d9741f55d587afa5661f4b5e2a48becbbc92495c2186fca44fb08486 SHA512 4b6e1430342069b224f7aece30d5a592a43e9f702cb93fc073fded741771ea74b8478203aeaecdabb791aa7ddd8055d5c36346518adc7dd19b61e5f2e2cbe219 WHIRLPOOL f8169b923657dfbdff0f39bf02384b128feba3543820fc5a5922e20b0a637146507690a524a5b8564375bdd6adf1c7e3bc928eeae5f42505f6f5d6d166ee443a
+EBUILD ghostwriter-1.5.0.ebuild 1202 SHA256 a1d0dbd3eeb0bc4dc6172efcf0fe3b4179b744baa5ce6400e26c0767cba96623 SHA512 1c6a3bb5c8cd0f6d32d36f2e7efccc163182c719c79c1a6b071f7ff1ed53aef613073f7657626b1a8edf3db253a1ffe88b3f81d60b647a2c05ebb704f250421c WHIRLPOOL 27851ff76f3789ea4b8cd09c656112545784adc84594e19e3095fab94d2d91eb4c33f01334297acab69160ed234044420ceb21713c64e37a330bbe6053526707
+MISC ChangeLog 628 SHA256 a78faf79ba6b572aa0841af718c3f249587100eb5405f2fc2f5ed3d0ada474e5 SHA512 4fb308cd4ecac937af377b709af83cbba562a3ea22d48162995577669918939d477ca6eb66ba34dec075f11e088a510b415571e31de41add36e503389b3a814e WHIRLPOOL 235d58daf3d57048c809567cb0eaab8cc7f5bddab3bd1e02982f31893abffb5d622e848190dae4860710546b22602f6be4e828a7739aae3c8a131f8e42d1ae58
+MISC metadata.xml 453 SHA256 ffa442154971245ffbe05b584d98de682be53472ba4ce7dd5275ae3b939eb104 SHA512 86f8ed39a361cdcb442ba81ea8928987278f5c9eb30cb7ddf249409352b2963be315b1b342189db4d809b9967389c5f808f4f0a60c90118463d40dda2828710c WHIRLPOOL 468a8b588026828dc65d8f6651a816a11fd054fda20264435d0fc2ea649fe3572dedfbbd9aa2449b3702eb2677598a69104d6992995358d14c87cda137baf1e7
diff --git a/app-editors/ghostwriter/ghostwriter-1.5.0.ebuild b/app-editors/ghostwriter/ghostwriter-1.5.0.ebuild
new file mode 100644
index 000000000000..d1344c71a9d1
--- /dev/null
+++ b/app-editors/ghostwriter/ghostwriter-1.5.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PLOCALES="cs de en es fr it ja pt_BR ru"
+
+inherit l10n qmake-utils
+
+DESCRIPTION="Cross-platform, aesthetic, distraction-free markdown editor"
+HOMEPAGE="http://wereturtle.github.io/ghostwriter/"
+SRC_URI="https://github.com/wereturtle/ghostwriter/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug"
+
+RDEPEND="
+ app-text/hunspell
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwebkit:5
+ dev-qt/qtwidgets:5
+"
+DEPEND="${RDEPEND}
+ dev-qt/qtconcurrent:5
+"
+
+DOCS=( CREDITS.md README.md )
+
+src_prepare() {
+ default
+
+ local mylrelease="$(qt5_get_bindir)"/lrelease
+
+ sed -i -e "/^VERSION =/s/\$.*/${PV}/" ghostwriter.pro || die "failed to override version"
+
+ prepare_locale() {
+ "${mylrelease}" "translations/${PN}_${1}.ts" || die "failed to prepare ${1} locale"
+ }
+
+ l10n_find_plocales_changes translations ${PN}_ .ts
+ l10n_for_each_locale_do prepare_locale
+}
+
+src_configure() {
+ eqmake5 \
+ CONFIG+=$(usex debug debug release) \
+ PREFIX="${EPREFIX}"/usr
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+ einstalldocs
+}
diff --git a/app-editors/ghostwriter/metadata.xml b/app-editors/ghostwriter/metadata.xml
new file mode 100644
index 000000000000..960a05beff6a
--- /dev/null
+++ b/app-editors/ghostwriter/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 type="person">
+ <email>reagentoo@gmail.com</email>
+ <name>Dmitry Baranov</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">wereturtle/ghostwriter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/gummi/Manifest b/app-editors/gummi/Manifest
new file mode 100644
index 000000000000..56b72dc61cac
--- /dev/null
+++ b/app-editors/gummi/Manifest
@@ -0,0 +1,5 @@
+DIST gummi-0.6.6.tar.gz 792642 SHA256 4119341d6556d82f4b8ce08ad67b6f92c1d9ad1fbad789b7faa7b2d38b7299da SHA512 3be94927c9aafa4914ed2b6f6f5022dce5bcca315a1f947fafb8a4c8bbc5a2bc57f07f8ceaaacdd0b92a5a30483ea8b00e570faf62479280d2ad874716e4c47d WHIRLPOOL 6125d930497d6f5a4f6d8604b39314b04e6e147f93a998f3fe722295f7d04f795a2e7e1f8eea21953eae7e69074dc9a9cdc6cefb29f59261c47ec000c55bc363
+EBUILD gummi-0.6.6.ebuild 1031 SHA256 f447d215ea3f12e291fbe83e53ffdf5d6c9dfdb40ee2aed9455f302b3327e6fd SHA512 a546561db35b14a93d63e6491b6a5738da06a4ebe3c34d29fbd5d3f4dd68a742830255b970dea890edafe19d381ca76da7fccfb585938b20faacd9e09329ce4f WHIRLPOOL 2f3b0913b3b0af354dc8e3d7f1c00b0358a3476599055c862f451d93644c3303dd51e44f457302ace0804c849337146ed431c4edf46ab5eee3cd0e7a26a9c375
+MISC ChangeLog 4796 SHA256 88bb5d2a2320fb92aa98b61db60966c4dc7b0752f5fc2780b547186d4d40f2f0 SHA512 e3cf4469d54d6d5020cd247a82ee5716c1d08a7ad75c5ae1c952c6c06799440c0f5597f56d463b55920f4579b6b5dfdebacfcc1098131f322b7f673753669a43 WHIRLPOOL 497354764798031aba6c2b964226a71a52e06badf5b5c1e63bc365a6b6385e443a8124d2e23a4a4be2d9a2a326de5b9842ed24e1654a66df8c0466f410676510
+MISC ChangeLog-2015 6463 SHA256 39d3c8b6be938ea6862c22429f2465396ea6e10ffeeba3d46ad18381748c0d3a SHA512 b370268af9951d3ca0e34e5a94b60d36bf0ce76058d2d7e4701451a3ce4d0a73d17ea9844c90616fe5ca9ac267f1ff33806e0d903b9833e75e828e6d063f73c0 WHIRLPOOL 44c708e10cb119014902a6e00353a20d74afd6a41a201fcea7120eeec51f797f8c964e835ae42ba1dbe933c132910fc42be0e66ff02d326f1c0b365d8f796a49
+MISC metadata.xml 790 SHA256 f226ecf38b699c8c69a07c8b335384132971b511ddc9f6b642aa14a8bf049756 SHA512 c3e81ab637b56023c42614b55d016e95560fd3cd963d0f13cc33a6a2a69eaa0a0529b130682095379f906b002864eae0d0935bbcdc6d09d0eb1f102ff0d38964 WHIRLPOOL 4c87a612b8ad5a885f8a27f71418248179703e8f1e29812b1159cdbdc31b8a743d00d1da7ea8848a0db6d80f64a96e84eb24b1951680f3c15fa8c7ae4ea25191
diff --git a/app-editors/gummi/gummi-0.6.6.ebuild b/app-editors/gummi/gummi-0.6.6.ebuild
new file mode 100644
index 000000000000..568bc530dbdf
--- /dev/null
+++ b/app-editors/gummi/gummi-0.6.6.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools eutils
+
+DESCRIPTION="Simple LaTeX editor for GTK+ users"
+HOMEPAGE="https://github.com/alexandervdm/gummi"
+SRC_URI="https://github.com/alexandervdm/${PN}/archive/${PV}.tar.gz -> ${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="
+ dev-libs/glib:2
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ x11-libs/gtk+:2"
+
+DEPEND="${RDEPEND}
+ app-text/gtkspell:2
+ app-text/poppler[cairo]
+ x11-libs/gtksourceview:2.0
+ x11-libs/pango"
+
+DOCS=( AUTHORS ChangeLog README.md )
+
+src_prepare() {
+ strip-linguas ${LANGS}
+ eautoreconf
+ default
+}
+
+pkg_postinst() {
+ elog "Gummi supports spell-checking through gtkspell. Support for"
+ elog "additional languages can be added by installing myspell-**-"
+ elog "packages 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..8cd6cf89dde8
--- /dev/null
+++ b/app-editors/gummi/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>hwoarang@gentoo.org</email>
+ <name>Markos Chandras</name>
+ <description>Proxy maintainer.</description>
+ </maintainer>
+ <maintainer type="person">
+ <email>christian.tietz@mailbox.org</email>
+ <name>Christian Tietz</name>
+ <description>Proxy maintainer.</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <maintainer status="active">
+ <email>alexvandermey@gmail.com</email>
+ <name>Alexander van der Mey</name>
+ </maintainer>
+ <remote-id type="github">alexandervdm/gummi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/gvim/Manifest b/app-editors/gvim/Manifest
new file mode 100644
index 000000000000..a4ed8715c5a5
--- /dev/null
+++ b/app-editors/gvim/Manifest
@@ -0,0 +1,20 @@
+AUX gvim-completion 1219 SHA256 5786b55da26ee0c5973f6e2b366d304f30cc3801f70c7ac26c515856413b8938 SHA512 08bb32a3c9fcbdd00977b7343dda9cda44b389a13b1717ebddb462e22b6cf9d4db37d5b49ff752b931e305bf57e8f9f4a7d6e32ea25f8acd1b00e5f8320ac132 WHIRLPOOL a080164530c604ae384721356a7b51b60ba401948b3d0ffec386cb9b78320147e9d01118c8538a65815e43f9d432c84185c42032e987f3d8c367745b6638c5db
+AUX gvim.desktop-r2 171 SHA256 840e4bcac0b448566e26e53b8292f31a9e187360b6aaf75f37929e43c46f22ce SHA512 1e4ceb7776100d00cb4ea70039cc4e7342decffd392c0c8633254c6c0ffa6c0816acbe56b8b03b9302119c473d2e4618b4df0e6e1e2031282e21a66063a1ec3b WHIRLPOOL fd085e75deaecd336f23c784929d6b95b8889cd5aba3c8c0777adc6aaf5a484881bd11d5d7a291972a75b527e82240a9d48ac7668550ddfbe25c903665e54e6a
+AUX gvim.svg 4584 SHA256 36415c9a5a0c6fad1c685a29d92a90e83b3adaeaaf0ea429e79528b1005e7df5 SHA512 78f5fb460281ab5d8b0ff6e28bf24231c1ade5ae46caab2e2d345d82b983ada7d945dd7d603b3e470c77dbd1eb329027852b6ba22afc441d64a1b66a1ee3867a WHIRLPOOL 08e4c0dbac4efa4b132a8282971473cc6e52462d7da0f568017f0a8ac8179903c05f9c0fafe833d22d2878687499c2152d0d3d8f7408739771d1a6bafd862c1b
+AUX gvim.xpm 1371 SHA256 adf603379740f509b0c543f9ac78a3eda7c804958c1a9086c50e7daecd059cc7 SHA512 550df3d5ae428735918cf0f364a1792d105312336c1d5f09c7187e20cd8470dcf86b37748388d20b4bbf3897f9868c6a9f981b8907ab488c354be02c26fdec98 WHIRLPOOL 39978c576662616e809618f1f9a17405f69d13ad70a94f783e28a64745a8c31696a32389d4fe9f50145056938c15e61a1a26143f362627c172d269bc8b559e8e
+AUX gvimrc-r1 990 SHA256 75f206356a40c4162e3ced740d0622b4613d0d7ad4529568ddc1e3167e1eb707 SHA512 f6538550f1ecadcccf74a6bbd5a6a0b71d18a234a854d1a0179144125555c42280000df9523e7c3d5a8b449f421af7bafcca1034951f085279cee0dd1160808a WHIRLPOOL 07046fab4488c5abb57daa308d08260a2a5c1c76d2b2ba7af6fca3bf4fd0718b5c54f68a3ed71c75baa3c9b3d9efe4a7ac6e9efbea04fcf5f66601a4d2870472
+DIST vim-8.0.0106-gentoo-patches.tar.bz2 2281 SHA256 9823a91b050eb4b001cc50f508d2ad03c7c256ed49183c1af7582318667f48d4 SHA512 39edd9f518c230d2b0486b18aa155572a9eada4a5e21108573d6e66e2eef1276f23b77d766648f018c9cf973a7d03712d8861be6ea13255d7b389912d554a47a WHIRLPOOL d6d01e3944d56762a2a999ee631f89e212360aa030ddd16ea96e32d518ec171e04d8565dcb89e804248d53e4c6e06b19be239ad2316ea88bb57364815b85d26b
+DIST vim-8.0.0386.tar.gz 13000882 SHA256 25b28f6ef55a8d0b3f255f0fbed90ad1450bde7f7b231cc09d86c5119adc95bc SHA512 3169ea4dbc836c724f63d99cd345227f870a3a922beba84a6b42011685c0dd209f6bba8c69af0650c9a57bb47fc541e1150ca8cefb21fcada022259bf4c94a66 WHIRLPOOL 99a5582e0db0dc53fd8385cddf1fbf13d2fe1dd5c8e33c9959288c19d4b85f50139791269edd4ec3d5cbed6548cc3d9c7962ec1706eb422a4ef83c207aac009b
+DIST vim-8.0.0938-gentoo-patches.tar.bz2 2316 SHA256 851418dbbbac25e581eeb44a24e62f8841a7df33f436d1986dd7332fb5d07c60 SHA512 a6062be5e6a5c5b437081312df5742353242b5171bf26da04aa6ca216d2b142b2411a88bc1edd460d28e00a59a210c8e1729e801fac6f1efd86bb2e437a56a2b WHIRLPOOL 8521b344426b5d2b246ddab7768eae45e0ee54ef58085099f9e15575e7854eb461fbcf0093caee1326e29d2425c2d451de36812cda24fa767709fc5d6046236c
+DIST vim-8.0.0938.tar.gz 13287289 SHA256 7a07fb164069ce82e5c90ff3831b6f3249e09193800f76d9c576867a63828071 SHA512 be4b6a29ace6a708cd7d0d3a3585cd3b88056e49f3869e18c6b895272e4ec01a8a7a68695ec2f885dd1fc139ae022a3f1b2d2d11e8b883362b9683cf5a8b0cd3 WHIRLPOOL 5098cf73f8b294686888c8b5a31199044ec1f409cc9c3de39e96911f688374282716a3137827e260c97e688bb42e79a77c53a29fa7d3364ce2c3375c2257b309
+DIST vim-8.0.0983.tar.gz 13292263 SHA256 5f3d5307d7055e3a55811546f6c787f1c65d209ae5b83e36c0de16d64fda8bf2 SHA512 985cdcf134c3513a973b4c91a899684a563fca4c347afba2d51892d737c8b58a2008bbf8573a98838da6df16552096e437a5064dc2ef653c7222bbac59ce6136 WHIRLPOOL 98a1ed102182f07e1dc2105b9bae73e1f6c0f7522b25ab91aba4767a3c9d805082a89bd964ab6441fb4185f4076b046a25ca92bf08f0446e4d2a53b0298bb3e0
+DIST vim-8.0.1056.tar.gz 13309986 SHA256 c061d1ddc0f4001415e68678780eac7121d08877a852fae484e6a93f633aec0c SHA512 19385736d4d97a66a2fb3fd8ce725d42c435da09a41e8b40234048626b28d2fa96c4db96a4313bd30f1c2d3733c52097e147c90e4bc11be80d3fcbf12fa4d13b WHIRLPOOL d81b3166f028867ebf48d43bf249675f16cda0118a2e443606a8cae01b0932d3f8a29ca568d088953d4b9d8afe8299ac207d0213ad247e1c10b9c52ed18514e1
+EBUILD gvim-8.0.0386-r1.ebuild 11301 SHA256 424739f3da30efe9ef687346cb7cabed45c1eb53b684b92bfc4374506706aa99 SHA512 1d82d7dabaf33fd64236f4235c82d63c3aa872c333aa4969cbb2c31da7cf1ddf019a0fb629568d99f92630b3321ed997eb338bd25eea081e1bdd7d48220bc2ce WHIRLPOOL abcfdf71198ed0ec2652c7b081b63a6e95b83c88080e9f887de0df2fe575dddd96854b3002d9670537e039f7b79c3c64a591b3e81034de31e5442d7aaacfc28c
+EBUILD gvim-8.0.0386.ebuild 11569 SHA256 69e77753590eb348468c401faf7be30133a685586fbaf394ee29b14b997fd7e9 SHA512 93d54860172f0e8caf22d129d55a26276e4ba0d68f91c74dcc969fb2f738f3197ee77de983d65c9533029a04e0cd74fbefabf6802ecba6bb0d4ba0807b68783c WHIRLPOOL ebd0fd418a11c5cfc7bc8c1edefa9c4df7543d7a57955883c1a3e927f775ff71008fda70deafcf0e809e51f81ab5bb6904c49dce27db6816b29c34f5ae7c4a6c
+EBUILD gvim-8.0.0938.ebuild 11285 SHA256 4b694ebbd3757820bab3292265b8cd7f84d31835230e1f731252553e8238c26e SHA512 e734f25ceee65705fcae7354b6e19a80899460315eab3dba1d4258c0915d69df648ddba6a352413e62ea7aa4f552525abe613363fc244a697c0a60cfac46cb78 WHIRLPOOL 8574349e4262adc3cf0942301e00c3898cfb47ededa8385694f19e11ad92777a9d8be8851623b002b70e17cf9e838ccbf1d79bbb1e7cc74608ce62c91d7857f2
+EBUILD gvim-8.0.0983.ebuild 11293 SHA256 76692868b4133172fa58ec6fa7c63b0ba384a134aef1d71edb83082a5afff466 SHA512 16db216752f731bd29624504a113654ac8067d915ff42f96bb304815fbd828504c5934e48ec1bf294f4540453bebd65d0f14719ec13e1d24d9afa3c41e8de343 WHIRLPOOL 2fd94c13e0115e97a34c09816fde05336cc51a98dcfcb1a7396580d697d1bb5ca740d0bbda941ccb1b73dcbd407caf95c37e62dd3f347d2a4ad165b9056f1ce4
+EBUILD gvim-8.0.1056.ebuild 11293 SHA256 76692868b4133172fa58ec6fa7c63b0ba384a134aef1d71edb83082a5afff466 SHA512 16db216752f731bd29624504a113654ac8067d915ff42f96bb304815fbd828504c5934e48ec1bf294f4540453bebd65d0f14719ec13e1d24d9afa3c41e8de343 WHIRLPOOL 2fd94c13e0115e97a34c09816fde05336cc51a98dcfcb1a7396580d697d1bb5ca740d0bbda941ccb1b73dcbd407caf95c37e62dd3f347d2a4ad165b9056f1ce4
+EBUILD gvim-9999.ebuild 11293 SHA256 76692868b4133172fa58ec6fa7c63b0ba384a134aef1d71edb83082a5afff466 SHA512 16db216752f731bd29624504a113654ac8067d915ff42f96bb304815fbd828504c5934e48ec1bf294f4540453bebd65d0f14719ec13e1d24d9afa3c41e8de343 WHIRLPOOL 2fd94c13e0115e97a34c09816fde05336cc51a98dcfcb1a7396580d697d1bb5ca740d0bbda941ccb1b73dcbd407caf95c37e62dd3f347d2a4ad165b9056f1ce4
+MISC ChangeLog 7715 SHA256 5666aeab068ae894e72060f7623f040d7ffde343a06696249b565fd245865a8b SHA512 c473588caa73e7d1874be8fcf42878b8d5e3530ee73c073382368208b6b0126ab0586e2f5d7b563152be359f891db97a89931dcb65921857629530df6543fb4d WHIRLPOOL 6fcb0617e6f2bf3f8d937828558d86aa9da4950b6fe31c80134bbcea1d6f91ffbb10a7d5d00cfedb5f121837b34d31d8ce464844af6862d00193a521f312bf58
+MISC ChangeLog-2015 64168 SHA256 fd464c76716730dfb6349ce37fef75a93302770ffdceaf00928590215337e659 SHA512 8f0ff5bf344c451d2657c153c82a96e65e5ffac317dd560e08e38ba05ed857aefd0d4bc2e23bde7eb2cfae36de678390c3cbda517f9ee3619ab6b3a3d9821311 WHIRLPOOL 9f83a19841c6c03bf21f58514f7cffea4bc7554aeab23d742348f854a19465727fbedf763f1a70f1db7dc75af0e2490b36c8e7cba83e2780e021dd7af7b633a7
+MISC metadata.xml 675 SHA256 14f61375d274e0ef6f46387961533ff04f74f8f82c26ef0ab7555d4b49667939 SHA512 df75c9e935ae47b8961c8b6b984483b8032e39d3833ffcf4784e2630cea870579d45ef5f104b71d6b35f4128ef689394edd72510fce82a76e596749ce69d835d WHIRLPOOL 9962e6a64cc56f1133041a6e7c023800990b5cc38ca296fd9c364c301db19e237e272097ee64a29e43b2b5be0230ce62ef5415215ce5a6f7aefafbcb73d48cb4
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..27f398c1011c
--- /dev/null
+++ b/app-editors/gvim/files/gvimrc-r1
@@ -0,0 +1,28 @@
+scriptencoding utf-8
+" ^^ Please leave the above line at the start of the file.
+
+" Default configuration file for gvim
+"
+" 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-8.0.0386-r1.ebuild b/app-editors/gvim/gvim-8.0.0386-r1.ebuild
new file mode 100644
index 000000000000..b56a0e667570
--- /dev/null
+++ b/app-editors/gvim/gvim-8.0.0386-r1.ebuild
@@ -0,0 +1,388 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime gnome2-utils versionator bash-completion-r1 prefix python-single-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
+ https://dev.gentoo.org/~radhermit/vim/vim-8.0.0106-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="http://www.vim.org/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk gtk3 lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2:0=
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk3? (
+ x11-libs/gtk+:3
+ x11-libs/libXft
+ )
+ !gtk3? (
+ 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.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 ) )
+ 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-${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
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ eapply "${WORKDIR}"/patches/
+ 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.ac || 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.ac || 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
+
+ eapply_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.ac 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 python pythoninterp)
+ $(use_enable python python3interp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ # --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 gtk3 GTK3
+ # -aqua -gtk3 gnome GNOME2
+ # -aqua -gtk3 -gnome gtk GTK2
+ # -aqua -gtk -gtk3 motif MOTIF
+ # -aqua -gtk -gtk3 -motif neXt NEXTAW
+ # -aqua -gtk -gtk3 -motif -neXt ATHENA
+ echo ; echo
+ if use aqua ; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk3 ; then
+ myconf+=( --enable-gtk3-check )
+ einfo "Building gvim with the gtk+-3 GUI"
+ myconf+=( --enable-gui=gtk3 )
+ 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 package manager strip binaries
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # keep 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
+
+ # 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 || die
+
+ # Make sure our VIMPROG is used.
+ sed -i 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
+
+ # Don't do additional GUI tests.
+ emake -j1 VIMPROG=../testvim -C src/testdir 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
+
+ emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
+
+ 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
+
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # don't install vim desktop file
+ rm "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ fdo-mime_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # 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_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/gvim/gvim-8.0.0386.ebuild b/app-editors/gvim/gvim-8.0.0386.ebuild
new file mode 100644
index 000000000000..66c0627eb458
--- /dev/null
+++ b/app-editors/gvim/gvim-8.0.0386.ebuild
@@ -0,0 +1,407 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime gnome2-utils versionator bash-completion-r1 prefix python-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
+ https://dev.gentoo.org/~radhermit/vim/vim-8.0.0106-gentoo-patches.tar.bz2"
+ KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="http://www.vim.org/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk gtk3 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:0=
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk3? (
+ x11-libs/gtk+:3
+ x11-libs/libXft
+ )
+ !gtk3? (
+ 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.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 ) )
+ 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-${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
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ eapply "${WORKDIR}"/patches/
+ 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.ac || 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.ac || 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
+
+ eapply_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.ac 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 gtk3 GTK3
+ # -aqua -gtk3 gnome GNOME2
+ # -aqua -gtk3 -gnome gtk GTK2
+ # -aqua -gtk -gtk3 motif MOTIF
+ # -aqua -gtk -gtk3 -motif neXt NEXTAW
+ # -aqua -gtk -gtk3 -motif -neXt ATHENA
+ echo ; echo
+ if use aqua ; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk3 ; then
+ myconf+=( --enable-gtk3-check )
+ einfo "Building gvim with the gtk+-3 GUI"
+ myconf+=( --enable-gui=gtk3 )
+ 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 package manager strip binaries
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # keep 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
+
+ # 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 || die
+
+ # Make sure our VIMPROG is used.
+ sed -i 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
+
+ # Don't do additional GUI tests.
+ emake -j1 VIMPROG=../testvim -C src/testdir 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
+
+ emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
+
+ 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
+
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # don't install vim desktop file
+ rm "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ fdo-mime_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # 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_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/gvim/gvim-8.0.0938.ebuild b/app-editors/gvim/gvim-8.0.0938.ebuild
new file mode 100644
index 000000000000..9a3c4881d9cc
--- /dev/null
+++ b/app-editors/gvim/gvim-8.0.0938.ebuild
@@ -0,0 +1,388 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE=threads
+inherit vim-doc flag-o-matic xdg-utils gnome2-utils versionator bash-completion-r1 prefix python-single-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
+ https://dev.gentoo.org/~radhermit/vim/vim-8.0.0938-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="http://www.vim.org/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk gtk3 lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2:0=
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk3? (
+ x11-libs/gtk+:3
+ x11-libs/libXft
+ )
+ !gtk3? (
+ 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.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 ) )
+ 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-${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
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ eapply "${WORKDIR}"/patches/
+ 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.ac || 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.ac || 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
+
+ eapply_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.ac 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 python pythoninterp)
+ $(use_enable python python3interp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ # --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 gtk3 GTK3
+ # -aqua -gtk3 gnome GNOME2
+ # -aqua -gtk3 -gnome gtk GTK2
+ # -aqua -gtk -gtk3 motif MOTIF
+ # -aqua -gtk -gtk3 -motif neXt NEXTAW
+ # -aqua -gtk -gtk3 -motif -neXt ATHENA
+ echo ; echo
+ if use aqua ; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk3 ; then
+ myconf+=( --enable-gtk3-check )
+ einfo "Building gvim with the gtk+-3 GUI"
+ myconf+=( --enable-gui=gtk3 )
+ 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 package manager strip binaries
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # keep 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
+
+ # 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 || die
+
+ # Make sure our VIMPROG is used.
+ sed -i 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
+
+ # Don't do additional GUI tests.
+ emake -j1 VIMPROG=../testvim -C src/testdir 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
+
+ emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
+
+ 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
+
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # don't install vim desktop file
+ rm "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/gvim/gvim-8.0.0983.ebuild b/app-editors/gvim/gvim-8.0.0983.ebuild
new file mode 100644
index 000000000000..ec9f6848cec9
--- /dev/null
+++ b/app-editors/gvim/gvim-8.0.0983.ebuild
@@ -0,0 +1,388 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE=threads
+inherit vim-doc flag-o-matic xdg-utils gnome2-utils versionator bash-completion-r1 prefix python-single-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
+ https://dev.gentoo.org/~radhermit/vim/vim-8.0.0938-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk gtk3 lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2:0=
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk3? (
+ x11-libs/gtk+:3
+ x11-libs/libXft
+ )
+ !gtk3? (
+ 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.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 ) )
+ 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-${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
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ eapply "${WORKDIR}"/patches/
+ 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.ac || 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.ac || 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
+
+ eapply_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.ac 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 python pythoninterp)
+ $(use_enable python python3interp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ # --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 gtk3 GTK3
+ # -aqua -gtk3 gnome GNOME2
+ # -aqua -gtk3 -gnome gtk GTK2
+ # -aqua -gtk -gtk3 motif MOTIF
+ # -aqua -gtk -gtk3 -motif neXt NEXTAW
+ # -aqua -gtk -gtk3 -motif -neXt ATHENA
+ echo ; echo
+ if use aqua ; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk3 ; then
+ myconf+=( --enable-gtk3-check )
+ einfo "Building gvim with the gtk+-3 GUI"
+ myconf+=( --enable-gui=gtk3 )
+ 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 package manager strip binaries
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # keep 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
+
+ # 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 || die
+
+ # Make sure our VIMPROG is used.
+ sed -i 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
+
+ # Don't do additional GUI tests.
+ emake -j1 VIMPROG=../testvim -C src/testdir 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
+
+ emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
+
+ 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
+
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # don't install vim desktop file
+ rm "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/gvim/gvim-8.0.1056.ebuild b/app-editors/gvim/gvim-8.0.1056.ebuild
new file mode 100644
index 000000000000..ec9f6848cec9
--- /dev/null
+++ b/app-editors/gvim/gvim-8.0.1056.ebuild
@@ -0,0 +1,388 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE=threads
+inherit vim-doc flag-o-matic xdg-utils gnome2-utils versionator bash-completion-r1 prefix python-single-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
+ https://dev.gentoo.org/~radhermit/vim/vim-8.0.0938-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk gtk3 lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2:0=
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk3? (
+ x11-libs/gtk+:3
+ x11-libs/libXft
+ )
+ !gtk3? (
+ 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.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 ) )
+ 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-${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
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ eapply "${WORKDIR}"/patches/
+ 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.ac || 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.ac || 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
+
+ eapply_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.ac 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 python pythoninterp)
+ $(use_enable python python3interp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ # --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 gtk3 GTK3
+ # -aqua -gtk3 gnome GNOME2
+ # -aqua -gtk3 -gnome gtk GTK2
+ # -aqua -gtk -gtk3 motif MOTIF
+ # -aqua -gtk -gtk3 -motif neXt NEXTAW
+ # -aqua -gtk -gtk3 -motif -neXt ATHENA
+ echo ; echo
+ if use aqua ; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk3 ; then
+ myconf+=( --enable-gtk3-check )
+ einfo "Building gvim with the gtk+-3 GUI"
+ myconf+=( --enable-gui=gtk3 )
+ 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 package manager strip binaries
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # keep 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
+
+ # 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 || die
+
+ # Make sure our VIMPROG is used.
+ sed -i 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
+
+ # Don't do additional GUI tests.
+ emake -j1 VIMPROG=../testvim -C src/testdir 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
+
+ emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
+
+ 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
+
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # don't install vim desktop file
+ rm "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_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..ec9f6848cec9
--- /dev/null
+++ b/app-editors/gvim/gvim-9999.ebuild
@@ -0,0 +1,388 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE=threads
+inherit vim-doc flag-o-matic xdg-utils gnome2-utils versionator bash-completion-r1 prefix python-single-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
+ https://dev.gentoo.org/~radhermit/vim/vim-8.0.0938-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk gtk3 lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2:0=
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk3? (
+ x11-libs/gtk+:3
+ x11-libs/libXft
+ )
+ !gtk3? (
+ 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.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 ) )
+ 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-${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
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999* ]] ; then
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ eapply "${WORKDIR}"/patches/
+ 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.ac || 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.ac || 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
+
+ eapply_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.ac 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 python pythoninterp)
+ $(use_enable python python3interp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ # --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 gtk3 GTK3
+ # -aqua -gtk3 gnome GNOME2
+ # -aqua -gtk3 -gnome gtk GTK2
+ # -aqua -gtk -gtk3 motif MOTIF
+ # -aqua -gtk -gtk3 -motif neXt NEXTAW
+ # -aqua -gtk -gtk3 -motif -neXt ATHENA
+ echo ; echo
+ if use aqua ; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk3 ; then
+ myconf+=( --enable-gtk3-check )
+ einfo "Building gvim with the gtk+-3 GUI"
+ myconf+=( --enable-gui=gtk3 )
+ 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 package manager strip binaries
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # keep 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
+
+ # 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 || die
+
+ # Make sure our VIMPROG is used.
+ sed -i 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
+
+ # Don't do additional GUI tests.
+ emake -j1 VIMPROG=../testvim -C src/testdir 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
+
+ emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
+
+ 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
+
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # don't install vim desktop file
+ rm "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_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..bd2205f57da1
--- /dev/null
+++ b/app-editors/gvim/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>vim@gentoo.org</email>
+ <name>Gentoo Vim Project</name>
+ </maintainer>
+ <use>
+ <flag name="gtk3">Enable GTK+3 interface</flag>
+ <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-scheme/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..b2ef32afcddd
--- /dev/null
+++ b/app-editors/hexcurse/Manifest
@@ -0,0 +1,11 @@
+AUX 1.55-gcc.patch 261 SHA256 fb3417d16494d2ac17ef2caa3f77faf1fd1083a1637feab1059de6cf99316f9e SHA512 ff9612dcc75e2e0aeb67c5170c97e2705a1447ffeade77457924f5b7c354b4f7a69f53c237d1674c39fab5c057c27b5b7fa3e0779ce2f19e0a128f0b0228023b WHIRLPOOL 662d5b3b027f962878f5f5ee451bcb805b226232d60f920d4ce282c56c7346c9ee9be9b54b21ddb92518873094fdb68686dc3669ac11aa722fbf72a8dc560c71
+AUX 1.55-tinfo.patch 339 SHA256 cb624f35d2142bea68ab1a3ecbb0b43fab9160d756f197e5683ad4e95e3c829d SHA512 267841535437a1e71ae94fbfbfa7e2250cba919ee8a1c7a19f861d667f9b4e2032ed1cc6ed5b6b6ad7093aa62425d16f99a56d7a3e0737a4dd9f87bf7564f5e1 WHIRLPOOL adb4a4acea418aa08f1f68a4c25421ffc00bdaac82ef2ddf40af85e0f433927d9b2d00be646c7eaa8d368c780c1f3d80235507a5fc4ce8c6aa845e6f02cbf8cf
+AUX hexcurse-1.60.0-Werror.patch 291 SHA256 490dfe65d363da5f472a795f439c27d6067f43d43b62c08d8d683cac7e397d96 SHA512 01d6a272b2fd0bd033e4157f2fd2c13e1a8ec6148534217f0d38fbac04ac402b0be919abddffba519afb4bec16dba951a9bdd998cf21aa4fcf8b81b0d6d2b6ff WHIRLPOOL 4a3f0b63bf9608bf3cf8daf7d1ce412a4ed1430ea87b095f8e9f033dbf5ad54709d89cc41c5ef87f0cae10209a1d187c4508931aa9a1b258f856547e943adac5
+AUX hexcurse-1.60.0-tinfo.patch 386 SHA256 835eb83c5484d1bd74baa01c44b4e92d0b4d4319455229337ab52b9b58851b58 SHA512 ce0c25842a874d631d75826f6b967fe0d0f53a435e6222eed1310caa884b570c1cf131c14e0be84fc7de728e37cdaee5b950ada527fd03ddba0dacf578e4fe42 WHIRLPOOL 8a2a28b5d192df52dcdd52ffd004cdf1b42eda80853dcd068e594690b65558c65a578c96cbfa63b4a369efc47f1183599b9cc81668e3283f59ab462ea1413d71
+DIST hexcurse-1.55.tar.gz 113512 SHA256 b8d589f80acfa590fddd60d9482cf6ba38b295bf785ae4e0aff37b5ab436cb16 SHA512 39f9eae0bb891bdfb702fb871b75c53d15acf6e74b3272b616f00303f444bfddced6fbe3041eb3769fa90fbc226dd584f5d84f7427b659e63f3b74511938a4a7 WHIRLPOOL ee8a5ac7db87db654db1486872687bd8c7dcea7b5376704522a16d58cc467a6ec5409dadacd2ddcb36fd30689268dec334f59cd5885a19b78e666a5ffb7befec
+DIST hexcurse-1.60.0.tar.gz 171904 SHA256 f6919e4a824ee354f003f0c42e4c4cef98a93aa7e3aa449caedd13f9a2db5530 SHA512 2301f10e9190922fc61cbbe3a834826ebf87bc5ece9191d368181e2336af240e68cbe46e3a60dee3e0e42281b2f05ae4a7060ee1083b37f4906eacc66e58a094 WHIRLPOOL 738961ef81afe56f36b3930e16b52f88fb98c5c8ffd026ec2d2dd155355365ec03996a023139400c0c22ccd902fbd4ab683237efee55198e6223515a405226e0
+EBUILD hexcurse-1.55.ebuild 693 SHA256 6b0bead8f54ab0548a48fc722746f4daba323e7a6f128e5cc4b232ba005b4691 SHA512 9562332838598832f3cad2132beb7cdb7b2f5f08cd5b4e0b7bf8213d9b27116d65f9d115a1b81d2860b24302033964c7fd744af509dc8e22b7ec2df427f17171 WHIRLPOOL 9b7d0521c5b65af3b112300e39f987db3839ed33b1e50c3bfd7fc492d64ff259eed5fcf865b64c500c48e254a25a1bf71050d0c08bc4d9bf51504273e73f8daf
+EBUILD hexcurse-1.60.0.ebuild 713 SHA256 f73f7897b8577dc8109a20543185a44f8a5f84281e7c35706cb0bdd4dedfd898 SHA512 98cc4f96741c84ca32b5b2bb7f9606b51d6f4e105672bb5cb0ddac18439baf8c96fe78c67203e96ead5d8352828a740018d73c258004a22be4f4de0d912b5bde WHIRLPOOL 230b11e54c5b69c93c2bc6f4b9e94e9f507299a78e788cfcef77a9871e186ae1cfed40e440bf3152ac0685af35c893b3aba8f773ea471ed7999de650f0491b61
+MISC ChangeLog 2479 SHA256 29c93ed059711fa5053aa398cfc0009ff807b536cf78f244b4d127c7d630b887 SHA512 502e222efc8c1a7f5bcccb09efd5a184204b56a5b8b5ec168f0e99e769864a3842be06639b3469c1bdca61a28319195465221104bebc7dbd2d711009f3dea239 WHIRLPOOL 5d2c86f5753ec6b44b396b5c91d0a2aaec4bff57aa981c6259c80e8d1f9a2b6e9c94d061a6da254aaae13e8f503760edea8b949bf2ed6ea8055ca00e13806e55
+MISC ChangeLog-2015 1615 SHA256 b3beeff2c66f5d60213e06403168a9128e9c36f1f7fd93565eb00d641e6a4e06 SHA512 d4db6d7188af12150d538583aff37ee75adadd3630b4c14f23c3fa907bc1d2f2d859f145017461f76cd8e5da4d939e62912adfc4273e4d19b2ea4d3ba373f3c6 WHIRLPOOL 0c5889350388ceff9a470ce01a451bfd1b6959efbedc1726d9c08f4596ce265406f4e5281243bfba1d70302dd48df0c15ada07aacb6a400b6b954c8d71fc39c7
+MISC metadata.xml 463 SHA256 705db79ef5ef1d04289ed715095cec4cbd9aafd7b4b8f38115182de7b719b7ce SHA512 571a214805d30efc4f0f8a83964938e175aa1cecdbf76c1153189315dca316b625507860ac86b14209ff116706e8beedbea7b66aa5714ffde264ca94a88270c1 WHIRLPOOL 61bf22985ea55ac34fcae0a46c33fae3f0955f1287278a1e9739a068e111f4794adbd563117d4a1b623949219a77238725db28e6e2996a965053cde52e4b251d
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/files/hexcurse-1.60.0-Werror.patch b/app-editors/hexcurse/files/hexcurse-1.60.0-Werror.patch
new file mode 100644
index 000000000000..457574f15ac1
--- /dev/null
+++ b/app-editors/hexcurse/files/hexcurse-1.60.0-Werror.patch
@@ -0,0 +1,7 @@
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -1,3 +1,3 @@
+ bin_PROGRAMS = hexcurse
+-AM_CPPFLAGS = -I$(top_srcdir)/include -Wall -Werror -Wextra
++AM_CPPFLAGS = -I$(top_srcdir)/include -Wall -Wextra
+ hexcurse_SOURCES = file.c llist.c screen.c hexcurse.c stack.c getopt.c acceptch.c color.c
diff --git a/app-editors/hexcurse/files/hexcurse-1.60.0-tinfo.patch b/app-editors/hexcurse/files/hexcurse-1.60.0-tinfo.patch
new file mode 100644
index 000000000000..1933a22bb044
--- /dev/null
+++ b/app-editors/hexcurse/files/hexcurse-1.60.0-tinfo.patch
@@ -0,0 +1,13 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -15,7 +15,9 @@
+
+ dnl Checks for libraries.
+ dnl Replace `main' with a function in -lncurses:
+-AC_CHECK_LIB(ncurses, initscr,,[AC_CHECK_LIB(curses, initscr,,[AC_MSG_ERROR([ncurses library not found])])])
++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..6b743c0840b2
--- /dev/null
+++ b/app-editors/hexcurse/hexcurse-1.55.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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 ~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/hexcurse-1.60.0.ebuild b/app-editors/hexcurse/hexcurse-1.60.0.ebuild
new file mode 100644
index 000000000000..656648c05e7b
--- /dev/null
+++ b/app-editors/hexcurse/hexcurse-1.60.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools
+
+DESCRIPTION="ncurses based hex editor"
+HOMEPAGE="https://github.com/LonnyGomes/hexcurse"
+SRC_URI="https://github.com/LonnyGomes/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+RDEPEND="
+ >=sys-libs/ncurses-5.2:0=
+"
+DEPEND="
+ ${RDEPEND}
+"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.60.0-Werror.patch
+ "${FILESDIR}"/${PN}-1.60.0-tinfo.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+ 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..05c3859ddbaf
--- /dev/null
+++ b/app-editors/hexcurse/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <longdescription>
+ A console-based hex editor for the *NIX platform which uses the ncurses library.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">LonnyGomes/hexcurse</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/hexedit/Manifest b/app-editors/hexedit/Manifest
new file mode 100644
index 000000000000..aae651aa5ba0
--- /dev/null
+++ b/app-editors/hexedit/Manifest
@@ -0,0 +1,6 @@
+AUX hexedit-1.2.13-tinfo.patch 329 SHA256 73bdd314982e01adcb2725fa210ecfde40275919af4133f2495b54bb4aed8f2f SHA512 21306eddc00720a22365b84181581bc89db2a1d422cf769c2b29585144ab87064a19696ba946e16cc56e2d2d45aa12ebb88b3054ea0167124d960afdaa5a7d8a WHIRLPOOL 7f50b3a3b5b37b03c668013f7ac556d593a263f8c3c32a48ef53bfa022477b09a6ac09ddbf82c46bce68d192bfb04e0cae96bb2c528c122c5437050093684a9d
+DIST hexedit-1.2.13.src.tgz 68778 SHA256 6a126da30a77f5c0b08038aa7a881d910e3b65d13767fb54c58c983963b88dd7 SHA512 df9afb0b9b965e20ea8c427c1986b0200216601b157862199c35bae9e201ccc478ab0bfecd39d0dfaa85bf582f1cf372b0134fadcfeacf4734805a6e6dcaa2bb WHIRLPOOL 17da62fa584dd6fab86bde8ef732aaa533d01370fc6ca89a939b53e93fbef1bd0778bd477ea5918bf2db648b2335d97c8172881fa314f551d9d96c19375cbe62
+EBUILD hexedit-1.2.13.ebuild 698 SHA256 aa23deac721bac5c9cdb0902c9a86749231a887c5e35c1514e5b02de2441f21e SHA512 fc82df639c0165215f4864d377e0610d096a29146b3949c5da34b14fcaa6140464072fafdb269b5662e56ece388d3aa092cea6dc36f624a060d34dcc150f8d75 WHIRLPOOL eb1a20cd12a84415e5ac58a3d3b897c1a7aa1fe21bb0dd3e49a6ac7bf523a7b15571c842c107f07bcbf60713a776d8f617677dd9af0bd45236158ddc8217428c
+MISC ChangeLog 3083 SHA256 d0b9b60dbe98e4355377dea87399b8020741005b82d0a1798d3065228b63a13b SHA512 7f5a75dd9ef926549dab5b3f92262dbf0945989f34ba25499a3f154e6b7f07b36a02cd810c8200950207846653d7a8b3f234bb585d17f005f83be7754e79fb3f WHIRLPOOL 7004175ef672ece0d59fee7a8db4e783c90294de4bb68be0e285da490ce569b65383eae63ba712e59dcf0c4fe7d3a9a254955e13d3768b751e702a2814a1b7ac
+MISC ChangeLog-2015 5974 SHA256 efe30afce7f19ab5010b7b376f6a617bc719e1fee8fcece44f959338e93e502d SHA512 4be1b41787d60647919fc3bbbf05293c2367e14c9a21ba90d220295df41d8bf81fc8f655a108572259a289364a7c36d353604999a25ee9723fe0867185fc1803 WHIRLPOOL 78f022e1bd5852535b1dea1863f3941a77cc7456a1d338172ffc8057b72db1f70fba49e4508457a32b741d1abcc758cbf77323684792888cdf0d7dfd8bd4499f
+MISC metadata.xml 249 SHA256 9e564af928a2936e8f703b73a55f69de722d795f3bb4cd256be6a95c3f11ff75 SHA512 965ae00fa198dd8f5869c4c14ff3e28c7d76be7182be6ba4bedbb68d7138da5be3c8bb993689db2c73ac328456015ebdf018ee1b308d6988067810d1156bd179 WHIRLPOOL 920b6ff93f8bcf1c19ae74f354f1f4e2a3d76a1f6ed2c8c2bb5b519f69df2657dbd204c80e2d2db52657efda8c16b1bd0d2a65b6c6af060b8144b2faafa35948
diff --git a/app-editors/hexedit/files/hexedit-1.2.13-tinfo.patch b/app-editors/hexedit/files/hexedit-1.2.13-tinfo.patch
new file mode 100644
index 000000000000..86e7dba4e88e
--- /dev/null
+++ b/app-editors/hexedit/files/hexedit-1.2.13-tinfo.patch
@@ -0,0 +1,10 @@
+--- a/configure.in
++++ b/configure.in
+@@ -37,6 +37,7 @@
+ AC_CHECK_LIB(curses, initscr, LIBS="$LIBS -lcurses",
+ AC_CHECK_LIB(ncurses, initscr, LIBS="$LIBS -lncurses")
+ )
++AC_SEARCH_LIBS(nodelay, tinfo)
+ AC_CHECK_FUNC(use_default_colors,
+ AC_DEFINE(HAVE_COLORS, , "Define if you want colored (fruit salad) display option")
+ )
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..6bf3c4700dec
--- /dev/null
+++ b/app-editors/hexedit/hexedit-1.2.13.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils
+
+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 ~arm64 hppa ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+
+DEPEND="sys-libs/ncurses:="
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.2.13-tinfo.patch
+ mv configure.in configure.ac || die
+ eautoreconf
+}
+
+src_install() {
+ dobin hexedit
+ 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..4e80019694b1
--- /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 type="person">
+ <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..19e92d4718c6
--- /dev/null
+++ b/app-editors/hteditor/Manifest
@@ -0,0 +1,6 @@
+AUX hteditor-2.1.0-gcc-7.patch 724 SHA256 2490a26301d6b29d599b38574130f6c644f7172d66753096c216490d0fa305ae SHA512 afdc2fef1c05a225e9a8e8d4ccd25a8b1912ff6532dd09a320f6df031edb732d9b9b99fb77f39cd41ccc45fd9818fae1b802ca1831669a0e2825b59094094de9 WHIRLPOOL 24681b9f1769bb7073be871af4cfe3fc5dfceed650b6c07fde44047cc4049eb84a9f6f33263867b1c8e42e2b442901c85cd730987ad783ea4ab1f11a4b99091a
+DIST ht-2.1.0.tar.bz2 884139 SHA256 31f5e8e2ca7f85d40bb18ef518bf1a105a6f602918a0755bc649f3f407b75d70 SHA512 6b5fc5fcbc63b9b7c85721158e044e4578ebfdc38618c760c0e6de06a276bccd3a960ab8bed172de788934515ad94d86349c4abd3228da66b1601deaaa2ce410 WHIRLPOOL c039658bb7e1d2391077cf02b51291e177e12a3701acda0917c16a25054cdad5330516b2d013ff4e4f2d9de7e8ae132a7cc574a5e77c093b6d2ad48501f2c053
+EBUILD hteditor-2.1.0.ebuild 1061 SHA256 e40dc569da8c17ed3860dfab3c77bb62956f5e1aaa561a5f7bbf743da45b4272 SHA512 554fe11db69061e25e74c3bb623340fd0e77824416d2d431eab05e2e4e52f73d6605f8a7ab5ae0b4cb7f02836af88baa60b1b129fb6da2dc0fb60fafcf1e1f38 WHIRLPOOL eddb0502759a0f05f5f7c7ff4881852023d9696523707a7cecc95b6b38fb4b790d0e4db736255e5d6125119284361ba3a42b2ad522e3ab9b7d8dfaf519eedd09
+MISC ChangeLog 2804 SHA256 010338f9e9d252f981ec50207ee236948fde734538d1de48be92b5d16d7496e4 SHA512 bae4c9cc2d1da8ead065c6ce31330863b769c3fc5979dc5928cc817605a73aba22789f0186957fdacdbaf36b80323acee2709b2a69ff7df41ff9280cdc696752 WHIRLPOOL 2ec05d9545f3adba468bcc261e77967af283841450d281247272442169c3a0b34a23ca0918987b351bac4d10f28de82592098ce80673e615afa7a0aa9badc61b
+MISC ChangeLog-2015 10124 SHA256 6e4ec2d0097f6387e736576d3ed82ebf22cfc2ec99b04c777780b8455a1308ee SHA512 3259f68a53d9338b74ead63154e9213b4b73b3a24373c670fde71a724e50727dc16007c38cc624ed6b0a5450e3b0d1367887cec1ffea52c17cefcc8ab96a789d WHIRLPOOL ebca1e1b39d0bcb27e124cdb60f2dc39fa4000a2d97a3b2801a4dae100e1d0f32e6803e990799d10cb1a51d206d80c116876ffb54a326604b984944d40899fb6
+MISC metadata.xml 460 SHA256 15540099e529459a270fcd95b21620600df5b45c29f6a1275984eed61873b32b SHA512 ff08b42c35979dbf9c165ae5895374779c53ab4d80e25edb9bf0d854ac44c89dd01bd817fc555d75036e687f007abbd717593af0554e6315dced60372bec4707 WHIRLPOOL 285dc7c4c820f7078dad580674cf5e002e1047b2b160c73e7c64e492e2a732b2d4fead623fa7ac1e0e5e59cfab432fa71e95e1b6867890d6a106ae3c7530692e
diff --git a/app-editors/hteditor/files/hteditor-2.1.0-gcc-7.patch b/app-editors/hteditor/files/hteditor-2.1.0-gcc-7.patch
new file mode 100644
index 000000000000..ebcc3c0aa43e
--- /dev/null
+++ b/app-editors/hteditor/files/hteditor-2.1.0-gcc-7.patch
@@ -0,0 +1,32 @@
+https://bugs.gentoo.org/show_bug.cgi?id=620732
+
+Fixes build failure on gcc-7:
+
+ htapp.cc: In function 'uint isqr(uint)':
+ htapp.cc:3026:18: error: call of overloaded 'abs(uint)' is ambiguous
+ while (abs(a - b) > 1) {
+ ^
+
+Picked upstream patch that fixes it:
+
+commit 3b62f2f7e49e024ec9d3c5ffc8ff9cd87a107af6
+Author: Sebastian Biallas <sb@biallas.net>
+Date: Sun Nov 13 15:25:26 2016 +0100
+
+ use unsigned variables
+
+diff --git a/htapp.cc b/htapp.cc
+index 53d8725..03236e2 100644
+--- a/htapp.cc
++++ b/htapp.cc
+@@ -3021,8 +3021,8 @@ void do_modal_resize()
+
+ static uint isqr(uint u)
+ {
+- uint a = 2;
+- uint b = u/a;
++ int a = 2;
++ int b = u/a;
+ while (abs(a - b) > 1) {
+ a = (a+b)/2;
+ b = u/a;
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..a38ef31072d0
--- /dev/null
+++ b/app-editors/hteditor/hteditor-2.1.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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:0=
+ 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}
+
+PATCHES=("${FILESDIR}"/${P}-gcc-7.patch)
+
+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"
+
+ local HTML_DOCS="doc/*.html"
+ doinfo doc/*.info
+
+ default
+}
diff --git a/app-editors/hteditor/metadata.xml b/app-editors/hteditor/metadata.xml
new file mode 100644
index 000000000000..d08e026268cd
--- /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 type="person">
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">hte</remote-id>
+ <bugs-to>https://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..400770abfb2a
--- /dev/null
+++ b/app-editors/jasspa-microemacs/Manifest
@@ -0,0 +1,11 @@
+AUX 20091011-linux3.patch 723 SHA256 6a00571de9320f3def48c83e6c5717f26a98f16a3aa3271c246491d3090a6cdb SHA512 c3b0246cc83c6840b59b46cbd25ebe1f9364a029f555f916dbc3ca38d8e490514a9dfc9ae8748e751e49cc9a1f3be89af30d0fab95d35486d32cf87fec93431c WHIRLPOOL d318ea84923f106927707cc947b87dcafae99745deb84ac9f71c24d389889ab46d4785d8c01b2bdcfcf2b03cea1a0a1643eda088f4aaec2651ed441075192cc8
+AUX 20091011-ncurses.patch 583 SHA256 8b8937c4668d4f026a65eb31d3602565299d3b866802f5b89ed6b67f66a9aab4 SHA512 d2a4ca646e825a9c517ed075205609d141f94735c9bba2f23f5c94ced05b9290e6e24a718d7e8cfbcad77663a6c07f311a387363e8737cb1cb4fc81cf34e9a22 WHIRLPOOL 573a9997536204d797b1e3406ecc86826b79f838cb4afe72606d5022f9a20dd03d7223664fab0c983dee4855ace7a4d0d7f0684255fd0cd9931533fb3bc6bfad
+AUX jasspa-microemacs.desktop 282 SHA256 9c77adfb1eb77eb0e313add3bc5f1c06d56cfaf1a1d096751d225d3586347c88 SHA512 e55698b2faf0a5a8fbb04e837400ab0d9be00d50ab20fd3d84718edf75a4bedef1155f04654ea1d491c3b456f1bf047e4b90f05efb0702deeb2f496c9ad091d2 WHIRLPOOL 39ce77b6f00daefbe4ca0466ea3d631cbb505e74efda028e613801505fe75f638fec63c92229f833222092879f55f62d32f517116ed23bc8505a6447016f65da
+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
+EBUILD jasspa-microemacs-20091011-r2.ebuild 2112 SHA256 cdb18342acfde19825de3e7714ad4372f520f3576d36d466cb690a13bb408911 SHA512 a0c924ea30ef893be7c374d12317dda6f1374f84286b2ed749e416b86d7c71965b271610e988f594a1dbe0abe0aaf65ba22d22f95cf2f114cf0fe1d6ce7f3858 WHIRLPOOL 13e13feea56537acd78b6fcf11f8020b0f5f5ecdb18525103eee9669cacd3c82fa3ccfde76ae2d227ca49c730f461f8010c92e48d2f57e7f5fdbb5133703ee2b
+MISC ChangeLog 2851 SHA256 4d5a3317fca0bbc5ade721b0e6c86efbec5926c8d12f6b4f503e23e78b50b16f SHA512 6828600bb63c10cf75a997a557b4cdf6c95eb8dc4ff09028da3c989c094fb22a23138b03b131e7c5b1c96d476f6310a2ff5bde309caac12728dd0c05b58e6f32 WHIRLPOOL 7bb23b074732576bb72845add68a9f3e8a97552b9ccb09d1de77c17b794fb31403570f173fd427a76c8024e7338f658f5fea7ac1eea22cce30ef48091f6480c4
+MISC ChangeLog-2015 9305 SHA256 21bef996dd2db290f57f3f126f32a63b32ce2e2f3891ed57e11e3260af34d567 SHA512 5cc32c1814abea9eed2baf07bd16df42e834744ef6d25f3a0774edbbc761b5f7fcbb9f21f0fc916c2881acb83dce6e070b77a4d58533aea9889c6b3a7df83121 WHIRLPOOL 4b376c209f682e580f739063860edfb7ab6b6d2c8f60687a1e9168c41ce1365dfc580d003d998be294066557a59b203b2900d20696435e6dfc75875b3f555e85
+MISC metadata.xml 1094 SHA256 64b98de3c532084991866f70cf3eda021408564aeaf5b89b1b1b9a017df459f2 SHA512 2116ed586b24da86206c4d38977c118bcf2381d455a3cd0fb9d672f8d709b5113fe4c8767e2d2f20f8c879a71f0e6bfb6384b9efe30cba82e177fa75dc4e0d6a WHIRLPOOL 1563aef8a791b4e6d0fbbaf1d63de8873eefea850a7f2cc9a2cbbb2c9c02758f5ec54e12380aef6701ac71cb206d2dca0c61f6a6333436926e97491edbc7129b
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..55e0722235c9
--- /dev/null
+++ b/app-editors/jasspa-microemacs/jasspa-microemacs-20091011-r2.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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..ab5b22e79f36
--- /dev/null
+++ b/app-editors/jasspa-microemacs/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>emacs@gentoo.org</email>
+ <name>Gentoo Emacs project</name>
+</maintainer>
+<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..6c5ee3790ff6
--- /dev/null
+++ b/app-editors/jed/Manifest
@@ -0,0 +1,5 @@
+DIST jed-0.99-19.tar.bz2 884198 SHA256 97a339ce2fb0a446767ee550786e6914fa2e8cdbad39a402e48368cd0d6b5763 SHA512 db8a30284f9b8e3e2c5d1a600eeb7af29c9f943a5c23d7c74fce926e0b0252f54805e214670e7c9357ce0e6918ad67cba2769a523979bfbd285328f94fff747c WHIRLPOOL 7ba51882004bdb9a59b2fffcc7c976f3a32bdb95247e6c3c8e3c423b0345af0a6eb74d4ed0a69831db160f7f69250a32f114dfb679a343eb002adee94a4ec987
+EBUILD jed-0.99.19.ebuild 1132 SHA256 1c911dc3e9e4a94487653d182c096f331d65f63409197e5a9d0d93cd85b05b41 SHA512 2a13c24a1b5653cac76788b37f888022897785382bd1bc316448d6e06a893d2481a2a39b55e3fca1a13e4c507e1eb593709221896b4a8d8e28f0dba264b787d7 WHIRLPOOL d2102a1ce9330c534ba525ac7554cb900bcffd2d7a6ef485496f7a12b09d1e4a0bc3ed090318e1e649ca87c134d93a53e9d9cb93e94e77878f588b275ecbb25d
+MISC ChangeLog 2309 SHA256 ab19c6effc2f915088e3ee35bfbd9313d2fa2d3a538bcb4b26f0c50e5b4e8a9e SHA512 b3bdabc795d070ed4f898830d49b5784802a3f05a18770f1969db2edf13beb7dc89630d40dfec32173becc461a4a62354c61d66c4b751bf295e77549c3a6ac17 WHIRLPOOL b5342a4779eabddd6fb63ef5742211863734940892c85fa08f17e05cef0c71f267202c1ea8e4dee6f4d51445aba87740f34aba7e25f9e9b8215a67b2663bbcbd
+MISC ChangeLog-2015 7683 SHA256 7282619f3791cf080af845ac8c6be09cd0e5f333a5dac80625b3c83f8bf4278c SHA512 8e66d071f1fda1f628ea0adf0c2d010e13c07f14958db0d6ce81ca1d04e7baf4083aa17c0028a999dfaeeec2ad751cf36a9e41cc9c7ab21d4cd52f29313d4504 WHIRLPOOL 27de789189557af9db604a5f9a485cff5726b64537e45b6780507f1502ecdb902322ef83553cca80023e148a7c3a0fdbafb5b34e8b1dca661590cedc5c188277
+MISC metadata.xml 614 SHA256 74501dd217f8f426e4fcf0d7f03ad314d3d2ae48ff00583a7311762e901e6f45 SHA512 79f54c7d84965a95e575c4c38d5c9a2158de0a1c539ee32f5839312bed707c8d0df00f7733c3cedeee1cfb3ac10619ff60dc0441f7062535f0d7f79094f5443b WHIRLPOOL 91f97365565cb2c649a1e89be34175534c01b44c5c28871d60290955c9e7f0243e85e3c272389df43219f7f3b176be0d2ab7ca988ee5113940339ed58b1d751b
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..f58a30d246cc
--- /dev/null
+++ b/app-editors/jed/jed-0.99.19.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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..a3f50195b266
--- /dev/null
+++ b/app-editors/jed/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 type="project">
+ <email>emacs@gentoo.org</email>
+ <name>Gentoo Emacs project</name>
+</maintainer>
+<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..6a7e87430278
--- /dev/null
+++ b/app-editors/jedit/Manifest
@@ -0,0 +1,9 @@
+AUX jedit-5.2.0-build-xml.patch 530 SHA256 c63b33b7c619e0ecf227f5a6b67ab0882b9bd02a7b5d94fca8cc9252593f5c57 SHA512 4396a20fe4d358b8ecf8938a467ed58dfdab81358a785fd56387dfed94b4aaafdbba4cb2639631c58c9c771a2fe9bdbcfc30807def5861473c9b35d7add73dbe WHIRLPOOL f81eef04bd2bf472b843f307c5ccb5d5ec16beaae7ab0d7105e89af3971d41701dde71c757061a66087aabd8bcab1cb242710586f68a964bb718c9747550b230
+AUX jedit-5.4.0-build-xml.patch 467 SHA256 6095863fa0b2f81e905927bfaee8a8fc3655a0e4d878b368bb2d0be046de1251 SHA512 012dd3ee904d9970ea248a840a31d06f486420ef3dbf1b7a28db78956d4397b3476cc18e5d9562e05bcea6729a44bfd0eed10f6e24ca8aa3ad86cf207cdc816e WHIRLPOOL 05208796ac5e516c534e9919106e5e6afe61e78e35ffc0afec06ccb8799ad1854c18002807ea552dffad527bba99e5a48a56226212fcacc034881246f8853fd2
+DIST jedit5.2.0source.tar.bz2 2456541 SHA256 1d444d2ceab62e449523ae336603fedee322d3655c9e5606d3b4d00c125c950f SHA512 5af99ac864dd70701f24435840e26f73077ba02d155319965122bd24871e6825b82383054d29dfec72bbbedaac72bfb2d86097de6a0c79341f0a279dacd60126 WHIRLPOOL e6a8e837317a2068fe808bc3ada39bf4730a5aaebeca60f7501b5fad2353a5f889b76778c59ffe39b34563107ba3ec02eec550cd612ddcbd00ee03616910cc19
+DIST jedit5.4.0source.tar.bz2 2535992 SHA256 b42dec6c81936b8974308f03c8f356487586cec782d79659b8ae67953c8edf71 SHA512 2120370c54f8bd415f90b979c42bfca6101f76ba33f0ec6a8172adeb33173ba9c73cbd7f06b5dc8c12aa3eedf51f007752cdbf0c7423d77a1ac591beb5493112 WHIRLPOOL f2cac85e820e4db1d619d0527ac6af48703b2e40b68982ae8e75843bf1447672b1eb9d414a12f34358acfdfa18b7eb424d2c4b1d856b7b8e085d347a8727cb48
+EBUILD jedit-5.2.0-r1.ebuild 2328 SHA256 1d264bf92e397cff8adc360b85cb33f7389085ab49d935c2bab2b7cd123f8e1d SHA512 98063344be850a63477267a1dd34735a277b964acfe82b931e1e8b0490bbeda37c2dcaaa4be941725fa2648a087aabf362cb42ab958f6eaba72a5dff7dfbde2e WHIRLPOOL 884f4027d16a04a9a1b5ed5ca393d0e69d1fb2f4090aecda4af0b4caf383eecb87498faf8c63d8c4ef0b687d7e6ff8a612f2c49b9607225a11f51b110da2df97
+EBUILD jedit-5.4.0.ebuild 2442 SHA256 f932c175c6ba6980ead9f4253e4e24630039df5e15a168905b3a386d92f9ba62 SHA512 780c1b9210e36df0f835536ad0dd612bb5df97b77480fa718d962338d60501e18379b5b2ea111fca00cfdb34975c0de0665f2dda5bb784a8200311798a926a86 WHIRLPOOL d67b2d5cea5fcd26440982afef1a484bbaf939ad596d9cdeae0b030ccbe36142134aca5cabbdec9bfeb05296f2f81eb39ff69e697a1244151ccdf69af7c30f93
+MISC ChangeLog 3261 SHA256 95c89225a41f682ad7424547d86057f3fa4d4ac251aab66529efe5f135fe3afc SHA512 488804b21ca1a5ab53bf0d782fddfcd75ea733946798de775c280a2dfd310371edfe94f590f2d99f461a0d42546fb6a92386f6a0acadac7d2bc45bf4fb7ae5e0 WHIRLPOOL 86644e1a5f2a15a5b126d21e07cd5ad53b542d4498188a1eb46ab3af5e65621536e9f8cc10641cf526e0ccdeefa2021d49dbd36327fbd63f8886549a47f7b233
+MISC ChangeLog-2015 15669 SHA256 cb5baae9e19a68b8ebbc74e25cb3bb2d43905586245cda21da95fadb75a36c9e SHA512 fbfbe12d18ef4b557ffc28e981dd9eb3d4d4e0b7158b278d51295fb56ab6e5e556ce58bbff2b1f096f940cee314950c0af7c88a2d43791bf561ee10cb1c69c45 WHIRLPOOL c0ec7df87763fec762ffdef6a29c6bb8f9228e7011bc26c15471120c3f2634b28c67015171b702b75b606b41d86a3f8bcc965685bfbf4a49b5b6a62cb6242c5a
+MISC metadata.xml 311 SHA256 7dd9426d116fb6f0f057320f4c81f22d84084b887befe740edd83b65673f3118 SHA512 86e21988f7f67ca938bfad13389991533b89202be6b7e721bd3cac1a8e4a2316e62444a81de56848d016273795f4c166216f9a7b599ebb3aa43c7657a7d4f182 WHIRLPOOL b15fb8a557ccd79d85df82fc4343fe113a443c495b31ab237ecc3efa0d8f61baf51d5e9fac04cd760011b85a3eb852ead00d5999831d0dae198a0e49d066f09c
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/files/jedit-5.4.0-build-xml.patch b/app-editors/jedit/files/jedit-5.4.0-build-xml.patch
new file mode 100644
index 000000000000..e8ad5f9e8bb6
--- /dev/null
+++ b/app-editors/jedit/files/jedit-5.4.0-build-xml.patch
@@ -0,0 +1,12 @@
+Subject: [PATCH] Do not have target "build" call target "test"
+--- a/build.xml 2017-03-18 16:30:34.000000000 +0300
++++ b/build.xml 2017-08-25 12:24:24.000000000 +0300
+@@ -505,7 +505,7 @@
+ </target>
+
+ <target name="build"
+- depends="init,retrieve,setup,compile,test"
++ depends="init,retrieve,setup,compile"
+ description="build the jEdit JAR-file with full debug-information">
+ <mkdir dir="${jar.location}"/>
+ <jar destfile="${jar.location}/${jar.filename}"
diff --git a/app-editors/jedit/jedit-5.2.0-r1.ebuild b/app-editors/jedit/jedit-5.2.0-r1.ebuild
new file mode 100644
index 000000000000..945eb8180648
--- /dev/null
+++ b/app-editors/jedit/jedit-5.2.0-r1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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 ppc64 x86"
+SLOT="0"
+IUSE=""
+
+CDEPEND="
+ dev-java/bsh:0
+ dev-java/jsr305:0
+ dev-java/ant-contrib:0
+ dev-java/ant-apache-bsf:0"
+
+RDEPEND="
+ ${CDEPEND}
+ >=virtual/jre-1.7"
+
+DEPEND="
+ ${CDEPEND}
+ >=virtual/jdk-1.7"
+
+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_xml-rewrite -f "${S}/build.xml" -c \
+ -e javadoc \
+ -a failonerror \
+ -v no || 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.4.0.ebuild b/app-editors/jedit/jedit-5.4.0.ebuild
new file mode 100644
index 000000000000..b196136d9113
--- /dev/null
+++ b/app-editors/jedit/jedit-5.4.0.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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 ~ppc64 ~x86"
+SLOT="0"
+
+CP_DEPEND="dev-java/jsr305:0"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=virtual/jdk-1.8
+ dev-java/ant-contrib:0
+ dev-java/ant-apache-bsf:0
+ dev-java/bsh:0
+ test? (
+ dev-java/ant-junit:0
+ dev-java/hamcrest-library:1.3
+ )"
+
+S="${WORKDIR}/jEdit"
+
+JEDIT_HOME="/usr/share/${PN}"
+
+src_prepare() {
+ mkdir -p lib/{ant-contrib,compile,default-plugins,scripting,test} || die
+
+ epatch "${FILESDIR}"/${P}-build-xml.patch
+
+ java-ant_xml-rewrite -f "${S}/build.xml" -c \
+ -e javadoc \
+ -a failonerror \
+ -v no || die
+
+ java-pkg-2_src_prepare
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="true"
+
+EANT_ANT_TASKS="ant-apache-bsf ant-contrib bsh"
+EANT_TEST_GENTOO_CLASSPATH="hamcrest-library-1.3"
+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..8c0bf782641b
--- /dev/null
+++ b/app-editors/jedit/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 type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <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..72358dd3670a
--- /dev/null
+++ b/app-editors/jext/Manifest
@@ -0,0 +1,7 @@
+AUX jext-5.0-enum-as-keyword.patch 5908 SHA256 b3743202b248856ed30fc720e283116b76b590b1f21ed2c67dcd48f70b673611 SHA512 22e06e0d57a11add9ca97dbfab54d9e6be9ae3d0c9ef216b5884a415d1c1f700cd86faf321a29852fca027ed05d9b5cd931b2febeba02a942c1b89bcb71372bf WHIRLPOOL d7c38fb46df65c273ad094404eb08f30137b7282a76e61cc55445fb36a677d61bdf36fd44dde7b1ef2a49bcde939563d325445eb61ad258ddd59a35a7f4f34ac
+AUX jext-pre 2824 SHA256 00d111ac6bdfc05605786a6643b601bc759c9d151ff2022d66976d55080c0de1 SHA512 f98efa43110d295a425750603dc59d94d734ba52a86323c908ebb50f60de36096c76a9b8c4f2572e60b57a256cf0b517636679e7e88062ae074872e767c3016f WHIRLPOOL e633a5988ea6b7209e03703cb79e6df5aec56ea5577491afe5f2d22fb51e1a83c4c0a671de7e951fe7e25c3d7a3f5097cebd79345ec796ed4f9edebf22776ebb
+DIST jext-sources-5.0.tar.gz 1029772 SHA256 58a6b9d265f622bddba0a6165d582b7eadb2da5d14fd28e1fa1f4af0eaa70d19 SHA512 ac66babfca05d112541e40b0aa8ebde33a69a3a97f42966be24a28232d3c100b9fe8007e26618909fd78111d3eb4ddecc2258599bff40e0e1959ea6632f43682 WHIRLPOOL 7ed2b3b96d378a3b83f61f323fe25fb737600d02a8e701b711b6451b5009ff1fff5f385e3a11b1b3582424ab062627b8a9315ab378c2a5ed487a64e7353625ea
+EBUILD jext-5.0-r2.ebuild 1634 SHA256 a6b3cc716d7cbfa54c95bac0e26509ff5c257af26b6461a021b2929f8f16b1d4 SHA512 ca52e4d778e2052931ead7c8d0af6f1379afb0d3cf3026e3f017c5bbb566b03287f36c352f6f937688454e371eb9b4eb27dc7e9e8d6961057c53e394ab3cc023 WHIRLPOOL 1c2a6ec17f14520198de2f33b53cda39cf301af717697430d060de989cbe509add2f26161cffaa0c40a9c48bc1e0f04ca6184b52b2f9c5a970fc6c1788eca247
+MISC ChangeLog 2591 SHA256 ee213f664b4514764e78a5f6a596abe61ba3ae632bad181642fc258e98ced6e1 SHA512 1787ecce6ce47996f2635903d2ce6eb7568c2d1241803415aa260db0bc798496ba3adcfc2585ae2e8d1976436897c9a3c3ce1a1938c3f4724b9a3d9cd754e523 WHIRLPOOL 2ca55795ec4944c0089a73ece6249e1b33763e857884dec46d81867f6249b0413bf4ed9055a71ca780dd212354ce4e3467930a7d82a1781c2e3ea3c9acc086a9
+MISC ChangeLog-2015 3346 SHA256 baf68fab264d51bd324df10a0ad032b36ab568f62f8e3b2e73dfb99b43aeb33e SHA512 68fd7606ee4446b9405baa8b12492177b3d17f1dd4420834d41ffe935e3074d61eb4163bebaf44a9c891560fdbcb74feed9cb0e4d15c09122a78c244a116ce2f WHIRLPOOL 53a8d760492118b79853d4829d7a31a2ea9f295e2962c7da65ee78e6735c9ca97b651746f1db624c44e8a404d5b138b2ffbb48c6ab25263ee6f304d7fa5190f3
+MISC metadata.xml 310 SHA256 234f410ed20754f8511d687a303298e850801153bb8a1c93b8bf5a16251107df SHA512 ed4dde3976952248a6abb4a921a09572bf52a0a3da8fbab99c16986593d7b40a058645557d6d80e43e8db6414d5d3296bb3f5cd034d88b91dbc96b8743f72f16 WHIRLPOOL 6664c3a241694b8fd5c6d9559ff4eca3fe482e1df943f704826483ef25ca42a09bf9f9534fd6ebb3912af64795f7d6ed1a1a9919db27daa3dd45573f6b80e496
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..2f7cae2e4a85
--- /dev/null
+++ b/app-editors/jext/jext-5.0-r2.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+JAVA_PKG_IUSE="doc"
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="A text editor written in Java"
+HOMEPAGE="https://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..1db813e89d5f
--- /dev/null
+++ b/app-editors/jext/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 type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <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..33bc70762310
--- /dev/null
+++ b/app-editors/joe/Manifest
@@ -0,0 +1,10 @@
+AUX joe-4.3-tinfo.patch 1063 SHA256 dcbd9a65875b45a0929c2a87f29d639ea40db65588584a73c910e738a902ea09 SHA512 93db2de58d2a03412cae7dc2b2769103f3ad275b68e22d6e3379871155656c8d4d4f29fbf014c6c8eb5b70ec234189af52a6b6b6826bfde46d6ee93b92f55bcd WHIRLPOOL c01630b1e9725ed5e9631098c538fb897a1d4b8cf00322467dfcb0536cf2b32272d8c7a6d08649644126128dd72c935f7e994664b0d0d028296a25f50837ec39
+DIST joe-4.2.tar.gz 1341048 SHA256 bc5da64bc5683ab7b2962a33214b3537ea17ff6528a3c60ba170359e31e86974 SHA512 7c34f4467d89330ac195cfa76481d9ede4ee3764d0b1b24d091d1e6325bff451d2a9bc9f86a73404c9909587bcbe3e0c14511b739ec121edb7595ea1fcba028f WHIRLPOOL 9dd996e266d96894d8e8b17ab9cadd5eef02568b4778245c9af82f745b288fc1dbb7ee401da2a148a6f5afaf627b91638fad25adafb8c5671576fa38ff31aedc
+DIST joe-4.3.tar.gz 1270523 SHA256 985d6a8f943a06e64165996c24d7fecaeae8c59efb52998a49b3fb4b8a3e26e1 SHA512 a711ce129518863856b8f581ac7acdd7661f5e571cb77c5411317e0db0344c9ba44e73ec2ca9a307e639170a7914d53352eebcd00a33c9270809551f12376e69 WHIRLPOOL a09bb8170942c470b7e9d1d43fbba003d7fa3c25f47ee8a6902a249b7cc253d1b7d7a1431b447b0729c51102cb49e241625c7d30bb7b11fc1d30a5e6c9c11cd1
+DIST joe-4.4.tar.gz 1350062 SHA256 a5704828bbca29acb9e200414fef522c66cdf9ce28150f402d6767da43460979 SHA512 ef31443dda30569c5193cd1907e06f1caba349f746dedf3611b5527080e49a4026001d3d06629f3c9c712ae9265866efbdbba6f51d110c0e6ee95f39f0e3059d WHIRLPOOL a1d1cb7b519b62b4380f5b281ea49f06556fb670f4e77b63af2e8f0265794ca907502d76fcf756620111f115c260c3a72bb54d1dc52eb3b9a04f3392aad5ba7b
+EBUILD joe-4.2.ebuild 1170 SHA256 4814b782714a2ee0e906a702a37b3f3ce1ab31dc2661d9a512a3297ea1a8c5da SHA512 e0b51d75d14eb5bc34fd8628ce36f77cb4154965fe8189fccbb2d5d4a4dc746f6ccee09b13a50347a532619b06f13ec254c0c1fd37caaefa9886ca1e6e8504c9 WHIRLPOOL a34b668acbfc527bc154ad0fe98faaa20f10330734ed736047182f4bd044a8b8cc9728bc3febc118e74efc57a473575599d69155b7f6e1b16151a47fc2f532f2
+EBUILD joe-4.3-r1.ebuild 1303 SHA256 59e58d759bbbd005df71611c32719564422d5546e2c404a8fce0baa768cfe90f SHA512 a93ff4ceea8a3fabca0b5c8ffbe0a610ccb446e6ab77ac161c4b6b4a6d63b6ba72fbc7328e0f3b6973ed8808909de0751499d696a2b2e76c705852086ef73d5a WHIRLPOOL 39432042be62563bdf2d74165d0b75d34f7d6878654a39b62c23988a630d2c4bb13d8a783096af72a4a3c73958cf96b73c0ceb848bde23ea72c9e11031848346
+EBUILD joe-4.4.ebuild 1310 SHA256 d487a80cc43470c5027a364b634752cc3ca24ea4f2428ecb9bbc5be482f0c085 SHA512 a7c1af5371c00715107834b52d2d8ba368fccdfe9f01b8d0b7c0a1423fb5c17e7808a10c5e7999f1fb6b2f0f86c3f4ede6b9803416cd5a592d0cc30a476ac140 WHIRLPOOL ddc5f26b78ee0d1647268061553c0eb6d5ffaa01d8b3e5c1478be7e3fdca0d845185de2c62f775833f7bd2dfcf6c017bc7e9843a38ffe3bcc749fefe8bb6b36d
+MISC ChangeLog 5460 SHA256 8b154124514ec58cecec4f83261d59a6d69bed7d32c112049a1eb27c74e75c8c SHA512 c62d6feaf242d630f4c38d5fb2d0bc1438bcf9aa7cd23b09fac29756ee623c6dc5861171fbaf9b23a28896425ebb5ab178eedbededbb3ca32da378fbd989a2fd WHIRLPOOL 584b6764b7275b1f393c72816e760eef1771bcafb45c70ebb94de5c70849f53199f377b19e00c99597236b8e28996f7162843a88d935eea8939fe734386a1e97
+MISC ChangeLog-2015 10842 SHA256 be0f3879bc83f8e2fb6ca9c7e0827d74827929b18d8c21a4c4fd1b40559b806f SHA512 17e8efc2b71a219810237e08f687ffaf810698685180fd38a3e7a4667ca90d97cd5000a346a1ef350a4e4d1034438437af3e644133eca45c4edc90ba39d28a28 WHIRLPOOL 3de0ed2a94ba65462fa2ead3acd6e5735ef18b01c60cf118b38cd36a0e6b552d6d18a97d67fb77df085f3fcc625c5048aa703c812e0b71a319ea8e38f1159705
+MISC metadata.xml 914 SHA256 270873d328134a450720a9f8001f441e02cbda456ca88b3d5917e865fe7ef96c SHA512 12324115a08719acf2377848a9cb930b4ad69764624a1cf093e4ef3e124fef85e059476a0f1b353314a03d97089fe0c518adf47f2da102f7492a1e612c420b15 WHIRLPOOL 0db68c8ca2f849e6020b8ed82c70f6d6e1f8bde0570dbd78f5faea25820e28d3c995f23dd04bce2ccc48e93e6393987b2d180ed3269af7e36c1edc6046c7eed5
diff --git a/app-editors/joe/files/joe-4.3-tinfo.patch b/app-editors/joe/files/joe-4.3-tinfo.patch
new file mode 100644
index 000000000000..fd259e183fd0
--- /dev/null
+++ b/app-editors/joe/files/joe-4.3-tinfo.patch
@@ -0,0 +1,30 @@
+# HG changeset patch
+# User Lars Wendler <polynomial-c@gentoo.org>
+# Date 1473084371 -7200
+# Mon Sep 05 16:06:11 2016 +0200
+# Node ID ae8afbceeed4e446a63ad3111291a98d1390ade2
+# Parent 57c0a14aedcb8eef82d5828721b55aac02847ee7
+configure.ac: search for ncurses' tinfo library if available
+
+ncurses can be built to split out the lowlevel terminfo library
+from ncurses library. In this case there's a libtinfo.so file
+alongside the usual libncurses*.so files.
+This patch adds tinfo to AC_SEARCH_LIBS when ncurses support
+is enabled. Without this patch configure silently fails to find
+tgetflag and thus does not link to ncurses at all.
+I've tested this change on both, ncurses with separate tinfo lib
+and ncurses without separate tinfo lib and in both cases joe
+successfully links against ncurses.
+
+diff --git a/configure.ac b/configure.ac
+--- a/configure.ac
++++ b/configure.ac
+@@ -39,7 +39,7 @@
+ curses=$enableval, curses=yes)
+
+ if test "$curses" = "yes"; then
+- search_libs="ncurses curses"
++ search_libs="tinfo ncurses curses"
+ fi
+
+ AC_ARG_ENABLE(termcap,
diff --git a/app-editors/joe/joe-4.2.ebuild b/app-editors/joe/joe-4.2.ebuild
new file mode 100644
index 000000000000..750368519c35
--- /dev/null
+++ b/app-editors/joe/joe-4.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="A free ASCII-Text Screen Editor for UNIX"
+HOMEPAGE="https://sourceforge.net/projects/joe-editor/"
+SRC_URI="mirror://sourceforge/joe-editor/${P}.tar.gz"
+
+LICENSE="GPL-1+ CC-BY-3.0"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~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() {
+ default
+ # 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
+}
+
+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.3-r1.ebuild b/app-editors/joe/joe-4.3-r1.ebuild
new file mode 100644
index 000000000000..89f4fbd78d42
--- /dev/null
+++ b/app-editors/joe/joe-4.3-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="A free ASCII-Text Screen Editor for UNIX"
+HOMEPAGE="https://sourceforge.net/projects/joe-editor/"
+SRC_URI="mirror://sourceforge/joe-editor/${P}.tar.gz"
+
+LICENSE="GPL-1+ CC-BY-3.0"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~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:0="
+RDEPEND="${DEPEND}
+ xterm? ( >=x11-terms/xterm-239 )"
+
+DOCS=( README.md NEWS.md docs/hacking.md docs/man.md )
+
+PATCHES=( "${FILESDIR}/${PN}-4.3-tinfo.patch" )
+
+src_prepare() {
+ default
+ # Enable xterm mouse support in the rc files
+ if use xterm; then
+ pushd "${S}"/rc &>/dev/null || die
+ local i
+ for i in *rc*.in; do
+ sed -e 's/^ -\(mouse\|joexterm\)/-\1/' -i "${i}" || die
+ done
+ popd &>/dev/null
+ fi
+ eautoreconf
+}
+
+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.4.ebuild b/app-editors/joe/joe-4.4.ebuild
new file mode 100644
index 000000000000..9efa39321ee1
--- /dev/null
+++ b/app-editors/joe/joe-4.4.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="A free ASCII-Text Screen Editor for UNIX"
+HOMEPAGE="https://sourceforge.net/projects/joe-editor/"
+SRC_URI="mirror://sourceforge/joe-editor/${P}.tar.gz"
+
+LICENSE="GPL-1+ CC-BY-3.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~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:0="
+RDEPEND="${DEPEND}
+ xterm? ( >=x11-terms/xterm-239 )"
+
+DOCS=( README.md NEWS.md docs/hacking.md docs/man.md )
+
+PATCHES=( "${FILESDIR}/${PN}-4.3-tinfo.patch" )
+
+src_prepare() {
+ default
+ # Enable xterm mouse support in the rc files
+ if use xterm; then
+ pushd "${S}"/rc &>/dev/null || die
+ local i
+ for i in *rc*.in; do
+ sed -e 's/^ -\(mouse\|joexterm\)/-\1/' -i "${i}" || die
+ done
+ popd &>/dev/null
+ fi
+ eautoreconf
+}
+
+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..9fd1399650ee
--- /dev/null
+++ b/app-editors/joe/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>amynka@gentoo.org</email>
+</maintainer>
+<maintainer type="project">
+ <email>emacs@gentoo.org</email>
+ <name>Gentoo Emacs project</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..e9e77d861757
--- /dev/null
+++ b/app-editors/jove/Manifest
@@ -0,0 +1,9 @@
+AUX jove-4.16.0.70.3.1-getline.patch 2058 SHA256 3d9738661666d379c8003ea2a8e2de996208e8ee301ff7a83397f8e3758ed2cd SHA512 2481e0e69f35e128cc07e4782abff07b3aab8f9bbe7ee72304e2abccbacb481ded1b5088b626df32ea43978c52e91565257a4665a26dc4df5fc277079b42b382 WHIRLPOOL 68edde0f1418e12c87de49dfd5909f63273e7adf67bcccece13c46298d596aac4d5a0dab48337d7d5e8cd6fc58f43b7ffa4a71f25fd17217ec72b634c1ca6e48
+AUX jove-4.16.0.73-build.patch 5776 SHA256 5ebc668efbb37692565d0ae4ffe7becd4588499572a54eff764da6ae21943d02 SHA512 11398bf31dc4986f0708cd3321f0069d9af6a00c532431554b4433588be528f41b9003286e1d2300d74b314f05fc310aab8ed80fab22579c071cdd43d0a90d22 WHIRLPOOL 0a11d429a8a01046f966d16278a8c1f60be7137fe91458a4920528c1955875038c76e1968fe807329ee02ce111f95ad519fd81dd4850d046c52b81f5dbcc4404
+AUX jove-4.16.0.73-doc.patch 1004 SHA256 f3204aa4022809eb6b449208a67579023bfd714e4cac2181ef587bbec4d32ccf SHA512 c15d8ffc92292e8284aebe93311c14e5d157d25e75c2228497faf1121e370e738ee345f27cce187196fceb4eb26c3222a4b39f734deb13ff14b2a044225a715d WHIRLPOOL 1ded0e1eab53c11a9b721983833bf8e802bd5b5ab53982e5502ca8266c20cf29174b234e0ae729a802af5d3968a62e057d3c6df01fd8747b27ee61a84219a2e1
+AUX jove-4.16.0.73-sendmail.patch 675 SHA256 1a428f66774319842dd548a834e586bfc07eb80e9dd0348a95e34560bbb89831 SHA512 a0c7179b601c620aad5b6bea5e07ff620bec14d27c1f8b27b0a25cb8cd687066abacf2786a00d79913087c2c5330da99e154f325b39243e9a19323a5c7729f10 WHIRLPOOL 61035a9f89494f6f4acab1765c84ed8712e6c8127f1757d90b1aaa8b9019fe7fdafe1db17120248c6d6285ae9ee27b010d92b0c4ca69054489be045d063caa8e
+DIST jove4.16.0.73.tgz 465214 SHA256 9c9e202607f5972c382098d10b63c815ac01e578f432626c982e6aa65000c630 SHA512 2198504f9a23590710acba7f27661fa5649fdbed559a4c6bde9d2c1d673c22ce7d99a690be45a4602d37cf6e70399230c4ae3a251d8451af0c5252bdca61b09d WHIRLPOOL aad67b0a4ed52f89719feffbacb8b3de9acf50ccb2fbc6cb8f35bb9bcb475794d5aeb4bfe7485c9ccfc41f687bb42a4d9a9242d1ba84fd17790c35a03b1a8000
+EBUILD jove-4.16.0.73.ebuild 1106 SHA256 e27aa38fd2aa96ac99bd1fafc8104939c1d138c31c47ee701927698b7aed17bb SHA512 f17f5e08d15c87203de69a31ebbfa8ad0574c1b258eb3e0b916d583d7163d74576f7e2c6886fdfdae7abb79d0c198e0e8aba0894044ac84e09742dbaf971c3d4 WHIRLPOOL fb675286c2c438652e7ba9dab687ca89a57c129e59421c7a5ef51f83a332d6b09b38bfbe3c72980ceb870fee3d5269a194214ded8f20f3bc40984ab008464b21
+MISC ChangeLog 2467 SHA256 3fe38fc49654607c070ddd007d5d8a2f77b03d613e4a3f115f478380a9354fd7 SHA512 ddd86fb7776148bab5e6363a9e4ee557d1f79d27fb23eaa21e2f4373cc674bd079bc8c2c5c8a25d5f321e9988caa048992650e5a306f80437497c259c2494747 WHIRLPOOL 4c3ed4d820c8a76e6f15a7381e722e3d33cc49a774a4b8dd222aeaa66a2e680b31bcb0846c1d058dc7fb44125a56f93772ea3b84ef2a1fc15840df0c3e4128d8
+MISC ChangeLog-2015 5755 SHA256 a6a71f0861b122266f651dab1ec192d70dd7630323033387f71f7b081eb8b822 SHA512 a57179694211eed42e9a8b49f4265b983c659a3c325e06e393aa0d06d98db0ee59efc95d400cc1c6169d64e26328aef0a71f60badb906542d15403130c1a70b0 WHIRLPOOL 2075b1f6928a3018eed6683d91b86bd3fe2a2e45c449fe450249102f31e6a6381e6a43a168171095ef906efa6c7d379ebcdc4c5fba7861aa7422d5e5ad719da3
+MISC metadata.xml 623 SHA256 142c6fa2e724899bb8c7c5f937b5217e62b7a6def90b57652dd5dbf9082a3efa SHA512 33f559b386d5163174eaf5c39ebabbecb886b822dc9db5d2d3a12449a1ec737a560956e8880dbabdf84c5ffe0486f76ef2eac55cd58c9c3406a153dc4d603788 WHIRLPOOL a1fe0f16bf46bfc578b9f60200491a92869aaf98b665f6c1f83e67cc71c05ce868caa590e1f18655714313712d91bae336837d90ebac067a0d8724ad7b4c0c35
diff --git a/app-editors/jove/files/jove-4.16.0.70.3.1-getline.patch b/app-editors/jove/files/jove-4.16.0.70.3.1-getline.patch
new file mode 100644
index 000000000000..98cef6011f8c
--- /dev/null
+++ b/app-editors/jove/files/jove-4.16.0.70.3.1-getline.patch
@@ -0,0 +1,81 @@
+http://bugs.gentoo.org/274352
+Fix build failure with glibc-2.10
+
+--- jove4.16.0.70-orig/insert.c
++++ jove4.16.0.70/insert.c
+@@ -504,7 +504,7 @@
+ atchar = 0;
+ }
+
+- getline(atline->l_dline, genbuf);
++ get_line(atline->l_dline, genbuf);
+ atchar += tchar;
+ linecopy(genbuf, atchar, save);
+ atline->l_dline = putline(genbuf);
+--- jove4.16.0.70-orig/io.c
++++ jove4.16.0.70/io.c
+@@ -1347,9 +1347,9 @@
+
+ void
+ #ifdef USE_PROTOTYPES
+-getline proto((daddr addr, register char *buf))
++get_line proto((daddr addr, register char *buf))
+ #else
+-getline(addr, buf)
++get_line(addr, buf)
+ daddr addr;
+ register char *buf;
+ #endif
+--- jove4.16.0.70-orig/io.h
++++ jove4.16.0.70/io.h
+@@ -40,7 +40,7 @@
+ close_file proto((File *fp)),
+ d_cache_init proto((void)),
+ file_write proto((char *fname, bool app)),
+- getline proto((daddr addr, char *buf)),
++ get_line proto((daddr addr, char *buf)),
+ lsave proto((void)),
+ putreg proto((File *fp,LinePtr line1,int char1,LinePtr line2,int char2,bool makesure)),
+ read_file proto((char *file, bool is_insert)),
+--- jove4.16.0.70-orig/recover.c
++++ jove4.16.0.70/recover.c
+@@ -165,7 +165,7 @@
+ private char *getblock proto((daddr atl));
+
+ void
+-getline(tl, buf)
++get_line(tl, buf)
+ daddr tl;
+ char *buf;
+ {
+@@ -580,7 +580,7 @@
+ Nchars = Nlines = 0L;
+ while (--nlines >= 0) {
+ addr = getaddr(ptrs_fp);
+- getline(addr, buf);
++ get_line(addr, buf);
+ Nlines += 1;
+ Nchars += 1 + strlen(buf);
+ fputs(buf, out);
+--- jove4.16.0.70-orig/util.c
++++ jove4.16.0.70/util.c
+@@ -280,7 +280,7 @@
+ strcpy(buf, linebuf);
+ Jr_Len = strlen(linebuf);
+ } else
+- getline(line->l_dline, buf);
++ get_line(line->l_dline, buf);
+ return buf;
+ }
+
+--- jove4.16.0.70-orig/util.h
++++ jove4.16.0.70/util.h
+@@ -18,7 +18,7 @@
+ #define eobp() (lastp(curline) && eolp())
+ #define eolp() (linebuf[curchar] == '\0')
+ #define firstp(line) ((line) == curbuf->b_first)
+-#define getDOT() getline(curline->l_dline, linebuf)
++#define getDOT() get_line(curline->l_dline, linebuf)
+ #define lastp(line) ((line) == curbuf->b_last)
+
+ extern UnivPtr
diff --git a/app-editors/jove/files/jove-4.16.0.73-build.patch b/app-editors/jove/files/jove-4.16.0.73-build.patch
new file mode 100644
index 000000000000..105d163d32be
--- /dev/null
+++ b/app-editors/jove/files/jove-4.16.0.73-build.patch
@@ -0,0 +1,188 @@
+Originally based on Debian patch jove_4.16.0.70-3.1.diff.gz
+
+--- jove4.16.0.73-orig/doc/jove.rc
++++ jove4.16.0.73/doc/jove.rc
+@@ -74,6 +74,6 @@
+ 1 source jove.rc.$TERM
+
+ # source local custom rc file, if present
+-1 source jove-local.rc
++1 source /etc/jove/jove-local.rc
+
+ popd
+--- jove4.16.0.73-orig/jove.c
++++ jove4.16.0.73/jove.c
+@@ -1576,7 +1576,7 @@
+ char Joverc[FILESIZE];
+
+ if (dosys) {
+- PathCat(Joverc, sizeof(Joverc), ShareDir, "jove.rc");
++ PathCat(Joverc, sizeof(Joverc), CONFIGDIR, "jove.rc");
+ (void) joverc(Joverc); /* system wide jove.rc */
+ }
+
+--- jove4.16.0.73-orig/Makefile
++++ jove4.16.0.73/Makefile
+@@ -21,13 +21,14 @@
+ # If they don't exist, this makefile will try to create the directories
+ # LIBDIR and SHAREDIR. All others must already exist.
+
+-JOVEHOME = /usr/local
+-SHAREDIR = $(JOVEHOME)/lib/jove
++JOVEHOME = ${DESTDIR}/usr
++SHAREDIR = $(JOVEHOME)/share/jove
+ LIBDIR = $(JOVEHOME)/lib/jove
+ BINDIR = $(JOVEHOME)/bin
+ XEXT=
+-MANDIR = $(JOVEHOME)/man/man$(MANEXT)
++MANDIR = $(JOVEHOME)/share/man/man$(MANEXT)
+ MANEXT = 1
++CONFIGDIR=${DESTDIR}/etc/jove
+
+ # TMPDIR is where the tmp files get stored, usually /tmp, /var/tmp, or
+ # /usr/tmp. If you wish to be able to recover buffers after a system
+@@ -38,11 +39,11 @@
+ # (in case the system startup salvages tempfiles by moving them,
+ # which is probably a good idea).
+
+-TMPDIR = /tmp
+-RECDIR = /var/preserve
++TMPDIR = /var/tmp
++RECDIR = ${DESTDIR}/var/lib/jove/preserve
+
+ # DFLTSHELL is the default shell invoked by JOVE and TEACHJOVE.
+-DFLTSHELL = /bin/csh
++DFLTSHELL = /bin/sh
+
+ # The install commands of BSD and System V differ in unpleasant ways:
+ # -c: copy (BSD); -c dir: destination directory (SysV)
+@@ -56,15 +57,18 @@
+ INSTALLFLAGS = # -g bin -o root
+
+ # to install executable files
+-XINSTALL=cp
++XINSTALL=install -m 755
+ #XINSTALL=/usr/ucb/install $(INSTALLFLAGS) -c -m 755 # -s
+ #CYGWIN32: XINSTALL=install $(INSTALLFLAGS) -c -m 755
+
+ # to install text files
+-TINSTALL=cp
++TINSTALL=install -m 644
+ #TINSTALL=/usr/ucb/install $(INSTALLFLAGS) -c -m 644
+ #CYGWIN32: TINSTALL=install $(INSTALLFLAGS) -c -m 644
+
++# to install directories
++DINSTALL=install -d 755
++
+ # These should all just be right if the above ones are.
+ # You will confuse JOVE if you move anything from LIBDIR or SHAREDIR.
+
+@@ -72,7 +76,7 @@
+ TEACHJOVE = $(BINDIR)/teachjove$(XEXT)
+ RECOVER = $(LIBDIR)/recover$(XEXT)
+ PORTSRV = $(LIBDIR)/portsrv$(XEXT)
+-JOVERC = $(SHAREDIR)/jove.rc
++JOVERC = $(CONFIGDIR)/jove.rc
+ TERMSDIR = $(SHAREDIR)
+ CMDS.DOC = $(SHAREDIR)/cmds.doc
+ TEACH-JOVE = $(SHAREDIR)/teach-jove
+@@ -160,7 +164,7 @@
+ # SCO UNIX: TERMCAPLIB = -lcurses
+ # AIX on the R6000s: TERMCAPLIB = -lcurses -ltermcap -ls
+
+-TERMCAPLIB = -ltermcap
++TERMCAPLIB = -lncurses
+
+ # Extra libraries flags needed by oddball systems.
+ # Modern BSD systems using openpty need its library.
+@@ -181,7 +185,7 @@
+ # PDP-11 with separate I&D: -i
+ # PDP-11 without separate I&D: -n
+
+-LDFLAGS =
++#LDFLAGS =
+
+ # for SCO Xenix, set
+ # MEMFLAGS = -Mle
+@@ -236,7 +240,8 @@
+ TROFF = troff -Tpost
+ TROFFPOST = | /usr/lib/lp/postscript/dpost -
+
+-MANUALS = $(JOVEM) $(TEACHJOVEM) $(XJOVEM) $(JOVETOOLM)
++MANUALS = $(JOVEM) $(TEACHJOVEM)
++# $(XJOVEM) $(JOVETOOLM)
+
+ C_SRC = commands.c commands.tab abbrev.c argcount.c ask.c buf.c c.c case.c jctype.c \
+ delete.c disp.c extend.c fp.c fmt.c insert.c io.c iproc.c \
+@@ -283,8 +288,7 @@
+ # all: default target.
+ # Builds everything that "install" needs.
+ all: jjove$(XEXT) recover$(XEXT) teachjove$(XEXT) portsrv$(XEXT) \
+- doc/cmds.doc doc/jove.$(MANEXT) doc/teachjove.$(MANEXT) \
+- doc/jovetool.$(MANEXT)
++ doc/cmds.doc doc/jove.$(MANEXT) doc/teachjove.$(MANEXT)
+
+ jjove$(XEXT): $(OBJECTS)
+ $(LDCC) $(LDFLAGS) $(OPTFLAGS) -o jjove$(XEXT) $(OBJECTS) $(TERMCAPLIB) $(EXTRALIBS)
+@@ -341,6 +345,7 @@
+ @echo \#define LIBDIR \"$(LIBDIR)\" >> paths.h
+ @echo \#define SHAREDIR \"$(SHAREDIR)\" >> paths.h
+ @echo \#define DFLTSHELL \"$(DFLTSHELL)\" >> paths.h
++ @echo \#define CONFIGDIR \"$(CONFIGDIR)\" >> paths.h
+
+ makexjove:
+ ( cd xjove ; make CC="$(CC)" OPTFLAGS="$(OPTFLAGS)" SYSDEFS="$(SYSDEFS)" $(TOOLMAKEEXTRAS) xjove )
+@@ -358,18 +363,31 @@
+ # Thus, if "all" is done first, "install" can be invoked with
+ # JOVEHOME pointing at a playpen where files are to be marshalled.
+ # This property is fragile.
+-install: $(LIBDIR) $(SHAREDIR) \
++install: $(BINDIR) $(LIBDIR) $(SHAREDIR) $(CONFIGDIR) $(RECDIR) \
+ $(TEACH-JOVE) $(CMDS.DOC) $(TERMSDIR)docs \
+ $(PORTSRVINST) $(RECOVER) $(JOVE) $(TEACHJOVE) $(MANUALS)
+- $(TINSTALL) doc/jove.rc $(JOVERC)
++ $(TINSTALL) doc/jove.rc $(CONFIGDIR)
+ @echo See the README about changes to /etc/rc or /etc/rc.local
+ @echo so that the system recovers jove files on reboot after a crash
+
++$(BINDIR)::
++ $(DINSTALL) $(BINDIR)
++
+ $(LIBDIR)::
+- test -d $(LIBDIR) || mkdir -p $(LIBDIR)
++ $(DINSTALL) $(LIBDIR)
+
+ $(SHAREDIR)::
+- test -d $(SHAREDIR) || mkdir -p $(SHAREDIR)
++ $(DINSTALL) $(SHAREDIR)
++
++$(CONFIGDIR)::
++ $(DINSTALL) $(CONFIGDIR)
++
++$(RECDIR)::
++ $(DINSTALL) $(RECDIR)
++ chmod 1777 $(RECDIR)
++
++$(MANDIR)::
++ $(DINSTALL) $(MANDIR)
+
+ $(TEACH-JOVE): doc/teach-jove
+ $(TINSTALL) doc/teach-jove $(TEACH-JOVE)
+@@ -410,7 +428,7 @@
+ -e 's;<SHAREDIR>;$(SHAREDIR);' \
+ -e 's;<SHELL>;$(DFLTSHELL);' doc/jove.nr > doc/jove.$(MANEXT)
+
+-$(JOVEM): doc/jove.$(MANEXT)
++$(JOVEM): $(MANDIR) doc/jove.$(MANEXT)
+ $(TINSTALL) doc/jove.$(MANEXT) $(JOVEM)
+
+ # doc/jove.doc is the formatted manpage (only needed by DOS)
+@@ -427,7 +445,7 @@
+ -e 's;<SHAREDIR>;$(SHAREDIR);' \
+ -e 's;<SHELL>;$(DFLTSHELL);' doc/teachjove.nr > doc/teachjove.$(MANEXT)
+
+-$(TEACHJOVEM): doc/teachjove.$(MANEXT)
++$(TEACHJOVEM): $(MANDIR) doc/teachjove.$(MANEXT)
+ $(TINSTALL) doc/teachjove.$(MANEXT) $(TEACHJOVEM)
+
+ $(XJOVEM): doc/xjove.nr
diff --git a/app-editors/jove/files/jove-4.16.0.73-doc.patch b/app-editors/jove/files/jove-4.16.0.73-doc.patch
new file mode 100644
index 000000000000..d62add543af6
--- /dev/null
+++ b/app-editors/jove/files/jove-4.16.0.73-doc.patch
@@ -0,0 +1,34 @@
+Originally based on Debian patch jove_4.16.0.70-3.1.diff.gz
+
+--- jove4.16.0.73-orig/doc/intro.nr
++++ jove4.16.0.73/doc/intro.nr
+@@ -56,9 +56,8 @@
+ ..
+ .
+ .\" Change the extra vertical spacing around .DS/.DE
+-.\" Does not work with groff's version of MS (GS is 1 iff groff MS)
+-.if !\n(GS .if n .nr DD 0v
+-.if !\n(GS .if t .nr DD \n(PD/2u
++.if n .nr DD 0v
++.if t .nr DD \n(PD/2u
+ .
+ .nr LL 6.5i
+ .nr LT 6.5i
+@@ -152,7 +151,7 @@
+ }
+
+ _
+-\fBJOVE\ (C OvrWt)\ \ \ [Main:1]\ \ "hello.c"\ \ \(**\ \ /home/foo\fP <\ the Mode Line
++\fBJOVE\ (C OvrWt)\ \ \ [Main:1]\ \ "hello.c"\ \ \(**\ \ /home/foo\ \ \ \ 15:23\fP <\ the Mode Line
+ _
+ : write-file (default hello.c) aloha.c\^\(sq <\ the Message Line
+ =
+@@ -1978,7 +1977,7 @@
+ \ \ \ \ return 0; <\ second Window
+ }\^\(sq
+ _
+-\fBJOVE\ (C OvrWt)\ \ \ [Main:1]\ \ "aloha.c"\ \ \-\-\ \ /home/foo\fP <\ the Mode Line
++\fBJOVE\ (C OvrWt)\ \ \ [Main:1]\ \ "aloha.c"\ \ \-\-\ \ /home/foo\ \ \ \ 15:28\fP <\ the Mode Line
+ _
+ [Point pushed] <\ the Message Line
+ =
diff --git a/app-editors/jove/files/jove-4.16.0.73-sendmail.patch b/app-editors/jove/files/jove-4.16.0.73-sendmail.patch
new file mode 100644
index 000000000000..072dd1f843ce
--- /dev/null
+++ b/app-editors/jove/files/jove-4.16.0.73-sendmail.patch
@@ -0,0 +1,19 @@
+--- jove4.16.0.73-orig/recover.c
++++ jove4.16.0.73/recover.c
+@@ -776,7 +776,7 @@
+
+ last_update = ctime(&(rec->UpdTime));
+ /* Start up mail */
+- sprintf(mail_cmd, "/bin/mail %s", pw->pw_name);
++ sprintf(mail_cmd, "/usr/sbin/sendmail -t %s", pw->pw_name);
+ setuid(getuid());
+ if ((mail_pipe = popen(mail_cmd, "w")) == NULL)
+ return;
+@@ -784,6 +784,7 @@
+ setbuf(mail_pipe, mail_cmd);
+ /* Let's be grammatically correct! */
+ buf_string = rec->Nbuffers == 1? "buffer" : "buffers";
++ fprintf(mail_pipe, "To: %s\n", pw->pw_name);
+ fprintf(mail_pipe, "Subject: Jove saved %d %s after \"%s\" crashed\n",
+ rec->Nbuffers, buf_string, hname());
+ fprintf(mail_pipe, " \n");
diff --git a/app-editors/jove/jove-4.16.0.73.ebuild b/app-editors/jove/jove-4.16.0.73.ebuild
new file mode 100644
index 000000000000..72d2a677cad1
--- /dev/null
+++ b/app-editors/jove/jove-4.16.0.73.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Jonathan's Own Version of Emacs, a light emacs-like editor without LISP bindings"
+HOMEPAGE="ftp://ftp.cs.toronto.edu/cs/ftp/pub/hugh/jove-dev/"
+SRC_URI="ftp://ftp.cs.toronto.edu/cs/ftp/pub/hugh/jove-dev/${PN}${PV}.tgz"
+
+LICENSE="JOVE"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="doc"
+
+RDEPEND="sys-libs/ncurses"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}${PV}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-4.16.0.70.3.1-getline.patch"
+ epatch "${FILESDIR}/${P}-build.patch"
+ epatch "${FILESDIR}/${P}-sendmail.patch"
+ epatch "${FILESDIR}/${P}-doc.patch"
+}
+
+src_compile() {
+ tc-export CC
+
+ emake OPTFLAGS="${CFLAGS}" \
+ SYSDEFS="-DSYSVR4 -D_XOPEN_SOURCE=500" \
+ TERMCAPLIB="$("$(tc-getPKG_CONFIG)" --libs ncurses)"
+
+ if use doc; then
+ # Full manual (*not* man page)
+ emake doc/jove.man
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ keepdir /var/lib/jove/preserve
+
+ dodoc README
+ if use doc; then
+ dodoc doc/jove.man
+ fi
+}
diff --git a/app-editors/jove/metadata.xml b/app-editors/jove/metadata.xml
new file mode 100644
index 000000000000..e18d3b3af8c5
--- /dev/null
+++ b/app-editors/jove/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 type="project">
+ <email>emacs@gentoo.org</email>
+ <name>Gentoo Emacs project</name>
+</maintainer>
+<longdescription>
+ Jove is a compact, powerful, Emacs-style text-editor. It provides the common
+ emacs keyboard bindings, together with a reasonable assortment of the most
+ popular advanced features (e.g., interactive shell windows, compile-it,
+ language specific modes) while weighing in with CPU, memory, and disk
+ requirements comparable to vi.
+</longdescription>
+</pkgmetadata>
diff --git a/app-editors/juffed/Manifest b/app-editors/juffed/Manifest
new file mode 100644
index 000000000000..f6bf827942be
--- /dev/null
+++ b/app-editors/juffed/Manifest
@@ -0,0 +1,10 @@
+AUX 0.10-link-libjuff-against-libenca.patch 635 SHA256 03e5b96563193956ad860915e29f48e3c8fbafbd2a9b2af9daed02f93f55f383 SHA512 499511446f69ad696b7324482733951e5ee5a9427a4b6d24fb28ae3a49ededd2ec804aff7db80345780892eda9c53b1ae0de05f77f7138305cfd3f4b6c6517e5 WHIRLPOOL 4cb7d12182e168b79ef781fe4b88cae988b2e840af96f58883274b4d4d1c80e5663531894a064a4abfd3d23bdf6187ae82a4d210abb26c52df4a1686e91b4162
+AUX FindQtSingleApplication.cmake 4004 SHA256 4a66ba88dd54d565656e2abaf48aef05c2dabe5a688bbf2359050c0b07face1d SHA512 5ba7845f12a0e425fdeda180faab8b6e53ed3ae0ae291e5a33878a5f955f9295ea7058f1cce43ee4292fd00a6b8ddc45c71d050210ed4b26e1d3f4472df04f9e WHIRLPOOL bf9ca4ae3fc9f55faee3e1bdc921a822de9341e3429b5a71842a330357ab4d48f16963cbfa386b3274100ce7adfe92b1b894d086184c05e11e48a92bb6ac5c67
+AUX juffed-0.10_p20160323-qscintilla-2.10.patch 565 SHA256 11c4674be63f375bc0936ac99f5ce7534e27e336dabcd79441cc2781567c6b09 SHA512 6b3f70930a3f7f5a59687b8484d5356804cff478da63732e5af261de12ced6e93f71bc53b93b3e286bf54e0cae61090729ccc54b42b37e2f97ee5a9640c18bd3 WHIRLPOOL 30d4266e480d46ee17e178d51e20c0c79412ee2baf744898da7965f636d73d2dd7cd93f57eff3034f15008ed654769552d944090473463f6a6643c525894fd4d
+DIST juffed-0.10-1054.tar.bz2 1657118 SHA256 ac58d32acaf9d60e4758e9ae05b1a6b7fc0cb7ecd3b207db769dbb9c747be16c SHA512 023e9fca1f02fdb39645bd41700c7481fe8d6ae08ec62b0bf5ba58f627eb6872f96d27f05eae4bc92d90fd204dd0c30f868c858de873ab6511ac21748254b47c WHIRLPOOL ceb9e0dc9100dd5f2578abc14fff336adf664726d8e347f9832ffc4942c36e6e28aaff931fd528e6f572bcb29e4027ee486a82ee93d216d0751b5d8aa4233f6c
+DIST juffed-0.10_p20160323.tar.gz 1617451 SHA256 15d84bbda71cc8f44f7e0f2c114609859ca90602e86e40f00394d372ab87b5cf SHA512 a49837b199db35c5e7a7580aa4025a2c056b55cef6e98e22f239fc9e455cde3a451d6a0971fb02697c63f3f156d85aaf8021ea13ea3a9e6867ae419f772484b5 WHIRLPOOL 1aac9f820fd842890784979436a7e5afe706af62bcbaf6d5d837749ab26bae79ed5b4d10bc833351f8b2eafd1760f86e3f7f1ca51774a282ffdd85482152c68b
+EBUILD juffed-0.10-r1.ebuild 844 SHA256 4cfbfee65fedc8f465565eae5fde59e45deae11da4a6408a420a5a8c53d6dc5e SHA512 8a0c78b81c02a089248d1928a3eb0d2a2640b46b43da15ed6c2e7463bbe6c6abcf0e06507a65011cd001094285fb959db70410cba500ee31b816cbc5f7587da6 WHIRLPOOL 769acd242643724e99c311bc1124f0fed934cf2a0cc44b920c1952bcbff55e8a06e77d4d8b8a98620b05741c41a62fd033e7b81447aad34427b024af7fcaabda
+EBUILD juffed-0.10_p20160323.ebuild 1348 SHA256 5e2f2bf75f934897dc612debfe87a58623b8e88339052de5260f8cf54237f2a9 SHA512 38a2c1ffdbabbef866bb3ddfc14b76f36122297d71ffa3d73cb6d89d49c1d14592ee975959476c8e2dd087a34fe89593a1a1a9947d92d49ba5e328b39ae92546 WHIRLPOOL edb8622a04053508b026ecd182cd34303a4d901a0f37fac54a5cd6bed2dfbcb375326a237902db349fd5f9b3989203e055cbce9ed4295a4f18662d120f9a0bc6
+MISC ChangeLog 2475 SHA256 6b7433c35efea440cc5210efcf9d6142cafd5c829d70d32a1dc3546200642297 SHA512 fab6013dd39860d44515839ebedcc3a3c3fb93f12eba1cc8a96f6f68eaab528c5f4a9aab18dc009997310daaf848e2ba3b3cdeaf1ad24903e860fd31bd1c5858 WHIRLPOOL b9ab49ca82887292f43c492909af45fcb29e051c27c69fcf4f7a1240ec7854ba781a29bdfb8f23eade0bd545500c63571fd65878b57aedb918175c4a8194e338
+MISC ChangeLog-2015 4917 SHA256 8beb243682f51395a88219ab2bcd1cecc42a65b6e5c8d38b6c0682d960a81bff SHA512 262463d7437dfa0e9db72474b72e56854256f5c4496ca5f7507b03bce7b18b32603fbd0aafe29ea857b7f0ebafb2372ec4ea3a941ae7297cf39a8f1a7004ecea WHIRLPOOL cc1e1600bd73a3123caa3b8a4a20e2ee18cc71e760ca9054cf2d40508141c8b2f74d68350ce38535ffdd28eb638076566e65a8fda046d4a5d4d3aabd5bf76c60
+MISC metadata.xml 323 SHA256 c9422f266adc7a462b04ce76aaaf347c4165b443323eb54522e82e614ea97af7 SHA512 43f71ede8fa11b874c187d61b6f1c3949c10bd632e5a98f4094463f785be8f719a2d2205f3f0b7645047398e026fe71b1ef79366d762ff12f257d0a239e84a4d WHIRLPOOL db718cfa65e536934d13f89ae4c616e589e7abb14c3dc5a42ebb56dc49a822dd019b7479a2f977710c6d5df68c969eb816368ee2a4dbbba9bef4cc7a4c779708
diff --git a/app-editors/juffed/files/0.10-link-libjuff-against-libenca.patch b/app-editors/juffed/files/0.10-link-libjuff-against-libenca.patch
new file mode 100644
index 000000000000..5bd3882309ae
--- /dev/null
+++ b/app-editors/juffed/files/0.10-link-libjuff-against-libenca.patch
@@ -0,0 +1,24 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ccad5d1..304c0aa 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -190,6 +190,9 @@ add_library ( ${JUFFLIB} SHARED
+ target_link_libraries ( ${JUFFLIB}
+ ${QT_LIBRARIES}
+ )
++if (ENCA_FOUND)
++ target_link_libraries( ${JUFFLIB} ${ENCA_LIBRARIES} )
++endif (ENCA_FOUND)
+
+ add_library ( ${QSCI_ENGINE} SHARED
+ ${juffed_qsci_SRCS}
+@@ -277,9 +280,6 @@ target_link_libraries ( ${JUFFED}
+ ${QT_LIBRARIES}
+ ${QT_QTNETWORK_LIBRARY}
+ )
+-if (ENCA_FOUND)
+- target_link_libraries( ${JUFFED} ${ENCA_LIBRARIES} )
+-endif (ENCA_FOUND)
+
+ if ( UNIX )
+ set(CMAKE_CXX_FLAGS "-Wall -Werror -Wextra")
diff --git a/app-editors/juffed/files/FindQtSingleApplication.cmake b/app-editors/juffed/files/FindQtSingleApplication.cmake
new file mode 100644
index 000000000000..eb56607e9480
--- /dev/null
+++ b/app-editors/juffed/files/FindQtSingleApplication.cmake
@@ -0,0 +1,94 @@
+# - Try to find the QtSingleApplication includes and library
+# which defines
+#
+# QTSINGLEAPPLICATION_FOUND - system has QtSingleApplication
+# QTSINGLEAPPLICATION_INCLUDE_DIR - where to find header QtSingleApplication
+# QTSINGLEAPPLICATION_LIBRARIES - the libraries to link against to use QtSingleApplication
+# QTSINGLEAPPLICATION_LIBRARY - where to find the QtSingleApplication library (not for general use)
+
+# copyright (c) 2013 TI_Eugene ti.eugene@gmail.com
+#
+# Redistribution and use is allowed according to the terms of the FreeBSD license.
+
+SET(QTSINGLEAPPLICATION_FOUND FALSE)
+
+IF(QT4_FOUND)
+ message(STATUS "Looking for Qt4 single application library")
+ FIND_PATH(QTSINGLEAPPLICATION_INCLUDE_DIR QtSingleApplication
+ # standard locations
+ /usr/include
+ /usr/include/QtSolutions
+ # qt4 location except mac's frameworks
+ "${QT_INCLUDE_DIR}/QtSolutions"
+ # mac's frameworks
+ ${FRAMEWORK_INCLUDE_DIR}/QtSolutions
+ )
+
+ SET(QTSINGLEAPPLICATION_NAMES ${QTSINGLEAPPLICATION_NAMES}
+ QtSolutions_SingleApplication-2.6 libQtSolutions_SingleApplication-2.6)
+ FIND_LIBRARY(QTSINGLEAPPLICATION_LIBRARY
+ NAMES ${QTSINGLEAPPLICATION_NAMES}
+ PATHS ${QT_LIBRARY_DIR}
+ )
+ELSEIF(Qt5Widgets_FOUND)
+ message(STATUS "Looking for Qt5 single application library")
+ FOREACH(TOP_INCLUDE_PATH in ${Qt5Widgets_INCLUDE_DIRS} ${FRAMEWORK_INCLUDE_DIR})
+ FIND_PATH(QTSINGLEAPPLICATION_INCLUDE_DIR QtSingleApplication ${TOP_INCLUDE_PATH}/QtSolutions)
+
+ IF(QTSINGLEAPPLICATION_INCLUDE_DIR)
+ BREAK()
+ ENDIF()
+ ENDFOREACH()
+
+ SET(QTSINGLEAPPLICATION_NAMES ${QTSINGLEAPPLICATION_NAMES}
+ Qt5Solutions_SingleApplication-2.6 libQt5Solutions_SingleApplication-2.6
+ QtSolutions_SingleApplication-2.6 libQtSolutions_SingleApplication-2.6)
+ GET_TARGET_PROPERTY(QT5_WIDGETSLIBRARY Qt5::Widgets LOCATION)
+ GET_FILENAME_COMPONENT(QT5_WIDGETSLIBRARYPATH ${QT5_WIDGETSLIBRARY} PATH)
+
+ FIND_LIBRARY(QTSINGLEAPPLICATION_LIBRARY
+ NAMES ${QTSINGLEAPPLICATION_NAMES}
+ PATHS ${QT5_WIDGETSLIBRARYPATH}
+ )
+ENDIF()
+
+IF (QTSINGLEAPPLICATION_LIBRARY AND QTSINGLEAPPLICATION_INCLUDE_DIR)
+
+ SET(QTSINGLEAPPLICATION_LIBRARIES ${QTSINGLEAPPLICATION_LIBRARY})
+ SET(QTSINGLEAPPLICATION_FOUND TRUE)
+
+ IF (CYGWIN)
+ IF(BUILD_SHARED_LIBS)
+ # No need to define QTSINGLEAPPLICATION_USE_DLL here, because it's default for Cygwin.
+ ELSE(BUILD_SHARED_LIBS)
+ SET (QTSINGLEAPPLICATION_DEFINITIONS -DQTSINGLEAPPLICATION_STATIC)
+ ENDIF(BUILD_SHARED_LIBS)
+ ENDIF (CYGWIN)
+
+ENDIF (QTSINGLEAPPLICATION_LIBRARY AND QTSINGLEAPPLICATION_INCLUDE_DIR)
+
+IF (QTSINGLEAPPLICATION_FOUND)
+ IF (NOT QtSingleApplication_FIND_QUIETLY)
+ MESSAGE(STATUS "Found QtSingleApplication: ${QTSINGLEAPPLICATION_LIBRARY}")
+ MESSAGE(STATUS " includes: ${QTSINGLEAPPLICATION_INCLUDE_DIR}")
+ ENDIF (NOT QtSingleApplication_FIND_QUIETLY)
+ELSE (QTSINGLEAPPLICATION_FOUND)
+ IF (QtSingleApplication_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could not find QtSingleApplication library")
+ ENDIF (QtSingleApplication_FIND_REQUIRED)
+ENDIF (QTSINGLEAPPLICATION_FOUND)
+
+MARK_AS_ADVANCED(QTSINGLEAPPLICATION_INCLUDE_DIR QTSINGLEAPPLICATION_LIBRARY)
+
+if(NOT TARGET QtSingleApplication::QtSingleApplication)
+ add_library(QtSingleApplication::QtSingleApplication UNKNOWN IMPORTED)
+ set_target_properties(QtSingleApplication::QtSingleApplication PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${QTSINGLEAPPLICATION_INCLUDE_DIR}"
+ INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${QTSINGLEAPPLICATION_INCLUDE_DIR}"
+ )
+ if(EXISTS "${QTSINGLEAPPLICATION_LIBRARY}")
+ set_target_properties(QtSingleApplication::QtSingleApplication PROPERTIES
+ IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+ IMPORTED_LOCATION "${QTSINGLEAPPLICATION_LIBRARY}")
+ endif()
+endif(NOT TARGET QtSingleApplication::QtSingleApplication)
diff --git a/app-editors/juffed/files/juffed-0.10_p20160323-qscintilla-2.10.patch b/app-editors/juffed/files/juffed-0.10_p20160323-qscintilla-2.10.patch
new file mode 100644
index 000000000000..fcfab7f4072f
--- /dev/null
+++ b/app-editors/juffed/files/juffed-0.10_p20160323-qscintilla-2.10.patch
@@ -0,0 +1,11 @@
+--- a/cmake/FindQScintilla2.cmake 2016-03-23 20:43:22.000000000 +0100
++++ b/cmake/FindQScintilla2.cmake 2017-10-08 17:25:06.984464985 +0200
+@@ -52,7 +52,7 @@
+ ENDIF()
+ ENDFOREACH()
+
+- SET(QSCINTILLA_NAMES ${QSCINTILLA_NAMES} qt5scintilla2 libqt5scintilla2 libqscintilla2-qt5 qscintilla2-qt5)
++ SET(QSCINTILLA_NAMES ${QSCINTILLA_NAMES} qscintilla2 libqscintilla2 libqscintilla2_qt5 qscintilla2_qt5)
+ GET_TARGET_PROPERTY(QT5_WIDGETSLIBRARY Qt5::Widgets LOCATION)
+ GET_FILENAME_COMPONENT(QT5_WIDGETSLIBRARYPATH ${QT5_WIDGETSLIBRARY} PATH)
+
diff --git a/app-editors/juffed/juffed-0.10-r1.ebuild b/app-editors/juffed/juffed-0.10-r1.ebuild
new file mode 100644
index 000000000000..66870bccf3c3
--- /dev/null
+++ b/app-editors/juffed/juffed-0.10-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="QScintilla-based tabbed text editor with syntax highlighting"
+HOMEPAGE="http://juffed.com/en/"
+SRC_URI="mirror://sourceforge/${PN}/${P}-1054.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86"
+IUSE="debug"
+
+RDEPEND="
+ app-i18n/enca
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtsingleapplication[qt4(+),X]
+ x11-libs/qscintilla:=[qt4(-)]
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( ChangeLog README )
+
+PATCHES=(
+ # bug 540554
+ "${FILESDIR}/0.10-link-libjuff-against-libenca.patch"
+)
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ sed -i -e '/set(CMAKE_CXX_FLAGS/d' CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_SYSTEM_QTSINGLEAPPLICATION=ON
+ )
+ cmake-utils_src_configure
+}
diff --git a/app-editors/juffed/juffed-0.10_p20160323.ebuild b/app-editors/juffed/juffed-0.10_p20160323.ebuild
new file mode 100644
index 000000000000..15de97ca1b1d
--- /dev/null
+++ b/app-editors/juffed/juffed-0.10_p20160323.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+COMMIT=5ba17f90ec173e773470bc80ea26bca9a3f093fd
+inherit cmake-utils vcs-snapshot xdg-utils
+
+DESCRIPTION="QScintilla-based tabbed text editor with syntax highlighting"
+HOMEPAGE="http://juffed.com/en/"
+SRC_URI="https://github.com/Mezomish/${PN}/tarball/${COMMIT} -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="debug"
+
+RDEPEND="
+ app-i18n/enca
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtsingleapplication[qt5,X]
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ >=x11-libs/qscintilla-2.9.4:=[qt5(+)]
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( ChangeLog README )
+
+PATCHES=( "${FILESDIR}/${P}-qscintilla-2.10.patch" )
+
+src_prepare() {
+ # Upstream version outdated/dysfunctional and CRLF terminated
+ cp "${FILESDIR}"/FindQtSingleApplication.cmake cmake/ || die
+
+ cmake-utils_src_prepare
+
+ sed -i -e '/set(CMAKE_CXX_FLAGS/d' CMakeLists.txt || die
+}
+
+src_configure() {
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DUSE_ENCA=ON
+ -DUSE_QT5=ON
+ -DUSE_SYSTEM_QTSINGLEAPPLICATION=ON
+ -DLIB_SUFFIX=${libdir/lib/}
+ )
+ cmake-utils_src_configure
+}
+
+pkg_postinst() {
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+}
diff --git a/app-editors/juffed/metadata.xml b/app-editors/juffed/metadata.xml
new file mode 100644
index 000000000000..5d63c46383a4
--- /dev/null
+++ b/app-editors/juffed/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 type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">juffed</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/jupp/Manifest b/app-editors/jupp/Manifest
new file mode 100644
index 000000000000..866b5f25d84c
--- /dev/null
+++ b/app-editors/jupp/Manifest
@@ -0,0 +1,7 @@
+DIST joe-3.1jupp27.tgz 455759 SHA256 80374fbd69c4b827ba33761c669dfcddab7222755bfb858600528bb8d6b98e6f SHA512 9f7b86275ed69151e79c2b8bea4e6e0b4fbaa4093646dbd894824d8cbe5a57ead385c5f37b102bd2647f14f5426791c8d8d9fab12b8951fd27a0be79ca72c96c WHIRLPOOL 617c390957aa0ef48a65d174123155c525a62c654c530bdda7cc54f3e05151200e8768d79d537cdf51154ce6d5827d2d73555e20d19f63b74c8af123f0410bfb
+DIST joe-3.1jupp30.tgz 468421 SHA256 65ddb346364a056c1d78a1cb406b0ebf6c9c2fbd753cd404b1b4c8fd3fa9916d SHA512 673d48da41f61797d6aeb548e62720d1a60e3e000445558be88fb0d7ca8a1a7ce7c8bdd5b5bd58ac2c16d46dd4541da7922999256669f693a570a11562d6550f WHIRLPOOL 6fe2533ecc314f08d2ee8a78920cc5b68ab8d284d771aee6b47a32ff6d0717f13cf9b5f05ede60fa7b12d6c76d52a7572ce67912608269a0524eab9b9dc6c6c8
+EBUILD jupp-3.1_p27.ebuild 643 SHA256 a807e55ca9f56dc61cba41451515257f252ecace1971a1613e81419eaeb1c531 SHA512 dfadbcd064abab9cc3d24ea8105daeaaa21424f14afee1626fd125391cbb44b2ce9b395d3fb125ec8a7d5424066d77a68ec1c63c6bc5aae09faf41802b020b46 WHIRLPOOL c2c219284a5d71ef6d8629becd159852a957a13a5c64a7ff46739665c2ecb289a9cec5b15df3512db880e2759660a5c1ab35fb7b598417fb1dec1aa36cca2815
+EBUILD jupp-3.1_p30.ebuild 655 SHA256 73579ff82b773276e226165246eb1fca3c9fde834878b8d5e798eb6e410c098d SHA512 2d6c88d083f3f60ca6ae05db950ce05a87742546ac675baae43abb96d3b73f52843c82bdee795b782e3e7c36c27a6f6baefd11cf20027bdb2e3641a6cbdeeb37 WHIRLPOOL ceb750efc044ba6f56731dcbb9c5f43d2bc7c17b271cd15f6576408ebb904ce846b1512504c1737c0359e23fde7cb33a642e27aebed9a16be44b3b6b2bd12da3
+MISC ChangeLog 2326 SHA256 5f4efeeccceb83d739bc28147da3a08673275e647e997a1453b200d6390e274c SHA512 495a55986bc09568c9f4220b66411900846af1ccea52d3a5fb8c97c92b0444b37f11a545d0cf474d5daae0965eb35ec5d9626126f86a703d2dd66538eeb39c3b WHIRLPOOL 1c21082dbd7631ace747b060525a88cb55dd41cf5a2f3c28a40cc4ec89bb1770a2f260ce44931f89a85c781b657cb48b93812f1568652207ba3663e26e3c4e61
+MISC ChangeLog-2015 737 SHA256 38c1ff962e5d71327f35c3a6e6c18370816bdb31e9c47a68127da2e9e1f41f34 SHA512 255af5d50a60c550bb82df69cd34daa6eddd48c1409458fb052af76805c0f5d69852dd7512bb59e8bc4afca56dd38218049c1de85e40797bf7fc4c88a970da79 WHIRLPOOL ae45d30cb065643fd41a6d297170b1a38d1551d0e26b202e52b5495571621813ccbf986b86d238cf0a232fee3a6691bdfda764a12c075170571daec012214a53
+MISC metadata.xml 237 SHA256 ffb571839c57797d282263369646d2bba2662601a45f7bb3251bb97f716554a6 SHA512 ae2360aa6b1b00c67e0acea4935c02b64585b9a15e126fec9d5d99637021c542c0a495e5116205f3da287def46fa5b19cb1a7f3042c12c5f7a78d66d92fcb03f WHIRLPOOL 60d6da846c983457e038ea5ba3c0bf48f939c9586610985a14cac9772fd1d45d781a643abc16482f232f3028e44fe99fe1a382deaebf6589602fc244a4460e3f
diff --git a/app-editors/jupp/jupp-3.1_p27.ebuild b/app-editors/jupp/jupp-3.1_p27.ebuild
new file mode 100644
index 000000000000..2f3b214bbbf6
--- /dev/null
+++ b/app-editors/jupp/jupp-3.1_p27.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+DESCRIPTION="portable version of JOE's Own Editor"
+HOMEPAGE="https://www.mirbsd.org/jupp.htm"
+SRC_URI="https://www.mirbsd.org/MirOS/dist/${PN}/joe-${PV/_p/${PN}}.tgz"
+
+LICENSE="GPL-1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ncurses"
+
+RDEPEND="ncurses? ( sys-libs/ncurses )
+ !app-editors/joe"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ chmod +x configure
+}
+
+src_configure() {
+ econf \
+ --enable-search_libs \
+ --enable-termcap \
+ $(use_enable ncurses curses)
+}
+
+src_install() {
+ default
+ dodoc HINTS INFO LIST
+}
diff --git a/app-editors/jupp/jupp-3.1_p30.ebuild b/app-editors/jupp/jupp-3.1_p30.ebuild
new file mode 100644
index 000000000000..f2d4cfe084ce
--- /dev/null
+++ b/app-editors/jupp/jupp-3.1_p30.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="portable version of JOE's Own Editor"
+HOMEPAGE="https://www.mirbsd.org/jupp.htm"
+SRC_URI="https://www.mirbsd.org/MirOS/dist/${PN}/joe-${PV/_p/${PN}}.tgz"
+
+LICENSE="GPL-1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ncurses"
+
+RDEPEND="ncurses? ( sys-libs/ncurses:0= )
+ !app-editors/joe"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ default
+ chmod +x configure
+}
+
+src_configure() {
+ econf \
+ --enable-search_libs \
+ --enable-termcap \
+ $(use_enable ncurses curses)
+}
+
+src_install() {
+ default
+ dodoc HINTS INFO LIST
+}
diff --git a/app-editors/jupp/metadata.xml b/app-editors/jupp/metadata.xml
new file mode 100644
index 000000000000..a535b8852829
--- /dev/null
+++ b/app-editors/jupp/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+<email>xmw@gentoo.org</email>
+<name>Michael Weber</name>
+</maintainer>
+</pkgmetadata>
diff --git a/app-editors/kakoune/Manifest b/app-editors/kakoune/Manifest
new file mode 100644
index 000000000000..9cead9b6152b
--- /dev/null
+++ b/app-editors/kakoune/Manifest
@@ -0,0 +1,9 @@
+AUX kakoune-0_pre20170523-makefile.patch 864 SHA256 360dc313294f3bd43e60b7f4130ffdb890bad314906803e3e390f12a7e16c693 SHA512 173ba9eae8528d14f0dfc98aab956e1cc280fd15fe32b720afbe24c718b36192cdec1aeab64596b85be5a7ffc60bcc0516f7b8384c4ac718d3c7cb04f31af7a0 WHIRLPOOL c389017335cd6afec290ce9e719b641a2188f15d986387ade8bb3d39054d5895fdc7deb0160b01b2c5e5deae955491ef51d529710f8378adf6456423d02a60ea
+AUX kakoune-makefile.patch 1166 SHA256 4e2ce0d0d934eede7c79e4cbb83424a03a3f3b57c8440a5de5e2c4391503a2bc SHA512 68f1080e97562a4572ed40a7ba0774fbddd56bae50c3aa2d32d64b70d3cc17d898107bb1916710cc9f9a4af842630098c26399b0d88ffba0303e3f4ae63c782c WHIRLPOOL a082ef2e6111a0c3c7f2fd4204710e793e7ca76d0a7af6d2e00194e210f354d2d8625a3b1b58462f1afc18c3826d37b1c11c5330aeaf46481dff24723539957e
+DIST kakoune-0_pre20160620.tar.gz 370523 SHA256 4344bc78a15942c01818c8e8a80f228249557f5d2d20c2fdc845faeef86abe2e SHA512 c186b9024db7956d9bcae925727c3f30dd2c2fb49995e97c56dbdf59c3f17989feb405086957818685a08530da0f2b58b5798687959267da7e9e2a25dd78003c WHIRLPOOL c555754e4fc3456ce7912d60adb72191349692d0465996893ceb1162cc5f7f61b08b0098f13a54d5d44c861aaf3b23eaea343813f055b8ca06f6ce1305a30f4d
+DIST kakoune-0_pre20170523.tar.gz 420837 SHA256 3a083916729336dfd9e1e49cda62b5e3e881dbda7d6c7b5826377d5af15b1af9 SHA512 6d7d8f7afda75b824e4150512d9e0710cf22ef79af985c68b724a0f8e6949e5b0e7aab288f165a229f17706b30b51b462305538c7b56fd50689019118e913219 WHIRLPOOL 2e3a4c6b57944be46dbc8ddbc466fe3953453719146f4feabf8ae9688248a0d20ba2da3379fc7a503e7de7669df5f92d02e25dfc54c711a6ecdbee133b7a6ef8
+EBUILD kakoune-0_pre20160620.ebuild 910 SHA256 39c51ef30949e7ae25408edcd57693e57946fe288bc859a67e31ea42bd369121 SHA512 1c8d279c20edf9cf9e0a3ff2733e7d8590aa6122f19dcbaeab19352d7d398d441683d521758b16df4d7d030246c4cdd5da9a26395e7d269acd8b9013265e6297 WHIRLPOOL 1c57ec92685a574e14d1baec79c9c9d58dcb9f322fb9e2cb759b64bee74d4d8bd41dee7b7e171e3b40778f958284be0757747c1afdc77d599a8bb3510c50e05c
+EBUILD kakoune-0_pre20170523.ebuild 1174 SHA256 d2b12b8c1299019a872212e7a94db88aed76dbd8d14e553e2b0a55155eb73121 SHA512 012b97ce1f2c9bca51a238bc840da253460f2752b5ce8ebd1faed313b0ecf1a13b0a2c89988727e8052b39c44eacef52707e478afb0a70fde392e4a6287755c1 WHIRLPOOL 2b93f3cd9da3a44daf4a148ff95a8b9aefb9aee77f03e32d33cfe41d7689bb9bdd05e390b435716ddc3a9a47dd2ebdcc51d691266407dbc0b3411377a65d2f36
+EBUILD kakoune-9999.ebuild 1091 SHA256 98895ce8dd32fc759be4dc6edcb82af752ee909108331cbbdb6aaad3bf4dfe5e SHA512 324c83272bbc1cbe50f1cd8194dd166932ae7b375bad5502ef0defa149066d06f361b6d8d4d63a37187e8856aade39ce1de3d2e3fb51bcb7639abb356eaee79d WHIRLPOOL 5812409cb0b538741f15c5a27de30bc0ddf5c5b96e96a2eca24254262ff2adfcf66ee989040605a90a49dd57c04bac57ee0c82d5ec7889989016fce27c298e8c
+MISC ChangeLog 3385 SHA256 5d156018d18a3ba951d763ead74f6d900a40d2ebc040ff767db296db4a54e3ac SHA512 77bb2408ecbc2aa77e490216b7f5985d8f5fd7627f7ddc45830a859b112caf7754ea08f49b65be7a18d4dcb5eed6aab479fbd69bd1aebdade1ae07f4788bbfd2 WHIRLPOOL 455674ad3b2435318cc4789dc873df0270ee47339b2f4f530e7e5646c02862aa0d3ea502f0e77beafa5710facd6526ea193016e546aaa9c02810dbaa42b15e6d
+MISC metadata.xml 461 SHA256 a6cd23144413da4cdde5cefb36a50fc389438f9e0a55d096f4d692d1f8701cd9 SHA512 36c7ce23f0c5259e7bec75c2506aaabcdac43c71b34479824976dbcfecc42c96d3144ce6def550c79f92b7f02c97a1e053532626142818dc05641a4ea2974c97 WHIRLPOOL 2f325e44f15417a14bf9c5a1a7fd026524a6b0daf51852d62315b8040d9d2ae5062c4ee40929f145ca87b0dcc31128d9dbb8fce5e190f2beb838e849b3551c36
diff --git a/app-editors/kakoune/files/kakoune-0_pre20170523-makefile.patch b/app-editors/kakoune/files/kakoune-0_pre20170523-makefile.patch
new file mode 100644
index 000000000000..b30238d6f943
--- /dev/null
+++ b/app-editors/kakoune/files/kakoune-0_pre20170523-makefile.patch
@@ -0,0 +1,31 @@
+diff --git a/src/Makefile b/src/Makefile
+index dbef95d9..70f16b32 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -6,7 +6,6 @@ ifeq ($(debug),yes)
+ suffix := .debug
+ else
+ ifeq ($(debug),no)
+- CXXFLAGS += -O3
+ suffix := .opt
+ else
+ $(error debug should be either yes or no)
+@@ -22,8 +21,6 @@ mandocs := $(docs:.asciidoc=.gz)
+ PREFIX ?= /usr/local
+ DESTDIR ?= # root dir
+
+-NCURSESW_INCLUDE ?= /usr/include/ncursesw
+-
+ bindir := $(DESTDIR)$(PREFIX)/bin
+ sharedir := $(DESTDIR)$(PREFIX)/share/kak
+ docdir := $(DESTDIR)$(PREFIX)/share/doc/kak
+@@ -49,8 +46,7 @@ else ifneq (,$(findstring CYGWIN,$(os)))
+ CPPFLAGS += -D_XOPEN_SOURCE=700
+ LIBS += -lncursesw -lboost_regex -ldbghelp
+ else
+- LIBS += -lncursesw -lboost_regex
+- CPPFLAGS += -I$(NCURSESW_INCLUDE)
++ LIBS += -lboost_regex
+ LDFLAGS += -rdynamic
+ endif
+
diff --git a/app-editors/kakoune/files/kakoune-makefile.patch b/app-editors/kakoune/files/kakoune-makefile.patch
new file mode 100644
index 000000000000..54a22d5ac925
--- /dev/null
+++ b/app-editors/kakoune/files/kakoune-makefile.patch
@@ -0,0 +1,40 @@
+diff --git a/src/Makefile b/src/Makefile
+index c79c270..9409a8c 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -3,10 +3,10 @@ pedantic ?= yes
+
+ ifeq ($(debug),yes)
+ CPPFLAGS += -DKAK_DEBUG
++ CXXFLAGS += -g
+ suffix := .debug
+ else
+ ifeq ($(debug),no)
+- CXXFLAGS += -O3
+ suffix := .opt
+ else
+ $(error debug should be either yes or no)
+@@ -26,8 +26,6 @@ mandocs := $(docs:.asciidoc=.gz)
+ PREFIX ?= /usr/local
+ DESTDIR ?= # root dir
+
+-NCURSESW_INCLUDE ?= /usr/include/ncursesw
+-
+ bindir := $(DESTDIR)$(PREFIX)/bin
+ sharedir := $(DESTDIR)$(PREFIX)/share/kak
+ docdir := $(DESTDIR)$(PREFIX)/share/doc/kak
+@@ -53,11 +51,10 @@ else ifneq (,$(findstring CYGWIN,$(os)))
+- LIBS += -lncursesw -lboost_regex -ldbghelp
++ LIBS += -lboost_regex -ldbghelp
+ else
+- LIBS += -lncursesw -lboost_regex
++ LIBS += -lboost_regex
+- CPPFLAGS += -I$(NCURSESW_INCLUDE)
+ LDFLAGS += -rdynamic
+ endif
+
+-CXXFLAGS += -std=gnu++11 -g -Wall -Wno-reorder -Wno-sign-compare -Wno-address
++CXXFLAGS += -std=gnu++11 -Wall -Wno-reorder -Wno-sign-compare -Wno-address
+
+ kak : $(objects)
+ $(CXX) $(LDFLAGS) $(CXXFLAGS) $(objects) $(LIBS) -o $@
diff --git a/app-editors/kakoune/kakoune-0_pre20160620.ebuild b/app-editors/kakoune/kakoune-0_pre20160620.ebuild
new file mode 100644
index 000000000000..1dbd83893043
--- /dev/null
+++ b/app-editors/kakoune/kakoune-0_pre20160620.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic toolchain-funcs vcs-snapshot
+
+REF="34c8e6a9cf15410a433c8a8c3901703708b85611"
+
+DESCRIPTION="Selection-oriented code editor inspired by vim"
+HOMEPAGE="https://github.com/mawww/kakoune"
+SRC_URI="https://github.com/mawww/${PN}/tarball/${REF} -> ${P}.tar.gz"
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug"
+
+RDEPEND="
+ sys-libs/ncurses:=[unicode]
+ dev-libs/boost
+"
+DEPEND="
+ app-text/asciidoc
+ virtual/pkgconfig
+ ${RDEPEND}
+"
+
+PATCHES=( "${FILESDIR}/${PN}-makefile.patch" )
+
+src_configure() {
+ append-cppflags $(pkg-config --cflags ncursesw)
+ append-libs $(pkg-config --libs ncursesw)
+ export CXX=$(tc-getCXX)
+ export debug=$(usex debug)
+ S="${WORKDIR}/${P}/src"
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX="/usr" docdir="${D}/usr/share/doc/${PF}" install
+}
diff --git a/app-editors/kakoune/kakoune-0_pre20170523.ebuild b/app-editors/kakoune/kakoune-0_pre20170523.ebuild
new file mode 100644
index 000000000000..c03979ababee
--- /dev/null
+++ b/app-editors/kakoune/kakoune-0_pre20170523.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic toolchain-funcs vcs-snapshot versionator
+
+REF="55d1d1020d215730737554045537cf3a8877c46a"
+
+DESCRIPTION="Selection-oriented code editor inspired by vim"
+HOMEPAGE="https://github.com/mawww/kakoune"
+SRC_URI="https://github.com/mawww/${PN}/tarball/${REF} -> ${P}.tar.gz"
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug static"
+
+RDEPEND="
+ sys-libs/ncurses:0=[unicode]
+ dev-libs/boost:=
+"
+DEPEND="
+ app-text/asciidoc
+ virtual/pkgconfig
+ ${RDEPEND}
+"
+
+PATCHES=( "${FILESDIR}/${PN}-0_pre20170523-makefile.patch" )
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ if tc-is-gcc && ! version_is_at_least 5.0 $(gcc-version); then
+ die "Clang or GCC >=5.0 is required to build this version"
+ fi
+ fi
+}
+
+src_configure() {
+ append-cppflags $($(tc-getPKG_CONFIG) --cflags ncursesw)
+ append-libs $($(tc-getPKG_CONFIG) --libs ncursesw)
+ tc-export CXX
+ export debug=$(usex debug)
+ export static=$(usex static)
+}
+
+src_install() {
+ emake -C src DESTDIR="${D}" PREFIX="${EPREFIX}/usr" docdir="${ED%/}/usr/share/doc/${PF}" install
+}
diff --git a/app-editors/kakoune/kakoune-9999.ebuild b/app-editors/kakoune/kakoune-9999.ebuild
new file mode 100644
index 000000000000..bd460c7c5746
--- /dev/null
+++ b/app-editors/kakoune/kakoune-9999.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic toolchain-funcs git-r3 versionator
+
+DESCRIPTION="Selection-oriented code editor inspired by vim"
+HOMEPAGE="https://github.com/mawww/kakoune"
+EGIT_REPO_URI="https://github.com/mawww/kakoune.git"
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS=""
+IUSE="debug static"
+
+RDEPEND="
+ sys-libs/ncurses:0=[unicode]
+ dev-libs/boost:=
+"
+DEPEND="
+ app-text/asciidoc
+ virtual/pkgconfig
+ ${RDEPEND}
+"
+
+PATCHES=( "${FILESDIR}/${PN}-0_pre20170523-makefile.patch" )
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ if tc-is-gcc && ! version_is_at_least 5.0 $(gcc-version); then
+ die "Clang or GCC >=5.0 is required to build this version"
+ fi
+ fi
+}
+
+src_configure() {
+ append-cppflags $($(tc-getPKG_CONFIG) --cflags ncursesw)
+ append-libs $($(tc-getPKG_CONFIG) --libs ncursesw)
+ tc-export CXX
+ export debug=$(usex debug)
+ export static=$(usex static)
+}
+
+src_install() {
+ emake -C src DESTDIR="${D}" PREFIX="${EPREFIX}/usr" docdir="${ED%/}/usr/share/doc/${PF}" install
+}
diff --git a/app-editors/kakoune/metadata.xml b/app-editors/kakoune/metadata.xml
new file mode 100644
index 000000000000..753a3985cd00
--- /dev/null
+++ b/app-editors/kakoune/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 type="person">
+ <email>hilobakho@gmail.com</email>
+ <name>Mykyta Holubakha</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Gentoo Proxy Maintainers Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">mawww/kakoune</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/kile/Manifest b/app-editors/kile/Manifest
new file mode 100644
index 000000000000..3cd8d045ed86
--- /dev/null
+++ b/app-editors/kile/Manifest
@@ -0,0 +1,7 @@
+DIST kile-2.1.3.tar.bz2 4911212 SHA256 a063ec4fca1ba5a063ffdcdb538967af35ade01d71fa7db6ea691ba2cf88cea2 SHA512 820cb5e2579f243ce87409aa4d483a58b0a2cf1d86bff72dd12264570bfe72e7819c88aa4333080f8281e54e8315e2c11f961b41f13a6215913dfa4f7bd3feda WHIRLPOOL 1bc56ad82c72807fcf93ffeb4dbd4222a7660c00e852378a9007c7aa4a96a5130497ca23815a74c92f631fcb261dbf35f7d5453e849f6fb82c9f3c802058ab31
+DIST kile-2.9.91.tar.bz2 3461524 SHA256 08cb54cddc54c851d98b339f386d9aa20b3d71ff98ef078242fd52f684712d93 SHA512 08075adad7d75309148016bbd7f2c4b6f1d5c67808037666deffa49ac26d76cf4329ea39288c23122dabfbb6c83d15bf4f0a2bdaf1479d41064fa63098aba947 WHIRLPOOL 4767669228f59b9b8d88e75d1f33bcb7890556326a82b86ce779407a75f559cb69277800de7fb6fbceaa8c58468ec80774a8a716993d40724fc7100a5db76166
+EBUILD kile-2.1.3-r3.ebuild 1183 SHA256 37775f0e40390e85fda753632665a907e62624d9c0fd9510e799688f6d8adfd2 SHA512 9573fa41fe2473170ed5651e0c8bcdfec792e7f6ce8327c957589e7b1fc4641d9c394f76a78df55765cd08a3a51bf8eeaf2dc18c572efb2250ad7fd4b40bc57f WHIRLPOOL 0433058f894db42cb3bff4f80554d0e21f35a8b71462c9d59ab98e146929994cff94707286ddea5bd68960e3ffe62c82079bc72fa7e6f5984127b56a1d919658
+EBUILD kile-2.9.91.ebuild 1691 SHA256 d4d1a4578e764e3c73c72e4ff3e1956d51e23e5d1281ea496dc4155e35ad610d SHA512 c2f9766b2fb3a09a000515a93909854e4dcb7c71a706f228ac80caed3c82aecc3801be395709d1af751441f133726e4845031c7628c8fd32b949843bfde90255 WHIRLPOOL 0aa0508225bb2ed2a61687558f0ed7b70a8174507b713fc3c62ec18fd8685f34af19d30db0cf3d2a718246adaf4556a2115532775fd328179c200ce44f8482ca
+MISC ChangeLog 3146 SHA256 0a1517ebf643faf75815c4276830874c747bfbc7a2ab4dc8026e0e8554e5a66d SHA512 fe52345b4c18b2d8f364263e9e1069fcb80c467b9dd65fe31faff461681d5f8c860fff705502fcf5f77093b308182bbe99898044e40b574ae4fb873672342530 WHIRLPOOL 50d31f4ee4b33259e26b9922c4fea67dbb735323a7711b3ece065b7e935a581bd2e146188746ea686c30cd9d5622af3cce6f7a30ffaeed84c8351693970fe67c
+MISC ChangeLog-2015 21104 SHA256 9ec29f7b3a18892875d0df4a2b9db750995e7eb93d57f938961c39439b5d6c26 SHA512 2351f4afce49f948a6ce2266f91addff928627cc54df1f3b40287e3004b3e7ff7fb88ef1de740e1dc022f22391a2d3a3b3f83b176bbdc1e108736ae79e74ed54 WHIRLPOOL d2b743ad2e90b6af56f734997d4afa4de283763eab1abb5b427a5b41da94ec7ed2bf6d161873e3eeba102f23707df13f0d6d217bc0e95c1b002e48e7efdde136
+MISC metadata.xml 476 SHA256 af3d8934e8a563a3feebbca95b6231710756edf2974bd0902efe85c9c5e40e5b SHA512 82eaa93d944622e571887200fc50166b34ad4098ca2612749e72fff4e80f9f3fa07736cb8cd171fe3258fcd18209f7e60b01c859ad3cf20e4e238eab9dc3e486 WHIRLPOOL cdcaa26a92e339f9720d2941af15fd2d6e4e79082081b36934c0373a28e0233c744aa4251469ba6c8b32490d7a04bc58d8982b5df19c169e4754e0537fe94060
diff --git a/app-editors/kile/kile-2.1.3-r3.ebuild b/app-editors/kile/kile-2.1.3-r3.ebuild
new file mode 100644
index 000000000000..7bd96c72b12d
--- /dev/null
+++ b/app-editors/kile/kile-2.1.3-r3.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+KDE_DOC_DIRS="doc"
+KDE_HANDBOOK="optional"
+MY_P=${P/_beta/b}
+inherit kde4-base
+
+DESCRIPTION="A Latex Editor and TeX shell by KDE"
+HOMEPAGE="http://kile.sourceforge.net/"
+[[ ${PV} != *9999* ]] && SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2"
+
+LICENSE="FDL-1.2 GPL-2"
+KEYWORDS="amd64 x86"
+SLOT="4"
+IUSE="debug +pdf +png"
+
+DEPEND="
+ x11-misc/shared-mime-info
+"
+RDEPEND="${DEPEND}
+ $(add_kdeapps_dep katepart '' 4.14.3)
+ $(add_kdeapps_dep kdebase-data)
+ $(add_kdeapps_dep konsolepart)
+ || (
+ kde-apps/okular[pdf?,postscript]
+ app-text/evince
+ app-text/acroread
+ )
+ virtual/imagemagick-tools[png?]
+ virtual/latex-base
+ virtual/tex-base
+ pdf? (
+ || (
+ app-text/dvipdfmx
+ >=app-text/texlive-core-2014
+ )
+ app-text/ghostscript-gpl
+ )
+ png? ( app-text/dvipng )
+"
+
+S=${WORKDIR}/${MY_P}
+
+DOCS=( kile-remote-control.txt )
+
+src_prepare() {
+ kde4-base_src_prepare
+
+ # I know upstream wants to help us but it doesn't work..
+ sed -e '/INSTALL( FILES AUTHORS/s/^/#DISABLED /' \
+ -i CMakeLists.txt || die
+
+ [[ ${PV} != *9999* ]] && { use handbook || rm -fr doc ; }
+}
diff --git a/app-editors/kile/kile-2.9.91.ebuild b/app-editors/kile/kile-2.9.91.ebuild
new file mode 100644
index 000000000000..5ea787335dca
--- /dev/null
+++ b/app-editors/kile/kile-2.9.91.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+KDE_HANDBOOK="forceoptional"
+inherit kde5
+
+DESCRIPTION="Latex Editor and TeX shell based on KDE Frameworks"
+HOMEPAGE="http://kile.sourceforge.net/"
+[[ ${PV} != *9999* ]] && SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="FDL-1.2 GPL-2"
+KEYWORDS="~amd64 ~x86"
+IUSE="+pdf +png"
+
+DEPEND="
+ $(add_frameworks_dep kconfig)
+ $(add_frameworks_dep kcoreaddons)
+ $(add_frameworks_dep kcrash)
+ $(add_frameworks_dep kdbusaddons)
+ $(add_frameworks_dep kdoctools)
+ $(add_frameworks_dep kguiaddons)
+ $(add_frameworks_dep ki18n)
+ $(add_frameworks_dep kiconthemes)
+ $(add_frameworks_dep kinit)
+ $(add_frameworks_dep kio)
+ $(add_frameworks_dep kparts)
+ $(add_frameworks_dep ktexteditor)
+ $(add_frameworks_dep kwindowsystem)
+ $(add_frameworks_dep kxmlgui)
+ $(add_kdeapps_dep okular)
+ $(add_qt_dep qtdbus)
+ $(add_qt_dep qtscript)
+ $(add_qt_dep qttest)
+ $(add_qt_dep qtwidgets)
+ pdf? ( app-text/poppler[qt5] )
+"
+RDEPEND="${DEPEND}
+ !app-editors/kile:4
+ $(add_kdeapps_dep konsole)
+ $(add_kdeapps_dep okular 'pdf?')
+ virtual/latex-base
+ virtual/tex-base
+ pdf? (
+ || (
+ app-text/dvipdfmx
+ >=app-text/texlive-core-2014
+ )
+ app-text/ghostscript-gpl
+ )
+ png? (
+ app-text/dvipng
+ || ( media-gfx/imagemagick[png] media-gfx/graphicsmagick[imagemagick,png] )
+ )
+"
+
+DOCS=( kile-remote-control.txt )
+
+src_prepare() {
+ kde5_src_prepare
+
+ # I know upstream wants to help us but it doesn't work..
+ sed -e '/INSTALL( FILES AUTHORS/s/^/#DISABLED /' \
+ -i CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_find_package pdf Poppler)
+ )
+
+ kde5_src_configure
+}
diff --git a/app-editors/kile/metadata.xml b/app-editors/kile/metadata.xml
new file mode 100644
index 000000000000..56d53b857b49
--- /dev/null
+++ b/app-editors/kile/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>tex@gentoo.org</email>
+ <name>Gentoo TeX Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">kile</remote-id>
+ <bugs-to>https://bugs.kde.org/</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/latexila/Manifest b/app-editors/latexila/Manifest
new file mode 100644
index 000000000000..d25f3f214e04
--- /dev/null
+++ b/app-editors/latexila/Manifest
@@ -0,0 +1,9 @@
+DIST latexila-3.22.1.tar.xz 1111820 SHA256 41692d850a48521d2a700ae296680464078ef0bef1c1383383b433c5ecdf2719 SHA512 7c2d3b95b9547e97c79f5e6384b1f33ccb81e70cea1d26fcc07845f3f391ac54b5931ddcec742f3439ba55e8f9f2a2054935795ab16bee584eb05780a72ba3a9 WHIRLPOOL bacdd353a29c79612bc7f9b786b9c9ff5c4d12bf595b6795eb498251d724be7a29915723e2a0d29ef8bef22b096259da540e8b11d5e6ac4287833abfbc306a9f
+DIST latexila-3.24.2.tar.xz 1120940 SHA256 89042a9253b3e150d56bada649d47a9879fd702fc46f73be5649b0edad3f1183 SHA512 8facaa57a87b58ba3aeffcd1c59e2770fe8e95bdbf0cd2e5fa39554c1eba3ba93aa4cb544fd09564cc9481d919a0b04d46169d053f9f155deaa8826050a4c72c WHIRLPOOL 97ed80c4bdde8ecae830e898e7d3cf90d8d8c923277dbeb6d2b0471f6178b5a8f80133521206093003d36aa4dd1c1ce6063367491e1d407e247c90d7ae72002e
+DIST latexila-3.24.3.tar.xz 1112940 SHA256 a1df72539bbe3f84ba69463f7b6bceb9d964f08c4ef75909c1853c872d035870 SHA512 c7c8996704e68ed136d3d2a04c839faf5497a78ad459411daaabfba38ac883f253325f07a8c126cc4b2f1d553fe08b39f1d6a51d1b6944540dc13142173e4361 WHIRLPOOL d8c68ef055ede27fbb67b28dfb975dd737b017d2be0b90c7f132e747628d8f2e94ebeba3e2c4e7bcf871bf9334ed1fa4c2b4040179feac1823aefca2ac8488cf
+EBUILD latexila-3.22.1.ebuild 1104 SHA256 e23f3629c273171072d0a76ff4fca9388667de4faf3d9fb9bb340977431c9595 SHA512 8d6acab4710c29a32215bbed77baab8193eec2d2abaab2b4d8329fdb2444750dbc903e004f86aae6cf8b73213225833b3034a70e0b3a972ef33344b0418fe492 WHIRLPOOL 6b109be411940952a0013802436a1e0d2e50c621c6341ef4088a9e10546d743476d9e841192499894761f9de4bba7ffe8bce20e8dd7569a8524b60d3f7aba75f
+EBUILD latexila-3.24.2.ebuild 1155 SHA256 b71246c2dc0b1a794a0e019e229cf4f3e5c76071bf6137a424c5521a6149a77d SHA512 8e9f098ae73e4a88b7ebeacf604b358824046abf73a9736796869b753dbac9fc78ad884bb8772a5aa74ffe2133396d4941240661008492fe5007c778a03f4bc0 WHIRLPOOL fcaa4289a7de7bf743e75df112384c1b92e11de2f22d8f1dd0f035c87616cd1099e0363a881280bcc5a16ae4be1c995da051f25ef3cd018b24249f5475f063d1
+EBUILD latexila-3.24.3.ebuild 1155 SHA256 b71246c2dc0b1a794a0e019e229cf4f3e5c76071bf6137a424c5521a6149a77d SHA512 8e9f098ae73e4a88b7ebeacf604b358824046abf73a9736796869b753dbac9fc78ad884bb8772a5aa74ffe2133396d4941240661008492fe5007c778a03f4bc0 WHIRLPOOL fcaa4289a7de7bf743e75df112384c1b92e11de2f22d8f1dd0f035c87616cd1099e0363a881280bcc5a16ae4be1c995da051f25ef3cd018b24249f5475f063d1
+MISC ChangeLog 5132 SHA256 c9083c9ed307096df1d3eb62ac3138b96d898256842bbd5e365e961471b182bb SHA512 fbde489c8e8ce8dbadb2f99fcc15967500d348d7e2832abce6765389d69b0a470d470ecfa9cc95752caf1399fa7a4a8608178b7cae2788ae256ce6b82052f2af WHIRLPOOL f954c088ed79d87efd5e1d29986566737215e9c9433c5129babbe87439a45cbae51973d7a82af2562dd5971daf0bd9670cd457932d5c7a736d382670e537135f
+MISC ChangeLog-2015 4973 SHA256 457435dd0f4a09ec7c026bd0a360244c0b85fb91d1f75dd1ce06818b9500ed32 SHA512 6d6ac420eb62057fc54a63eab78a5ce9ee78f863bb608520d9471ae80dbb8411599f5f07925a50588cd70ae83a352a27c9242f08fdbb11eea2bfb0431346c026 WHIRLPOOL abed1cbaa95f0fffb15ff9b6bbda87e714de21fcb881c5a1460445831ace08ba829f4d9dcd8af37946901a102478e6fa39ce48fc984662129c369494c0a9a7fa
+MISC metadata.xml 464 SHA256 940bcceb88fbf91d8e5a6f0357a62caa1a1d9066f060a7e4a9465940c64f96fe SHA512 2015c3aac4abb5275c45db624fb6ee841e55ca1fd4e976d60528b04b5084a0cbae7fc625369d03e2ca2ee3ee16719df1740246a06208b10e5a99ea3c6612a0b1 WHIRLPOOL 0eb4e72e05724b54d7ee89b6389581049ed7a392e87612031c23c10bbe2d5262d9fe0cb7945f239c68e0eb2de3eb0195c65fd78412d4ff57d6dfb6ba96e97b98
diff --git a/app-editors/latexila/latexila-3.22.1.ebuild b/app-editors/latexila/latexila-3.22.1.ebuild
new file mode 100644
index 000000000000..d38c4d8d96b1
--- /dev/null
+++ b/app-editors/latexila/latexila-3.22.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+VALA_USE_DEPEND="vapigen"
+
+inherit gnome2 vala
+
+DESCRIPTION="Integrated LaTeX environment for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Apps/LaTeXila"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+introspection +latexmk rubber"
+
+COMMON_DEPEND="
+ $(vala_depend)
+ app-text/enchant
+ >=app-text/gspell-1.0:0=
+ >=dev-libs/glib-2.40:2[dbus]
+ >=dev-libs/libgee-0.10:0.8=
+ gnome-base/gsettings-desktop-schemas
+ >=x11-libs/gtk+-3.20:3
+ >=x11-libs/gtksourceview-3.18:3.0=
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+ introspection? ( >=dev-libs/gobject-introspection-1.30.0:= )
+"
+RDEPEND="${COMMON_DEPEND}
+ virtual/latex-base
+ x11-themes/hicolor-icon-theme
+ latexmk? ( dev-tex/latexmk )
+ rubber? ( dev-tex/rubber )
+"
+DEPEND="${COMMON_DEPEND}
+ app-text/yelp-tools
+ dev-util/gdbus-codegen
+ >=dev-util/gtk-doc-am-1.14
+ >=dev-util/intltool-0.50.1
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ gnome2_src_prepare
+ vala_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ $(use_enable introspection)
+}
diff --git a/app-editors/latexila/latexila-3.24.2.ebuild b/app-editors/latexila/latexila-3.24.2.ebuild
new file mode 100644
index 000000000000..d95cfae59a3f
--- /dev/null
+++ b/app-editors/latexila/latexila-3.24.2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+VALA_MIN_API_VERSION="0.34"
+VALA_USE_DEPEND="vapigen"
+
+inherit gnome2 vala
+
+DESCRIPTION="Integrated LaTeX environment for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Apps/LaTeXila"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+introspection +latexmk rubber"
+
+COMMON_DEPEND="
+ $(vala_depend)
+ app-text/enchant
+ >=app-text/gspell-1.0:0=
+ >=dev-libs/glib-2.50:2[dbus]
+ >=dev-libs/libgee-0.10:0.8=
+ gnome-base/gsettings-desktop-schemas
+ >=x11-libs/gtef-2.0
+ >=x11-libs/gtk+-3.20:3
+ >=x11-libs/gtksourceview-3.24:3.0=
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+ introspection? ( >=dev-libs/gobject-introspection-1.30.0:= )
+"
+RDEPEND="${COMMON_DEPEND}
+ virtual/latex-base
+ x11-themes/hicolor-icon-theme
+ latexmk? ( dev-tex/latexmk )
+ rubber? ( dev-tex/rubber )
+"
+DEPEND="${COMMON_DEPEND}
+ app-text/yelp-tools
+ dev-util/gdbus-codegen
+ >=dev-util/gtk-doc-am-1.14
+ >=dev-util/intltool-0.50.1
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ gnome2_src_prepare
+ vala_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ $(use_enable introspection)
+}
diff --git a/app-editors/latexila/latexila-3.24.3.ebuild b/app-editors/latexila/latexila-3.24.3.ebuild
new file mode 100644
index 000000000000..d95cfae59a3f
--- /dev/null
+++ b/app-editors/latexila/latexila-3.24.3.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+VALA_MIN_API_VERSION="0.34"
+VALA_USE_DEPEND="vapigen"
+
+inherit gnome2 vala
+
+DESCRIPTION="Integrated LaTeX environment for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Apps/LaTeXila"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+introspection +latexmk rubber"
+
+COMMON_DEPEND="
+ $(vala_depend)
+ app-text/enchant
+ >=app-text/gspell-1.0:0=
+ >=dev-libs/glib-2.50:2[dbus]
+ >=dev-libs/libgee-0.10:0.8=
+ gnome-base/gsettings-desktop-schemas
+ >=x11-libs/gtef-2.0
+ >=x11-libs/gtk+-3.20:3
+ >=x11-libs/gtksourceview-3.24:3.0=
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+ introspection? ( >=dev-libs/gobject-introspection-1.30.0:= )
+"
+RDEPEND="${COMMON_DEPEND}
+ virtual/latex-base
+ x11-themes/hicolor-icon-theme
+ latexmk? ( dev-tex/latexmk )
+ rubber? ( dev-tex/rubber )
+"
+DEPEND="${COMMON_DEPEND}
+ app-text/yelp-tools
+ dev-util/gdbus-codegen
+ >=dev-util/gtk-doc-am-1.14
+ >=dev-util/intltool-0.50.1
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ gnome2_src_prepare
+ vala_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ $(use_enable introspection)
+}
diff --git a/app-editors/latexila/metadata.xml b/app-editors/latexila/metadata.xml
new file mode 100644
index 000000000000..d886385e009e
--- /dev/null
+++ b/app-editors/latexila/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+<use>
+ <flag name="latexmk">Install <pkg>dev-tex/latexmk</pkg> (used by default
+ for the build tools)</flag>
+ <flag name="rubber">Install <pkg>dev-tex/rubber</pkg> (can be used for the
+ build tools)</flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/le/Manifest b/app-editors/le/Manifest
new file mode 100644
index 000000000000..db512be2d545
--- /dev/null
+++ b/app-editors/le/Manifest
@@ -0,0 +1,9 @@
+DIST le-1.14.3.tar.lzma 392205 SHA256 dae1222168f388f0aa264bb2849df50ce0a51f565257327409adf5076c6b4379 SHA512 5f09680ba365d80a71dcb09975d2347c0dcb725b8db6c08588fadd82a3a844bd370c3de597b644c57ecfed1c4557d22544a6e9aee6323b1e43f6d8c423843339 WHIRLPOOL 2cee978d8eadea0d213e514318f3ce780d037ce1059503441ad625e09033f2149579496d6effe9508a5059b7c0c10976970c641c0177b2918e8607ce05b2e960
+DIST le-1.16.1.tar.gz 977143 SHA256 54b7382054f69f4af8a9098d196c6463508219f5d4ceb46c1628165861e786b5 SHA512 77dda0a3c9cf98d9775937373eed2489f22b641ed870f3152cd59dacff373844f5d8d85f4df864c396b812995625bcdb8f5444de93336495ecb1ea7df27e464e WHIRLPOOL d8367cb0ecbad6e47151c509168a962d91f5eebb5e1b15fbcde8b7158d933a47e1c599ef4188ecf1e64ab85c64641b8bfb25f05fafb41da0587f907ce0d80988
+DIST le-1.16.3.tar.gz 985541 SHA256 3e20346c18d6286925e930e9e7235ab8a5176f4e4f84bee4d17199d3f0f1a634 SHA512 b1ee5440fb71f4214170bc0a1654b68671bac5f08b38e62fdeeaeab2710365aff7cb7c3d13aecbc052b8596c95d7caadd6b3347f9bcb8cc5272a4639856ae46d WHIRLPOOL f749bda32bd683e4b8366e7a0ccf7df4f394aa6f6727aeef5806536e96dbb38398e662d15eb6008db296b8e26894741261de1790933b29f516100a5c5c6c6a74
+EBUILD le-1.14.3.ebuild 523 SHA256 1bd8806ca37a2dfc1c4dbcf7d63a3aed6747866dfbba7ba46f35f296bd2289f7 SHA512 9d04c3765306fd5e1b021b57943d58a998909f7858c3f270b5dfe9e6c83d5e51b9527b41c90fcb309c3ed60c6337dca2f59ba8049b42798e9eeb1c110752877b WHIRLPOOL 6a87fd561b586fefdd875bdfe8bf7137607be96b044220b3b50979d8af3812f0baeb271aa3c3656f5326076ac5ccfd5a3f5d4e968855e3d817bec8d29d4b77ca
+EBUILD le-1.16.1.ebuild 482 SHA256 a41f10e1a8c6970e32cd9e1c4a7020373e1cc381a60b26aaffdcd3e2405a8e7b SHA512 6de4d2214385b6d7cb42ff8c6ce6dbb1a976be5d211125d75ee2f758f546b3c14a206ff70925cc1e214797ebece6f6911a8a484276ad8c2a17b83222be44fbf0 WHIRLPOOL 5829c1040a4fa900826ba8ce5fc04c59244a3000deba4c4d8c6a4db21771cc76e63a5c8b148e1b143968c2b2616f1435ca14dab3b617b2c5b90582bb8ee7bc00
+EBUILD le-1.16.3.ebuild 460 SHA256 1bdc7345e241a0d67e342bef70f8e8cfd0ac109cab42922ffadbc6e701f2b51a SHA512 7c7acc1c43316f8d139ecc7dfa6894fba025e3627df71682b005e7764577e8fd5bcfeabeedac3982c190eb0002beaae05c6749e026c3beec24874e9a75d4a7c6 WHIRLPOOL bc02081500b91ab3d72fb775cf9ed810f0ea4330326aad74ef04fc48c633dbeedffb4f44b8e97ba8b2e84cf92116ca1d3776ccb3ebb45da182d9d50aa7d152c0
+MISC ChangeLog 3469 SHA256 10af6fe10d2902beb45e6a6313e5134c2da5d34be4290f15d8ed47cd0c926607 SHA512 37b828510fb0ea516ccd14007ea688c770fd4bf31e576ce63a860a1fce69a8d633ef6115a080c281f5d0817b79d4b60d14cc650c2ae9ccc408a19d1ca587b25f WHIRLPOOL 36dbd170482ba2e7ad5d071386cb436f349fc8b8903cdae1593289b701be8afc616aea3457f80724aa15c685be04422c0bc4373b9c65d37742762f71f82952e0
+MISC ChangeLog-2015 3397 SHA256 53a5bba03499f3abd9016aa862b2582abfa1a0aadc987bfa8abb8e8ec2ffb62e SHA512 bf8f4aa3c00e70c1c051d58ccdeae9dc26e260a4f07296e4a901228e7541b331a97ec2c5e9a20e6d157597aafcd1c9145582aa4c5d04b7b42bac9f730cb1c7b2 WHIRLPOOL bfda988ea77c492c5dc59e4d1aca28366338f6da1dd1ea3e5ebdeda247105ccef41d49f690ddf73abf24c48b32143e059ed3b8607b24a8e488ed04dfaeab8315
+MISC metadata.xml 439 SHA256 09c464cb999b20c91d282655a7e9e7e9c4dc4a96c672f02a5c5e5f6f33cff0c3 SHA512 935122ca8314a54d71f6566683f64dbc2be9ea9bc85bc75c6107b40d36dec8dc5e058eb410ef03fdf442a1dc4daf7ec6522a95b4513c907e07cef3921c5f786e WHIRLPOOL 83385845d14efee319d09b626344a8d8ccc8312e459383905015c5aaba64d12152a9a98d1aa900dd93aaa5474cb6fc8c0e2477e354752757c5901255ba6c75bd
diff --git a/app-editors/le/le-1.14.3.ebuild b/app-editors/le/le-1.14.3.ebuild
new file mode 100644
index 000000000000..534fd98f98f9
--- /dev/null
+++ b/app-editors/le/le-1.14.3.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="Terminal text editor"
+HOMEPAGE="https://www.gnu.org/directory/text/editors/le-editor.html"
+SRC_URI="ftp://ftp.yars.free.net/pub/source/le/le-${PV}.tar.lzma"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND="sys-libs/ncurses:0="
+DEPEND="${RDEPEND}
+ app-arch/xz-utils"
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc ChangeLog FEATURES HISTORY INSTALL NEWS README TODO
+}
diff --git a/app-editors/le/le-1.16.1.ebuild b/app-editors/le/le-1.16.1.ebuild
new file mode 100644
index 000000000000..66438770c4a8
--- /dev/null
+++ b/app-editors/le/le-1.16.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Terminal text editor"
+HOMEPAGE="http://lav.yar.ru/programs.html"
+SRC_URI="http://lav.yar.ru/download/le/le-${PV}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+RDEPEND="sys-libs/ncurses:0="
+DEPEND="${RDEPEND}
+ app-arch/xz-utils"
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc ChangeLog FEATURES HISTORY INSTALL NEWS README TODO
+}
diff --git a/app-editors/le/le-1.16.3.ebuild b/app-editors/le/le-1.16.3.ebuild
new file mode 100644
index 000000000000..3fd15af0392f
--- /dev/null
+++ b/app-editors/le/le-1.16.3.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Terminal text editor"
+HOMEPAGE="http://lav.yar.ru/programs.html"
+SRC_URI="http://lav.yar.ru/download/le/le-${PV}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+
+RDEPEND="sys-libs/ncurses:0="
+DEPEND="${RDEPEND}"
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc ChangeLog FEATURES HISTORY INSTALL NEWS README TODO
+}
diff --git a/app-editors/le/metadata.xml b/app-editors/le/metadata.xml
new file mode 100644
index 000000000000..98d7f5606dfc
--- /dev/null
+++ b/app-editors/le/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 type="person">
+ <email>gentoo@schellstede.de</email>
+ <name>Gerold Schellstede</name>
+ <description>Proxy maintainer - assign bugs to him</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-editors/leafpad/Manifest b/app-editors/leafpad/Manifest
new file mode 100644
index 000000000000..f19c36816b7b
--- /dev/null
+++ b/app-editors/leafpad/Manifest
@@ -0,0 +1,7 @@
+AUX leafpad-0.8.18.1-fdo.patch 553 SHA256 bc90a7aa379f81616160768785e04e980272b3a7917c441d1be6f30689be1ed9 SHA512 b22900988573d962068d4e328e208aac2495c1b463151ec43f5fe1d7159a69a317f3ba1d882bf8d471908951852631bdecbbfee3c2eea5ca4ef1072e3c411268 WHIRLPOOL 74a689c62ae323b3f02de25a6da9ff09eff3522442f7b329a880b4cd851c532d9699d23d071f7d7c82382054e9d27dd91de89b01425ed38b1842cd42132be08e
+AUX leafpad-0.8.18.1-format-security.patch 813 SHA256 d5cf3d4bd5e8a73164c8f5cb8254ab57f3fdc323f750cff5838af8ad5f325b17 SHA512 934c29cab4684fa9d33a6028d7edbf5b15bdf4591ea2ae5f9d071d2252a32670a8fda3ec44d55e026b0897814113234942423d886c2d479e73aa45c96272a99b WHIRLPOOL 7b3cdc192c5dd21e6f0f8cee2a3bcc6363cc239cd5984813c34f997306634745c5ad5fa59b2acd2c01c3e5b3fcc85c0f3df7eca5a4e218cd7aa18e8245d42aa1
+DIST leafpad-0.8.18.1.tar.gz 289117 SHA256 959d22ae07f22803bc66ff40d373a854532a6e4732680bf8a96a3fbcb9f80a2c SHA512 1caad712967f634f585ab32e406534b5ce2c5621008c1eb5b2b48f17ca0f48cd834ea2ea1c67eda4053fa84e8727ff0e708e99d3b5dad838dcf0701389788257 WHIRLPOOL a279cd431483595439fe79b3d842573d42c33b81d3d3a022ed2a54e490e508c1ad7f39c80467ec0175312de381680274c7c4b3c30a6300b739ffc47ab8da8cdd
+EBUILD leafpad-0.8.18.1.ebuild 940 SHA256 563ca8d47a9949bf61fd7f83a0d7469bfa18cd003eb889982c121e2823f49430 SHA512 c69c9dd650f368ef0525b971ae51f9e760b5abeb04d95e0e7b862b0f4428ed12b894cac2e2523644f040d10b09981eae693799f7ec2acbe79acf83f5e18931ca WHIRLPOOL e3b61276ef5f67a40ae9288887d3bbce851a1fec4c7b222f2daf6b2a4a51993a79f90585c62394d00dffb271bcf8b68437ad8056a3c22ceef820abf7edd6cf29
+MISC ChangeLog 2395 SHA256 6ea2e94c5271e46b73e1addd75f265896c11e2ea017b7f5de70de2b168b88d13 SHA512 10ee0e08c3ab16836fe65a07502a1cffe4a3e386b9fe5775e77493a045bf10a47dca14a3b14731ffb6db85c181ca51b51ef8443756766a11c38f32401e37be95 WHIRLPOOL 7c8f7de0341773d1aa16884b993d8747ac74b25f2a1ca21f0a64f1d6dfb54f97c91613356c3f2854ac781964dc51d3c4f211709ab501930d3044d81b37b9b0d1
+MISC ChangeLog-2015 4172 SHA256 0c8f0c40246866a80475077b63acbb5cd2c38c466aa40c00812b247daeae5f74 SHA512 ed17b05188f73673ce9ffa39b98d25409f45a235a6f0d499eb4df4fd3bcd3e6b02b786b0266817abd497d1eff5c88cc99033ecb12124d1f3264d8792000a3ad8 WHIRLPOOL 4c572a9e5bfa0789128f690e833e7cbf439dba425aa691879fb7b423f09fe65605c8b3c1038376b5e3f706e87ff6d917d5e93bfc9cc30b835b5eb834312f8d3f
+MISC metadata.xml 205 SHA256 1a0d3a3df0b9644f7c76ae8269ee343f7d8c0e9a9f46cd70b5888602a4c40970 SHA512 e94eb3d2eec0ffa8543112e75899eb7f2c582d2e5615a82b568e907e488f0a8b400946550ae39c7d278a8fa8c8912e6221e3013868ce7e218abbcf76b57cb693 WHIRLPOOL 3120b735c1c5b5890e7dc9f2f36ba8b741ad9c74ac0e76299377e1d5a7d33d7923cd1eeb865cd6de23b1fa77a99bb89cbca2c494b2461d6d173b5bfcd353daab
diff --git a/app-editors/leafpad/files/leafpad-0.8.18.1-fdo.patch b/app-editors/leafpad/files/leafpad-0.8.18.1-fdo.patch
new file mode 100644
index 000000000000..f978275ce399
--- /dev/null
+++ b/app-editors/leafpad/files/leafpad-0.8.18.1-fdo.patch
@@ -0,0 +1,21 @@
+desktop-file-validate:
+
+leafpad.desktop: error: value "text/plain" for string list key "MimeType" in group "Desktop Entry"
+does not have a semicolon (';') as trailing character
+
+leafpad.desktop: warning: key "Encoding" in group "Desktop Entry" is deprecated
+
+--- data/leafpad.desktop.in
++++ data/leafpad.desktop.in
+@@ -1,10 +1,9 @@
+ [Desktop Entry]
+-Encoding=UTF-8
+ _Name=Leafpad
+ _Comment=Simple text editor
+ Exec=leafpad %f
+ Icon=leafpad
+ Terminal=false
+ Type=Application
+-MimeType=text/plain
++MimeType=text/plain;
+ Categories=GTK;Utility;TextEditor;
diff --git a/app-editors/leafpad/files/leafpad-0.8.18.1-format-security.patch b/app-editors/leafpad/files/leafpad-0.8.18.1-format-security.patch
new file mode 100644
index 000000000000..07f1e2ee111d
--- /dev/null
+++ b/app-editors/leafpad/files/leafpad-0.8.18.1-format-security.patch
@@ -0,0 +1,30 @@
+- dialog.c:39:3: error: format not a string literal and no format arguments [-Werror=format-security]
+
+--- src/dialog.c
++++ src/dialog.c
+@@ -36,6 +36,7 @@
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ type,
+ GTK_BUTTONS_NONE,
++ "%s",
+ str);
+ gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE);
+ gtk_dialog_add_buttons(GTK_DIALOG(dialog),
+@@ -61,6 +62,7 @@
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_QUESTION,
+ GTK_BUTTONS_NONE,
++ "%s",
+ str);
+ gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE);
+ gtk_dialog_add_buttons(GTK_DIALOG(dialog),
+--- src/gtkprint.c
++++ src/gtkprint.c
+@@ -165,6 +165,7 @@
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_NONE,
++ "%s",
+ message);
+ gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE);
+ gtk_dialog_add_buttons(GTK_DIALOG(dialog),
diff --git a/app-editors/leafpad/leafpad-0.8.18.1.ebuild b/app-editors/leafpad/leafpad-0.8.18.1.ebuild
new file mode 100644
index 000000000000..da4ae0fc45eb
--- /dev/null
+++ b/app-editors/leafpad/leafpad-0.8.18.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils fdo-mime gnome2-utils
+
+DESCRIPTION="A simple GTK2 text editor"
+HOMEPAGE="http://tarot.freeshell.org/leafpad/"
+SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="emacs"
+
+RDEPEND="virtual/libintl
+ x11-libs/gtk+:2"
+DEPEND="${RDEPEND}
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+DOCS="AUTHORS ChangeLog NEWS README"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-fdo.patch \
+ "${FILESDIR}"/${P}-format-security.patch
+}
+
+src_configure() {
+ econf \
+ --enable-chooser \
+ --enable-print \
+ $(use_enable emacs)
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+ gnome2_icon_cache_update
+}
diff --git a/app-editors/leafpad/metadata.xml b/app-editors/leafpad/metadata.xml
new file mode 100644
index 000000000000..84561732eef6
--- /dev/null
+++ b/app-editors/leafpad/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <use>
+ <flag name="emacs">Enable Emacs key theme</flag>
+ </use>
+</pkgmetadata>
diff --git a/app-editors/leo/Manifest b/app-editors/leo/Manifest
new file mode 100644
index 000000000000..371ac5e979f4
--- /dev/null
+++ b/app-editors/leo/Manifest
@@ -0,0 +1,5 @@
+DIST Leo-5.1-final.zip 9028778 SHA256 2d742f9825959ba5c7624d1179b9f3065e14e055c90272fbce199f91770de826 SHA512 a8e1d42c0b7c8f6aa4465295515ef19965a03142997a1b65304fd72a2c541248b7dba66d7be295465fd6dbdd7fcd5c6e6542d222edb71ddcab093c0c360340b1 WHIRLPOOL b1a5bb5ba2a2a6c8afe3339a0097d0dadd01e7c18b3270784f69eb608691808bc99cf887be1079340f797b9659cd00ba2d372d3e37bf62b28774ed571a743301
+EBUILD leo-5.1.ebuild 752 SHA256 d97d11450e9babd22c8ce740a77e18278629024f101ae2d1d3e96deed30b4ebb SHA512 18dfa9502681e7f206ec99e3a3c82e7b5b8b00e0b0a1f7b6a00a218db1458cf6944cda41dfa4dbc419b8208e123fd23ad07122fe755c7120d814876f68410110 WHIRLPOOL 3d12127e8227199b50980608cdf1a3578de611a31a1ea8b6f1c87eff3ba0248d8a4f2ff0dd1de1a2ad93544ea66590c6e6849a383c642e7ce5a66ae6ac09a7c5
+MISC ChangeLog 3369 SHA256 5fa3f85d74d25130e25139294597e6fd8fc4d109e1c4f0726165820387ad2fa4 SHA512 1e64a93992e145473c75e266393829525cb973dcbec89f4c152286d9a494b86366522527068cbbf03e02584bc92b521b7bc8c0e977e179ae3f8f79b90e7f9eb8 WHIRLPOOL f773d06ae927592136ff715ba5915a1a85009e29f73cadc97745f4eb3af105b9c60d6968c4c779583ee44863e2d1b26498a04d572b0c885c3da398c5621d2140
+MISC ChangeLog-2015 4904 SHA256 5e5bc922c1e8642f2e9f949fe38c10d9b3782957fd5390679ee4acb6479ad3d1 SHA512 9a0e73f5c92c404ba4f2c47f9cea270d8608a9b2911d0d410714e3709bb2b9505aae61c61e07180d706f18e8f2148f5bdecdc3035f56bc7fd9edaff16dee728d WHIRLPOOL 481c812fa076b2f0811b4a25af2539349fc452384147eb94c690392a297b58c55b4788cd54ef4656f6ee875ea6313118158328f53eed811a41e6e1d57996010e
+MISC metadata.xml 308 SHA256 c85a0d5eba5dc441ae425ed139b3b760d8474329e7d09e6c1fcdce90721dbd08 SHA512 cfa3bb11079aca56b6b381f365e655078a1f07738c3af9d6c7d10313ee0a6826c0f40cc70e8ff31be6bf033a5effc8a7d725bccda8f78341700df10717976c66 WHIRLPOOL 7ae87a0a1e3375d2f5e9520ee9cc68e62c4e2de81c3d4c737201879301174f3266734b3121895f772314c3b84ba992b2d7037014c7343d3d28280be0184ddf62
diff --git a/app-editors/leo/leo-5.1.ebuild b/app-editors/leo/leo-5.1.ebuild
new file mode 100644
index 000000000000..454e005df30d
--- /dev/null
+++ b/app-editors/leo/leo-5.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+# Not py3 prepared
+# https://bugs.launchpad.net/leo-editor/+bug/1399895
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQUIRED_USE="tk"
+
+inherit distutils-r1
+
+MY_P="Leo-${PV}-final"
+
+DESCRIPTION="Leo: Literate Editor with Outlines"
+HOMEPAGE="https://github.com/leo-editor/leo-editor/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="doc"
+
+RDEPEND="app-text/silvercity[${PYTHON_USEDEP}]
+ dev-python/PyQt4[X,${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+S="${WORKDIR}/${MY_P}"
+
+python_install_all() {
+ use doc && local HTML_DOCS=( leo/doc/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/app-editors/leo/metadata.xml b/app-editors/leo/metadata.xml
new file mode 100644
index 000000000000..4e9fe29019ce
--- /dev/null
+++ b/app-editors/leo/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">leo-editor/leo-editor</remote-id>
+ <remote-id type="sourceforge">leo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/levee/Manifest b/app-editors/levee/Manifest
new file mode 100644
index 000000000000..1d4a832b678e
--- /dev/null
+++ b/app-editors/levee/Manifest
@@ -0,0 +1,8 @@
+AUX levee-3.4o-darwin.patch 318 SHA256 dc3b5a2afca9f06415a2afcc5df4c9ade33498085b9a66936e4754d43a433c2c SHA512 8f29e675e03ef67922f396950cc7245bd6dda15aa2bdea21fc2b75b3f93d641cc46cd5cdfa878dc5780ff01e66e9d8708a6e67625248bd21fe2679b458f60faf WHIRLPOOL 8efd315771add633cfc3e132afe8143fde1181fdffcba3d6f15c1441016b4cca858d3f5f2d47103f5d25c5a21994b6db919281cfb8eb420e55ce624db09d7a7e
+AUX levee-3.5-glibc210.patch 2448 SHA256 75f6f3e128996d3b1a68d37f5f3a1e767c010a5b768bdd413fb578e276e54312 SHA512 178e77e6fb88517c0001d95e99164a67d3d6342dc0ff3dd2d355f2b2823d2fbdf2a851909d2c935dc629391a4ccc861c55a6c5ed9ce8d74dd1987c924c9f9307 WHIRLPOOL 187213a6431dff8ecde444eaa10eb3301f5d42a74043d52e797a19db94544010ba240fc4cd9a04b3cfa90e29781c2922198de0af9c9d85908653edd23c2f2052
+AUX levee-3.5a-QA.patch 637 SHA256 67da4403b8c34b3579570f04ca3ab894cac1ca85cd2421a72e36ba92ad563463 SHA512 30878ad11f021fed3912dd06b397c80539c98b0795a39a98134a6466a8d3041162bf9e3d43ede9780e5f415ba481a21b925d16f33297118fb246158607f19227 WHIRLPOOL 6cbc5f0dc43b08a644a097d69b3f944679dff9c3aa036ce7e46a0809383a3a925f604ac31b0bdc2c8ad08978ca9c3364fe3d6c4b9b9a9aa06437fec7fdefde88
+DIST levee-3.5a.tar.gz 67733 SHA256 eff1c937b1079c68725c26375969a8b51109b170bc1aba9529b989e32f7b34c8 SHA512 e95b4fc6370903dda07aff0a612c7f34425ab0b854d05a08f42b7e339d1a86a436316d31f3667748943e2ce2e68be7f2369e4a3b36c0715b00d31b8ab50cdaf1 WHIRLPOOL 44346342540da79f0a6bfde0e9a289ae4b1d8e64d04865dd9156fa2c1fc4d1edc6b4ff2578b2c4f98ec684bc9471947bd26230fc437c09d660ec52d10ed5fdf4
+EBUILD levee-3.5a.ebuild 1007 SHA256 c1fc97d2d87e7aa22f379545671c42615321a9a75229e56018c891ad73e16fab SHA512 39e56b6df9df09f0241f327022c9b7a93af97867739b081f8fb893d99969bb7b2a7d10a55a6a053834ab71a73c8251a838bebc72887247e2559d6efc7af69f8d WHIRLPOOL b48cd93df55e086737d51c99c74bf98556fc2e8e56c04a00b025ce8511a508d5fae083b51e7917f116b79a04c19bd9da90aa1969bc978c6823fbf71cd0133767
+MISC ChangeLog 2612 SHA256 6ec6505713282e665ab7562cd3485e2759f6ffc87a2548a37af349f2167974c7 SHA512 5cb3df690ef89bcc89197116b08fdd5d3d77b551740d7bdbbdc079e654700da03ef1abe191988176a9fbed9a987973db1d2e7757986cae2775ecb4edcf51979f WHIRLPOOL c02d9a7630cbc9676e4bfc627ee374ae622eb26bc389f555df6156aad62b18df3e3d9dbd4fda19cb11398437afb6a9b99c84b0ffd0c908910ae147028592a830
+MISC ChangeLog-2015 2994 SHA256 bd324f34927cba7063390c14329558f79c879599eae55df58cbda66f1251996c SHA512 c6626d54142b467c7d94f3f72fe496f017f034b5376bfdeb8a23d525fb71889ed5d490265c0b142a561e15b1cb18b5154a637e220ced05f9d1d516fd67d93edf WHIRLPOOL a09e87412f7615e1209b787e93c7b6f48600452c1405a696508cdfbad4c1852d301618b7f53f027d35ff1646269498e9ce5350f7600c64858ae7a476c733c71a
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/app-editors/levee/files/levee-3.4o-darwin.patch b/app-editors/levee/files/levee-3.4o-darwin.patch
new file mode 100644
index 000000000000..9481b1a3ade9
--- /dev/null
+++ b/app-editors/levee/files/levee-3.4o-darwin.patch
@@ -0,0 +1,16 @@
+--- unixcall.c.orig 2007-03-18 17:46:05 +0100
++++ unixcall.c 2007-03-18 17:51:13 +0100
+@@ -77,6 +77,13 @@
+ static int ioset = 0;
+ static struct termios old;
+
++#if defined(__MACH__)
++# define TCGETS TIOCGETA
++# define TCSETS TIOCSETA
++# define TCGETA TIOCGETA
++# define TCSETAF TIOCSETAF
++#endif
++
+ void
+ initcon()
+ {
diff --git a/app-editors/levee/files/levee-3.5-glibc210.patch b/app-editors/levee/files/levee-3.5-glibc210.patch
new file mode 100644
index 000000000000..51cc829cda25
--- /dev/null
+++ b/app-editors/levee/files/levee-3.5-glibc210.patch
@@ -0,0 +1,80 @@
+diff -NrU5 levee-3.5.original/editcor.c levee-3.5/editcor.c
+--- levee-3.5.original/editcor.c 2009-07-21 22:58:18.000000000 +0000
++++ levee-3.5/editcor.c 2009-07-21 23:07:21.000000000 +0000
+@@ -183,11 +183,11 @@
+
+ strcpy(scratch, "/tmp/lv.XXXXXX");
+
+ clrprompt();
+ printch('!');
+- if ( !getline(instring) )
++ if ( !get_line(instring) )
+ return FALSE;
+
+ if ( (tf = mkstemp(scratch)) < 0 ) {
+ prints("[tempfile error]");
+ return FALSE;
+diff -NrU5 levee-3.5.original/extern.h levee-3.5/extern.h
+--- levee-3.5.original/extern.h 2009-07-21 22:58:18.000000000 +0000
++++ levee-3.5/extern.h 2009-07-21 23:02:39.000000000 +0000
+@@ -195,11 +195,11 @@
+ extern exec_type PROC editcore();
+
+ extern char PROC line(), peekc(), readchar();
+ extern char PROC *findparse(),*makepat();
+
+-extern bool PROC getline();
++extern bool PROC get_line();
+ extern bool PROC putfile();
+ extern bool PROC doyank(), deletion(), putback();
+ extern bool PROC pushb(),pushi(),pushmem(),uputcmd(), delete_to_undo();
+ extern bool PROC ok_to_scroll(), move_to_undo();
+
+diff -NrU5 levee-3.5.original/main.c levee-3.5/main.c
+--- levee-3.5.original/main.c 2009-07-21 22:58:18.000000000 +0000
++++ levee-3.5/main.c 2009-07-21 23:09:52.000000000 +0000
+@@ -251,11 +251,11 @@
+ println();
+
+ mode=emode;
+ do {
+ prompt(FALSE,":");
+- if (getline(instring))
++ if (get_line(instring))
+ exec(instring, &mode, &noquit);
+ indirect = FALSE;
+ if (mode == E_VISUAL && zotscreen && noquit) { /*ask for more*/
+ prints(" [more]");
+ if ((ch=peekc()) == 13 || ch == ' ' || ch == ':')
+diff -NrU5 levee-3.5.original/misc.c levee-3.5/misc.c
+--- levee-3.5.original/misc.c 2009-07-21 22:58:18.000000000 +0000
++++ levee-3.5/misc.c 2009-07-21 23:09:10.000000000 +0000
+@@ -19,11 +19,11 @@
+ */
+ #include "levee.h"
+ #include "extern.h"
+
+ bool PROC
+-getline(str)
++get_line(str)
+ char *str;
+ {
+ int len;
+ char flag;
+
+diff -NrU5 levee-3.5.original/move.c levee-3.5/move.c
+--- levee-3.5.original/move.c 2009-07-21 22:58:18.000000000 +0000
++++ levee-3.5/move.c 2009-07-21 23:10:26.000000000 +0000
+@@ -158,11 +158,11 @@
+ case FSEARCH:
+ case BSEARCH:
+ clrprompt();
+ if (cmd == PATT_FWD || cmd == PATT_BACK) {
+ printch(tsearch = instring[0] = chars[cmd-PATT_FWD]);
+- if (!getline(&instring[1]))
++ if (!get_line(&instring[1]))
+ return ESCAPED; /* needs to skip later tests */
+ }
+ else {
+ if (!lsearch)
+ return BADMOVE;
diff --git a/app-editors/levee/files/levee-3.5a-QA.patch b/app-editors/levee/files/levee-3.5a-QA.patch
new file mode 100644
index 000000000000..7e37c76b34ac
--- /dev/null
+++ b/app-editors/levee/files/levee-3.5a-QA.patch
@@ -0,0 +1,16 @@
+diff -NrU5 levee-3.5a.original/configure.inc levee-3.5a/configure.inc
+--- levee-3.5a.original/configure.inc 2009-08-12 19:51:26.000000000 +0000
++++ levee-3.5a/configure.inc 2009-08-12 20:13:41.000000000 +0000
+@@ -1074,11 +1074,11 @@
+ else
+ PROG_INSTALL="$DEST"
+ fi
+
+ AC_SUB 'INSTALL' "$PROG_INSTALL"
+- AC_SUB 'INSTALL_PROGRAM' "$PROG_INSTALL -s -m 755"
++ AC_SUB 'INSTALL_PROGRAM' "$PROG_INSTALL -m 755"
+ AC_SUB 'INSTALL_DATA' "$PROG_INSTALL -m 444"
+
+ # finally build a little directory installer
+ # if mkdir -p works, use that, otherwise use install -d,
+ # otherwise build a script to do it by hand.
diff --git a/app-editors/levee/levee-3.5a.ebuild b/app-editors/levee/levee-3.5a.ebuild
new file mode 100644
index 000000000000..9e77eb2cfb91
--- /dev/null
+++ b/app-editors/levee/levee-3.5a.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit toolchain-funcs eutils
+
+DESCRIPTION="Really tiny vi clone, for things like rescue disks"
+HOMEPAGE="http://www.pell.chi.il.us/~orc/Code/"
+SRC_URI="http://www.pell.chi.il.us/~orc/Code/levee/${P}.tar.gz"
+
+LICENSE="levee"
+SLOT="0"
+KEYWORDS="amd64 ppc sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="!app-text/lv
+ sys-libs/ncurses"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-3.4o-darwin.patch
+ epatch "${FILESDIR}"/${P}-QA.patch
+ epatch "${FILESDIR}"/${PN}-3.5-glibc210.patch
+}
+
+src_configure() {
+ export AC_CPP_PROG=$(tc-getCPP)
+ export AC_PATH=${PATH}
+ export AC_LIBDIR="$($(tc-getPKG_CONFIG) --libs ncurses)"
+ ./configure.sh --prefix="${PREFIX}"/usr || die "configure failed"
+}
+
+src_compile() {
+ emake CFLAGS="${CFLAGS} -Wall -Wextra ${LDFLAGS}" CC=$(tc-getCC)
+}
+
+src_install() {
+ emake PREFIX="${D}${EPREFIX}" install
+}
diff --git a/app-editors/levee/metadata.xml b/app-editors/levee/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/app-editors/levee/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/app-editors/lfhex/Manifest b/app-editors/lfhex/Manifest
new file mode 100644
index 000000000000..723ef995bd4f
--- /dev/null
+++ b/app-editors/lfhex/Manifest
@@ -0,0 +1,7 @@
+AUX 01-abs-llabs.dpatch 792 SHA256 7f552da0fca853da2a7e7ae8cfd9c31b17f130b3f74daffa9f65110030226bed SHA512 cb23e3541b3ff93ceb86d52fdee6028588bd79f0270bd2bae78ba9c8e729bb7d2fd50ab08b83b6546935b67c4076593f8c5457166c81e1e4ee65adc10b034965 WHIRLPOOL e9d5400c45c16f031c414dbd330c90a940cb1fa67b1fdcacca40af6dff94d591e9882b6de66f89c59003613f2b1ecebbec92502402a33a9aa389e4e19f8a0098
+AUX 02-gcc-4.7.dpatch 717 SHA256 14c726a5e235262979a72f2957d8624d9979094726b16554b5f6ed6cfd70045b SHA512 4f934f4a63b1530e672d59ca3ee5a2304b2be5404d2e4ac708d4e51af69b6f4b5ed818005409ce831701fa92db8f634b06a4cc69ea002205f7985931fd06fc53 WHIRLPOOL 7a81639680f336d794680561db2f7fd0bb25740545d18447934e2308002bcb3aadc168a25e9005fe13a529e9fff730c384e533376ac11b4b1e5fe4a7d46ba3d4
+DIST lfhex-0.42.tar.gz 868287 SHA256 4e8f8b99eb271242937037a3af2fe07369b653f7f7d8becbd84554118bf8baba SHA512 5b0d61f732b4b3a0ff2d73ae3ea551af78047a2edd45916d6ad61fb6d89c18faa4e28ed321e51e034519635c3310ce7b0b67fb809ed67d6c37cb252b78696c88 WHIRLPOOL 720e812edb8d33968d7c89ccaf85096b80dd377743819111c436ce5315d36e070ac37727d4422bb982cf0f6aba69e41335a58a76b1e4d5f143a0948feb26aba5
+EBUILD lfhex-0.42.ebuild 733 SHA256 76169c50676c1990abc5fc15aa287b842750b22f5330c8cade6ba3fea817aa08 SHA512 ddd5a34b3eeff8fdc703161ea2d7d6824c56e4023bf44033d055d36ac64fefdf965f3116f6e9356e3a27df3f79e808a8e94682801d0b953a7584a6e2f6f4737e WHIRLPOOL 640b8475794b2518efbd2c740056a0594603cc497d6e0d8056fa505e9665603fea6800b00daeadc49179374289bed4fc1524b6262ad28a42c6bb5499b63cbf39
+MISC ChangeLog 2573 SHA256 d9b96761a68e9cd52126e5d8bc8a23b2d5b32532370e7c4a6668ba7e3efe7a4b SHA512 ce536b1fb56f4f87bf17228a344cf06ed59b582fbffce9c6447c33f118275221469f748fb7e8cb8ed9c8d7ddb30c9c1786c9771ea32d0941f412ff8a93c80e8c WHIRLPOOL 6d1b19abd48117fe277aa5f5f4d7988e90de1b0d4357dbe38798e661b73522662caed9278d0ed80288b368506ee06e8d5e75a4b5b7f661e68d2d0c8d1d3c55a9
+MISC ChangeLog-2015 4399 SHA256 44a2cf527eb7f6145a651a34973b534a9189127fe50dc45ae1f7f34eac86ec90 SHA512 c00d7c2c9d9ba3f3b0363be0fce4e71ee7fb93ae396b0a55d42f5b6eef93ac42c1e41806c58859090711d555e77c392801b0c0f9c144df153d978b4c36d3a659 WHIRLPOOL 92919bb7a40215b3f71500272fabf3e667cba4f7936e3ed838b7b783e9e4234190293f1fb0ceddd6b47d353e6f8815cc652e410ada34d2c10e2695a9f176360d
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/app-editors/lfhex/files/01-abs-llabs.dpatch b/app-editors/lfhex/files/01-abs-llabs.dpatch
new file mode 100644
index 000000000000..74ffcbce7299
--- /dev/null
+++ b/app-editors/lfhex/files/01-abs-llabs.dpatch
@@ -0,0 +1,19 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 01-abs-llabs.dpatch by Thiemo Seufer
+##
+## DP: Fixes FTBFS due to abs() not being in the global anymore since g++ 4.3
+## (#495467)
+
+diff -up lfhex-0.42.orig/src/reader.cpp lfhex-0.42/src/reader.cpp
+--- lfhex-0.42.orig/src/reader.cpp 2008-10-08 19:25:57.000000000 +0200
++++ lfhex-0.42/src/reader.cpp 2008-10-08 19:26:16.000000000 +0200
+@@ -238,7 +238,7 @@ bool Reader::loadPage(off_t pageIdx)
+ // free the page which is the furthest away from the page we are loading
+
+ // this could be trouble if off_t is unsigned!
+- if( abs(_firstPage - pageIdx) > abs(_lastPage - pageIdx) )
++ if( ::llabs(_firstPage - pageIdx) > ::llabs(_lastPage - pageIdx) )
+ while(!freePage(_firstPage++));
+ else
+ while(!freePage(_lastPage--));
+
diff --git a/app-editors/lfhex/files/02-gcc-4.7.dpatch b/app-editors/lfhex/files/02-gcc-4.7.dpatch
new file mode 100644
index 000000000000..0d58072d9574
--- /dev/null
+++ b/app-editors/lfhex/files/02-gcc-4.7.dpatch
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 02-gcc-4.7.dpatch by gregor herrmann <gregoa@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: add missing include to avoid FTBFS with gcc 4.7
+## DP: Bug-Debian: http://bugs.debian.org/667238
+
+@DPATCH@
+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' lfhex-0.42~/src/expr.h lfhex-0.42/src/expr.h
+--- lfhex-0.42~/src/expr.h 2008-09-19 02:36:49.000000000 +0200
++++ lfhex-0.42/src/expr.h 2012-05-07 17:03:22.788794002 +0200
+@@ -19,6 +19,7 @@
+ */
+
+ #include <string>
++#include <sys/types.h>
+
+ bool expr_eval( const std::string &str, off_t &value );
+
diff --git a/app-editors/lfhex/lfhex-0.42.ebuild b/app-editors/lfhex/lfhex-0.42.ebuild
new file mode 100644
index 000000000000..ba168caf5ddc
--- /dev/null
+++ b/app-editors/lfhex/lfhex-0.42.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+inherit eutils qt4-r2
+
+DESCRIPTION="A fast hex-editor with support for large files and comparing binary files"
+HOMEPAGE="http://stoopidsimple.com/lfhex"
+SRC_URI="http://stoopidsimple.com/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND="dev-qt/qtgui:4
+ x11-libs/libXt"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ sys-devel/bison"
+
+S=${WORKDIR}/${P}/src
+
+src_prepare() {
+ # Apply Debian patches to fix compilation errors like gcc-4.7 compat
+ epatch "${FILESDIR}"/*.dpatch
+}
+
+src_configure() {
+ eqmake4
+}
+
+src_install() {
+ dobin lfhex
+ dodoc ../README
+ make_desktop_entry "${PN}" "${PN}"
+}
diff --git a/app-editors/lfhex/metadata.xml b/app-editors/lfhex/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/app-editors/lfhex/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/app-editors/lpe/Manifest b/app-editors/lpe/Manifest
new file mode 100644
index 000000000000..2deb360f2635
--- /dev/null
+++ b/app-editors/lpe/Manifest
@@ -0,0 +1,6 @@
+AUX lpe-1.2.6.13-make-382.patch 794 SHA256 95f7bdbd2f5394e1f1d9c14c88c3ebb96bb0e55976cf0711b4f01709ad7bb8f8 SHA512 1f40434c9f545fca31461f0fa5bf801478d9c3c96a1a24905425b5471d88ad03178ff72d9a8f9459f3ceb2000a3d857f0d9d38cd2fd745952707991101d8283f WHIRLPOOL 1a1e383dc8e8d5098387141b3382f14dfe78e07da58312e22ac9cc09f5af691d6c3960f949802539d37890158647aa2f22cb436bf414d77489a5f1a35a5d5dfc
+DIST lpe_1.2.6.13-0.1.tar.gz 600523 SHA256 7828147e8b8bcf518e6d7f2241b480fe3bbaa1285d3c7c74b8c7160222d76816 SHA512 f02769baca396285fe8f98c934f6274185d2bf8b08f3b007cbfa4e6aadb455abfb7cab13d53a3d1fa71ea0c29c4222784dcbc9a7508501c7d1839671503758ed WHIRLPOOL 885c1eaace95a47a78017a3ccf04c6cb053e14978f153270608175a6d3c5e0332d95556a0cafeb9f41abcaf36fe77acd36bf9ebf618bfbfe92de711cbf2262cc
+EBUILD lpe-1.2.6.13.ebuild 1221 SHA256 ac0133ef2051a2ec49fb23037af7dd0823804466ea4924861eb232ef60b6c60f SHA512 e5f9dc2c5d6011aa33f374de7fdf48a35b088d70d57266d62fc358366f2827a47e2fefa575baf6c3b9e051c7fb11bd20a16f8508b4f78ff4d9dd78e0e2c3bc33 WHIRLPOOL 4d226f81d668a0de24b8fc3056f1c52ecd6cc6dcb761a01821e7517773fa3007c8213dbf49154d99242938a8898c05ab1d165cbfd4dbc3ca40e2ef6dcc05f708
+MISC ChangeLog 2555 SHA256 058ae8956fd2b96bad228b497e89459d4732b50f510faaf77d648dca3dff07b9 SHA512 e06492a7753d4ec71dc5a23516c9d62d6bd5127f8bb2f92f48ede86a763e4ef15a62364a51d22e703033d806f1914cfb5f3cf7ea2282ec9a2b620a9bca19243d WHIRLPOOL 24f7c672771e0349012eff15fc9931f3a15abce15eedab958c359a27b41c1a67011073a030dbb5a8008f768971f22a8d59c5b090f8fae6eb1f481855cc1ab417
+MISC ChangeLog-2015 3144 SHA256 92c3b643128a0cbf104fd90352e5171d8a57429a03c532f8a7862681eefe45e1 SHA512 181f6a25b3ee0105a0f81b3fc5a5185af603817dc58a41969177fdaea6bdac0e3251f8d08e0cbaf75a91c68939ebac3168f2f34f115c75fc5fc05a8976065858 WHIRLPOOL e49137a3a15858837a7dc957dfcedaa729af1ea02c78905f8498fbe4398464e43462a1f847f7d83a2ac1b3e7f04d382168656a2b09f9adf1d89c90f0f83a5f06
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/app-editors/lpe/files/lpe-1.2.6.13-make-382.patch b/app-editors/lpe/files/lpe-1.2.6.13-make-382.patch
new file mode 100644
index 000000000000..f8d96ef087e9
--- /dev/null
+++ b/app-editors/lpe/files/lpe-1.2.6.13-make-382.patch
@@ -0,0 +1,23 @@
+http://bugs.gentoo.org/335324
+
+--- intl/Makefile.in
++++ intl/Makefile.in
+@@ -202,12 +202,12 @@
+ # The dependency for intlh.inst is different in gettext and all other
+ # packages. Because we cannot you GNU make features we have to solve
+ # the problem while rewriting Makefile.in.
+-@GT_YES@intlh.inst: intlh.inst.in ../config.status
+-@GT_YES@ cd .. \
+-@GT_YES@ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= \
+-@GT_YES@ $(SHELL) ./config.status
+-@GT_NO@.PHONY: intlh.inst
+-@GT_NO@intlh.inst:
++intlh.inst: intlh.inst.in ../config.status
++ cd .. \
++ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= \
++ $(SHELL) ./config.status
++.PHONY: intlh.inst
++intlh.inst:
+
+ # Tell versions [3.59,3.63) of GNU make not to export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/app-editors/lpe/lpe-1.2.6.13.ebuild b/app-editors/lpe/lpe-1.2.6.13.ebuild
new file mode 100644
index 000000000000..0f35e809adb0
--- /dev/null
+++ b/app-editors/lpe/lpe-1.2.6.13.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="a lightweight programmers editor"
+HOMEPAGE="https://packages.qa.debian.org/l/lpe.html"
+SRC_URI="mirror://debian/pool/main/l/${PN}/${PN}_${PV}-0.1.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc sparc x86 ~x86-linux"
+IUSE="nls"
+
+RDEPEND=">=sys-libs/slang-2.2.4
+ >=sys-libs/ncurses-5.7-r7"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-make-382.patch
+
+ # You should add PKG_CHECK_MODULES(NCURSES, ncurses) to configure.in and
+ # replace -lncurses in src/Makefile.am with $(NCURSES_LIBS)
+ # That is, if you need eautoreconf
+ sed -i \
+ -e "s:-lncurses:$($(tc-getPKG_CONFIG) --libs-only-l ncurses):" \
+ src/Makefile.in || die
+}
+
+src_configure() {
+ econf $(use_enable nls)
+}
+
+src_install() {
+ emake \
+ libdir="${ED}/usr/$(get_libdir)" \
+ prefix="${ED}/usr" \
+ datadir="${ED}/usr/share" \
+ mandir="${ED}/usr/share/man" \
+ infodir="${ED}/usr/share/info" \
+ docdir="${ED}/usr/share/doc/${PF}" \
+ exdir="${ED}/usr/share/doc/${PF}/examples" \
+ install
+
+ prune_libtool_files --all
+}
diff --git a/app-editors/lpe/metadata.xml b/app-editors/lpe/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/app-editors/lpe/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/app-editors/metadata.xml b/app-editors/metadata.xml
new file mode 100644
index 000000000000..195f8754aab5
--- /dev/null
+++ b/app-editors/metadata.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The app-editors category contains text editors.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie app-editors enthält Texteditoren.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría app-editors contiene editores de textos.
+ </longdescription>
+ <longdescription lang="ja">
+ app-editorsカテゴリにはテキストエディタが含まれます。
+ </longdescription>
+ <longdescription lang="nl">
+ De app-editors categorie bevat text editors.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm app-editors chứa các trình soạn thảo văn bản.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria app-editors contiene editor di testo.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria app-editors contém editores de texto.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria app-editors zawiera edytory tekstu.
+ </longdescription>
+</catmetadata>
+
diff --git a/app-editors/mg/Manifest b/app-editors/mg/Manifest
new file mode 100644
index 000000000000..aae7303f8ba5
--- /dev/null
+++ b/app-editors/mg/Manifest
@@ -0,0 +1,9 @@
+DIST mg-20161005.tar.gz 140797 SHA256 b7fcb5136a6783ca24c8463ab0852fc1f26bdb2bb1c24759b2c51ccfc46c5e61 SHA512 3ec2e10d0cd427f9543818690fdd469b64e6eb5d061a221eb7b18566dfb1965ee68cea7c83e4e4ae9b2d6027a0803aacfc815390571ac550bc0b7004b46972ae WHIRLPOOL 4cfb72313b8181acc40b1cd06269f2162198302d2e088a7b04263af4b127071adbe9725aed2ecdf6cd3854a9e9c9df9173a75bf7a83cf2492a644448df9d297d
+DIST mg-20170401.tar.gz 140895 SHA256 0a3608b17c153960cb1d954ca3b62445a77c0c1a18aa5c8c58aba9f6b8d62aab SHA512 729b2d9ba7eb236cc8bcbcf3ac7604494980cbf2fd21dc5a3856011bc830eee75be29a246b0bf3dfa6c7a03fcf69a902ae50d05ea371ac4d0225a4da6089d7ce WHIRLPOOL ecdd49bcf8a220dc7a8c57de322c354437b646db231177e3640ae0840ea49ddd9bfc8d9ecaff6e4c9c3ca140e173b14bc52411bebfe586cac144f412d07b59ca
+DIST mg-20170828.tar.gz 141028 SHA256 1f8886ab62e9abfeed7fafbb5ea71685450a34c5d0a243461bd2c5425161368d SHA512 1ea16b1dd5e9e08abf9fcf0889130b4f39d36872bb64df85470a9ced1db87c0eecb18cc6e8c3c5a04f9049d58ef4492d5a88cf3502ec3351abccb7bddfb90c14 WHIRLPOOL ebe1559c385788f53c4e49a22713fec5bdf22837b854310543995bf2988d0c946ba1386f33eb84a44b10e9811dacc176079dc930562060ecaaec9b3232a781f5
+EBUILD mg-20161005.ebuild 1045 SHA256 0d0e91a456c6dc48be22bff2e653369eb23873765a691244b7a3e62faa5db872 SHA512 dd63f9da0f28961aac1f02d09d021f661d5bf2bfb8baf3509aabf1855bae9d41efd09847d1cdd8c84985146083192b7b3212038180ebe3b2e1256ffed0fa43fb WHIRLPOOL 713b4cc0468427bed55a5d1b6a84b0199b4fd50b91975f919fca7d7933a06727acf970b1c5e10e60fd97f461af935a6deb050a4a10019823afabccaabe01063b
+EBUILD mg-20170401.ebuild 1049 SHA256 284ee443b6851307de27281cfd8ee8badca2a5bbf7a9e5024f07732b7af7f8fe SHA512 07f1fb17b5fa763434c9bbd061de2d063e436c7ddc8e1806f18d775bd334c40e2b6928f489f0b4953c4b4e2d50e1f543f141458e3f3e5793469b49b76f46f603 WHIRLPOOL f76c244367137864b6491b6341775c07823ab4a2563aad04bf7b2b6e0838b86bb1a6c17bd4841ea2c481b8bd1cbed83fe90dfa2adf0ea39a22105bbe5b1a4ac0
+EBUILD mg-20170828.ebuild 1052 SHA256 3cd84d77e46a82d28179567e11892e133e2eca73406d8d7de26a42243d38981b SHA512 793e3e975a2a74f6160c7ecd1a9f0536b097671a32e772706aaae34865e14c5678cfad9625fa66ca9a987220316502bdbc7ae6d226d1e483342de7a5c04c3fe6 WHIRLPOOL df1f0b2745c4d7f819500e37dac76defded865e8d049c3b0f912762580a96c7f415d8fae889b3144dd3351e79e933d0bc37345798c1b5437f92708b0655f0682
+MISC ChangeLog 5076 SHA256 ae4dafbcb6e834d3d4e0c8954c3991b3fb7572d76c1a349436c65bdc7e56ef53 SHA512 60a6c18aa4a0b5d86362a917d4a866273c13349e8fb8f2e213403b3821771535a28d65f8bb65a51da860f889e283b375eea79d80b7a79e0dce5c25eae5db69cb WHIRLPOOL 1ece1c1f5714be68251471a7f86a48171e4b651ff57a288968851ef192f24dd230be70c8ef4b3dab417e676b32c7dfcb00fa365399675c8d7e42955320f46c53
+MISC ChangeLog-2015 13105 SHA256 cace27ac64a502179a77766381bf98b078859762af50daa67b9d131d2d75d4f7 SHA512 057a9507201db1602e4fd0df06332ea74582c318102efafcc8a2750aa6f17157ce82288cb0e03b5cb62c04f812dd55e0e5158598d7dce98c37e04d891385662e WHIRLPOOL dbb8b7881a97248ed45ac6ab4fcbf09df44bd5dd91ba630dd2b883ea82ec62614c2ce979cd5de329e8a76b7b1d6a52661b2f4a0583b11830984f41b5730f0b79
+MISC metadata.xml 384 SHA256 3ad78578cf5ca1e761ef628698f06d12a55ebf532e40985aa62ad7f7176d44b3 SHA512 70e2db47bef37d81a3842797ea0e12081e697b6e06bd25fbecfb64acf58b80e60a0c31508bf1c93879734af0921a47654fd489f08301b2517757741e0c6d25cf WHIRLPOOL add3c462182b70d77d8fff5a47fc2f428e8ec6a3ed9f23053d5a63fb01c7e0533db07f08671de6f56a3bf9fa3306a927fa39637ece186453440610060e80b86d
diff --git a/app-editors/mg/metadata.xml b/app-editors/mg/metadata.xml
new file mode 100644
index 000000000000..00486d5abd44
--- /dev/null
+++ b/app-editors/mg/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>emacs@gentoo.org</email>
+ <name>Gentoo Emacs project</name>
+</maintainer>
+<longdescription>
+ mg is Micro GNU/emacs, this is a portable version of the mg maintained by
+ the OpenBSD team.
+</longdescription>
+</pkgmetadata>
diff --git a/app-editors/mg/mg-20161005.ebuild b/app-editors/mg/mg-20161005.ebuild
new file mode 100644
index 000000000000..5bdc5464637e
--- /dev/null
+++ b/app-editors/mg/mg-20161005.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="MicroGnuEmacs, a port from the BSDs"
+HOMEPAGE="http://homepage.boetes.org/software/mg/"
+SRC_URI="http://homepage.boetes.org/software/mg/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ppc ~ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="livecd"
+
+RDEPEND="sys-libs/ncurses:0
+ !elibc_FreeBSD? ( >=dev-libs/libbsd-0.7.0 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ # fix path to tutorial in man page
+ sed -i -e "s:doc/mg/:doc/${PF}/:" mg.1 || die
+
+ eapply_user
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+}
+
+src_install() {
+ dobin mg
+ doman mg.1
+ dodoc README tutorial
+ # don't compress the tutorial, otherwise mg cannot open it
+ docompress -x /usr/share/doc/${PF}/tutorial
+}
+
+pkg_postinst() {
+ if use livecd; then
+ [[ -e ${EROOT}/usr/bin/emacs ]] || ln -s mg "${EROOT}"/usr/bin/emacs
+ fi
+}
diff --git a/app-editors/mg/mg-20170401.ebuild b/app-editors/mg/mg-20170401.ebuild
new file mode 100644
index 000000000000..1e9f490454da
--- /dev/null
+++ b/app-editors/mg/mg-20170401.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="MicroGnuEmacs, a port from the BSDs"
+HOMEPAGE="http://homepage.boetes.org/software/mg/"
+SRC_URI="http://homepage.boetes.org/software/mg/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="alpha ~amd64 arm hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="livecd"
+
+RDEPEND="sys-libs/ncurses:0
+ !elibc_FreeBSD? ( >=dev-libs/libbsd-0.7.0 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ # fix path to tutorial in man page
+ sed -i -e "s:doc/mg/:doc/${PF}/:" mg.1 || die
+
+ eapply_user
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+}
+
+src_install() {
+ dobin mg
+ doman mg.1
+ dodoc README tutorial
+ # don't compress the tutorial, otherwise mg cannot open it
+ docompress -x /usr/share/doc/${PF}/tutorial
+}
+
+pkg_postinst() {
+ if use livecd; then
+ [[ -e ${EROOT}/usr/bin/emacs ]] || ln -s mg "${EROOT}"/usr/bin/emacs
+ fi
+}
diff --git a/app-editors/mg/mg-20170828.ebuild b/app-editors/mg/mg-20170828.ebuild
new file mode 100644
index 000000000000..b1e3a3d101fc
--- /dev/null
+++ b/app-editors/mg/mg-20170828.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="MicroGnuEmacs, a port from the BSDs"
+HOMEPAGE="http://homepage.boetes.org/software/mg/"
+SRC_URI="http://homepage.boetes.org/software/mg/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="livecd"
+
+RDEPEND="sys-libs/ncurses:0
+ !elibc_FreeBSD? ( >=dev-libs/libbsd-0.7.0 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ # fix path to tutorial in man page
+ sed -i -e "s:doc/mg/:doc/${PF}/:" mg.1 || die
+
+ eapply_user
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+}
+
+src_install() {
+ dobin mg
+ doman mg.1
+ dodoc README tutorial
+ # don't compress the tutorial, otherwise mg cannot open it
+ docompress -x /usr/share/doc/${PF}/tutorial
+}
+
+pkg_postinst() {
+ if use livecd; then
+ [[ -e ${EROOT}/usr/bin/emacs ]] || ln -s mg "${EROOT}"/usr/bin/emacs
+ fi
+}
diff --git a/app-editors/moe/Manifest b/app-editors/moe/Manifest
new file mode 100644
index 000000000000..46b4d0f3a187
--- /dev/null
+++ b/app-editors/moe/Manifest
@@ -0,0 +1,8 @@
+AUX moe-1.6-tinfo.patch 375 SHA256 a728fcb78a41007bc91f1a1fccf5dd4b5157ca8716f1ded70c2dba653406b43f SHA512 38e64527e1970f8586ae94e15295d79fdb427daa21e079c6bf6434e515285bc3de35cb7d966eecfd0cbc33b73bcc1550cdd8d29646c373e710553f26f32ced5b WHIRLPOOL 347498c69b91959e930d59ce952863b310648558150f387fd993076414fc921831e0f0b6120a24084a56eacd188ec52024912af60f9e458ce0bb67e013916219
+DIST moe-1.6.tar.lz 75108 SHA256 8cafd9c97b40ff002b4cb66f63eb149f5fd9b9b964c5b6306458d0a68f89dcb1 SHA512 0aa717c865d41f73adccddbb158ae67b611a64f24258bcce5a68fea8175d28d6db55a0fb356fb294bfe3106c0973607b1fcc76ceee17d360e30eb80650ec043b WHIRLPOOL b7e55d187185f9eccea731619f4a6c4816125b2514eec68a202d00c33efb687945f025ef45ad5c49af67719486283b35a5f4639f476f86be7c5f9d58580f31ae
+DIST moe-1.7.tar.lz 79644 SHA256 33ba66f948353c105232e9c8b2da8dc7b6ddc8cdff4beb3e3f55d78bc3acf1bb SHA512 e961291c55e5b2af09e3b5cb0d07b557b0af1f6143339390e5b06f4bdebace888f7c3866ec936bd20f25b23cc96fdfdb7bd3da6690e684ec24513b106ae53b49 WHIRLPOOL e909d66efc4a5cf7ed7d968e29ed7ed92b995fa0bdca38c4348396a1dae4b8e06968b012762f6bef3fbf0ec1dd736024ff466f649a47b9da67e67d97ae0e634c
+EBUILD moe-1.6.ebuild 701 SHA256 797ca24dd85528e17ef7bb268790926d41d32c55a671256cb36681ebc6c12810 SHA512 b9f6abb7ae2e1f67a16e8695a2299adb56b1808af618a107029f28fd4336e561785c125996cc0153e056080a3933695f5af05d391d20100268de8dc2e85e571e WHIRLPOOL 64b161fd09ac659cdd9da86f5347ace6a32516265f2ef5e9ef7641a76a4c6209f89e1b46958d0b06eafda0c803546e82b65c663eeea8ccd4c2cb01a6b5814edd
+EBUILD moe-1.7.ebuild 709 SHA256 d98ad2b853b880cb6629f7abdf37ec7352b4f5177c83a8932b7e390a485bb2f2 SHA512 9902f5fc4e2deabf8d6000cba4d2303366ea8f385ed3cbbbd3dddc1b42e35aba19dbf35a0e6bb1e0223d8b726cf7ce492b3b1224626b06ad1db54aa70627718c WHIRLPOOL 21eaf8847b0776a4628ea5f8c93ce50d27331a05fb81c1787997dc78aa325f783262d84f0232d60fc4951e0560966fd02bf60f41d8c8ed9c44c21a689f97965a
+MISC ChangeLog 2395 SHA256 0cbcd643f8c2ae5a0bed6cd24e4ed7cdef299a788df49e0c430f0c2c8d5b1fb9 SHA512 cade913f385f58a1f5641db8d03791494d6c7727354ba32d7d05d3e063129028fc5d5080f845879f4dc5c9143eff81d09cc76c518a050394756e38360f9fc3b3 WHIRLPOOL ae5b51cb59b9bbb014c60b462d79e21828a18dbf0fcb99e86046a919f0bfe03507b67924441019e6f91654eed2e1d0ecd758fe5931f7a8f5cc087777d83c7af9
+MISC ChangeLog-2015 1524 SHA256 fbdc36fd5d47ae734d72ade85a78c1ba914b7a9edb247dcf29919c9b96cbd0b1 SHA512 1dfafacfb89f3d5a462742f6432efe0e4cf608dd18a7b8f362550dd16a00863416919bb03e37e45a17f54936125f230602b2280f01690da688360586c9b1f660 WHIRLPOOL 240c768d873056197af41e96acab56b75e07b5bb3e511f8959b4fdea9a696f954b017b4c88bc1014d3073bf895755c05fffb6874355f2775d4c7235880de04ec
+MISC metadata.xml 247 SHA256 64fa6e004283ec9c7c82020cbc85d00830055dd07e10168910790032835f1918 SHA512 1196d40f8c6a3b2e5d0c0590c2f56b53ead40ec8d9eb2c125094eb961b092558c51baa89f237fda24cf1050e85c78dd7419e1d217c2feceb32c6296990ac54c3 WHIRLPOOL bbb7889017fbafda809c794922710ed36f6b6f55531012e47f4527dfefd6bffd8cbf7bff427950ede08d47401c3d6b44a3d6fb66fd55e03485d8374ab8d7bf88
diff --git a/app-editors/moe/files/moe-1.6-tinfo.patch b/app-editors/moe/files/moe-1.6-tinfo.patch
new file mode 100644
index 000000000000..6b91460e8e53
--- /dev/null
+++ b/app-editors/moe/files/moe-1.6-tinfo.patch
@@ -0,0 +1,11 @@
+--- Makefile.in.orig 2014-11-03 00:33:57.152593136 +0300
++++ Makefile.in 2014-11-03 00:34:21.121592519 +0300
+@@ -4,7 +4,7 @@
+ INSTALL_PROGRAM = $(INSTALL) -m 755
+ INSTALL_DATA = $(INSTALL) -m 644
+ INSTALL_DIR = $(INSTALL) -d -m 755
+-LIBS = -lncurses
++LIBS = $(shell ${PKG_CONFIG} --libs ncurses)
+ SHELL = /bin/sh
+
+ edobjs = basic_buffer.o block.o buffer.o buffer_handle.o \
diff --git a/app-editors/moe/metadata.xml b/app-editors/moe/metadata.xml
new file mode 100644
index 000000000000..6698a4ab7883
--- /dev/null
+++ b/app-editors/moe/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 type="person">
+ <email>zlogene@gentoo.org</email>
+ <name>Mikle Kolyada</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-editors/moe/moe-1.6.ebuild b/app-editors/moe/moe-1.6.ebuild
new file mode 100644
index 000000000000..ddf33ecaa77f
--- /dev/null
+++ b/app-editors/moe/moe-1.6.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs unpacker
+
+DESCRIPTION="A powerful and user-friendly console text editor"
+HOMEPAGE="https://www.gnu.org/software/moe/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.lz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 arm x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ sys-libs/ncurses
+"
+DEPEND="
+ $(unpacker_src_uri_depends)
+ ${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ tc-export CXX PKG_CONFIG
+ sed -i \
+ -e "/^CXXFLAGS=/d" \
+ -e "/^LDFLAGS=/d" \
+ -e "/^CXX=/d" \
+ configure || die "sed on configure failed"
+
+ epatch_user
+
+ epatch "${FILESDIR}/${P}-tinfo.patch"
+}
diff --git a/app-editors/moe/moe-1.7.ebuild b/app-editors/moe/moe-1.7.ebuild
new file mode 100644
index 000000000000..ef8c23261ece
--- /dev/null
+++ b/app-editors/moe/moe-1.7.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs unpacker
+
+DESCRIPTION="A powerful and user-friendly console text editor"
+HOMEPAGE="https://www.gnu.org/software/moe/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.lz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ sys-libs/ncurses
+"
+DEPEND="
+ $(unpacker_src_uri_depends)
+ ${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ tc-export CXX PKG_CONFIG
+ sed -i \
+ -e "/^CXXFLAGS=/d" \
+ -e "/^LDFLAGS=/d" \
+ -e "/^CXX=/d" \
+ configure || die "sed on configure failed"
+
+ epatch_user
+
+ epatch "${FILESDIR}/${PN}-1.6-tinfo.patch"
+}
diff --git a/app-editors/mousepad/Manifest b/app-editors/mousepad/Manifest
new file mode 100644
index 000000000000..cb7d159972ea
--- /dev/null
+++ b/app-editors/mousepad/Manifest
@@ -0,0 +1,5 @@
+DIST mousepad-0.4.0.tar.bz2 578483 SHA256 60114431eac8db6bb6ce18bd38f1630cccb684375b97a445a1b6fd619848d132 SHA512 5196abd04268d1ace118dc485b72bfcfb7f9175eeaf52bc97c08c1646371d26401403a3bb199d882380bcb998547c65af9bd054f0365afd846c0ad74d3c3b1fe WHIRLPOOL dd087f38d75836d28cdae3a851d2ede0246a66db104710bab919928d32b63e470c95d77ff09c34c92e90322f14d5f85f83dc913acc529b8dd95ad8bc2712b9c1
+EBUILD mousepad-0.4.0.ebuild 965 SHA256 45924436af74706c4f7c9cfdd792485616ad352a85e225cd57bfba6406db9553 SHA512 4ed9ee026c2334e30f8996ee6863e592f5242f750afc4b17c61cca669b27e5b06da6b208b4fc54644eef60c72b8849da33a914ecc8fd0dde9a945272fcc749fb WHIRLPOOL 453fa0f234af7594db130c112061c8d8b22dd84083f540df03ed14464dd479bd8ea99ca59139b995588dc6ec9b1762037fa80d8155b5bc7ef1b5c395f6c6fa88
+MISC ChangeLog 2796 SHA256 ee80c49930fca8cebe44a703a7b3d63ff846fd000dfbfdb433e1ee203f54ae45 SHA512 6eb50d93a96cbad2a89e74a38e92908939656bda5bbf5b17cd71bc33adda207c3b968e62b5df522b69b94850cae575d3daef356c4fda3a5cbb46460cda90749d WHIRLPOOL 35c272818abcbb486f832ee44d9f20ba9230f84826b5e1f79071d0439936e1fe4bcdfb466580bf0378e621882550e58613376dd3c83f8913e27db123624bc3c2
+MISC ChangeLog-2015 1235 SHA256 d1f0bccacd966ca905eca8e65caba068db0aaecbbfb31340051cddc7b5a79c8d SHA512 38e914e4a5dd92171ddfc0940cc22cd1b05cb638c7d52ca6f0499d752da94c20fa170a78d839ddafaab90ac0b10c6615da958d6f15320126e5c6681b8e83f06c WHIRLPOOL ebf347a08f7b7948fc7a96944e11e3b4fc6670969ecb491f1b9ebafff3b074d435899bee594058fa8ed843052b2244f94c0ae9c38e2da26b12637edd4ed171d1
+MISC metadata.xml 320 SHA256 3e8e6859cd8fa1f731dcc99a7b5968a0e85ef8647c47ad4744701da297b14578 SHA512 b19e2d6452858183bf2b4c11c9f7230fa56aeea86af72584c12c0c5bd21a883ac96f8f409b27e7ba802d2ef109d49a5b7eb652529e6d753483a35f74aac84caa WHIRLPOOL 3013c7106ceae00a2693ce7a35dbfd109eb8e50453200b07dae765ec3a19b57dd196c8a5ad0168f319a10f03252f4e48c4e0f240289dd81fd6dd1212cf8044bc
diff --git a/app-editors/mousepad/metadata.xml b/app-editors/mousepad/metadata.xml
new file mode 100644
index 000000000000..e44ea637f98f
--- /dev/null
+++ b/app-editors/mousepad/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>xfce@gentoo.org</email>
+ <name>XFCE Team</name>
+ </maintainer>
+ <use>
+ <flag name="gtk3">Use GTK+3 instead of GTK+2</flag>
+ </use>
+</pkgmetadata>
diff --git a/app-editors/mousepad/mousepad-0.4.0.ebuild b/app-editors/mousepad/mousepad-0.4.0.ebuild
new file mode 100644
index 000000000000..e144702820d0
--- /dev/null
+++ b/app-editors/mousepad/mousepad-0.4.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit gnome2-utils xfconf
+
+DESCRIPTION="GTK+-based editor for the Xfce Desktop Environment"
+HOMEPAGE="https://goodies.xfce.org/projects/applications/start"
+SRC_URI="mirror://xfce/src/apps/${PN}/${PV%.*}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug dbus gtk3"
+
+RDEPEND=">=dev-libs/glib-2.30:2=
+ dbus? ( >=dev-libs/dbus-glib-0.100:0= )
+ !gtk3? ( >=x11-libs/gtk+-2.24:2=
+ x11-libs/gtksourceview:2.0= )
+ gtk3? ( x11-libs/gtk+:3=
+ x11-libs/gtksourceview:3.0= )"
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+pkg_setup() {
+ XFCONF=(
+ $(xfconf_use_debug)
+ $(use_enable dbus)
+ $(use_enable gtk3)
+ )
+
+ DOCS=( AUTHORS ChangeLog NEWS README TODO )
+}
+
+pkg_preinst() {
+ xfconf_pkg_preinst
+ gnome2_schemas_savelist
+}
+
+pkg_postinst() {
+ xfconf_pkg_postinst
+ gnome2_schemas_update
+}
diff --git a/app-editors/nano/Manifest b/app-editors/nano/Manifest
new file mode 100644
index 000000000000..aa221812cc90
--- /dev/null
+++ b/app-editors/nano/Manifest
@@ -0,0 +1,11 @@
+AUX nano-2.8.7-minimal_compile_fix.patch 1206 SHA256 d41784c63824b540ff1aa440017d6f47c4144029861f23105a86367bea7db441 SHA512 1ebf43ca322c0cd49b7a3ffaad33057d4ac899c7a930569df124e54f713b28ece7e01aa625db91ece0126a07228256d188154bce464bd4c1a97945d686d9f0f3 WHIRLPOOL 19337bcc28603097c94b4907576be204106daf4d72813a5850f7942ca97eda7af3456df28301f41b92063920c303da86965fd5649c354b989b1201e7130d81da
+DIST nano-2.7.5.tar.gz 2031723 SHA256 226be22f46359007aa76499623739f4a7d5fa294a2899c70b21bc09b8d81d907 SHA512 a5332a361c4d0d9d0a77ebb11cdcffa976bee4981d5665b2732a9e6d7a2997566d9345332f2e6e5cb74f0a81be4413f54ca8f719962ab10b32d7ec1c9271973c WHIRLPOOL bd28cde96896ad531bb499504bb1438b358b64e7f6080fa24758bee7c222b4d1df0c395d480d0cef54de8e78a7e457db403a9ef2d6a56033e65299b6d7f95634
+DIST nano-2.8.6.tar.gz 2812564 SHA256 3725aa145880223b2c4d0b3fa08220e1633f2d341917f49d028e067fc12cce49 SHA512 51a16cae4fd753a575690974759bd6277f81487c04b9e15018770f4333bcce2ef7f15c4d241973a3f993fc54978e5830fe59a59e2af1acd8639e81cb905219c5 WHIRLPOOL d3eabdf47feed6849e0d67adaa9ac102f298ddf415c039c5f9a62a72afe6aa8763a8d3164e58844a235c940840fbfe35af43722f52a819fd2a02e8065c58f175
+DIST nano-2.8.7.tar.gz 2822417 SHA256 a49a888c20f09a17c7f1049d1fda619472c92eedcb25fd4be5f088a51cc392a5 SHA512 511b57f8fe82872827829bca91f7a8666a6ee75924cf2c853332ddd0467abf281c6d3cbaa5dd208c579cbace5bef23d36bd7b62be116aa2175262ed1d15aaf79 WHIRLPOOL 41a2f048478285dad936df7aeb799ec9c5b4a3e508a7132e5b1d71e1d98026bf34feed27fe055410b4d920c9b8ffdc6e1fb0fc16dbc583028fcf271cace69328
+EBUILD nano-2.7.5.ebuild 2281 SHA256 233373018127a4cc0866a5d9e303432a2df01982ceca33c24f204e21983ad167 SHA512 65c76d2744ad7bfc0fca1b0c9dcab041777a542c921f0526de18251b64bf32d12fe71fb8fd050eea4da074b56c12f0086036065e7ecdda4dd5b66b06382d81a0 WHIRLPOOL ee3d3f2183ed22e3ebe196079cef6e9f8ff3e927606278176a68238cfbe0e0dbb0c20a0d7f678d67759906bf20ce7da61d6ab9559873616b1cb3f4aad96020fc
+EBUILD nano-2.8.6.ebuild 2265 SHA256 32de0494432f075068b2acbcb64b636756eeedf322d391f4b370ee95ae67c5d1 SHA512 9d4902c001632ba5139d4dc14ad8faba1f1bd133c85092682376ec8835c5b491fdc2cdb1abda2aca311fbc57e72b93ab6f38923e067c744e02c6ee6795357d9e WHIRLPOOL 7cd8c3e95a27ef7719c88411063337e6b6d6615d311568ec3935e9a9d1e8717eab3f778709b6d464b3a339446bdbf1de5fe87d55c6a7b19dfdb4db8816a24268
+EBUILD nano-2.8.7.ebuild 2332 SHA256 0bcee63ce082ca3e455c80868ae0cf6bbf4ac3ce158c4a8b8f2ccbe4a00cd34d SHA512 9ba6668cb8a0de5e83b0e57d966a83ad7c10636835e92349ebd15bfcaea7aecaa431c71dfe743c7345b8a53b9a640176d68f323c9e5f86978ef3b67d2afd5bc1 WHIRLPOOL 9c4e253c4f2e0c98e5874efb8be59fa54724ebb568adb293d326ff2f38c71d3873d2bada3bfb4e7e01f13c99075b65e1505137d56f66b1fe22309c99f266790e
+EBUILD nano-9999.ebuild 2265 SHA256 32de0494432f075068b2acbcb64b636756eeedf322d391f4b370ee95ae67c5d1 SHA512 9d4902c001632ba5139d4dc14ad8faba1f1bd133c85092682376ec8835c5b491fdc2cdb1abda2aca311fbc57e72b93ab6f38923e067c744e02c6ee6795357d9e WHIRLPOOL 7cd8c3e95a27ef7719c88411063337e6b6d6615d311568ec3935e9a9d1e8717eab3f778709b6d464b3a339446bdbf1de5fe87d55c6a7b19dfdb4db8816a24268
+MISC ChangeLog 9118 SHA256 2b695fd512e80590a25bbe7e113f537900b8bf3387e00c939aeaa03115b25c37 SHA512 5f108ff3320be5ef76383bdd9c584a15f594b283d262acbe14ade9d2b7b58e7e269087afdbcfcd9967d837f4207d4f2cefd1f983eecdab372b2d247deb8a22c7 WHIRLPOOL 6cad609527ef2b76ab9b188cdcaadc98120e7bc93f2a63b3f957b37e0bddd59d9292258d8668e1ba33b12d08c1b179fda64fe611f20b32d7b69ba824efda2e07
+MISC ChangeLog-2015 37891 SHA256 7fd955021db0b6548c869b8f117bc473462f8fcdab64cf6c4253d5afd20ff512 SHA512 22346fa0910dd7d55d5f2115c43b4695ace54de4631478708a14a2c2fc37aff79c313dbd273fee6b9fb238bad8f24493826e362383ab75d8077e7312feb48e80 WHIRLPOOL ebf9bcdc7746753a65a66346aa151b350ea7b58e087e9a6e1580256828748516b30919808a5a884d875ad65ee3aa73293bdd20ae3ca274f3c3dd4fb83e19ea6a
+MISC metadata.xml 1509 SHA256 212d4eb3e53d8531fb4b034cb2c807a62b7aca7ccd86241121d6ff423c3f394a SHA512 68724d5be1e14dca54b129ef5fd99068cfe856ad6cd79d34f655100f84a0c4290131ad75888926fa73d4801a98533a3d8fa269816cda4c6891dc10d3a898cc3a WHIRLPOOL c72495ab0f1739e08d9ef7c11cd80b6df26d7d07e0613962d3ed44a076924ab8fd27e4c5ae8b65934b88a558eaad70d4260299f21a5bff208c53f9044d6b575c
diff --git a/app-editors/nano/files/nano-2.8.7-minimal_compile_fix.patch b/app-editors/nano/files/nano-2.8.7-minimal_compile_fix.patch
new file mode 100644
index 000000000000..ef8d74910164
--- /dev/null
+++ b/app-editors/nano/files/nano-2.8.7-minimal_compile_fix.patch
@@ -0,0 +1,38 @@
+From 28cfab7580c42a6d6c9c5d787ce736094fd51a0c Mon Sep 17 00:00:00 2001
+From: Benno Schulenberg <bensberg@telfort.nl>
+Date: Tue, 29 Aug 2017 19:28:44 +0200
+Subject: tweaks: fix compilation when configured with --enable-tiny
+
+When moving the cursor to the top-left corner, it is not necessary
+to compute leftedge because firstcolumn IS the relevant leftedge.
+
+Reported-by: Jordi Mallach <jordi@debian.org>
+---
+ src/move.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/move.c b/src/move.c
+index d138356..ce276e4 100644
+--- a/src/move.c
++++ b/src/move.c
+@@ -121,7 +121,7 @@ void do_page_up(void)
+ openfile->current = openfile->edittop;
+ openfile->current_y = 0;
+
+- leftedge = leftedge_for(openfile->firstcolumn, openfile->edittop);
++ leftedge = openfile->firstcolumn;
+ target_column = 0;
+ } else
+ get_edge_and_target(&leftedge, &target_column);
+@@ -152,7 +152,7 @@ void do_page_down(void)
+ openfile->current = openfile->edittop;
+ openfile->current_y = 0;
+
+- leftedge = leftedge_for(openfile->firstcolumn, openfile->edittop);
++ leftedge = openfile->firstcolumn;
+ target_column = 0;
+ } else
+ get_edge_and_target(&leftedge, &target_column);
+--
+cgit v1.0-41-gc330
+
diff --git a/app-editors/nano/metadata.xml b/app-editors/nano/metadata.xml
new file mode 100644
index 000000000000..707af361447c
--- /dev/null
+++ b/app-editors/nano/metadata.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>vapier@gentoo.org</email>
+</maintainer>
+<longdescription>
+GNU nano - an enhanced clone of the Pico text editor.
+
+The nano project was started because of a few "problems" with the
+wonderfully easy-to-use and friendly Pico text editor.
+
+First and foremost is its license: the Pine suite does not use the
+GPL or a GPL-friendly license, and has unclear restrictions on
+redistribution. Because of this, Pine and Pico are not included with
+many GNU/Linux distributions. Also, other features (like goto line
+number or search and replace) were unavailable until recently or
+require a command line flag. Yuck.
+
+nano aims to solve these problems by emulating the functionality of
+Pico as closely as possible while addressing the problems above and
+perhaps providing other extra functionality.
+</longdescription>
+<use>
+ <flag name="justify">Enable justify/unjustify functions for text formatting.</flag>
+ <flag name="debug">
+ Enable debug messages and assert warnings. Note that these will all be sent
+ straight to stderr rather than some logging facility.
+ </flag>
+ <flag name="magic">
+ Add magic file support (sys-apps/file) to automatically detect appropriate syntax highlighting
+ </flag>
+ <flag name="minimal">
+ Disable all fancy features, including ones that otherwise have a dedicated
+ USE flag (such as spelling).
+ </flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/nano/nano-2.7.5.ebuild b/app-editors/nano/nano-2.7.5.ebuild
new file mode 100644
index 000000000000..0b2e3ecb9995
--- /dev/null
+++ b/app-editors/nano/nano-2.7.5.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils flag-o-matic
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.sv.gnu.org/nano.git"
+ inherit git-r3 autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="https://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+ KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="https://www.nano-editor.org/ https://wiki.gentoo.org/wiki/Nano/Basics_Guide"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="debug justify +magic minimal ncurses nls slang +spell static unicode"
+
+LIB_DEPEND=">=sys-libs/ncurses-5.9-r1:0=[unicode?]
+ sys-libs/ncurses:0=[static-libs(+)]
+ magic? ( sys-apps/file[static-libs(+)] )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang[static-libs(+)] ) )"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig
+ static? ( ${LIB_DEPEND} )"
+
+src_prepare() {
+ if [[ ${PV} == "9999" ]] ; then
+ eautoreconf
+ fi
+ epatch_user
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ local myconf=()
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf \
+ --bindir="${EPREFIX}"/bin \
+ --htmldir=/trash \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable magic libmagic) \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ $(usex ncurses --without-slang $(use_with slang)) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/trash
+
+ dodoc doc/sample.nanorc
+ docinto html
+ dodoc doc/faq.html
+ insinto /etc
+ newins doc/sample.nanorc nanorc
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED}"/etc/nanorc || die
+ fi
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-2.8.6.ebuild b/app-editors/nano/nano-2.8.6.ebuild
new file mode 100644
index 000000000000..4463df57a3e0
--- /dev/null
+++ b/app-editors/nano/nano-2.8.6.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit eutils flag-o-matic
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.sv.gnu.org/nano.git"
+ inherit git-r3 autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="https://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="https://www.nano-editor.org/ https://wiki.gentoo.org/wiki/Nano/Basics_Guide"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="debug justify +magic minimal ncurses nls slang +spell static unicode"
+
+LIB_DEPEND=">=sys-libs/ncurses-5.9-r1:0=[unicode?]
+ sys-libs/ncurses:0=[static-libs(+)]
+ magic? ( sys-apps/file[static-libs(+)] )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang[static-libs(+)] ) )"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig
+ static? ( ${LIB_DEPEND} )"
+
+src_prepare() {
+ if [[ ${PV} == "9999" ]] ; then
+ eautoreconf
+ fi
+ default
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ local myconf=(
+ --bindir="${EPREFIX}"/bin
+ --htmldir=/trash
+ $(use_enable !minimal color)
+ $(use_enable !minimal multibuffer)
+ $(use_enable !minimal nanorc)
+ --disable-wrapping-as-root
+ $(use_enable magic libmagic)
+ $(use_enable spell speller)
+ $(use_enable justify)
+ $(use_enable debug)
+ $(use_enable nls)
+ $(use_enable unicode utf8)
+ $(use_enable minimal tiny)
+ $(usex ncurses --without-slang $(use_with slang))
+ )
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/trash
+
+ dodoc doc/sample.nanorc
+ docinto html
+ dodoc doc/faq.html
+ insinto /etc
+ newins doc/sample.nanorc nanorc
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED%/}"/etc/nanorc || die
+ fi
+
+ dodir /usr/bin
+ dosym ../../bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-2.8.7.ebuild b/app-editors/nano/nano-2.8.7.ebuild
new file mode 100644
index 000000000000..49a313cd1936
--- /dev/null
+++ b/app-editors/nano/nano-2.8.7.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit eutils flag-o-matic
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.sv.gnu.org/nano.git"
+ inherit git-r3 autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="https://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="https://www.nano-editor.org/ https://wiki.gentoo.org/wiki/Nano/Basics_Guide"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="debug justify +magic minimal ncurses nls slang +spell static unicode"
+
+LIB_DEPEND=">=sys-libs/ncurses-5.9-r1:0=[unicode?]
+ sys-libs/ncurses:0=[static-libs(+)]
+ magic? ( sys-apps/file[static-libs(+)] )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang[static-libs(+)] ) )"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig
+ static? ( ${LIB_DEPEND} )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-minimal_compile_fix.patch" #629510
+)
+
+src_prepare() {
+ default
+ if [[ ${PV} == "9999" ]] ; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ local myconf=(
+ --bindir="${EPREFIX}"/bin
+ --htmldir=/trash
+ $(use_enable !minimal color)
+ $(use_enable !minimal multibuffer)
+ $(use_enable !minimal nanorc)
+ --disable-wrapping-as-root
+ $(use_enable magic libmagic)
+ $(use_enable spell speller)
+ $(use_enable justify)
+ $(use_enable debug)
+ $(use_enable nls)
+ $(use_enable unicode utf8)
+ $(use_enable minimal tiny)
+ $(usex ncurses --without-slang $(use_with slang))
+ )
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/trash
+
+ dodoc doc/sample.nanorc
+ docinto html
+ dodoc doc/faq.html
+ insinto /etc
+ newins doc/sample.nanorc nanorc
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED%/}"/etc/nanorc || die
+ fi
+
+ dodir /usr/bin
+ dosym ../../bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-9999.ebuild b/app-editors/nano/nano-9999.ebuild
new file mode 100644
index 000000000000..4463df57a3e0
--- /dev/null
+++ b/app-editors/nano/nano-9999.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit eutils flag-o-matic
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.sv.gnu.org/nano.git"
+ inherit git-r3 autotools
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="https://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="https://www.nano-editor.org/ https://wiki.gentoo.org/wiki/Nano/Basics_Guide"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="debug justify +magic minimal ncurses nls slang +spell static unicode"
+
+LIB_DEPEND=">=sys-libs/ncurses-5.9-r1:0=[unicode?]
+ sys-libs/ncurses:0=[static-libs(+)]
+ magic? ( sys-apps/file[static-libs(+)] )
+ nls? ( virtual/libintl )
+ !ncurses? ( slang? ( sys-libs/slang[static-libs(+)] ) )"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig
+ static? ( ${LIB_DEPEND} )"
+
+src_prepare() {
+ if [[ ${PV} == "9999" ]] ; then
+ eautoreconf
+ fi
+ default
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ local myconf=(
+ --bindir="${EPREFIX}"/bin
+ --htmldir=/trash
+ $(use_enable !minimal color)
+ $(use_enable !minimal multibuffer)
+ $(use_enable !minimal nanorc)
+ --disable-wrapping-as-root
+ $(use_enable magic libmagic)
+ $(use_enable spell speller)
+ $(use_enable justify)
+ $(use_enable debug)
+ $(use_enable nls)
+ $(use_enable unicode utf8)
+ $(use_enable minimal tiny)
+ $(usex ncurses --without-slang $(use_with slang))
+ )
+ case ${CHOST} in
+ *-gnu*|*-uclibc*) myconf+=( "--with-wordbounds" ) ;; #467848
+ esac
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/trash
+
+ dodoc doc/sample.nanorc
+ docinto html
+ dodoc doc/faq.html
+ insinto /etc
+ newins doc/sample.nanorc nanorc
+ if ! use minimal ; then
+ # Enable colorization by default.
+ sed -i \
+ -e '/^# include /s:# *::' \
+ "${ED%/}"/etc/nanorc || die
+ fi
+
+ dodir /usr/bin
+ dosym ../../bin/nano /usr/bin/nano
+}
diff --git a/app-editors/ne/Manifest b/app-editors/ne/Manifest
new file mode 100644
index 000000000000..c6f0b0d6067b
--- /dev/null
+++ b/app-editors/ne/Manifest
@@ -0,0 +1,6 @@
+DIST ne-3.0.1.tar.gz 1193311 SHA256 92b646dd2ba64052e62deaa4239373821050a03e1b7d09d203ce04f2adfbd0e4 SHA512 3750140a49c7424e92e509137d5f31d305b81d41939a2578f6a26065216ebd1aa444b0e8d7e79dd09cc525e1055cda4d756f21ec810f860063d2eec861ea8273 WHIRLPOOL e0630f7e077400393ee5734989327369f2d646c88a32313f193b34e7f44d7962b368a5deb5876cfe997e34295078b44fba1672cfb257ef3dc08a8597a5708a5b
+EBUILD ne-3.0.1-r1.ebuild 1111 SHA256 a300bcde964b1d54fe60dbe769f6977b015a8cce16d88fbd67c40ec5157e2f86 SHA512 bfba8a0823cefb302869bc454b83ab1e1deb23d2eff52d779a453d20b3a250327e9e5003aca3c1d75c7048572f2ddbd2869af9687ff12b4667d110bbeb9bb7ec WHIRLPOOL 98f2d5a2fe2b710c4842320cb38e0e05f4839aebc2673627afcb8e4a8ec1baee9acfcc7ae99b97d6f4433dbf94d8435d021143885088bb0b8e0af8948e915cf0
+EBUILD ne-3.0.1.ebuild 1101 SHA256 8b34a221b0208af80ad884988819ff1af99ccffd48fcb97e7d53486030fa9c4a SHA512 13bafaacb212b744bc41aa91e42c56a3ca266f564f98ddf974005eba08924d71aab27364e8777811030884717585bd9952bc7e1402bd02ada7082ec777cfa621 WHIRLPOOL 7286de612032910c0b84ec3949909fffa6d7a05fe0c8ef378a81d0bc3be5d5fafb9bc6c2870077ade1fe1906bcc33d595f1a6ec3bd097509e7bddf0b873f4867
+MISC ChangeLog 2941 SHA256 f45b71f7128d2dec2bcf611975a8d961a9166b0dc7967cf7f013b921f76837fd SHA512 5dd3683dff2481ab514e31d00694c4e79adfc5b444f0a4ef4610b03400d12e2b0a7a134dc941c8ab1e849831bc339784e1a1d56a231e3af973a1fa37df272cbd WHIRLPOOL e8fe1f9a236f187927ec71a9e0585442783b599b640860543c3b479bde0e5a35433d09013fc5de26353d1f4c9c73235a1695fc6f936ef2130cd023e1d3d8cbc8
+MISC ChangeLog-2015 6623 SHA256 d196f62f390526c00352c77e510de527cc5f301a29326f4c14f4b92a24a5da12 SHA512 5b22baf0de6591e047f9cc46624ab17bec359742b67a1c137af336987d09dbf162d24a0e3fe0efa123529950c64d406a5c85f38843f6c6dff00d21f9d4af677d WHIRLPOOL 6f420309db651efe52690da819ad1b6b2451a5ebb690d078bac7f6adb0ae9f844084547db101525dce53a2847537c005eb4275c4d977e842d20ad7574da6ad3c
+MISC metadata.xml 249 SHA256 6619963d2d2ea271e4d62f50c0c66b8e0b009157c31d6dc1b762bbb12a08c195 SHA512 40160ace781dd306147377e882be12701aa73684143080278ac55ba434185e3673aeadad11224743eefa70962ed005db0337e2ef2b5dbe6eb9fdec01bf72283c WHIRLPOOL ff4a1979205a1c9668cb80bef450114bf3258843a81573cfd2638f1e6b0f85edc75ef79c14c0c11e92a6b75022cb69cc6df1275e9c1a12e0ef8a5b32502938a3
diff --git a/app-editors/ne/metadata.xml b/app-editors/ne/metadata.xml
new file mode 100644
index 000000000000..1d1325e157ac
--- /dev/null
+++ b/app-editors/ne/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+<use>
+<flag name="tinfo">Link against libtinfo from sys-libs/ncurses</flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/ne/ne-3.0.1-r1.ebuild b/app-editors/ne/ne-3.0.1-r1.ebuild
new file mode 100644
index 000000000000..9d68adc0f1a0
--- /dev/null
+++ b/app-editors/ne/ne-3.0.1-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="the nice editor, easy to use for the beginner and powerful for the wizard"
+HOMEPAGE="http://ne.di.unimi.it/"
+SRC_URI="${HOMEPAGE}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="tinfo"
+
+DEPEND="sys-libs/ncurses:0=[tinfo?]"
+
+RDEPEND="
+ ${DEPEND}
+ dev-lang/perl
+"
+
+HTML_DOCS=( doc/html/. )
+
+src_prepare() {
+ default
+ sed -i -e 's/-O3//' src/makefile || die
+}
+
+src_configure() {
+ local sedflags="s|-lcurses|-lncurses|g"
+ use tinfo && sedflags="s|-lcurses|-ltinfo|g"
+ sed -i -e "${sedflags}" src/makefile || die
+}
+
+src_compile() {
+ append-cflags -std=c11
+ emake -C src CC="$(tc-getCC)" \
+ NE_GLOBAL_DIR="/usr/share/${PN}" \
+ OPTS="${CFLAGS}" \
+ "${PN}"
+}
+
+src_install() {
+ dobin "src/${PN}"
+
+ insinto "/usr/share/${PN}/syntax"
+ doins syntax/*.jsf
+
+ doman "doc/${PN}.1"
+ dodoc CHANGES README.md NEWS doc/*.{txt,pdf,texinfo} doc/default.*
+}
diff --git a/app-editors/ne/ne-3.0.1.ebuild b/app-editors/ne/ne-3.0.1.ebuild
new file mode 100644
index 000000000000..3641ef3cf258
--- /dev/null
+++ b/app-editors/ne/ne-3.0.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="the nice editor, easy to use for the beginner and powerful for the wizard"
+HOMEPAGE="http://ne.di.unimi.it/"
+SRC_URI="${HOMEPAGE}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE=tinfo
+
+DEPEND="
+ >=sys-libs/ncurses-5.2[tinfo?]
+"
+RDEPEND="
+ ${DEPEND}
+ dev-lang/perl
+"
+
+src_prepare() {
+ sed -i -e 's/-O3//' src/makefile || die
+}
+
+src_configure() {
+ if use tinfo; then
+ sed -i -e 's|-lcurses|-ltinfo|g' src/makefile || die
+ else
+ sed -i -e 's|-lcurses|-lncurses|g' src/makefile || die
+ fi
+}
+
+src_compile() {
+ append-cflags -std=c11
+ emake -C src CC="$(tc-getCC)" \
+ NE_GLOBAL_DIR="/usr/share/ne" \
+ OPTS="${CFLAGS}" \
+ ne || die
+}
+
+src_install() {
+ dobin src/ne
+
+ insinto /usr/share/ne/syntax
+ doins syntax/*.jsf
+
+ doman doc/ne.1
+ dohtml -r doc/html/.
+ dodoc CHANGES README.md NEWS doc/*.{txt,pdf,texinfo} doc/default.*
+}
diff --git a/app-editors/nedit/Manifest b/app-editors/nedit/Manifest
new file mode 100644
index 000000000000..444279971f1e
--- /dev/null
+++ b/app-editors/nedit/Manifest
@@ -0,0 +1,10 @@
+AUX nedit-5.6-40_Pointer_to_Integer.patch 10379 SHA256 3e78b6a2cff1b04e9b25a8ee3a328b37cdb342ee65169941f1c5c4c9ebe0326b SHA512 263fd5109c5fc16ea8328ad7855b8ab74e6e744d89374d68bc7db495a3295888f3599d2e9d6653097b4f7b68bae968a5deb7240a565f8fa1beba451b8b1f1b55 WHIRLPOOL c56aad4249ec31f2a1439f63a95ca78e53201d3835d8ab0e69c4f4ba68365f5c0555228baa5b9397a8e7b01c05f91cfacdf4e0df29c6ad8a5d98d945198d07b9
+AUX nedit-5.6-format.patch 453 SHA256 8fca053f62dd939b781d1c212198c35608907b1bae941596a223bb5c062b28e8 SHA512 50e93d7f297ae0b10bec34176c707cc61d4c205e1293cb02b94f85359604864df8698bf35725f007b9c9eb585d0cf18c2498b6d7f55960fabb93b3d98bfe02b8 WHIRLPOOL d8f99dab2f7339d9b817a8e469bcc23d9d169937c0e928270609455df14348361efa03fbe3ba96a2f985ccca10480314426a7f8324bca9c7485f4bcfdc164332
+AUX nedit-5.6-ldflags.patch 800 SHA256 9b796c337d5f98adb2ca0216f675ac06006022e6402bf065dbbf4d76660c6843 SHA512 ebe6add4f5b73ffc33fe65ddbb085373109e150c8f246610de1bb3273042451959bde4a5ec675261f4da1c9853256314c0e78c972bc0c61e206d523b92adf29e WHIRLPOOL 5bd961aa6bd066733e8e623781680c6d7a5f0140be075b6bb2cfa2a138e538e59ccb49c1985f0d02ffa2d255b2d9132c1f3fcc4f9191c332c4f21b1329e5b7a8
+AUX nedit-5.6-security.patch 1944 SHA256 8a8251bceee1b04487531aa52384bfc5fb6b4e8d420fd7eae9001a0a4f3c1531 SHA512 437ff658c4ae4918fa73dee97773d9b8bf9b2dbfd4af3752ab3bdb735ded2508e449170e2aeea43d9bfbdb48e75d52154a847cb9a3a59e7f4b6ad0ec9027bfcd WHIRLPOOL 4728d3b2a6f2977440b0c57c6ab3369b2b3530eefe66f64ff4a362d7e0c4071ab63aa642955ed2effcd57b24b045dbdbec4a1f98ee3a84da4ac1a33ad6056590
+DIST nedit-5.6a-src.tar.gz 1353454 SHA256 53677983cb6c91c5da1fcdcac90f7f9a193f08fa13b7a6330bc9ce21f9461eed SHA512 4d4dcd661f67a4a40549f26774c0ffb90f9059d2e06b0db2becef6848273fe76b7b68fae42319c0badd3c637d96c8dae129b4d0dfa7adccc00ee76f9366e27d0 WHIRLPOOL 12e8494f23d8c67cdfae9e76bbcd7fb2f0c9a8dd037b2036c0f4a218df4c17c6754a234789a80dda209fdddb6b6e0184600a953a5c758ce5c112013df37103f7
+DIST nedit.png.xz 14000 SHA256 7ca585000d4a47872aac1c955b7d6656f41479bd7ead426859304f68ccc862db SHA512 69d5dbea98a5b4065e73cc5c846125c5059e3a50ee1fa3ec4ef99f8f868cf3729ffe73510729534289a91d1a54683b84b6a37bc640c60205be709732dfcb01e3 WHIRLPOOL d689e59d29417272b2f0d6cd8c806c06f7465ff9ca9266b4f2e639775e537d46d8de0f5b47e00ed123b9fcc63db692c20ae6546cece48af6603b0eec570ebede
+EBUILD nedit-5.6-r1.ebuild 2022 SHA256 b28017e3dc03af98bb05fc7d7b0f54e0044d39df7afb097408c8e4a85cb2a20b SHA512 1b6364c8818b5e24452e63cd19b822fd19947b6d07cc0ceeb750a54b7e513845579cdb773da0b4444c2005d2a70ceaf9137721f3dd29bb35d3b037acb370f947 WHIRLPOOL 173d3f59284122406dd1634cfc5849fd30fd871f3d3173a2df5583bca574163a10f9f0203ef67f2b2878f81b25ceec70e63a7f2dc308f5fba788f7952a242a7f
+MISC ChangeLog 5374 SHA256 52483c4f69a601bdd30773dd1c9c08ea8d5eca5f8f56194d36a9b35a79d1a62b SHA512 17e37f533e15132e68cd580d24b0cd23ab95fda68da628229c1e6f0b0cca5de64fe98303dd036393b42b08db25f48f1bed515e77a08867df3ebb1db6d8b1b2d7 WHIRLPOOL 06cbe01d84f8d2912ae9897d1a0d6ecf4a8af08947920a6a93081ca7e2df6dd627aa2eed7b81f5b4700cfeb8f012628038d4e3da85c3de0e2879ae4d015cc616
+MISC ChangeLog-2015 10683 SHA256 bcb4ddcd271146b3485910d72272633e644e4967e42fd3eed5036e0418a64836 SHA512 b062a3b812cbae6f9b7804e34e99fe4f3319bc8ee84c30fb79651323f87e3e8375c186f3838e941416a2781b49130da44b70868e2b733099d9e9092459012d82 WHIRLPOOL b63ba8814c6b35890b3c82294458c4b20700200b1f63b21bd51bfff742412cca719a5e23d74ac449d5a0c1ce9a5c4c6d64dc9ecebd23d94c6e8bd738e6e656f6
+MISC metadata.xml 292 SHA256 33bacc366feb77a19fb4d68a5b7e8862744237dfb0f090d38ef3aa4c12d05610 SHA512 0c0cc8a66f8640a0239d6b971d6faf8ca3b5a50909306b47c02b6f5b401b71534e6965cec6cfb38a47bdb09cb871cd217f9316220b6d7ca2a1019b27bf2f7699 WHIRLPOOL 289ec85b6223c5b457c4c21d37480288c9a742198aa0c7b027cc8e4caa732375b3b2777bb3df1ff7afe680527e21d7232aa738ef844f7e41a45463b7918950ba
diff --git a/app-editors/nedit/files/nedit-5.6-40_Pointer_to_Integer.patch b/app-editors/nedit/files/nedit-5.6-40_Pointer_to_Integer.patch
new file mode 100644
index 000000000000..9081ea340619
--- /dev/null
+++ b/app-editors/nedit/files/nedit-5.6-40_Pointer_to_Integer.patch
@@ -0,0 +1,261 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+# Description: fix warning: cast from pointer to integer of different size
+# Origin: https://sourceforge.net/tracker/download.php?group_id=11005&atid=311005&file_id=340993&aid=2846694
+# Bug: https://sourceforge.net/tracker/?func=detail&atid=311005&aid=2846694&group_id=11005
+# Author: Jack Howarth <jwhowarth@users.sourceforge.net>
+
+@DPATCH@
+diff -urNad nedit-5.6~cvs20081118~/Xlt/SlideC.c nedit-5.6~cvs20081118/Xlt/SlideC.c
+--- nedit-5.6~cvs20081118~/Xlt/SlideC.c 2009-09-15 21:27:12.000000000 +0200
++++ nedit-5.6~cvs20081118/Xlt/SlideC.c 2009-09-15 22:05:42.000000000 +0200
+@@ -28,6 +28,7 @@
+ #endif
+
+ #include <Xm/XmP.h>
++#include <stdint.h>
+
+ #include "SlideCP.h"
+
+@@ -116,14 +117,14 @@
+ /* notify that initialize called XtArgsProc */ NULL,
+ /* NULL XtProc */ NULL,
+ /* NULL XtPointer */ NULL,
+-/* NULL Cardinal */ (Cardinal)NULL,
++/* NULL Cardinal */ (Cardinal)(uintptr_t)NULL,
+ /* resources for subclass fields XtResourceList */ resources,
+ /* number of entries in resources Cardinal */ XtNumber(resources),
+ /* resource class quarkified XrmClass */ NULLQUARK,
+-/* NULL Boolean */ (Boolean)NULL,
+-/* NULL XtEnum */ (XtEnum)NULL,
+-/* NULL Boolean */ (Boolean)NULL,
+-/* NULL Boolean */ (Boolean)NULL,
++/* NULL Boolean */ (Boolean)(uintptr_t)NULL,
++/* NULL XtEnum */ (XtEnum)(uintptr_t)NULL,
++/* NULL Boolean */ (Boolean)(uintptr_t)NULL,
++/* NULL Boolean */ (Boolean)(uintptr_t)NULL,
+ /* free data for subclass pointers XtWidgetProc */ destroy,
+ /* NULL XtProc */ NULL,
+ /* NULL XtProc */ NULL,
+diff -urNad nedit-5.6~cvs20081118~/source/file.c nedit-5.6~cvs20081118/source/file.c
+--- nedit-5.6~cvs20081118~/source/file.c 2009-09-15 21:27:12.000000000 +0200
++++ nedit-5.6~cvs20081118/source/file.c 2009-09-15 22:06:42.000000000 +0200
+@@ -52,6 +52,7 @@
+ #include <limits.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <string.h>
+ #include <unistd.h>
+
+@@ -1914,7 +1915,7 @@
+ if (XmToggleButtonGetState(w)) {
+ XtPointer userData;
+ XtVaGetValues(w, XmNuserData, &userData, NULL);
+- *(int*) clientData = (int) userData;
++ *(int*) clientData = (int) (uintptr_t) userData;
+ }
+ }
+
+diff -urNad nedit-5.6~cvs20081118~/source/highlight.c nedit-5.6~cvs20081118/source/highlight.c
+--- nedit-5.6~cvs20081118~/source/highlight.c 2009-09-15 21:27:12.000000000 +0200
++++ nedit-5.6~cvs20081118/source/highlight.c 2009-09-15 22:07:06.000000000 +0200
+@@ -49,6 +49,7 @@
+ #include <limits.h>
+ #include <math.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <string.h>
+ #ifdef VMS
+ #include "../util/VMSparam.h"
+@@ -512,7 +513,7 @@
+ if (!pattern) {
+ return NULL;
+ }
+- return (void*)pattern->userStyleIndex;
++ return (void*)(uintptr_t)pattern->userStyleIndex;
+ }
+
+ /*
+diff -urNad nedit-5.6~cvs20081118~/source/macro.c nedit-5.6~cvs20081118/source/macro.c
+--- nedit-5.6~cvs20081118~/source/macro.c 2009-09-15 21:27:12.000000000 +0200
++++ nedit-5.6~cvs20081118/source/macro.c 2009-09-15 22:07:27.000000000 +0200
+@@ -60,6 +60,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <string.h>
+ #include <ctype.h>
+ #include <errno.h>
+@@ -2924,7 +2925,7 @@
+ readStringArg(argList[i], &btnLabel, btnStorage, errMsg);
+ btn = XtVaCreateManagedWidget("mdBtn", xmPushButtonWidgetClass, dialog,
+ XmNlabelString, s1=XmStringCreateSimple(btnLabel),
+- XmNuserData, (XtPointer)(i+1), NULL);
++ XmNuserData, (XtPointer)(uintptr_t)(i+1), NULL);
+ XtAddCallback(btn, XmNactivateCallback, dialogBtnCB, window);
+ XmStringFree(s1);
+ }
+@@ -2965,7 +2966,7 @@
+ return; /* shouldn't happen */
+ if (XtClass(w) == xmPushButtonWidgetClass) {
+ XtVaGetValues(w, XmNuserData, &userData, NULL);
+- retVal.val.n = (int)userData;
++ retVal.val.n = (int)(uintptr_t)userData;
+ } else
+ retVal.val.n = 1;
+ retVal.tag = INT_TAG;
+@@ -3101,7 +3102,7 @@
+ readStringArg(argList[i], &btnLabel, btnStorage, errMsg);
+ btn = XtVaCreateManagedWidget("mdBtn", xmPushButtonWidgetClass, dialog,
+ XmNlabelString, s1=XmStringCreateSimple(btnLabel),
+- XmNuserData, (XtPointer)(i+1), NULL);
++ XmNuserData, (XtPointer)(uintptr_t)(i+1), NULL);
+ XtAddCallback(btn, XmNactivateCallback, stringDialogBtnCB, window);
+ XmStringFree(s1);
+ }
+@@ -3155,7 +3156,7 @@
+ returned in w. */
+ if (XtClass(w) == xmPushButtonWidgetClass) {
+ XtVaGetValues(w, XmNuserData, &userData, NULL);
+- btnNum = (int)userData;
++ btnNum = (int)(uintptr_t)userData;
+ } else
+ btnNum = 1;
+
+@@ -3680,7 +3681,7 @@
+ readStringArg(argList[i], &btnLabel, btnStorage, errMsg);
+ btn = XtVaCreateManagedWidget("mdBtn", xmPushButtonWidgetClass, dialog,
+ XmNlabelString, s1=XmStringCreateSimple(btnLabel),
+- XmNuserData, (XtPointer)(i+1), NULL);
++ XmNuserData, (XtPointer)(uintptr_t)(i+1), NULL);
+ XtAddCallback(btn, XmNactivateCallback, listDialogBtnCB, window);
+ XmStringFree(s1);
+ }
+@@ -3760,7 +3761,7 @@
+ returned in w. */
+ if (XtClass(w) == xmPushButtonWidgetClass) {
+ XtVaGetValues(w, XmNuserData, &userData, NULL);
+- btnNum = (int)userData;
++ btnNum = (int)(uintptr_t)userData;
+ } else
+ btnNum = 1;
+
+diff -urNad nedit-5.6~cvs20081118~/source/preferences.c nedit-5.6~cvs20081118/source/preferences.c
+--- nedit-5.6~cvs20081118~/source/preferences.c 2009-09-15 21:27:12.000000000 +0200
++++ nedit-5.6~cvs20081118/source/preferences.c 2009-09-15 22:07:47.000000000 +0200
+@@ -58,6 +58,7 @@
+ #include <ctype.h>
+ #include <pwd.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <string.h>
+ #include <stdio.h>
+ #include <unistd.h>
+@@ -2296,7 +2297,7 @@
+ XtVaGetValues(menu, XmNchildren, &items, XmNnumChildren, &nItems, NULL);
+ for (n=0; n<(int)nItems; n++) {
+ XtVaGetValues(items[n], XmNuserData, &userData, NULL);
+- XmToggleButtonSetState(items[n], (int)userData == mode, False);
++ XmToggleButtonSetState(items[n], (int)(uintptr_t)userData == mode, False);
+ }
+ }
+ }
+@@ -5148,7 +5149,7 @@
+ xmToggleButtonGadgetClass, menu,
+ XmNlabelString, s1=XmStringCreateSimple(LanguageModes[i]->name),
+ XmNmarginHeight, 0,
+- XmNuserData, (void *)i,
++ XmNuserData, (void *)(uintptr_t)i,
+ XmNset, window->languageMode==i, NULL);
+ XmStringFree(s1);
+ XtAddCallback(btn, XmNvalueChangedCallback, setLangModeCB, window);
+@@ -5169,14 +5170,14 @@
+ XtVaGetValues(w, XmNuserData, &mode, NULL);
+
+ /* If the mode didn't change, do nothing */
+- if (window->languageMode == (int)mode)
++ if (window->languageMode == (int)(uintptr_t)mode)
+ return;
+
+ /* redo syntax highlighting word delimiters, etc. */
+ /*
+ reapplyLanguageMode(window, (int)mode, False);
+ */
+- params[0] = (((int)mode) == PLAIN_LANGUAGE_MODE) ? "" : LanguageModes[(int)mode]->name;
++ params[0] = (((int)(uintptr_t)mode) == PLAIN_LANGUAGE_MODE) ? "" : LanguageModes[(int)(uintptr_t)mode]->name;
+ XtCallActionProc(window->textArea, "set_language_mode", NULL, params, 1);
+ }
+
+diff -urNad nedit-5.6~cvs20081118~/source/regularExp.c nedit-5.6~cvs20081118/source/regularExp.c
+--- nedit-5.6~cvs20081118~/source/regularExp.c 2009-09-15 21:27:12.000000000 +0200
++++ nedit-5.6~cvs20081118/source/regularExp.c 2009-09-15 22:08:16.000000000 +0200
+@@ -88,6 +88,7 @@
+ #include <limits.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <string.h>
+
+ #ifdef HAVE_DEBUG_H
+@@ -4157,7 +4158,7 @@
+ table [*c] = 1;
+ }
+
+- table [(int) NULL] = 1; /* These */
++ table [(int)(uintptr_t) NULL] = 1; /* These */
+ table [(int) '\t'] = 1; /* characters */
+ table [(int) '\n'] = 1; /* are always */
+ table [(int) ' ' ] = 1; /* delimiters. */
+diff -urNad nedit-5.6~cvs20081118~/source/userCmds.c nedit-5.6~cvs20081118/source/userCmds.c
+--- nedit-5.6~cvs20081118~/source/userCmds.c 2009-09-15 21:27:12.000000000 +0200
++++ nedit-5.6~cvs20081118/source/userCmds.c 2009-09-15 22:08:47.000000000 +0200
+@@ -49,6 +49,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <string.h>
+ #include <ctype.h>
+ #ifdef VMS
+@@ -1116,7 +1117,7 @@
+ XtVaGetValues(items[n], XmNsubMenuId, &subMenu, NULL);
+ dimSelDepItemsInMenu(subMenu, menuList, nMenuItems, sensitive);
+ } else {
+- index = (int)userData - 10;
++ index = (int)(uintptr_t)userData - 10;
+ if (index <0 || index >= nMenuItems)
+ return;
+ if (menuList[index]->input == FROM_SELECTION)
+@@ -1928,7 +1929,7 @@
+ XmNlabelString, st1,
+ XmNacceleratorText, st2,
+ XmNmnemonic, f->mnemonic,
+- XmNuserData, (XtPointer)(index+10), NULL);
++ XmNuserData, (XtPointer)(uintptr_t)(index+10), NULL);
+ XtAddCallback(btn, XmNactivateCallback, cbRtn, cbArg);
+ XmStringFree(st1);
+ XmStringFree(st2);
+diff -urNad nedit-5.6~cvs20081118~/util/prefFile.c nedit-5.6~cvs20081118/util/prefFile.c
+--- nedit-5.6~cvs20081118~/util/prefFile.c 2009-09-15 21:27:12.000000000 +0200
++++ nedit-5.6~cvs20081118/util/prefFile.c 2009-09-15 22:04:14.000000000 +0200
+@@ -38,6 +38,7 @@
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <string.h>
++#include <stdint.h>
+ #ifdef VMS
+ #include "VMSparam.h"
+ #else
+@@ -353,9 +354,9 @@
+ *(int *)rsrcDescrip->valueAddr = 0;
+ return False;
+ case PREF_STRING:
+- if ((int)strlen(string) >= (int)rsrcDescrip->arg)
++ if ((int)strlen(string) >= (int)(uintptr_t)rsrcDescrip->arg)
+ return False;
+- strncpy(rsrcDescrip->valueAddr, string, (int)rsrcDescrip->arg);
++ strncpy(rsrcDescrip->valueAddr, string, (int)(uintptr_t)rsrcDescrip->arg);
+ return True;
+ case PREF_ALLOC_STRING:
+ *(char **)rsrcDescrip->valueAddr = XtMalloc(strlen(string) + 1);
diff --git a/app-editors/nedit/files/nedit-5.6-format.patch b/app-editors/nedit/files/nedit-5.6-format.patch
new file mode 100644
index 000000000000..e2d6e17a6470
--- /dev/null
+++ b/app-editors/nedit/files/nedit-5.6-format.patch
@@ -0,0 +1,12 @@
+diff -up nedit-5.6/source/nc.c.format nedit-5.6/source/nc.c
+--- nedit-5.6/source/nc.c.format 2014-12-28 13:56:20.000000000 +0000
++++ nedit-5.6/source/nc.c 2015-06-17 07:30:25.617032345 +0100
+@@ -503,7 +503,7 @@ static int startServer(const char *messa
+
+ /* prompt user whether to start server */
+ if (!Preferences.autoStart) {
+- printf(message);
++ printf("%s", message);
+ do {
+ c = getc(stdin);
+ } while (c == ' ' || c == '\t');
diff --git a/app-editors/nedit/files/nedit-5.6-ldflags.patch b/app-editors/nedit/files/nedit-5.6-ldflags.patch
new file mode 100644
index 000000000000..4532c6251894
--- /dev/null
+++ b/app-editors/nedit/files/nedit-5.6-ldflags.patch
@@ -0,0 +1,17 @@
+--- source/Makefile.common 2004-03-21 15:25:56.000000000 +0100
++++ source/Makefile.common.new 2009-10-24 10:47:03.667835157 +0200
+@@ -21,12 +21,12 @@
+ # we only want natural rebuilds to regenerate the link date.
+ nedit: $(OBJS) ../util/libNUtil.a $(XMLLIB) $(XLTLIB)
+ $(CC) $(CFLAGS) -c linkdate.c
+- $(CC) $(CFLAGS) $(OBJS) linkdate.o $(XMLLIB) \
++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) linkdate.o $(XMLLIB) \
+ $(XLTLIB) ../util/libNUtil.a $(LIBS) -o $@
+
+ # Note LIBS isn't quite right here; it links unnecessarily against Motif
+ nc: nc.o server_common.o ../util/libNUtil.a
+- $(CC) $(CFLAGS) nc.o server_common.o ../util/libNUtil.a $(LIBS) -o $@
++ $(CC) $(CFLAGS) $(LDFLAGS) nc.o server_common.o ../util/libNUtil.a $(LIBS) -o $@
+
+ help.o: help.c
+ $(CC) $(CFLAGS) $(BIGGER_STRINGS) -c help.c -o $@
diff --git a/app-editors/nedit/files/nedit-5.6-security.patch b/app-editors/nedit/files/nedit-5.6-security.patch
new file mode 100644
index 000000000000..b24ef2355a3c
--- /dev/null
+++ b/app-editors/nedit/files/nedit-5.6-security.patch
@@ -0,0 +1,63 @@
+Index: nedit-5.5/source/file.c
+===================================================================
+--- nedit-5.5.orig/source/file.c 2004-08-24 11:37:24.000000000 +0200
++++ nedit-5.5/source/file.c 2010-03-27 18:44:01.000000000 +0100
+@@ -1314,7 +1314,7 @@
+ */
+ void PrintString(const char *string, int length, Widget parent, const char *jobName)
+ {
+- char tmpFileName[L_tmpnam]; /* L_tmpnam defined in stdio.h */
++ char *tmpFileName=strdup("/tmp/neditXXXXXX");
+ FILE *fp;
+ int fd;
+
+@@ -1325,14 +1325,10 @@
+ 1. Create a filename
+ 2. Open the file with the O_CREAT|O_EXCL flags
+ So all an attacker can do is a DoS on the print function. */
+- tmpnam(tmpFileName);
++ fd = mkstemp(tmpFileName);
+
+ /* open the temporary file */
+-#ifdef VMS
+- if ((fp = fopen(tmpFileName, "w", "rfm = stmlf")) == NULL)
+-#else
+- if ((fd = open(tmpFileName, O_CREAT|O_EXCL|O_WRONLY, S_IRUSR | S_IWUSR)) < 0 || (fp = fdopen(fd, "w")) == NULL)
+-#endif /* VMS */
++ if ((fp = fdopen(fd, "w")) == NULL)
+ {
+ DialogF(DF_WARN, parent, 1, "Error while Printing",
+ "Unable to write file for printing:\n%s", "OK",
+@@ -1346,7 +1342,7 @@
+
+ /* write to the file */
+ #ifdef IBM_FWRITE_BUG
+- write(fileno(fp), string, length);
++ write(fd, string, length);
+ #else
+ fwrite(string, sizeof(char), length, fp);
+ #endif
+@@ -1356,6 +1352,7 @@
+ "%s not printed:\n%s", "OK", jobName, errorString());
+ fclose(fp); /* should call close(fd) in turn! */
+ remove(tmpFileName);
++ free(tmpFileName);
+ return;
+ }
+
+@@ -1366,6 +1363,7 @@
+ "Error closing temp. print file:\n%s", "OK",
+ errorString());
+ remove(tmpFileName);
++ free(tmpFileName);
+ return;
+ }
+
+@@ -1377,6 +1375,7 @@
+ PrintFile(parent, tmpFileName, jobName);
+ remove(tmpFileName);
+ #endif /*VMS*/
++ free(tmpFileName);
+ return;
+ }
+
diff --git a/app-editors/nedit/metadata.xml b/app-editors/nedit/metadata.xml
new file mode 100644
index 000000000000..ec930b3c0db0
--- /dev/null
+++ b/app-editors/nedit/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 type="person">
+ <email>amynka@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">nedit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/nedit/nedit-5.6-r1.ebuild b/app-editors/nedit/nedit-5.6-r1.ebuild
new file mode 100644
index 000000000000..a5a952a8c2c8
--- /dev/null
+++ b/app-editors/nedit/nedit-5.6-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Multi-purpose text editor for the X Window System"
+HOMEPAGE="https://sourceforge.net/projects/nedit"
+SRC_URI="
+ https://downloads.sourceforge.net/project/${PN}/${PN}-source/${P}a-src.tar.gz
+ https://dev.gentoo.org/~jlec/distfiles/${PN}.png.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ~mips ppc sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+
+RDEPEND=">=x11-libs/motif-2.3:0
+ x11-libs/libXp
+ x11-libs/libXpm
+ x11-libs/libXt
+ x11-libs/libX11"
+DEPEND="${RDEPEND}
+ || ( dev-util/yacc sys-devel/bison )
+ dev-lang/perl"
+
+S="${WORKDIR}/${PN}-5.6"
+
+src_prepare() {
+ #respecting LDFLAGS, bug #208189
+ epatch \
+ "${FILESDIR}"/${P}-format.patch \
+ "${FILESDIR}"/${P}-ldflags.patch \
+ "${FILESDIR}"/${P}-40_Pointer_to_Integer.patch \
+ "${FILESDIR}"/${P}-security.patch
+ sed \
+ -e "s:bin/:${EPREFIX}/bin/:g" \
+ -i Makefile source/preferences.c source/help_data.h source/nedit.c Xlt/Makefile || die
+ sed \
+ -e "s:nc:neditc:g" -i doc/nc.pod || die
+ sed -i -e "s:CFLAGS=-O:CFLAGS=${CFLAGS}:" -e "s:check_tif_rule::" \
+ makefiles/Makefile.linux || die
+ sed -i -e "s:CFLAGS=-O:CFLAGS=${CFLAGS}:" \
+ -e "s:MOTIFDIR=/usr/local:MOTIFDIR=${EPREFIX}/usr:" \
+ -e "s:-lX11:-lX11 -lXmu -liconv:" \
+ -e "s:check_tif_rule::" \
+ makefiles/Makefile.macosx || die
+
+ epatch_user
+}
+
+src_compile() {
+ case "${CHOST}" in
+ *-darwin*)
+ emake CC="$(tc-getCC)" AR="$(tc-getAR)" macosx
+ ;;
+ *-linux*)
+ emake CC="$(tc-getCC)" AR="$(tc-getAR)" linux
+ ;;
+ esac
+ emake VERSION="NEdit ${PV}" -C doc all
+}
+
+src_install() {
+ dobin source/nedit
+ newbin source/nc neditc
+
+ make_desktop_entry "${PN}"
+ doicon "${WORKDIR}/${PN}.png"
+
+ newman doc/nedit.man nedit.1
+ newman doc/nc.man neditc.1
+
+ dodoc README ReleaseNotes ChangeLog
+ dodoc doc/nedit.doc doc/NEdit.ad doc/faq.txt
+ dohtml doc/nedit.html
+}
diff --git a/app-editors/neovim/Manifest b/app-editors/neovim/Manifest
new file mode 100644
index 000000000000..f182fd680508
--- /dev/null
+++ b/app-editors/neovim/Manifest
@@ -0,0 +1,24 @@
+AUX sysinit.vim 3408 SHA256 6c4a867208b0fde4816d31de6eb0aab97d658c032a972720a3021861054b2e12 SHA512 79b574ef42fbdd9c7fe26cffb1fadea3c31becf22f4be441acbdc75068a00f809a23f3a886e1cb6e30bb92c780bd04aea7b94f655f5c9f0d10c547fb10dd6e8a WHIRLPOOL a2487a8152bc05e3eb47aaac0911bc806815a228dda3be08551e1dfc36d89c01fe24f69f25445d66bcd1bab4c8281c30a375ae406dab10947a01f43b29179aff
+DIST neovim-0.1.0.tar.gz 7644722 SHA256 e8659558103b8f5a65aac84007a12e3581b32736321778028017fd07365cfff8 SHA512 b91e5ce5561155ecb3554f56fd4371219612ed3bc35dfeb60a225eb1dbe1473fce5f573eb996bdb01fd9569f764da86493108665c98dc7555fc44f410befb00a WHIRLPOOL 33d7b88588c214ddc670a7b3cffcfd855699e90b15c5e327ac0c17972fddb73bd519b1a8eb609f8454d6c463f18764f17bc1314b6b27448c5ac4607cdbce1551
+DIST neovim-0.1.1.tar.gz 7584560 SHA256 f39bcab23457c66ce0d67dcf8029743703f860413db0070f75d4f0ffad27c6c1 SHA512 7098bef9b81862f009789cff49a063d56d52d2f5c74e2fe68ad65c952c61c07eabeb6be150b369a5a179957f20187de3051caaa30b1e0cb4ec1e9e49b4e77333 WHIRLPOOL 9df0d6d59bdda2def2d8a393eec579f341256aff18c485cbb08c96637c597ee4df73a68a09105e776605194412274df2c82b78f7ca0e0bc1e20d4780fcdfa57f
+DIST neovim-0.1.2.tar.gz 7610804 SHA256 549881465eff82454660ae92d857d6ffa22383d45c94c46f3753fd1b0e699247 SHA512 dc03d92ff296f3ff55225d514479f1ac201a5a65eb8a6c02e71935ca44feb8ab15897b26a2ea46e53771f902c57b027d07e02f95673268ee060c6b77c4aa90e4 WHIRLPOOL ef1253249120c89c6efc15520263c889a9972df0c11e9353dedeee112c46ee9b92355fa3dabdf2d15cb7d0416681d1c8b55a9c02266048154f3afe104fdf4ff9
+DIST neovim-0.1.3.tar.gz 7636777 SHA256 7a86892d941b8829537ad46864b9a363d009ba56aeefdef2ee15ffa3eee5f92b SHA512 70c979fa06784cae4ded43c7fef7906c743729ed43a50003deec1d2ab7a800bfeab81c394893796a06d0f37811867062b2f766936c2a871f7d968b350729d4c8 WHIRLPOOL 1b3ccb589b3b2ee6d0e6bb1e2139c6ae508859637a0b075a6ccef5168386737713549abab37c7148d9d44d19be54a75587253144aaa1b4c5315408838cdaa4c5
+DIST neovim-0.1.4.tar.gz 7678847 SHA256 bb7e359eb83db20c5ec5984b470b249372b6dcd813ae2ccf72c01cce560f93e9 SHA512 e96e768703e4b842355a7543e5c9980b148b9b10cd032570fb420e3e1207102f9769fa6d36fba1d263ed9333d339eab387a196d4a8f724d89db2800097b89d37 WHIRLPOOL 6512b91931168c64fc34f626aeb409c8dc9612e00389a86c7fc07232fd8d26bd289d87dbbf8f01ac9297aa48c33682dc129ab936d0b24aee3c38627e863cc9e6
+DIST neovim-0.1.5.tar.gz 7813974 SHA256 f286ff7994ef1835272285425d65804063f112c91925fee3ef8865282a6d2b7e SHA512 3332b151d23b4f2b133b8f30f4af41686f7092cebbc7ab402b742be7b302bb6acbe9a01c2f475caad8d14a78dd3570109a5c447ab31f0b65ebf442631a31c6f9 WHIRLPOOL be7cd42978385c62af21cf06a48650e361454ff1c79aa783ed7a221e82d73bf3437a9876c9635f27639e3953fdfbe3ecb6958780341d0fbc80fb465ce50cdf29
+DIST neovim-0.1.6.tar.gz 7810818 SHA256 a9fe7aadd38ef015f82ec340f6b6c0629d02c9ca4d85352db0934ae511d2f02a SHA512 360d69bc11a3cb7b2c203adc7e76edad736b1a2fb7033d2d0c6444da168053ea0b621daf7978e9c158e14c5e04af8599005bf5eb800d9d1776007257b0e0e56f WHIRLPOOL 55bd68ab6746369a9c7fbbedb3ddf55c517bfa59a3320ebf04e643acc287d1ac74fc6548fa8341c4d909422a4c9dc2bb54f991a4ef8d516ecdecf3723aaddd16
+DIST neovim-0.1.7.tar.gz 7601279 SHA256 d8f885d019b1ad608f36ae23b8f1b15b7e33585e16f7514666ab6c9809bb4b7e SHA512 f7dbac4b2090fbf9764585ebf147c529b655d6e30cca9404cd161e2bd78f3aaa2f714d86a8c3efd1935dc92363757c381833d0059043807db0bea3db2fc6d10c WHIRLPOOL b78cac30a3992f9a1cda50e000cf725d5a35767b18d330ec0f8a5d83b89d8979763ae025ce67b507f1bb29d028c51edc17b773193793f06558f7cb6877bcd698
+DIST neovim-0.2.0.tar.gz 7846467 SHA256 72e263f9d23fe60403d53a52d4c95026b0be428c1b9c02b80ab55166ea3f62b5 SHA512 fc4be03c5bee1c9928376938679f9a900f3ee2e58df817d1cb9b5af51350dccca63a7638114b0326ec4565a047faaa4b50fecfc932c1d59ee92efa54625e22cd WHIRLPOOL d2574b6086d2302584256bf6a6b9ebd6ba7bf3bad788cbe25d834c16e312c9cc923a67259372db4650f7cb59fa6cdda2c04d2c7bb67f063fbfe3eaf3ae510f8e
+EBUILD neovim-0.1.0.ebuild 1871 SHA256 b5a51ba596537009e27d496b569af2443be5454daa59d29aca381da887259dc6 SHA512 fc9713e49aa3b740107f5767728d0f399c9ef038eedcd3efb920cda965bb0a86b9bddf3058ec4e3b6201e450082499e85936d71b65214d15c4327d4e15844414 WHIRLPOOL 72d760eb31e1dcc3a6b7af082bb46935a99e862afb5491fd729633f308dad1ab3c7b348b0fa54cad0a542b5dcc625a80b9be73970149990a5eabf2e6dc812b3b
+EBUILD neovim-0.1.1-r1.ebuild 1866 SHA256 5e2805ff49ea8a6aff1b5630687b440ca253e6f5defdfa984a8a6210b8119fe9 SHA512 03551ea2585738b51c26be872ffd0534d44da1089adbd025c51f65fb518f7fe9da0f2c099f9cde8b9d69a8d3980009f4a1d420e873add1721b23685e89781bb1 WHIRLPOOL fe201b969f40eca502bf434aa3d7f46d346efa01186545d23ead6ed5e7c3398befea250d7ccf3a18bf1393d2329c348940887c3cdd06479cba260bc51b3e1e92
+EBUILD neovim-0.1.2.ebuild 1854 SHA256 bd9c8e6d48a067df4e8e2907a750ed127110cadf2e7c20e5f70118b4988f96c0 SHA512 64856d802ff90f8c933d6c9f2c36b8160ab7d44169ee7c6857ebc642ca7f81b278b91de7e32857a1f7dc575ee958c93adef7f9776f5604b58f15c3d75e1cdd5b WHIRLPOOL c6f9fd0ae8fc63d7cee0c2ff769e90f5bf6377708fc2975c29860d448642f49ed8dae5ec93bb355e19e365d90d310c626bce0dc6d290660e434dcda719100f61
+EBUILD neovim-0.1.3.ebuild 1747 SHA256 d4d451c9bdb0cbdda19083f9b6ab2305364d3007eff9664bbf547048bfb52c64 SHA512 2ce69cccdc4ad2d5abe9329fe03df01552fd600b066e68bcf8b4b1d11903e27c521d9f0ed3b02e9cf34dec965e146f603087e1bc8a1008fc288e7d8557b36d59 WHIRLPOOL d8278dcccacf3be8b45420289c704dad8bb74005f9d6299e36a43079338291892bef16192597699044403f367403e2789f83dae29d14183883fc87a8ef48557f
+EBUILD neovim-0.1.4.ebuild 1757 SHA256 4a5800aa061282e6a78ba0b3058753a75924e898b46432ba688fbe7de8eb69dd SHA512 fc434c3dcdde97b531b4f247146f237aa32704f8129408643a5e0dc6d77a756ca8cd549bc44452d50851a1c26fe691ee4699c26a1166260c26c9827e9526252c WHIRLPOOL b8534367f92eea6f085cf500271808aaab5c9b9f65488e75fe327eb707a46c44b521ec17b9ccdc2954410fe8ee6fa3fc2da49bc07d5d654c24cf85d310f2cb70
+EBUILD neovim-0.1.5-r1.ebuild 1776 SHA256 88542c2e33056dc7a8a1d89f241c099648ee9982f40c499e86ff475aa38c07be SHA512 6eb3c152fbad2c6864203da0150f6f837b4414f0b02096740720ee758276698bb6c21549da38c81fcd933005acaccc759af05133e5856e6c4cf78f877d2781dc WHIRLPOOL dddb949539f2f18442f08b0c4b8878a5b03138a729aa5adbf812d60b7350b0b13cb52711a09b2dbcd8c37622d33cec881baa4deb38291e06ee919f54ada887c5
+EBUILD neovim-0.1.5.ebuild 1797 SHA256 11fff18471e1ffe8d04dba80b216f335332150491457ab676229606f19ae0ac3 SHA512 613a4e81f62f1a9f15edef436f7b4263a91229d4baf448783edaa73e9b80248f0ac4772c3aac84c58d82800bf64f8c6c4fff3405de42c0db13195fc19ea20bd6 WHIRLPOOL 77b0bdac896a13ba622be9900cffa12741912f066126f4df6d068f213bf6e5086e682322bb5dac48c22b075f09644394db8c288ea3152f6462b5ffaaa4dd1c79
+EBUILD neovim-0.1.6.ebuild 1776 SHA256 88542c2e33056dc7a8a1d89f241c099648ee9982f40c499e86ff475aa38c07be SHA512 6eb3c152fbad2c6864203da0150f6f837b4414f0b02096740720ee758276698bb6c21549da38c81fcd933005acaccc759af05133e5856e6c4cf78f877d2781dc WHIRLPOOL dddb949539f2f18442f08b0c4b8878a5b03138a729aa5adbf812d60b7350b0b13cb52711a09b2dbcd8c37622d33cec881baa4deb38291e06ee919f54ada887c5
+EBUILD neovim-0.1.7.ebuild 1776 SHA256 88542c2e33056dc7a8a1d89f241c099648ee9982f40c499e86ff475aa38c07be SHA512 6eb3c152fbad2c6864203da0150f6f837b4414f0b02096740720ee758276698bb6c21549da38c81fcd933005acaccc759af05133e5856e6c4cf78f877d2781dc WHIRLPOOL dddb949539f2f18442f08b0c4b8878a5b03138a729aa5adbf812d60b7350b0b13cb52711a09b2dbcd8c37622d33cec881baa4deb38291e06ee919f54ada887c5
+EBUILD neovim-0.2.0.ebuild 1776 SHA256 d7283affad451998944b0a19723cd8aa9b80ede2572716e29950e19ef8a7721d SHA512 9b85850a47b62f7098e7c1b2a70c3d49ec8ab462a32d7d62666b930122c2ab323be5e284003b249be1574d9b9fdc6ea1b5477b61f0ea9677eb1394724a5ee54d WHIRLPOOL 34acffd0da7f674242d03ccb4a7a0b75c97892567545169e36cff670b7cf725d7d2d4d6d7f61e49e4b67488008a681492b0145ce011cf663b8f8c109ecfce86c
+EBUILD neovim-9999.ebuild 1776 SHA256 d7283affad451998944b0a19723cd8aa9b80ede2572716e29950e19ef8a7721d SHA512 9b85850a47b62f7098e7c1b2a70c3d49ec8ab462a32d7d62666b930122c2ab323be5e284003b249be1574d9b9fdc6ea1b5477b61f0ea9677eb1394724a5ee54d WHIRLPOOL 34acffd0da7f674242d03ccb4a7a0b75c97892567545169e36cff670b7cf725d7d2d4d6d7f61e49e4b67488008a681492b0145ce011cf663b8f8c109ecfce86c
+MISC ChangeLog 8704 SHA256 932ab989cc074f6e414c1cd5d0f8034a3b752eff0ba0e8f1e1bb94bbdc827bbc SHA512 c6f8c4ced9ea4cc51e45669daf7abe19565c086b25786547b9f0e2bd87ff18f6212afc975b81efcd7cee0f6becf790f794f6442bbba2c706d4db303a52be422c WHIRLPOOL db1e7d1d536a0a52cfd4e62aa53f44264b3348de67d5396cf9edf62f1f71970d68a9afa7d9312b59498e2fb751204bccec8853fc36dc874c9ceccf4386013eb6
+MISC ChangeLog-2015 1203 SHA256 7a21c52bb1dd0d3fac033b772b40d035d2cf46c370ce104995c32eaf87fcb0d1 SHA512 c1ad1b8078f43c74043555cc3f893a24e95c471b351edb4af63c986891ddef15ea1ee58213e30d834b7200917c066d2bd85c306b64b6f739688a0662ac123bc3 WHIRLPOOL 53efdedc94a2f46faf95148ab01fa38512c6ec7dc525d8842c4b61dfabab620a0d4909a3a9eff9d174cfb8504d6d82123d2ce88e285a2b1a29f42be1d0ccc8aa
+MISC metadata.xml 748 SHA256 615c7a4d4ad4c16f841e40a60aa40a90d43877ec0820f7cc9a2ca809bae79838 SHA512 6c03ebda6086660d862bfc7bb863e5602f91b5e1715a21c0776c49fa2efd6ab9fbc540e757d858c52dd35a9597348a19c5f0b2f04858a399fa26ed4f41854235 WHIRLPOOL 460696ec306aefe4c8ec4848d17b4759ecf43618a1c309eae8b1f50782d1bb551e0f4c9b72cb9d4fa8daa5998057b531f28ec0304a35a983b603560b38a055cd
diff --git a/app-editors/neovim/files/sysinit.vim b/app-editors/neovim/files/sysinit.vim
new file mode 100644
index 000000000000..92b802f345cf
--- /dev/null
+++ b/app-editors/neovim/files/sysinit.vim
@@ -0,0 +1,104 @@
+" Default Gentoo configuration file for neovim
+" Based on the default vimrc shipped by Gentoo with app-editors/vim-core
+
+" You can override any of these settings on a global basis via the
+" "/etc/vim/nvimrc.local" file, and on a per-user basis via "~/.nvimrc".
+" You may need to create these.
+
+" Neovim comes with sensible defaults, see:
+" https://github.com/neovim/neovim/issues/2676
+" Most of the general settings from Gentoo's vimrc have been dropped here.
+" We add only some necessary fixes and a few Gentoo specific settings.
+
+" {{{ Locale settings
+" If we have a BOM, always honour that rather than trying to guess.
+if &fileencodings !~? "ucs-bom"
+ set fileencodings^=ucs-bom
+endif
+
+" Always check for UTF-8 when trying to determine encodings.
+if &fileencodings !~? "utf-8"
+ " If we have to add this, the default encoding is not Unicode.
+ let g:added_fenc_utf8 = 1
+ set fileencodings+=utf-8
+endif
+" }}}
+
+" {{{ Fix &shell, see bug #101665.
+if "" == &shell
+ if executable("/bin/bash")
+ set shell=/bin/bash
+ elseif executable("/bin/sh")
+ set shell=/bin/sh
+ endif
+endif
+"}}}
+
+" {{{ Our default /bin/sh is bash, not ksh, so syntax highlighting for .sh
+" files should default to bash. See :help sh-syntax and bug #101819.
+if has("eval")
+ let is_bash=1
+endif
+" }}}
+
+" {{{ Autocommands
+if has("autocmd")
+
+augroup gentoo
+ au!
+
+ " Gentoo-specific settings for ebuilds. These are the federally-mandated
+ " required tab settings. See the following for more information:
+ " http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml
+ " Note that the rules below are very minimal and don't cover everything.
+ " Better to emerge app-vim/gentoo-syntax, which provides full syntax,
+ " filetype and indent settings for all things Gentoo.
+ au BufRead,BufNewFile *.e{build,class} set ts=4 sw=4 noexpandtab
+
+ " In text files, limit the width of text to 78 characters, but be careful
+ " that we don't override the user's setting.
+ autocmd BufNewFile,BufRead *.txt
+ \ if &tw == 0 && ! exists("g:leave_my_textwidth_alone") |
+ \ setlocal textwidth=78 |
+ \ endif
+
+ " When editing a file, always jump to the last cursor position
+ autocmd BufReadPost *
+ \ if ! exists("g:leave_my_cursor_position_alone") |
+ \ if line("'\"") > 0 && line ("'\"") <= line("$") |
+ \ exe "normal g'\"" |
+ \ endif |
+ \ endif
+
+ " When editing a crontab file, set backupcopy to yes rather than auto. See
+ " :help crontab and bug #53437.
+ autocmd FileType crontab set backupcopy=yes
+
+ " If we previously detected that the default encoding is not UTF-8
+ " (g:added_fenc_utf8), assume that a file with only ASCII characters (or no
+ " characters at all) isn't a Unicode file, but is in the default encoding.
+ " Except of course if a byte-order mark is in effect.
+ autocmd BufReadPost *
+ \ if exists("g:added_fenc_utf8") && &fileencoding == "utf-8" &&
+ \ ! &bomb && search('[\x80-\xFF]','nw') == 0 && &modifiable |
+ \ set fileencoding= |
+ \ endif
+
+ " Strip trailing spaces on write
+ autocmd BufWritePre *.e{build,class}
+ \ if ! exists("g:leave_my_trailing_space_alone") |
+ \ :%s/\s\+$//e |
+ \ endif
+
+augroup END
+
+endif " has("autocmd")
+" }}}
+
+" {{{ nvimrc.local
+if filereadable("/etc/vim/nvimrc.local")
+ source /etc/vim/nvimrc.local
+endif
+" }}}
+
+" vim: set tw=80 sw=2 sts=2 et foldmethod=marker :
diff --git a/app-editors/neovim/metadata.xml b/app-editors/neovim/metadata.xml
new file mode 100644
index 000000000000..0671c79ddf39
--- /dev/null
+++ b/app-editors/neovim/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>vim@gentoo.org</email>
+ <name>Gentoo Vim Project</name>
+ </maintainer>
+ <use>
+ <flag name="clipboard">Enable clipboard support through a provider</flag>
+ <flag name="nvimpager">Install nvimpager symlink to less.sh macro</flag>
+ <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations</flag>
+ <flag name="tui">Build the neovim unix tui</flag>
+ <flag name="luajit">Use <pkg>dev-lang/luajit</pkg> instead of
+ <pkg>dev-lang/lua</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">neovim/neovim</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/neovim/neovim-0.1.0.ebuild b/app-editors/neovim/neovim-0.1.0.ebuild
new file mode 100644
index 000000000000..bf147417d956
--- /dev/null
+++ b/app-editors/neovim/neovim-0.1.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit cmake-utils flag-o-matic
+
+DESCRIPTION="Vim-fork focused on extensibility and agility."
+HOMEPAGE="https://neovim.io"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/neovim/neovim.git"
+else
+ SRC_URI="https://github.com/neovim/neovim/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0 vim"
+SLOT="0"
+IUSE="+nvimpager perl python +jemalloc"
+
+CDEPEND="dev-lang/luajit:2
+ >=dev-libs/libtermkey-0.17
+ >=dev-libs/libuv-1.2.0
+ >=dev-libs/msgpack-0.6.0_pre20150220
+ >=dev-libs/unibilium-1.1.1
+ dev-libs/libvterm
+ dev-lua/lpeg
+ dev-lua/messagepack
+ jemalloc? ( dev-libs/jemalloc )
+"
+DEPEND="${CDEPEND}
+ virtual/libiconv
+ virtual/libintl"
+RDEPEND="${CDEPEND}
+ perl? ( dev-lang/perl )
+ python? ( dev-python/neovim-python-client )"
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # use our system vim dir
+ sed -e '/^# define SYS_VIMRC_FILE/s|$VIM|'"${EPREFIX}"'/etc/vim|' \
+ -i src/nvim/os/unix_defs.h || die
+
+ # add eclass to bash filetypes
+ sed -e 's|*.ebuild|*.ebuild,*.eclass|' -i runtime/filetype.vim || die
+
+ # make less.sh macro actually work with neovim
+ sed -e 's|vim |nvim |g' -i runtime/macros/less.sh || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ export USE_BUNDLED_DEPS=OFF
+ append-cflags "-Wno-error"
+ local mycmakeargs=(
+ $(cmake-utils_use_enable jemalloc JEMALLOC)
+ -DLIBUNIBILIUM_USE_STATIC=OFF
+ -DLIBTERMKEY_USE_STATIC=OFF
+ -DLIBVTERM_USE_STATIC=OFF
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # install a default configuration file
+ insinto /etc/vim
+ doins "${FILESDIR}"/sysinit.vim
+
+ # conditionally install a symlink for nvimpager
+ if use nvimpager; then
+ dosym ../share/nvim/runtime/macros/less.sh /usr/bin/nvimpager
+ fi
+}
diff --git a/app-editors/neovim/neovim-0.1.1-r1.ebuild b/app-editors/neovim/neovim-0.1.1-r1.ebuild
new file mode 100644
index 000000000000..bb7acc2174c9
--- /dev/null
+++ b/app-editors/neovim/neovim-0.1.1-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit cmake-utils flag-o-matic
+
+DESCRIPTION="Vim-fork focused on extensibility and agility."
+HOMEPAGE="https://neovim.io"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/neovim/neovim.git"
+else
+ SRC_URI="https://github.com/neovim/neovim/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0 vim"
+SLOT="0"
+IUSE="+nvimpager perl python +jemalloc"
+
+CDEPEND="dev-lang/luajit:2
+ >=dev-libs/libtermkey-0.17
+ >=dev-libs/libuv-1.2.0
+ >=dev-libs/msgpack-0.6.0_pre20150220
+ >=dev-libs/unibilium-1.1.1
+ dev-libs/libvterm
+ dev-lua/lpeg
+ dev-lua/messagepack
+ jemalloc? ( dev-libs/jemalloc )
+"
+DEPEND="${CDEPEND}
+ virtual/libiconv
+ virtual/libintl"
+RDEPEND="${CDEPEND}
+ perl? ( dev-lang/perl )
+ python? ( dev-python/neovim-python-client )"
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # use our system vim dir
+ sed -e '/^# define SYS_VIMRC_FILE/s|$VIM|'"${EPREFIX}"'/etc/vim|' \
+ -i src/nvim/globals.h || die
+
+ # add eclass to bash filetypes
+ sed -e 's|*.ebuild|*.ebuild,*.eclass|' -i runtime/filetype.vim || die
+
+ # make less.sh macro actually work with neovim
+ sed -e 's|vim |nvim |g' -i runtime/macros/less.sh || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ export USE_BUNDLED_DEPS=OFF
+ append-cflags "-Wno-error"
+ local mycmakeargs=(
+ $(cmake-utils_use_enable jemalloc JEMALLOC)
+ -DLIBUNIBILIUM_USE_STATIC=OFF
+ -DLIBTERMKEY_USE_STATIC=OFF
+ -DLIBVTERM_USE_STATIC=OFF
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # install a default configuration file
+ insinto /etc/vim
+ doins "${FILESDIR}"/sysinit.vim
+
+ # conditionally install a symlink for nvimpager
+ if use nvimpager; then
+ dosym ../share/nvim/runtime/macros/less.sh /usr/bin/nvimpager
+ fi
+}
diff --git a/app-editors/neovim/neovim-0.1.2.ebuild b/app-editors/neovim/neovim-0.1.2.ebuild
new file mode 100644
index 000000000000..9a7de9569b26
--- /dev/null
+++ b/app-editors/neovim/neovim-0.1.2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit cmake-utils flag-o-matic
+
+DESCRIPTION="Vim-fork focused on extensibility and agility."
+HOMEPAGE="https://neovim.io"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/neovim/neovim.git"
+else
+ SRC_URI="https://github.com/neovim/neovim/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0 vim"
+SLOT="0"
+IUSE="+nvimpager perl python +jemalloc"
+
+CDEPEND="dev-lang/luajit:2
+ >=dev-libs/libtermkey-0.17
+ >=dev-libs/libuv-1.2.0
+ >=dev-libs/msgpack-1.0.0
+ >=dev-libs/unibilium-1.1.1
+ dev-libs/libvterm
+ dev-lua/lpeg
+ dev-lua/messagepack
+ jemalloc? ( dev-libs/jemalloc )
+"
+DEPEND="${CDEPEND}
+ virtual/libiconv
+ virtual/libintl"
+RDEPEND="${CDEPEND}
+ perl? ( dev-lang/perl )
+ python? ( dev-python/neovim-python-client )"
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # use our system vim dir
+ sed -e '/^# define SYS_VIMRC_FILE/s|$VIM|'"${EPREFIX}"'/etc/vim|' \
+ -i src/nvim/globals.h || die
+
+ # add eclass to bash filetypes
+ sed -e 's|*.ebuild|*.ebuild,*.eclass|' -i runtime/filetype.vim || die
+
+ # make less.sh macro actually work with neovim
+ sed -e 's|vim |nvim |g' -i runtime/macros/less.sh || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ export USE_BUNDLED_DEPS=OFF
+ append-cflags "-Wno-error"
+ local mycmakeargs=(
+ $(cmake-utils_use_enable jemalloc JEMALLOC)
+ -DLIBUNIBILIUM_USE_STATIC=OFF
+ -DLIBTERMKEY_USE_STATIC=OFF
+ -DLIBVTERM_USE_STATIC=OFF
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # install a default configuration file
+ insinto /etc/vim
+ doins "${FILESDIR}"/sysinit.vim
+
+ # conditionally install a symlink for nvimpager
+ if use nvimpager; then
+ dosym ../share/nvim/runtime/macros/less.sh /usr/bin/nvimpager
+ fi
+}
diff --git a/app-editors/neovim/neovim-0.1.3.ebuild b/app-editors/neovim/neovim-0.1.3.ebuild
new file mode 100644
index 000000000000..2e25e7c950ea
--- /dev/null
+++ b/app-editors/neovim/neovim-0.1.3.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit cmake-utils flag-o-matic
+
+DESCRIPTION="Vim-fork focused on extensibility and agility."
+HOMEPAGE="https://neovim.io"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/neovim/neovim.git"
+else
+ SRC_URI="https://github.com/neovim/neovim/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0 vim"
+SLOT="0"
+IUSE="+nvimpager perl python +jemalloc"
+
+CDEPEND="dev-lang/luajit:2
+ >=dev-libs/libtermkey-0.17
+ >=dev-libs/libuv-1.2.0
+ >=dev-libs/msgpack-1.0.0
+ >=dev-libs/unibilium-1.1.1
+ dev-libs/libvterm
+ dev-lua/lpeg
+ dev-lua/messagepack
+ jemalloc? ( dev-libs/jemalloc )
+"
+DEPEND="${CDEPEND}
+ virtual/libiconv
+ virtual/libintl"
+RDEPEND="${CDEPEND}
+ perl? ( dev-lang/perl )
+ python? ( dev-python/neovim-python-client )"
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # use our system vim dir
+ sed -e '/^# define SYS_VIMRC_FILE/s|$VIM|'"${EPREFIX}"'/etc/vim|' \
+ -i src/nvim/globals.h || die
+
+ # add eclass to bash filetypes
+ sed -e 's|*.ebuild|*.ebuild,*.eclass|' -i runtime/filetype.vim || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ export USE_BUNDLED_DEPS=OFF
+ append-cflags "-Wno-error"
+ local mycmakeargs=(
+ $(cmake-utils_use_enable jemalloc JEMALLOC)
+ -DLIBUNIBILIUM_USE_STATIC=OFF
+ -DLIBTERMKEY_USE_STATIC=OFF
+ -DLIBVTERM_USE_STATIC=OFF
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # install a default configuration file
+ insinto /etc/vim
+ doins "${FILESDIR}"/sysinit.vim
+
+ # conditionally install a symlink for nvimpager
+ if use nvimpager; then
+ dosym ../share/nvim/runtime/macros/less.sh /usr/bin/nvimpager
+ fi
+}
diff --git a/app-editors/neovim/neovim-0.1.4.ebuild b/app-editors/neovim/neovim-0.1.4.ebuild
new file mode 100644
index 000000000000..d706ff0a3bab
--- /dev/null
+++ b/app-editors/neovim/neovim-0.1.4.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit cmake-utils flag-o-matic
+
+DESCRIPTION="Vim-fork focused on extensibility and agility."
+HOMEPAGE="https://neovim.io"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/neovim/neovim.git"
+else
+ SRC_URI="https://github.com/neovim/neovim/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0 vim"
+SLOT="0"
+IUSE="+nvimpager perl python +jemalloc"
+
+CDEPEND="dev-lang/luajit:2
+ >=dev-libs/libtermkey-0.17
+ >=dev-libs/libuv-1.2.0
+ >=dev-libs/msgpack-1.0.0
+ >=dev-libs/unibilium-1.1.1
+ dev-libs/libvterm
+ dev-lua/lpeg[luajit]
+ dev-lua/mpack[luajit]
+ jemalloc? ( dev-libs/jemalloc )
+"
+DEPEND="${CDEPEND}
+ virtual/libiconv
+ virtual/libintl"
+RDEPEND="${CDEPEND}
+ perl? ( dev-lang/perl )
+ python? ( dev-python/neovim-python-client )"
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # use our system vim dir
+ sed -e '/^# define SYS_VIMRC_FILE/s|$VIM|'"${EPREFIX}"'/etc/vim|' \
+ -i src/nvim/globals.h || die
+
+ # add eclass to bash filetypes
+ sed -e 's|*.ebuild|*.ebuild,*.eclass|' -i runtime/filetype.vim || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ export USE_BUNDLED_DEPS=OFF
+ append-cflags "-Wno-error"
+ local mycmakeargs=(
+ $(cmake-utils_use_enable jemalloc JEMALLOC)
+ -DLIBUNIBILIUM_USE_STATIC=OFF
+ -DLIBTERMKEY_USE_STATIC=OFF
+ -DLIBVTERM_USE_STATIC=OFF
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # install a default configuration file
+ insinto /etc/vim
+ doins "${FILESDIR}"/sysinit.vim
+
+ # conditionally install a symlink for nvimpager
+ if use nvimpager; then
+ dosym ../share/nvim/runtime/macros/less.sh /usr/bin/nvimpager
+ fi
+}
diff --git a/app-editors/neovim/neovim-0.1.5-r1.ebuild b/app-editors/neovim/neovim-0.1.5-r1.ebuild
new file mode 100644
index 000000000000..50b861caaf73
--- /dev/null
+++ b/app-editors/neovim/neovim-0.1.5-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit cmake-utils
+
+DESCRIPTION="Vim-fork focused on extensibility and agility."
+HOMEPAGE="https://neovim.io"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/neovim/neovim.git"
+else
+ SRC_URI="https://github.com/neovim/neovim/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="Apache-2.0 vim"
+SLOT="0"
+IUSE="+clipboard +luajit +nvimpager python ruby +tui +jemalloc"
+
+CDEPEND=">=dev-libs/libuv-1.2.0
+ >=dev-libs/msgpack-1.0.0
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? (
+ dev-lang/lua:=
+ dev-lua/LuaBitOp
+ )
+ tui? (
+ >=dev-libs/libtermkey-0.17
+ >=dev-libs/unibilium-1.1.1
+ )
+ dev-libs/libvterm
+ dev-lua/lpeg[luajit=]
+ dev-lua/mpack[luajit=]
+ jemalloc? ( dev-libs/jemalloc )
+"
+DEPEND="${CDEPEND}
+ virtual/libiconv
+ virtual/libintl"
+RDEPEND="${CDEPEND}
+ python? ( dev-python/neovim-python-client )
+ ruby? ( dev-ruby/neovim-ruby-client )
+ clipboard? ( || ( x11-misc/xsel x11-misc/xclip ) )"
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # use our system vim dir
+ sed -e '/^# define SYS_VIMRC_FILE/s|$VIM|'"${EPREFIX}"'/etc/vim|' \
+ -i src/nvim/globals.h || die
+
+ # add eclass to bash filetypes
+ sed -e 's|*.ebuild|*.ebuild,*.eclass|' -i runtime/filetype.vim || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFEAT_TUI=$(usex tui)
+ -DENABLE_JEMALLOC=$(usex jemalloc)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # install a default configuration file
+ insinto /etc/vim
+ doins "${FILESDIR}"/sysinit.vim
+
+ # conditionally install a symlink for nvimpager
+ if use nvimpager; then
+ dosym ../share/nvim/runtime/macros/less.sh /usr/bin/nvimpager
+ fi
+}
diff --git a/app-editors/neovim/neovim-0.1.5.ebuild b/app-editors/neovim/neovim-0.1.5.ebuild
new file mode 100644
index 000000000000..038ff654cc92
--- /dev/null
+++ b/app-editors/neovim/neovim-0.1.5.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit cmake-utils flag-o-matic
+
+DESCRIPTION="Vim-fork focused on extensibility and agility."
+HOMEPAGE="https://neovim.io"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/neovim/neovim.git"
+else
+ SRC_URI="https://github.com/neovim/neovim/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="Apache-2.0 vim"
+SLOT="0"
+IUSE="+nvimpager perl python ruby +jemalloc"
+
+CDEPEND="dev-lang/luajit:2
+ >=dev-libs/libtermkey-0.17
+ >=dev-libs/libuv-1.2.0
+ >=dev-libs/msgpack-1.0.0
+ >=dev-libs/unibilium-1.1.1
+ dev-libs/libvterm
+ dev-lua/lpeg[luajit]
+ dev-lua/mpack[luajit]
+ jemalloc? ( dev-libs/jemalloc )
+"
+DEPEND="${CDEPEND}
+ virtual/libiconv
+ virtual/libintl"
+RDEPEND="${CDEPEND}
+ perl? ( dev-lang/perl )
+ python? ( dev-python/neovim-python-client )
+ ruby? ( dev-ruby/neovim-ruby-client )
+"
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # use our system vim dir
+ sed -e '/^# define SYS_VIMRC_FILE/s|$VIM|'"${EPREFIX}"'/etc/vim|' \
+ -i src/nvim/globals.h || die
+
+ # add eclass to bash filetypes
+ sed -e 's|*.ebuild|*.ebuild,*.eclass|' -i runtime/filetype.vim || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ export USE_BUNDLED_DEPS=OFF
+ append-cflags "-Wno-error"
+ local mycmakeargs=(
+ $(cmake-utils_use_enable jemalloc JEMALLOC)
+ -DLIBUNIBILIUM_USE_STATIC=OFF
+ -DLIBTERMKEY_USE_STATIC=OFF
+ -DLIBVTERM_USE_STATIC=OFF
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # install a default configuration file
+ insinto /etc/vim
+ doins "${FILESDIR}"/sysinit.vim
+
+ # conditionally install a symlink for nvimpager
+ if use nvimpager; then
+ dosym ../share/nvim/runtime/macros/less.sh /usr/bin/nvimpager
+ fi
+}
diff --git a/app-editors/neovim/neovim-0.1.6.ebuild b/app-editors/neovim/neovim-0.1.6.ebuild
new file mode 100644
index 000000000000..50b861caaf73
--- /dev/null
+++ b/app-editors/neovim/neovim-0.1.6.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit cmake-utils
+
+DESCRIPTION="Vim-fork focused on extensibility and agility."
+HOMEPAGE="https://neovim.io"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/neovim/neovim.git"
+else
+ SRC_URI="https://github.com/neovim/neovim/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="Apache-2.0 vim"
+SLOT="0"
+IUSE="+clipboard +luajit +nvimpager python ruby +tui +jemalloc"
+
+CDEPEND=">=dev-libs/libuv-1.2.0
+ >=dev-libs/msgpack-1.0.0
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? (
+ dev-lang/lua:=
+ dev-lua/LuaBitOp
+ )
+ tui? (
+ >=dev-libs/libtermkey-0.17
+ >=dev-libs/unibilium-1.1.1
+ )
+ dev-libs/libvterm
+ dev-lua/lpeg[luajit=]
+ dev-lua/mpack[luajit=]
+ jemalloc? ( dev-libs/jemalloc )
+"
+DEPEND="${CDEPEND}
+ virtual/libiconv
+ virtual/libintl"
+RDEPEND="${CDEPEND}
+ python? ( dev-python/neovim-python-client )
+ ruby? ( dev-ruby/neovim-ruby-client )
+ clipboard? ( || ( x11-misc/xsel x11-misc/xclip ) )"
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # use our system vim dir
+ sed -e '/^# define SYS_VIMRC_FILE/s|$VIM|'"${EPREFIX}"'/etc/vim|' \
+ -i src/nvim/globals.h || die
+
+ # add eclass to bash filetypes
+ sed -e 's|*.ebuild|*.ebuild,*.eclass|' -i runtime/filetype.vim || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFEAT_TUI=$(usex tui)
+ -DENABLE_JEMALLOC=$(usex jemalloc)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # install a default configuration file
+ insinto /etc/vim
+ doins "${FILESDIR}"/sysinit.vim
+
+ # conditionally install a symlink for nvimpager
+ if use nvimpager; then
+ dosym ../share/nvim/runtime/macros/less.sh /usr/bin/nvimpager
+ fi
+}
diff --git a/app-editors/neovim/neovim-0.1.7.ebuild b/app-editors/neovim/neovim-0.1.7.ebuild
new file mode 100644
index 000000000000..50b861caaf73
--- /dev/null
+++ b/app-editors/neovim/neovim-0.1.7.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit cmake-utils
+
+DESCRIPTION="Vim-fork focused on extensibility and agility."
+HOMEPAGE="https://neovim.io"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/neovim/neovim.git"
+else
+ SRC_URI="https://github.com/neovim/neovim/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="Apache-2.0 vim"
+SLOT="0"
+IUSE="+clipboard +luajit +nvimpager python ruby +tui +jemalloc"
+
+CDEPEND=">=dev-libs/libuv-1.2.0
+ >=dev-libs/msgpack-1.0.0
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? (
+ dev-lang/lua:=
+ dev-lua/LuaBitOp
+ )
+ tui? (
+ >=dev-libs/libtermkey-0.17
+ >=dev-libs/unibilium-1.1.1
+ )
+ dev-libs/libvterm
+ dev-lua/lpeg[luajit=]
+ dev-lua/mpack[luajit=]
+ jemalloc? ( dev-libs/jemalloc )
+"
+DEPEND="${CDEPEND}
+ virtual/libiconv
+ virtual/libintl"
+RDEPEND="${CDEPEND}
+ python? ( dev-python/neovim-python-client )
+ ruby? ( dev-ruby/neovim-ruby-client )
+ clipboard? ( || ( x11-misc/xsel x11-misc/xclip ) )"
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # use our system vim dir
+ sed -e '/^# define SYS_VIMRC_FILE/s|$VIM|'"${EPREFIX}"'/etc/vim|' \
+ -i src/nvim/globals.h || die
+
+ # add eclass to bash filetypes
+ sed -e 's|*.ebuild|*.ebuild,*.eclass|' -i runtime/filetype.vim || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFEAT_TUI=$(usex tui)
+ -DENABLE_JEMALLOC=$(usex jemalloc)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # install a default configuration file
+ insinto /etc/vim
+ doins "${FILESDIR}"/sysinit.vim
+
+ # conditionally install a symlink for nvimpager
+ if use nvimpager; then
+ dosym ../share/nvim/runtime/macros/less.sh /usr/bin/nvimpager
+ fi
+}
diff --git a/app-editors/neovim/neovim-0.2.0.ebuild b/app-editors/neovim/neovim-0.2.0.ebuild
new file mode 100644
index 000000000000..dace3d4ec43a
--- /dev/null
+++ b/app-editors/neovim/neovim-0.2.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit cmake-utils
+
+DESCRIPTION="Vim-fork focused on extensibility and agility."
+HOMEPAGE="https://neovim.io"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/neovim/neovim.git"
+else
+ SRC_URI="https://github.com/neovim/neovim/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="Apache-2.0 vim"
+SLOT="0"
+IUSE="+clipboard +luajit +nvimpager python ruby +tui +jemalloc"
+
+CDEPEND=">=dev-libs/libuv-1.2.0
+ >=dev-libs/msgpack-1.0.0
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? (
+ dev-lang/lua:=
+ dev-lua/LuaBitOp
+ )
+ tui? (
+ >=dev-libs/libtermkey-0.19
+ >=dev-libs/unibilium-1.1.1
+ )
+ dev-libs/libvterm
+ dev-lua/lpeg[luajit=]
+ dev-lua/mpack[luajit=]
+ jemalloc? ( dev-libs/jemalloc )
+"
+DEPEND="${CDEPEND}
+ virtual/libiconv
+ virtual/libintl"
+RDEPEND="${CDEPEND}
+ python? ( dev-python/neovim-python-client )
+ ruby? ( dev-ruby/neovim-ruby-client )
+ clipboard? ( || ( x11-misc/xsel x11-misc/xclip ) )"
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # use our system vim dir
+ sed -e '/^# define SYS_VIMRC_FILE/s|$VIM|'"${EPREFIX}"'/etc/vim|' \
+ -i src/nvim/globals.h || die
+
+ # add eclass to bash filetypes
+ sed -e 's|*.ebuild|*.ebuild,*.eclass|' -i runtime/filetype.vim || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFEAT_TUI=$(usex tui)
+ -DENABLE_JEMALLOC=$(usex jemalloc)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # install a default configuration file
+ insinto /etc/vim
+ doins "${FILESDIR}"/sysinit.vim
+
+ # conditionally install a symlink for nvimpager
+ if use nvimpager; then
+ dosym ../share/nvim/runtime/macros/less.sh /usr/bin/nvimpager
+ fi
+}
diff --git a/app-editors/neovim/neovim-9999.ebuild b/app-editors/neovim/neovim-9999.ebuild
new file mode 100644
index 000000000000..dace3d4ec43a
--- /dev/null
+++ b/app-editors/neovim/neovim-9999.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit cmake-utils
+
+DESCRIPTION="Vim-fork focused on extensibility and agility."
+HOMEPAGE="https://neovim.io"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/neovim/neovim.git"
+else
+ SRC_URI="https://github.com/neovim/neovim/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="Apache-2.0 vim"
+SLOT="0"
+IUSE="+clipboard +luajit +nvimpager python ruby +tui +jemalloc"
+
+CDEPEND=">=dev-libs/libuv-1.2.0
+ >=dev-libs/msgpack-1.0.0
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? (
+ dev-lang/lua:=
+ dev-lua/LuaBitOp
+ )
+ tui? (
+ >=dev-libs/libtermkey-0.19
+ >=dev-libs/unibilium-1.1.1
+ )
+ dev-libs/libvterm
+ dev-lua/lpeg[luajit=]
+ dev-lua/mpack[luajit=]
+ jemalloc? ( dev-libs/jemalloc )
+"
+DEPEND="${CDEPEND}
+ virtual/libiconv
+ virtual/libintl"
+RDEPEND="${CDEPEND}
+ python? ( dev-python/neovim-python-client )
+ ruby? ( dev-ruby/neovim-ruby-client )
+ clipboard? ( || ( x11-misc/xsel x11-misc/xclip ) )"
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ # use our system vim dir
+ sed -e '/^# define SYS_VIMRC_FILE/s|$VIM|'"${EPREFIX}"'/etc/vim|' \
+ -i src/nvim/globals.h || die
+
+ # add eclass to bash filetypes
+ sed -e 's|*.ebuild|*.ebuild,*.eclass|' -i runtime/filetype.vim || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFEAT_TUI=$(usex tui)
+ -DENABLE_JEMALLOC=$(usex jemalloc)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # install a default configuration file
+ insinto /etc/vim
+ doins "${FILESDIR}"/sysinit.vim
+
+ # conditionally install a symlink for nvimpager
+ if use nvimpager; then
+ dosym ../share/nvim/runtime/macros/less.sh /usr/bin/nvimpager
+ fi
+}
diff --git a/app-editors/ng/Manifest b/app-editors/ng/Manifest
new file mode 100644
index 000000000000..1cae0ffc1a56
--- /dev/null
+++ b/app-editors/ng/Manifest
@@ -0,0 +1,9 @@
+AUX ng-1.5beta1-configure.patch 658 SHA256 58b266ea3d702dd916e5d488b1313dd6885ea545ea4a8690f4abac71e2e9ea73 SHA512 afea99d16b06308feed87512ccfe084b3f3c222afdb9a3f430ec02882d99cf81d7506dd329601a58ab62d8def05e48f3ff502d0d76ecada8cca2c42931bdca1b WHIRLPOOL e3c7426991ae978788b37d3ff6ddde5a5b2fafcfb5fb08d7cc9d9c696bd44effae73d54b8496a8ea9655f5c7a2e46a983100c1d731001cab525dac92f7c9631c
+AUX ng-1.5beta1-ncurses.patch 551 SHA256 ba1b905ab0068fb80d3ba0806b02fe0a87f4cb6546b6b9450156060ff8d5d870 SHA512 14d457f782e8441866763a0fc82dd727a9fd7e7ab9dbc92da313b0eb739fd3f415d89633d7f553f9937b7d6a97164d8eda6caa45602edea22a8036cc50d2b91d WHIRLPOOL ca635ff2ab7eb78e860b15ab0b6cdd5f56680e87ad1ccc26dce4720c21cfcc3f0161e34dd46731ea0d3480041cb2a379858c1811c688b8f23fd2ed1ccd073866
+DIST ng-1.5beta1.tar.gz 662557 SHA256 990b2ed34f2943da71af6771c0ac9a62c36857d6e6e6ad6e7dc8782860388d3c SHA512 eaf3ee067cd98aebc757def9880c5a324975e9f5d0f1db030b11853e86631bca892bf344358ca21b778f5e10ae0d2ed97553221a368326f7a4d9d41f6867abcd WHIRLPOOL 0764ac5fb4ab0f1663c5d3dc13754d1537ac5607463bcbc97d690f9743da41fc56e0deb9ab05103115667ce5e9d62d2278a43740b538b9b8e4c0edf08260d2e7
+EBUILD ng-1.5_beta1-r1.ebuild 1172 SHA256 d1cfcbb4da372174201e5759abb6907bc520de62a3f591478c7bd532c1c3df50 SHA512 97fd67bc2efb0b8bfbfdd60aefcfe599b020559602ec1437f5098403cb56f6ba01684e59d7b8d9ab017146e13775f2b4bba410b2375e47ad85a3cce30f172d0a WHIRLPOOL d8da67fea1c5fc85cec3093f5a5b02ee95b5241a77b04de06421f01994710a63d09f998d04a8a3afbd81efa9663918b1641d8d765853204db3fd8969cbadda76
+EBUILD ng-1.5_beta1-r2.ebuild 1200 SHA256 7d6b42325765e0c0c54faaf82decb093ab093f694b4d6ad3ac482b705ef1569a SHA512 cb8f72475492d596a2f177c5ae0915fc66e3813c4803e8cfb14ef75de183d9cb791f2ac744af91362a68136bc6dec2ab0d3e3276d6102233d825ac0f09bcf4d0 WHIRLPOOL 7be0a052a2e2aa98a5478a7adfa7ce49538ba3acecb580c90f95def0651a1ebcfabd2314c68e1668a2996a373410451f1c9c24a0e4bb5e5e1e5b3ebd1972a5d0
+EBUILD ng-1.5_beta1.ebuild 1141 SHA256 50657481786a23c30e7309b725db14234bb9d93de44af6f90eb26404dd118d4b SHA512 dac7e245d01ab804fc5a410a556684e93489e01d058cda871cc6750ec3762cd46e2ca0b65819d96a9ffa8ad01f3d110524095fce1b396efaab628e7d002c76dc WHIRLPOOL 7d4dfe49f827aec032f1e25b1e651d8dcf3630622dad40ee7fbe43e80ac32ea0d58ae277c5c19f37b20aff2eb1c040f6135db4e8fb4d94a7ddbe5e0ca7f89aea
+MISC ChangeLog 2551 SHA256 790ef9c100fb98322ab4cbe297b52f4f55be4228bc13964a680d990120e99742 SHA512 192bb990651a8d2ee3bc5d3e5dbc6b1c5ac6c450aeb80c75614d330fcd9274ceaa8d43b8d48c0500a62a66b08e446d9ed8e0dc4c27e6d4687d77e90a2295211d WHIRLPOOL 8cfa535349faf433de9a689960a15b8f8ddeeae756fd2987cb6cc2e019ab8d39e52ef9497b0ad88aa40b21105781fd173ccf23374703fd415d25b1c6dbd313ff
+MISC ChangeLog-2015 1718 SHA256 7af40674a7154672b628bbc0267c146fe8bae81d92cbb945966c1f6a115dbce8 SHA512 6aa26c3a2ea58f10420d8bd0b128088831dffd3c608b4e00c58ff3b913bd9a195e4fd60c81d3de77eb3890080478cd75312d0f5c678515dc9b4094a5307191e1 WHIRLPOOL 12fbf6541b9fe89cbc009cd37126d9c6b07a418063308a095a0ec62ed487cee570b4323abd539292cf1fd50e8f592d0c98355aa4408b720c83bca18bff2fd4bd
+MISC metadata.xml 230 SHA256 5fc421627b578ee2d1317320525119c0b406026597bb1d054f96254a241bf96a SHA512 74065bee639a38ecdef7c32280ed43a8f1627362cd8e97e714a09bcf116ae8bc4c61b2ab13c31bd02a22ae8a5a201263981ee519a0b6ba9df81a4d5f3cd94eb1 WHIRLPOOL b3c1363540645200abd5bf0b5b7fb3cae0b738bfd359f7b13b56d97650f9381fccede1e3f867dbc736461ee7c7906725a3c53eabd9ac99929d5c7c520a831082
diff --git a/app-editors/ng/files/ng-1.5beta1-configure.patch b/app-editors/ng/files/ng-1.5beta1-configure.patch
new file mode 100644
index 000000000000..25f383a0be2d
--- /dev/null
+++ b/app-editors/ng/files/ng-1.5beta1-configure.patch
@@ -0,0 +1,19 @@
+diff --git a/sys/unix/configure.in b/sys/unix/configure.in
+index e034edc..b62535d 100644
+--- a/sys/unix/configure.in
++++ b/sys/unix/configure.in
+@@ -83,8 +83,12 @@ AC_DEFINE_UNQUOTED(RMDIR_CMD, "$rmdir_cmd")
+ dnl If the user wants canna support.
+ AC_MSG_CHECKING(if --enable-canna option specified)
+ AC_ARG_ENABLE(canna,
+- [ --enable-canna[=DIR] Build a canna version.],
+- [cv_canna="yes"; cannapath=$enableval], [cv_canna="no"])
++ [ --enable-canna[=DIR] Build a canna version.])
++AS_IF([test "x$enable_canna" != "xno"], [
++ cv_canna="yes"; cannapath=$enableval
++][
++ cv_canna="no";
++])
+ AC_MSG_RESULT($cv_canna)
+ if test "$cv_canna" = "yes"; then
+
diff --git a/app-editors/ng/files/ng-1.5beta1-ncurses.patch b/app-editors/ng/files/ng-1.5beta1-ncurses.patch
new file mode 100644
index 000000000000..6808d911152b
--- /dev/null
+++ b/app-editors/ng/files/ng-1.5beta1-ncurses.patch
@@ -0,0 +1,12 @@
+--- a/configure 2004-05-12 09:26:44.000000000 +0900
++++ b/configure 2004-05-12 09:27:06.000000000 +0900
+@@ -1077,3+1077,3 @@
+ rm -f conftest*
+-test "$ac_cv_search_tgetstr" = "no" && for i in curses ncurses termlib; do
++test "$ac_cv_search_tgetstr" = "no" && for i in ncurses termlib; do
+ LIBS="-l$i $ac_func_search_save_LIBS"
+@@ -1140,3 +1140,3 @@
+ rm -f conftest*
+-test "$ac_cv_search_tgetstr" = "no" && for i in termcap curses ncurses; do
++test "$ac_cv_search_tgetstr" = "no" && for i in termcap ncurses; do
+ LIBS="-l$i $ac_func_search_save_LIBS"
diff --git a/app-editors/ng/metadata.xml b/app-editors/ng/metadata.xml
new file mode 100644
index 000000000000..c921b96adf6c
--- /dev/null
+++ b/app-editors/ng/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 type="project">
+ <email>cjk@gentoo.org</email>
+ <name>Cjk</name>
+</maintainer>
+</pkgmetadata>
diff --git a/app-editors/ng/ng-1.5_beta1-r1.ebuild b/app-editors/ng/ng-1.5_beta1-r1.ebuild
new file mode 100644
index 000000000000..146cf88eda6b
--- /dev/null
+++ b/app-editors/ng/ng-1.5_beta1-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils autotools
+
+MY_P="${P/_beta/beta}"
+
+DESCRIPTION="Emacs like micro editor Ng -- based on mg2a"
+HOMEPAGE="http://tt.sakura.ne.jp/~amura/ng/"
+SRC_URI="http://tt.sakura.ne.jp/~amura/archives/ng/${MY_P}.tar.gz"
+
+LICENSE="Emacs"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="canna"
+
+RDEPEND=">=sys-libs/ncurses-5.0
+ !dev-java/nailgun
+ canna? ( app-i18n/canna )"
+DEPEND="${RDEPEND}
+ >=sys-apps/sed-4.0"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${MY_P}-ncurses.patch"
+ epatch "${FILESDIR}/${MY_P}-configure.patch"
+ sed -i -e "/NO_BACKUP/s/undef/define/" config.h || die "sed failed"
+
+ pushd sys/unix || die
+ eautoconf
+ popd
+ cp sys/unix/configure . || die
+}
+
+src_configure() {
+ econf $(use_enable canna)
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ dobin ng
+ dodoc docs/* MANIFEST dot.ng
+
+ insinto /usr/share/ng
+ doins bin/*
+
+ insinto /etc/skel
+ newins dot.ng .ng
+}
+
+pkg_postinst() {
+ elog
+ elog "If you want to use user Config"
+ elog "cp /etc/skel/.ng ~/.ng"
+ elog "and edit your .ng configuration file."
+ elog
+}
diff --git a/app-editors/ng/ng-1.5_beta1-r2.ebuild b/app-editors/ng/ng-1.5_beta1-r2.ebuild
new file mode 100644
index 000000000000..637538b3379b
--- /dev/null
+++ b/app-editors/ng/ng-1.5_beta1-r2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+MY_P="${P/_beta/beta}"
+
+DESCRIPTION="Emacs like micro editor Ng -- based on mg2a"
+HOMEPAGE="http://tt.sakura.ne.jp/~amura/ng/"
+SRC_URI="http://tt.sakura.ne.jp/~amura/archives/ng/${MY_P}.tar.gz"
+
+LICENSE="Emacs"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="canna"
+
+RDEPEND="
+ sys-libs/ncurses:0=
+ !dev-java/nailgun
+ canna? ( app-i18n/canna )"
+
+DEPEND="
+ ${RDEPEND}
+ sys-apps/sed"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${MY_P}-ncurses.patch"
+ "${FILESDIR}/${MY_P}-configure.patch"
+)
+
+src_prepare() {
+ default
+
+ sed -i -e "/NO_BACKUP/s/undef/define/" config.h || die "sed failed"
+ pushd sys/unix > /dev/null || die
+ eautoconf
+ popd > /dev/null || die
+ cp sys/unix/configure . || die
+}
+
+src_configure() {
+ econf $(use_enable canna)
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ dobin ng
+ dodoc docs/* MANIFEST dot.ng
+
+ insinto /usr/share/ng
+ doins bin/*
+
+ insinto /etc/skel
+ newins dot.ng .ng
+}
+
+pkg_postinst() {
+ elog
+ elog "If you want to use user Config"
+ elog "cp /etc/skel/.ng ~/.ng"
+ elog "and edit your .ng configuration file."
+ elog
+}
diff --git a/app-editors/ng/ng-1.5_beta1.ebuild b/app-editors/ng/ng-1.5_beta1.ebuild
new file mode 100644
index 000000000000..d2b723965757
--- /dev/null
+++ b/app-editors/ng/ng-1.5_beta1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils toolchain-funcs
+
+MY_P=${P/_beta/beta}
+
+DESCRIPTION="Emacs like micro editor Ng -- based on mg2a"
+HOMEPAGE="http://tt.sakura.ne.jp/~amura/ng/"
+SRC_URI="http://tt.sakura.ne.jp/~amura/archives/ng/${MY_P}.tar.gz"
+
+LICENSE="Emacs"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc x86"
+IUSE="canna"
+
+RDEPEND=">=sys-libs/ncurses-5.0
+ !dev-java/nailgun
+ canna? ( app-i18n/canna )"
+DEPEND="${RDEPEND}
+ >=sys-apps/sed-4.0"
+
+S="${WORKDIR}/${MY_P}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}/${MY_P}-ncurses.patch"
+}
+
+src_compile() {
+ local myconf
+
+ if use canna; then
+ myconf="--enable-canna"
+ fi
+ econf ${myconf} || die
+ sed -i -e "s/^#undef NO_BACKUP/#define NO_BACKUP/" config.h \
+ || die "sed failed"
+
+ emake CC=$(tc-getCC) || die
+}
+
+src_install() {
+ dobin ng || die
+ dodoc docs/* MANIFEST dot.ng
+
+ insinto /usr/share/ng
+ doins bin/*
+
+ insinto /etc/skel
+ newins dot.ng .ng
+}
+
+pkg_postinst() {
+ elog
+ elog "If you want to use user Config"
+ elog "cp /etc/skel/.ng ~/.ng"
+ elog "and edit your .ng configuration file."
+ elog
+}
diff --git a/app-editors/notepadqq/Manifest b/app-editors/notepadqq/Manifest
new file mode 100644
index 000000000000..d2346fdca051
--- /dev/null
+++ b/app-editors/notepadqq/Manifest
@@ -0,0 +1,4 @@
+DIST CodeMirror-5.18.2.tar.gz 923001 SHA256 edfccf28e609a08476e9da4f592d7aa23b7e73af3954d90605e0c650abd20a1a SHA512 c979c1ef02bb222b08e64847e5caab9c8a525c96d0eef656a00730d6710b0144144ac656eddef05d50c30c7d33da7dffe1a7580b9d47a5d958af9d6484ea705f WHIRLPOOL 9baaada10513eaad75bb6e8f2d73fd076b85f8a85adec1dc235857ae1f9160d6f463859356d5fce69c882ca4b3a2efc802a62453eb2435f868d9691cb435d73f
+DIST notepadqq-1.0.1.tar.gz 1056249 SHA256 552f274b9c9d3d48e2e55462f33aea8df8ebd0f421b0d7a23b78a46693fbed34 SHA512 781ddf9960227c4ad21fb7e763180cfed7f1c5c0237277335577932678a42a4c2f303f61922d93ec850dbc86df36c292ff10ae053a6e00d7127a48c7ac4e359c WHIRLPOOL 53f47ce9af83e57121e8ad261aece0eda53bbe42d02edebdfd8ffeb3874146c6ab7d63e2347755ac6a447413f46254c6db7ac7aed8809c4ad1baf5a7e0e586fb
+EBUILD notepadqq-1.0.1.ebuild 1147 SHA256 b2d401eb2b5a7454e407d518a0ea9c8a4cf90d35447b2579929f95c403ae926b SHA512 44c0b195927c434fccc2b5ba7170167321723a846fc513fde27866a0891736559e2343c88553ae0f1763342b40e32a0af0053fea0d8fe028587e4783cddfc063 WHIRLPOOL 557e4b44db0931defb268e320ca5143e4c812df1064187c1c939d8944cc9402be61d62a18c0da3f1e31bf56aa80de28ac231e2e3d248224644d907f94a04df90
+MISC metadata.xml 345 SHA256 a4edd2bf46b2a030179ba2e6ee8c84d4584df79914f1e93623c6eea6e674c443 SHA512 90d1d18d81da9f0870d7e41a4c421fb58872861358fa4f095c5b040c6465752898867e47b866750f19f316fdb8fed42bc878e84ced27ddb2503ec142d035f033 WHIRLPOOL 7abc10f05b045f8ec67e92c65fe84f4118bf49a672a5a9d74c01eb360d1cc705783ad2a1ffaff20e83e6bde21aedd10c5a242f1e74c40a47eb84c194aba02144
diff --git a/app-editors/notepadqq/metadata.xml b/app-editors/notepadqq/metadata.xml
new file mode 100644
index 000000000000..778dcea02be0
--- /dev/null
+++ b/app-editors/notepadqq/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 type="person">
+ <email>polynomial-c@gentoo.org</email>
+ <name>Lars Wendler</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">notepadqq/notepadqq</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/notepadqq/notepadqq-1.0.1.ebuild b/app-editors/notepadqq/notepadqq-1.0.1.ebuild
new file mode 100644
index 000000000000..9a6ce8d4b4ec
--- /dev/null
+++ b/app-editors/notepadqq/notepadqq-1.0.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit qmake-utils
+
+CM_PV="5.18.2"
+
+DESCRIPTION="Notepad++-like editor for Linux"
+HOMEPAGE="http://notepadqq.altervista.org"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/${PN}/CodeMirror/archive/${CM_PV}.tar.gz -> CodeMirror-${CM_PV}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwebkit:5
+ dev-qt/qtwidgets:5
+"
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+ unpack ${A}
+ rmdir "${S}"/src/editor/libs/codemirror || die
+ mv "${WORKDIR}"/CodeMirror-${CM_PV} "${S}"/src/editor/libs/codemirror \
+ || die
+}
+
+src_prepare() {
+ default
+
+ # codemirror releases have no m4 directory
+ sed '/mode\/m4/d' -i src/editor/libs/Makefile-codemirror || die
+
+ # Silence a QA warning
+ sed '/^OnlyShowIn/d' \
+ -i support_files/shortcuts/notepadqq.desktop \
+ || die
+}
+
+src_configure() {
+ eqmake5 PREFIX="${EPREFIX}/usr" ${PN}.pro
+}
+
+src_install() {
+ emake -j1 INSTALL_ROOT="${D}" install
+}
diff --git a/app-editors/nvi/Manifest b/app-editors/nvi/Manifest
new file mode 100644
index 000000000000..746910b086d2
--- /dev/null
+++ b/app-editors/nvi/Manifest
@@ -0,0 +1,15 @@
+AUX nvi-1.81.6-ac_config_header.patch 410 SHA256 3aeb0d4b109f8fc75065cad73b906b29a7fa2f5db9dc403f82044845e59785d3 SHA512 ef4fb4869b8dbf0a1677aba99f00de5730dc64f48aab35de113f91d22aea769054d2ce875af7c084d1fa3c3a526f2695fbba9ad248c86a296e6c2580c682f8d4 WHIRLPOOL e40552495127f5129cdfd7cea41e1c1b6e2321dd185710c276ecc391c28120308bea07786e95f3eff6516ff70b86523428d69b0c0fa5084cd4ead102c62b9b53
+AUX nvi-1.81.6-db.patch 690 SHA256 e1b5e646bd39c491a5b61e4f1847a5071642c86aabe332c824ad11255fb1370e SHA512 83c8d875b57a73a012bb22935c99b814e7836a809fe1e4eba0021425892dcb66930cded4c2a2af38984db25d23285ce86aaf4cf2def8acb5f669ada368f30f28 WHIRLPOOL 1c64035d2d88e539becdabbf1ce93c2baccd535ade13ad49138f5075e489e1ac712657210b47bb28814949cd51b505c1b384569a9217c23ec8da4140aed0ef03
+AUX nvi-1.81.6-db44.patch 1351 SHA256 6bd6ba92b3ab95c14d681bd5c0c4c88e8d57352a132325645cbadd20a138a623 SHA512 d59b3dd860562fe433379951405527825977d3e847a6575d30deb146e0fb8617e13c1962fca0341557093f34a725bb131d2979c15466d8fc6194ad1f928a7e7f WHIRLPOOL 34e5653100e324f3c0797d3db682d439c1cf6534e4ad3be337cce49975ffb12900235dc17da4ca5ac65f3805b69c65cdd41e40f705aff29c186fc97a63c5751c
+AUX nvi-1.81.6-perl-as-needed.patch 2807 SHA256 93dd4ce90931e772319f40a32b33611dfcf1b828d41ce4b33b0f980a45979e82 SHA512 9bff6bec4970240edcb43e66d17e26a3a035d003124f355f8688794fd3459da6d2d64435a19dd8b701cc4f75c24680299a7407c779fbc0a96647e31b3a1fa21f WHIRLPOOL 5f3b9957aeec733e24d64ccf65c466e8366cb0b807f8768c2f5148d351201f1691ed1a61f067eda22f275f1c1e3d3b826e92ec2d8171560ee932ba5f79318e66
+AUX nvi-1.81.6-perl-shortnames.patch 384 SHA256 182412f1f823245a8386d626612f19f2e1cb9540be6608364638c06b4b766478 SHA512 f013a692ff5d62f41b6fa39c8ddea5907c2ed4dbcf4c84725edb71c61aa09dd54a470ee1228eadfdda745a6eeae653f490b30f7e77952b66515285ecbf2f82b7 WHIRLPOOL 942ac4869e424d5a9b8d713aae8f125ccc90444122bc3a1f62d3bd427e48e6dcc9b0da2f64ee3d9575990e2ce947d7ddf3c81078ec5c123687a72bf7a548e0a7
+AUX nvi-1.81.6-printf-types.patch 437 SHA256 6edea4f957d580fb8b624f48d3f21da996c4861f3be493eb47990fafe5400899 SHA512 8da354d7278300fea44e9dae1f539c23211257aa9475e5a223f7d3aca7d5edaebf6245923f32174cece3386f5564a7794efd6ef2394bbdaaf35c14b99a2c731b WHIRLPOOL 22c585a812a08b97edd06f3eb000bc8d3ab6d854a3f6fbd9a998e3c39d90d3b10a6ce7bd9eb57855949df179cacf25dd84b3681aa08973c8185d77699b678228
+AUX nvi-1.81.6-strlen-macro-renaming.patch 18467 SHA256 5803bc981ff835c7f76f1ae23f8709f39b6907fba56f4e9d72a0172aed5a599a SHA512 af3470a3f56ede588439153ca84db331a418eecc08787ce89680e5614020418bfa0cb806530525d08ce65af189cb338162a5d77444c14f36036df3bb0327b196 WHIRLPOOL 14df3913b291c98c7d3d4d4332a94e447c2328409efdba6e81db00a492a889929321e763bea6cdd720d94654af84e344eedeb962100dcd321dbcd773f88631da
+AUX nvi-1.81.6-use_pkgconfig_for_ncurses.patch 945 SHA256 d42027a4ed66cd63d34fe09c38cad2efd0aaafb6b2d84764c55cc76d014d87a7 SHA512 15d524acfc98bfef4d490a5bb985be6d620487b82b997ffc6fae3e0ad90e7c3a392dd67ebe9fb247c758976485937102dd14422d6218ccbb0491018af5c21906 WHIRLPOOL 490bd5d534110e7c193ab91a6d941f3b58a812fe73a251edbfb2e7cf23bc55e71098dad75ff713dcb2c1fa0286dc620616d4ddd8e89955bf9be39b9e97f6ce42
+DIST nvi-1.81.6.tar.bz2 1758309 SHA256 3441b8e3247b2b6dd19b5fd38355fe6593b2a92e960ecb3dd00d676f63d06b59 SHA512 7e203f7ea6723427d18ff55361254991f50d395f89aab2ea52d0902c474acb24c289da7c35d9e907d652145f13483d8a8270f5c8ee72bd723a3b1eaeecc4f9fd WHIRLPOOL e349a09c281bc41b1ff404a9bfa6bc16b7e4b70c45a91efe231e4e766f72f83f5bbae9a901ffc448b8badae21a494fafd3292028f1a3234d8b92085206772375
+EBUILD nvi-1.81.6-r4.ebuild 2268 SHA256 02df7e88cf556e694dee0b7f58d9b44c8840ca7f6a627638c421f49d9a1a054a SHA512 63bce6e982f0ef19c77fc345ada2b4c7f4af991852bd04b1fd8411dddf73091298ed9c8ea4fb2fc54b312bdfffb799d4b9969d942c8eccadb7916f2a70633c90 WHIRLPOOL 715b881f59c998c7392a7ddb24a140d083bba1d60f9fe7b1fad742365cd3c28f028993bbd9958d4b04d7ac1baea671e64bee4b8c013deac8fb9578f1690b7ece
+EBUILD nvi-1.81.6-r6.ebuild 2287 SHA256 8a5b020139c4cf3216cc80a346426a07fa5bf93b8596ffabaa5499872ba941d6 SHA512 70c15e8a90ccc08987fba4c1681d27cbdaed83111b46b8e73ad3310acb8cf2ef3ae385df9829481444ef942bc774f605f33da021ae6c2ea6d1200cbc8b5baee1 WHIRLPOOL 5503865470c5c24b515141024b789491a139db69ab5ea8ca9dfbc333b81e5b5506d871ba0678d8cad26a531619fe70d1169c80385abb8640ce25c3a0a74d0884
+EBUILD nvi-1.81.6-r7.ebuild 2055 SHA256 f9f8a13316c0965a5f8712c24449403af78ad3835136124f6973c0cc8391410c SHA512 969183b259b5638a464a9cccf4deb47834e18ed2643e8c11d470b1c6bdf258d3b49d320982842d1959ee01dfe6896f17847747609fb4e158940a5928e1cf7cc2 WHIRLPOOL 661947b30a486025c3e2e83e56692a49b1d091fa6d4151f7b8af8bfd59ad7a56cc57a5b39d7ceb55f6b51ba35cecb96f6de2577b54a42d758d5f47c68c0b6fe8
+MISC ChangeLog 4269 SHA256 07e281fcd3ab4dbc156eaa05ea8ba21def9d6cef776b16479d8428f497004c89 SHA512 78aaa31c930900e3f79fdf169425e53d2c63a07aa67330cadbe5572144649bd43dca6d438701e686d763aa4d36267dc0a54b08a283d32a355ec225ee27c14630 WHIRLPOOL 28dda32b8d130b6aa56addb53a38e0a73a0a713a4c89ed994c4543a4134335423f3ce545f3851926da874dda3af1c58a7f728302862f8b2ce732db1314d889c3
+MISC ChangeLog-2015 14138 SHA256 2aee382d076cf37e2c80540c40214e8e5f59a9345a010e8b8c7c27ca1edfd0f8 SHA512 c14eb626249d95f33347d93a419dd46f3f2caf71a4b91f9f86547bfc93296f000ce251d64989ef28a91f5022477972b498460eee2efed6d1b891c1a1b8f0be59 WHIRLPOOL 3b3a7b190d571908336434c14b415af9bafc5ecabd2420f9c8cebeb6e2189c0c214c60e121fc59462741b908525f099e73ed7312b754964a85c5bf92da43182e
+MISC metadata.xml 365 SHA256 501403f698be007f94d9fa5b9a4096f3b237a48555bd45aa06585b1dcbf67418 SHA512 f87d93b660215d0d7271ecb980798e1c5bef9ab24a4773ea2e60748cfa4dd57644567820d5862e33520b7a71f4ef07bac60265f0e656a26aad5360c74b7611fd WHIRLPOOL b464116e2e4cbfca8b37344c581d96f2bad789c70bc59a88334361c83d2193bb6581d620b2972d68a9cd42c54f7523ddbe3cb5c467a804afc946517af91d8360
diff --git a/app-editors/nvi/files/nvi-1.81.6-ac_config_header.patch b/app-editors/nvi/files/nvi-1.81.6-ac_config_header.patch
new file mode 100644
index 000000000000..49f9453983bc
--- /dev/null
+++ b/app-editors/nvi/files/nvi-1.81.6-ac_config_header.patch
@@ -0,0 +1,12 @@
+diff -uNr nvi-1.81.6.orig/dist/configure.in nvi-1.81.6/dist/configure.in
+--- nvi-1.81.6.orig/dist/configure.in 2013-07-09 16:54:56.000000000 -0400
++++ nvi-1.81.6/dist/configure.in 2013-07-09 16:59:35.000000000 -0400
+@@ -4,7 +4,7 @@
+ AC_INIT(../common/main.c)
+ AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE(vi, 1.81.6)
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADER(config.h)
+
+ dnl Configure setup.
+ AC_PROG_INSTALL()
diff --git a/app-editors/nvi/files/nvi-1.81.6-db.patch b/app-editors/nvi/files/nvi-1.81.6-db.patch
new file mode 100644
index 000000000000..70015261aee4
--- /dev/null
+++ b/app-editors/nvi/files/nvi-1.81.6-db.patch
@@ -0,0 +1,26 @@
+--- a/common/exf.c
++++ b/common/exf.c
+@@ -228,13 +228,18 @@
+ /*
+ * XXX
+ * A seat of the pants calculation: try to keep the file in
+- * 15 pages or less. Don't use a page size larger than 10K
++ * 15 pages or less. Don't use a page size larger than 8K
+- * (vi should have good locality) or smaller than 1K.
++ * (vi should have good locality) or smaller than 1K. DB asks
++ * for a power of two, so give it one.
+ */
+ psize = ((sb.st_size / 15) + 1023) / 1024;
+- if (psize > 10)
++ if (psize >= 8)
+- psize = 10;
++ psize = 8;
++ else if (psize >= 4)
++ psize = 4;
++ else if (psize >= 2)
++ psize = 2;
+- if (psize == 0)
++ else
+ psize = 1;
+ psize *= 1024;
+
diff --git a/app-editors/nvi/files/nvi-1.81.6-db44.patch b/app-editors/nvi/files/nvi-1.81.6-db44.patch
new file mode 100644
index 000000000000..4d4c75d2cb35
--- /dev/null
+++ b/app-editors/nvi/files/nvi-1.81.6-db44.patch
@@ -0,0 +1,38 @@
+
+ First part is adapted from http://cvsweb.se.netbsd.org/cgi-bin/bsdweb.cgi/pkgsrc/editors/nvi/patches/patch-aa?rev=1.3;content-type=text/plain
+
+--- a/common/db.h
++++ b/common/db.h
+@@ -4,7 +4,7 @@
+ #define DB_BUFFER_SMALL ENOMEM
+ #endif
+
+-#if DB_VERSION_MAJOR >= 3 && DB_VERSION_MINOR >= 1
++#if (DB_VERSION_MAJOR >= 3 && DB_VERSION_MINOR >= 1) || DB_VERSION_MAJOR > 3
+ #define db_env_open(env,path,flags,mode) \
+ (env)->open(env, path, flags, mode)
+ #define db_env_remove(env,path,flags) \
+@@ -16,7 +16,10 @@
+ (env)->remove(env, path, NULL, flags)
+ #endif
+
+-#if DB_VERSION_MAJOR >= 4 && DB_VERSION_MINOR >= 1
++# if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 4) || DB_VERSION_MAJOR > 4
++#define db_open(db,file,type,flags,mode) \
++ (db)->open(db, NULL, file, NULL, type, flags | DB_CREATE, mode)
++#elif DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
+ #define db_open(db,file,type,flags,mode) \
+ (db)->open(db, NULL, file, NULL, type, flags, mode)
+ #else
+--- a/common/msg.c
++++ b/common/msg.c
+@@ -724,7 +724,8 @@
+ p = buf;
+ } else
+ p = file;
+- if ((sp->db_error = db_create(&db, 0, 0)) != 0 ||
++ if (access(p, R_OK) != 0 ||
++ (sp->db_error = db_create(&db, 0, 0)) != 0 ||
+ (sp->db_error = db->set_re_source(db, p)) != 0 ||
+ (sp->db_error = db_open(db, NULL, DB_RECNO, 0, 0)) != 0) {
+ if (first) {
diff --git a/app-editors/nvi/files/nvi-1.81.6-perl-as-needed.patch b/app-editors/nvi/files/nvi-1.81.6-perl-as-needed.patch
new file mode 100644
index 000000000000..adf75b69cb35
--- /dev/null
+++ b/app-editors/nvi/files/nvi-1.81.6-perl-as-needed.patch
@@ -0,0 +1,94 @@
+--- a/dist/configure.in
++++ b/dist/configure.in
+@@ -105,7 +105,7 @@
+
+ dnl A/UX has a broken getopt(3), strpbrk(3).
+ case "$host_os" in
+-aux*) LIBOBJS="getopt.o strpbrk.o $LIBOBJS";;
++aux*) LIBOBJS="libvi_la-getopt.o libvi_la-strpbrk.o $LIBOBJS";;
+ esac
+
+ dnl Ultrix has a broken POSIX.1 VDISABLE value.
+@@ -434,7 +434,7 @@
+ -e 'ldopts'`
+ perlldflags=`cd $srcdir;$vi_cv_path_perl -MExtUtils::Embed \
+ -e 'ccdlflags'`
+- LIBOBJS="perl.o perlxsi.o perlsfio.o $LIBOBJS"
++ LIBOBJS="libvi_la-perl.o libvi_la-perlxsi.o libvi_la-perlsfio.o $LIBOBJS"
+ AC_DEFINE(HAVE_PERL_INTERP)
+ AC_CACHE_CHECK([whether we need to use perl's setenv],
+ vi_cv_perl_setenv, [
+@@ -471,7 +471,7 @@
+ AC_MSG_ERROR([No Tcl library found;])
+ fi
+ . $vi_cv_tclconfig
+- LIBOBJS="tcl.o $LIBOBJS"
++ LIBOBJS="libvi_la-tcl.o $LIBOBJS"
+ LIBS="$TCL_LIB_SPEC $TCL_LIBS $LIBS"
+ AC_DEFINE(HAVE_TCL_INTERP)
+ fi
+@@ -607,12 +607,12 @@
+
+ dnl If we needed setenv or unsetenv, add in the clib/env.c replacement file.
+ if test "$need_env" = yes; then
+- LIBOBJS="env.o $LIBOBJS"
++ LIBOBJS="libvi_la-env.o $LIBOBJS"
+ fi
+
+ dnl If we need strsep, add it and define it so we get a prototype.
+ if test "$need_strsep" = yes; then
+- LIBOBJS="strsep.o $LIBOBJS"
++ LIBOBJS="libvi_la-strsep.o $LIBOBJS"
+ fi
+
+ dnl Check for fcntl/flock
+@@ -1003,7 +1003,7 @@
+ PATH="$OLDPATH"
+
+ AC_DEFINE(USE_DYNAMIC_LOADING)
+- LIBOBJS="dldb.o $LIBOBJS"
++ LIBOBJS="libvi_la-dldb.o $LIBOBJS"
+ dl_src=../common/dldb.c
+ LIBS="-ldl $LIBS"
+ else
+@@ -1046,9 +1046,9 @@
+ CPPFLAGS="-I$vi_cv_dbsrc/include_auto $CPPFLAGS"
+ CPPFLAGS="-I$with_db_build $CPPFLAGS"
+ AC_DEFINE(USE_DB4_LOGGING)
+- LIBOBJS="log4.o vi_auto.o vi_rec.o $LIBOBJS"
++ LIBOBJS="libvi_la-log4.o libvi_la-vi_auto.o libvi_la-vi_rec.o $LIBOBJS"
+ else
+- LIBOBJS="log.o $LIBOBJS"
++ LIBOBJS="libvi_la-log.o $LIBOBJS"
+ fi
+
+ dnl We compile in nvi's RE routines unless the user specifies otherwise.
+@@ -1064,7 +1064,7 @@
+ case "$vi_cv_re_lib" in
+ "bundled RE")
+ CPPFLAGS="-I\$(visrcdir)/regex $CPPFLAGS"
+- LIBOBJS="regcomp.o regerror.o regexec.o regfree.o $LIBOBJS";;
++ LIBOBJS="libvi_la-regcomp.o libvi_la-regerror.o libvi_la-regexec.o libvi_la-regfree.o $LIBOBJS";;
+ "other RE")
+ ;;
+ esac
+--- a/dist/Makefile.am
++++ b/dist/Makefile.am
+@@ -169,12 +169,15 @@
+ $(visrcdir)/common/pthread.c \
+ $(visrcdir)/common/vi_auto.c \
+ $(visrcdir)/common/vi_rec.c \
+- $(visrcdir)/perl_api/perl.xs \
++ perl.c \
+ $(visrcdir)/perl_api/perlsfio.c \
++ perlxsi.c \
+ $(visrcdir)/tcl_api/tcl.c
+ # Is this the way to do it ?
+ libvi_la_DEPENDENCIES = @LTLIBOBJS@
+-libvi_la_LIBADD = @LTLIBOBJS@
++libvi_la_LIBADD = @LTLIBOBJS@ @perllibs@
++libvi_la_CPPFLAGS = @perlldflags@ $(AM_CPPFLAGS)
++libvi_la_LDFLAGS = @perlldflags@
+
+ bin_PROGRAMS = @vi_programs@ @vi_ipc@
+ EXTRA_PROGRAMS = vi vi-ipc vi-motif vi-gtk
diff --git a/app-editors/nvi/files/nvi-1.81.6-perl-shortnames.patch b/app-editors/nvi/files/nvi-1.81.6-perl-shortnames.patch
new file mode 100644
index 000000000000..3567646688e7
--- /dev/null
+++ b/app-editors/nvi/files/nvi-1.81.6-perl-shortnames.patch
@@ -0,0 +1,20 @@
+--- a/perl_api/perlsfio.c
++++ b/perl_api/perlsfio.c
+@@ -32,6 +32,7 @@
+ /* perl redefines them
+ * avoid warnings
+ */
++#undef re_compile
+ #undef USE_DYNAMIC_LOADING
+ #undef DEBUG
+ #undef PACKAGE
+--- a/perl_api/perl.xs
++++ b/perl_api/perl.xs
+@@ -38,6 +38,7 @@
+ /* perl redefines them
+ * avoid warnings
+ */
++#undef re_compile
+ #undef USE_DYNAMIC_LOADING
+ #undef DEBUG
+ #undef PACKAGE
diff --git a/app-editors/nvi/files/nvi-1.81.6-printf-types.patch b/app-editors/nvi/files/nvi-1.81.6-printf-types.patch
new file mode 100644
index 000000000000..20fc47c18f25
--- /dev/null
+++ b/app-editors/nvi/files/nvi-1.81.6-printf-types.patch
@@ -0,0 +1,14 @@
+lno and last are uint32_t which might be different from unsigned long
+
+--- a/common/msg.c
++++ b/common/msg.c
+@@ -640,7 +640,8 @@ msgq_status(SCR *sp, db_recno_t lno, u_i
+ p += len;
+ } else {
+ t = msg_cat(sp, "027|line %lu of %lu [%ld%%]", &len);
+- (void)sprintf(p, t, lno, last, (lno * 100) / last);
++ (void)sprintf(p, t, (u_long)lno, (u_long)last,
++ ((long)lno * 100L) / (long)last);
+ p += strlen(p);
+ }
+ } else {
diff --git a/app-editors/nvi/files/nvi-1.81.6-strlen-macro-renaming.patch b/app-editors/nvi/files/nvi-1.81.6-strlen-macro-renaming.patch
new file mode 100644
index 000000000000..70a47fd93fd5
--- /dev/null
+++ b/app-editors/nvi/files/nvi-1.81.6-strlen-macro-renaming.patch
@@ -0,0 +1,499 @@
+Created by: Karl Hakimian
+Added by: Jesus Rivero <neurogeek@gentoo.org>
+Added on: Feb 18, 2015
+diff -rupN nvi-1.81.6.orig/common/api.c nvi-1.81.6/common/api.c
+--- nvi-1.81.6.orig/common/api.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/common/api.c 2015-02-17 11:04:50.199111784 -0800
+@@ -423,7 +423,7 @@ api_opts_get(SCR *sp, CHAR_T *name, char
+ switch (op->type) {
+ case OPT_0BOOL:
+ case OPT_1BOOL:
+- MALLOC_RET(sp, *value, char *, STRLEN(op->name) + 2 + 1);
++ MALLOC_RET(sp, *value, char *, NVI_STRLEN(op->name) + 2 + 1);
+ (void)sprintf(*value,
+ "%s"WS, O_ISSET(sp, offset) ? "" : "no", op->name);
+ if (boolvalue != NULL)
+diff -rupN nvi-1.81.6.orig/common/msg.c nvi-1.81.6/common/msg.c
+--- nvi-1.81.6.orig/common/msg.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/common/msg.c 2015-02-17 11:04:50.203891722 -0800
+@@ -378,7 +378,7 @@ msgq_wstr(SCR *sp, mtype_t mtype, CHAR_T
+ msgq(sp, mtype, fmt);
+ return;
+ }
+- INT2CHAR(sp, str, STRLEN(str) + 1, nstr, nlen);
++ INT2CHAR(sp, str, NVI_STRLEN(str) + 1, nstr, nlen);
+ msgq_str(sp, mtype, nstr, fmt);
+ }
+
+diff -rupN nvi-1.81.6.orig/common/multibyte.h nvi-1.81.6/common/multibyte.h
+--- nvi-1.81.6.orig/common/multibyte.h 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/common/multibyte.h 2015-02-17 11:04:50.204262910 -0800
+@@ -12,7 +12,7 @@ typedef wchar_t CHAR_T;
+ typedef u_int UCHAR_T;
+ #define RCHAR_BIT 24
+
+-#define STRLEN wcslen
++#define NVI_STRLEN wcslen
+ #define STRTOL wcstol
+ #define STRTOUL wcstoul
+ #define SPRINTF swprintf
+@@ -31,7 +31,7 @@ typedef u_char CHAR_T;
+ typedef u_char UCHAR_T;
+ #define RCHAR_BIT CHAR_BIT
+
+-#define STRLEN strlen
++#define NVI_STRLEN strlen
+ #define STRTOL strtol
+ #define STRTOUL strtoul
+ #define SPRINTF snprintf
+diff -rupN nvi-1.81.6.orig/common/options.c nvi-1.81.6/common/options.c
+--- nvi-1.81.6.orig/common/options.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/common/options.c 2015-02-17 11:04:50.195900457 -0800
+@@ -315,7 +315,7 @@ opts_init(SCR *sp, int *oargs)
+
+ /* Set numeric and string default values. */
+ #define OI(indx, str) { \
+- a.len = STRLEN(str); \
++ a.len = NVI_STRLEN(str); \
+ if ((CHAR_T*)str != b2) /* GCC puts strings in text-space. */ \
+ (void)MEMCPY(b2, str, a.len+1); \
+ if (opts_set(sp, argv, NULL)) { \
+@@ -620,10 +620,10 @@ opts_set(SCR *sp, ARGS **argv, char *usa
+ goto badnum;
+ if ((nret =
+ nget_uslong(sp, &value, sep, &endp, 10)) != NUM_OK) {
+- INT2CHAR(sp, name, STRLEN(name) + 1,
++ INT2CHAR(sp, name, NVI_STRLEN(name) + 1,
+ np, nlen);
+ p2 = msg_print(sp, np, &nf);
+- INT2CHAR(sp, sep, STRLEN(sep) + 1,
++ INT2CHAR(sp, sep, NVI_STRLEN(sep) + 1,
+ np, nlen);
+ t2 = msg_print(sp, np, &nf2);
+ switch (nret) {
+@@ -647,10 +647,10 @@ opts_set(SCR *sp, ARGS **argv, char *usa
+ break;
+ }
+ if (*endp && !ISBLANK(*endp)) {
+-badnum: INT2CHAR(sp, name, STRLEN(name) + 1,
++badnum: INT2CHAR(sp, name, NVI_STRLEN(name) + 1,
+ np, nlen);
+ p2 = msg_print(sp, np, &nf);
+- INT2CHAR(sp, sep, STRLEN(sep) + 1,
++ INT2CHAR(sp, sep, NVI_STRLEN(sep) + 1,
+ np, nlen);
+ t2 = msg_print(sp, np, &nf2);
+ msgq(sp, M_ERR,
+@@ -680,7 +680,7 @@ badnum: INT2CHAR(sp, name, STRLEN(nam
+ break;
+
+ /* Report to subsystems. */
+- INT2CHAR(sp, sep, STRLEN(sep) + 1, np, nlen);
++ INT2CHAR(sp, sep, NVI_STRLEN(sep) + 1, np, nlen);
+ if (op->func != NULL &&
+ op->func(sp, spo, np, &value) ||
+ ex_optchange(sp, offset, np, &value) ||
+@@ -712,7 +712,7 @@ badnum: INT2CHAR(sp, name, STRLEN(nam
+ * Do nothing if the value is unchanged, the underlying
+ * functions can be expensive.
+ */
+- INT2CHAR(sp, sep, STRLEN(sep) + 1, np, nlen);
++ INT2CHAR(sp, sep, NVI_STRLEN(sep) + 1, np, nlen);
+ if (!F_ISSET(op, OPT_ALWAYS) &&
+ O_STR(sp, offset) != NULL &&
+ !strcmp(O_STR(sp, offset), np))
+@@ -879,7 +879,7 @@ opts_dump(SCR *sp, enum optdisp type)
+ }
+ F_CLR(&sp->opts[cnt], OPT_SELECTED);
+
+- curlen = STRLEN(op->name);
++ curlen = NVI_STRLEN(op->name);
+ switch (op->type) {
+ case OPT_0BOOL:
+ case OPT_1BOOL:
+@@ -1049,7 +1049,7 @@ opts_search(CHAR_T *name)
+ * Check to see if the name is the prefix of one (and only one)
+ * option. If so, return the option.
+ */
+- len = STRLEN(name);
++ len = NVI_STRLEN(name);
+ for (found = NULL, op = optlist; op->name != NULL; ++op) {
+ if (op->name[0] < name[0])
+ continue;
+diff -rupN nvi-1.81.6.orig/dist/tags nvi-1.81.6/dist/tags
+--- nvi-1.81.6.orig/dist/tags 2007-11-18 08:43:55.000000000 -0800
++++ nvi-1.81.6/dist/tags 2015-02-17 11:04:50.225314084 -0800
+@@ -1068,8 +1068,8 @@ SPRINTF ../common/multibyte.h 37;" d
+ STANDARD_TAB ../common/key.h 213;" d
+ STRCMP ../common/multibyte.h 19;" d
+ STRCMP ../common/multibyte.h 38;" d
+-STRLEN ../common/multibyte.h 15;" d
+-STRLEN ../common/multibyte.h 34;" d
++NVI_STRLEN ../common/multibyte.h 15;" d
++NVI_STRLEN ../common/multibyte.h 34;" d
+ STRPBRK ../common/multibyte.h 20;" d
+ STRPBRK ../common/multibyte.h 39;" d
+ STRSET ../common/multibyte.h 22;" d
+diff -rupN nvi-1.81.6.orig/ex/ex_argv.c nvi-1.81.6/ex/ex_argv.c
+--- nvi-1.81.6.orig/ex/ex_argv.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/ex/ex_argv.c 2015-02-17 11:04:50.267171388 -0800
+@@ -217,7 +217,7 @@ argv_exp2(SCR *sp, EXCMD *excp, CHAR_T *
+
+ *p = '\0';
+ INT2CHAR(sp, bp + SHELLOFFSET,
+- STRLEN(bp + SHELLOFFSET) + 1, np, nlen);
++ NVI_STRLEN(bp + SHELLOFFSET) + 1, np, nlen);
+ d = strdup(np);
+ rval = argv_lexp(sp, excp, d);
+ free (d);
+@@ -332,7 +332,7 @@ argv_fexp(SCR *sp, EXCMD *excp, CHAR_T *
+ "115|No previous command to replace \"!\"");
+ return (1);
+ }
+- len += tlen = STRLEN(exp->lastbcomm);
++ len += tlen = NVI_STRLEN(exp->lastbcomm);
+ off = p - bp;
+ ADD_SPACE_RETW(sp, bp, blen, len);
+ p = bp + off;
+@@ -683,7 +683,7 @@ err: if (ifp != NULL)
+ * XXX
+ * Assume that all shells have -c.
+ */
+- INT2CHAR(sp, bp, STRLEN(bp)+1, np, nlen);
++ INT2CHAR(sp, bp, NVI_STRLEN(bp)+1, np, nlen);
+ execl(sh_path, sh, "-c", np, (char *)NULL);
+ msgq_str(sp, M_SYSERR, sh_path, "118|Error: execl: %s");
+ _exit(127);
+diff -rupN nvi-1.81.6.orig/ex/ex_cscope.c nvi-1.81.6/ex/ex_cscope.c
+--- nvi-1.81.6.orig/ex/ex_cscope.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/ex/ex_cscope.c 2015-02-17 11:04:50.261539058 -0800
+@@ -140,7 +140,7 @@ ex_cscope(SCR *sp, EXCMD *cmdp)
+ for (; *p && isspace(*p); ++p);
+ }
+
+- INT2CHAR(sp, cmd, STRLEN(cmd) + 1, np, nlen);
++ INT2CHAR(sp, cmd, NVI_STRLEN(cmd) + 1, np, nlen);
+ if ((ccp = lookup_ccmd(np)) == NULL) {
+ usage: msgq(sp, M_ERR, "309|Use \"cscope help\" for help");
+ return (1);
+@@ -214,7 +214,7 @@ cscope_add(SCR *sp, EXCMD *cmdp, CHAR_T
+ * >1 additional args: object, too many args.
+ */
+ cur_argc = cmdp->argc;
+- if (argv_exp2(sp, cmdp, dname, STRLEN(dname))) {
++ if (argv_exp2(sp, cmdp, dname, NVI_STRLEN(dname))) {
+ return (1);
+ }
+ if (cmdp->argc == cur_argc) {
+@@ -228,7 +228,7 @@ cscope_add(SCR *sp, EXCMD *cmdp, CHAR_T
+ return (1);
+ }
+
+- INT2CHAR(sp, dname, STRLEN(dname)+1, np, nlen);
++ INT2CHAR(sp, dname, NVI_STRLEN(dname)+1, np, nlen);
+
+ /*
+ * The user can specify a specific file (so they can have multiple
+@@ -471,7 +471,7 @@ cscope_find(SCR *sp, EXCMD *cmdp, CHAR_T
+ }
+
+ /* Create the cscope command. */
+- INT2CHAR(sp, pattern, STRLEN(pattern) + 1, np, nlen);
++ INT2CHAR(sp, pattern, NVI_STRLEN(pattern) + 1, np, nlen);
+ np = strdup(np);
+ if ((tqp = create_cs_cmd(sp, np, &search)) == NULL)
+ goto err;
+@@ -801,7 +801,7 @@ cscope_help(SCR *sp, EXCMD *cmdp, CHAR_T
+ char *np;
+ size_t nlen;
+
+- INT2CHAR(sp, subcmd, STRLEN(subcmd) + 1, np, nlen);
++ INT2CHAR(sp, subcmd, NVI_STRLEN(subcmd) + 1, np, nlen);
+ return (csc_help(sp, np));
+ }
+
+@@ -842,7 +842,7 @@ cscope_kill(SCR *sp, EXCMD *cmdp, CHAR_T
+ char *np;
+ size_t nlen;
+
+- INT2CHAR(sp, cn, STRLEN(cn) + 1, np, nlen);
++ INT2CHAR(sp, cn, NVI_STRLEN(cn) + 1, np, nlen);
+ return (terminate(sp, NULL, atoi(np)));
+ }
+
+diff -rupN nvi-1.81.6.orig/ex/ex_filter.c nvi-1.81.6/ex/ex_filter.c
+--- nvi-1.81.6.orig/ex/ex_filter.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/ex/ex_filter.c 2015-02-17 11:04:50.263257613 -0800
+@@ -138,7 +138,7 @@ err: if (input[0] != -1)
+ else
+ ++name;
+
+- INT2SYS(sp, cmd, STRLEN(cmd)+1, np, nlen);
++ INT2SYS(sp, cmd, NVI_STRLEN(cmd)+1, np, nlen);
+ execl(O_STR(sp, O_SHELL), name, "-c", np, (char *)NULL);
+ msgq_str(sp, M_SYSERR, O_STR(sp, O_SHELL), "execl: %s");
+ _exit (127);
+@@ -283,7 +283,7 @@ err: if (input[0] != -1)
+ * Ignore errors on vi file reads, to make reads prettier. It's
+ * completely inconsistent, and historic practice.
+ */
+-uwait: INT2CHAR(sp, cmd, STRLEN(cmd) + 1, np, nlen);
++uwait: INT2CHAR(sp, cmd, NVI_STRLEN(cmd) + 1, np, nlen);
+ return (proc_wait(sp, (long)utility_pid, np,
+ ftype == FILTER_READ && F_ISSET(sp, SC_VI) ? 1 : 0, 0) || rval);
+ }
+diff -rupN nvi-1.81.6.orig/ex/ex_init.c nvi-1.81.6/ex/ex_init.c
+--- nvi-1.81.6.orig/ex/ex_init.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/ex/ex_init.c 2015-02-17 11:04:50.279419412 -0800
+@@ -61,7 +61,7 @@ ex_screen_copy(SCR *orig, SCR *sp)
+
+ if (oexp->lastbcomm != NULL &&
+ (nexp->lastbcomm = v_wstrdup(sp, oexp->lastbcomm,
+- STRLEN(oexp->lastbcomm))) == NULL) {
++ NVI_STRLEN(oexp->lastbcomm))) == NULL) {
+ msgq(sp, M_SYSERR, NULL);
+ return(1);
+ }
+diff -rupN nvi-1.81.6.orig/ex/ex_tag.c nvi-1.81.6/ex/ex_tag.c
+--- nvi-1.81.6.orig/ex/ex_tag.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/ex/ex_tag.c 2015-02-17 11:04:50.275254557 -0800
+@@ -68,7 +68,7 @@ ex_tag_first(SCR *sp, CHAR_T *tagarg)
+
+ /* Build an argument for the ex :tag command. */
+ ex_cinit(sp, &cmd, C_TAG, 0, OOBLNO, OOBLNO, 0);
+- argv_exp0(sp, &cmd, tagarg, STRLEN(tagarg));
++ argv_exp0(sp, &cmd, tagarg, NVI_STRLEN(tagarg));
+
+ /*
+ * XXX
+@@ -115,7 +115,7 @@ ex_tag_push(SCR *sp, EXCMD *cmdp)
+
+ /* Taglength may limit the number of characters. */
+ if ((tl =
+- O_VAL(sp, O_TAGLENGTH)) != 0 && STRLEN(exp->tag_last) > tl)
++ O_VAL(sp, O_TAGLENGTH)) != 0 && NVI_STRLEN(exp->tag_last) > tl)
+ exp->tag_last[tl] = '\0';
+ break;
+ case 0:
+@@ -587,7 +587,7 @@ ex_tag_copy(SCR *orig, SCR *sp)
+ /* Copy the last tag. */
+ if (oexp->tag_last != NULL &&
+ (nexp->tag_last = v_wstrdup(sp, oexp->tag_last,
+- STRLEN(oexp->tag_last))) == NULL) {
++ NVI_STRLEN(oexp->tag_last))) == NULL) {
+ msgq(sp, M_SYSERR, NULL);
+ return (1);
+ }
+@@ -997,7 +997,7 @@ ctag_slist(SCR *sp, CHAR_T *tag)
+ exp = EXP(sp);
+
+ /* Allocate and initialize the tag queue structure. */
+- INT2CHAR(sp, tag, STRLEN(tag) + 1, np, nlen);
++ INT2CHAR(sp, tag, NVI_STRLEN(tag) + 1, np, nlen);
+ len = nlen - 1;
+ CALLOC_GOTO(sp, tqp, TAGQ *, 1, sizeof(TAGQ) + len + 1);
+ CIRCLEQ_INIT(&tqp->tagq);
+diff -rupN nvi-1.81.6.orig/ex/ex_util.c nvi-1.81.6/ex/ex_util.c
+--- nvi-1.81.6.orig/ex/ex_util.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/ex/ex_util.c 2015-02-17 11:04:50.268378054 -0800
+@@ -153,7 +153,7 @@ ex_wemsg(SCR* sp, CHAR_T *p, exm_t which
+ char *np;
+ size_t nlen;
+
+- if (p) INT2CHAR(sp, p, STRLEN(p), np, nlen);
++ if (p) INT2CHAR(sp, p, NVI_STRLEN(p), np, nlen);
+ else np = NULL;
+ ex_emsg(sp, np, which);
+ }
+diff -rupN nvi-1.81.6.orig/ex/ex_write.c nvi-1.81.6/ex/ex_write.c
+--- nvi-1.81.6.orig/ex/ex_write.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/ex/ex_write.c 2015-02-17 11:04:50.277249383 -0800
+@@ -158,7 +158,7 @@ exwr(SCR *sp, EXCMD *cmdp, enum which cm
+ ex_emsg(sp, cmdp->cmd->usage, EXM_USAGE);
+ return (1);
+ }
+- if (argv_exp1(sp, cmdp, p, STRLEN(p), 1))
++ if (argv_exp1(sp, cmdp, p, NVI_STRLEN(p), 1))
+ return (1);
+
+ /*
+@@ -203,7 +203,7 @@ exwr(SCR *sp, EXCMD *cmdp, enum which cm
+ &cmdp->addr1, &cmdp->addr2, NULL, flags));
+
+ /* Build an argv so we get an argument count and file expansion. */
+- if (argv_exp2(sp, cmdp, p, STRLEN(p)))
++ if (argv_exp2(sp, cmdp, p, NVI_STRLEN(p)))
+ return (1);
+
+ /*
+@@ -255,7 +255,7 @@ exwr(SCR *sp, EXCMD *cmdp, enum which cm
+ set_alt_name(sp, name);
+ break;
+ default:
+- INT2CHAR(sp, p, STRLEN(p) + 1, n, nlen);
++ INT2CHAR(sp, p, NVI_STRLEN(p) + 1, n, nlen);
+ ex_emsg(sp, n, EXM_FILECOUNT);
+ return (1);
+ }
+diff -rupN nvi-1.81.6.orig/ip/ip_term.c nvi-1.81.6/ip/ip_term.c
+--- nvi-1.81.6.orig/ip/ip_term.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/ip/ip_term.c 2015-02-17 11:04:50.280203225 -0800
+@@ -127,7 +127,7 @@ ip_optchange(SCR *sp, int offset, char *
+
+ ipb.code = SI_EDITOPT;
+ ipb.str1 = (char*)opt->name;
+- ipb.len1 = STRLEN(opt->name) * sizeof(CHAR_T);
++ ipb.len1 = NVI_STRLEN(opt->name) * sizeof(CHAR_T);
+
+ (void)vi_send(ipp->o_fd, "ab1", &ipb);
+ return (0);
+diff -rupN nvi-1.81.6.orig/perl_api/perl.xs nvi-1.81.6/perl_api/perl.xs
+--- nvi-1.81.6.orig/perl_api/perl.xs 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/perl_api/perl.xs 2015-02-17 11:04:50.189684363 -0800
+@@ -326,7 +326,7 @@ perl_ex_perl(scrp, cmdp, cmdlen, f_lno,
+ newVIrv(pp->svid, scrp);
+
+ istat = signal(SIGINT, my_sighandler);
+- INT2CHAR(scrp, cmdp, STRLEN(cmdp)+1, np, nlen);
++ INT2CHAR(scrp, cmdp, NVI_STRLEN(cmdp)+1, np, nlen);
+ perl_eval(np);
+ signal(SIGINT, istat);
+
+@@ -421,7 +421,7 @@ perl_ex_perldo(scrp, cmdp, cmdlen, f_lno
+ /* Backwards compatibility. */
+ newVIrv(pp->svid, scrp);
+
+- INT2CHAR(scrp, cmdp, STRLEN(cmdp)+1, np, nlen);
++ INT2CHAR(scrp, cmdp, NVI_STRLEN(cmdp)+1, np, nlen);
+ if (!(command = malloc(length = nlen - 1 + sizeof("sub {}"))))
+ return 1;
+ snprintf(command, length, "sub {%s}", np);
+diff -rupN nvi-1.81.6.orig/regex/engine.c nvi-1.81.6/regex/engine.c
+--- nvi-1.81.6.orig/regex/engine.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/regex/engine.c 2015-02-17 11:04:50.181456859 -0800
+@@ -161,7 +161,7 @@ int eflags;
+ stop = string + pmatch[0].rm_eo;
+ } else {
+ start = string;
+- stop = start + STRLEN(start);
++ stop = start + NVI_STRLEN(start);
+ }
+ if (stop < start)
+ return(REG_INVARG);
+diff -rupN nvi-1.81.6.orig/regex/regcomp.c nvi-1.81.6/regex/regcomp.c
+--- nvi-1.81.6.orig/regex/regcomp.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/regex/regcomp.c 2015-02-17 11:04:50.175705539 -0800
+@@ -198,7 +198,7 @@ regcomp(regex_t *preg, const RCHAR_T *pa
+ return(REG_INVARG);
+ len = preg->re_endp - pattern;
+ } else
+- len = STRLEN(pattern);
++ len = NVI_STRLEN(pattern);
+
+ /* do the mallocs early so failure handling is easy */
+ g = (struct re_guts *)malloc(sizeof(struct re_guts) +
+@@ -818,7 +818,7 @@ p_b_cclass(register struct parse *p, reg
+ NEXT();
+ len = p->next - sp;
+ for (cp = cclasses; cp->name != NULL; cp++)
+- if (STRLEN(cp->name) == len && MEMCMP(cp->name, sp, len))
++ if (NVI_STRLEN(cp->name) == len && MEMCMP(cp->name, sp, len))
+ break;
+ if (cp->name == NULL) {
+ /* oops, didn't find it */
+@@ -889,7 +889,7 @@ p_b_coll_elem(register struct parse *p,
+ }
+ len = p->next - sp;
+ for (cp = cnames; cp->name != NULL; cp++)
+- if (STRLEN(cp->name) == len && MEMCMP(cp->name, sp, len))
++ if (NVI_STRLEN(cp->name) == len && MEMCMP(cp->name, sp, len))
+ return(cp->code); /* known name */
+ if (len == 1)
+ return(*sp); /* single character */
+diff -rupN nvi-1.81.6.orig/vi/v_event.c nvi-1.81.6/vi/v_event.c
+--- nvi-1.81.6.orig/vi/v_event.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/vi/v_event.c 2015-02-17 11:04:50.242966563 -0800
+@@ -97,7 +97,7 @@ v_editopt(SCR *sp, VICMD *vp)
+ size_t nlen;
+ char *p2;
+
+- INT2CHAR(sp, vp->ev.e_str2, STRLEN(vp->ev.e_str2)+1, np, nlen);
++ INT2CHAR(sp, vp->ev.e_str2, NVI_STRLEN(vp->ev.e_str2)+1, np, nlen);
+ p2 = strdup(np);
+ rval = api_opts_set(sp, vp->ev.e_str1, p2,
+ vp->ev.e_val1, vp->ev.e_val1);
+@@ -135,7 +135,7 @@ v_tag(SCR *sp, VICMD *vp)
+ return (1);
+
+ ex_cinit(sp, &cmd, C_TAG, 0, OOBLNO, OOBLNO, 0);
+- argv_exp0(sp, &cmd, VIP(sp)->keyw, STRLEN(VIP(sp)->keyw));
++ argv_exp0(sp, &cmd, VIP(sp)->keyw, NVI_STRLEN(VIP(sp)->keyw));
+ return (v_exec_ex(sp, vp, &cmd));
+ }
+
+@@ -167,7 +167,7 @@ v_tagsplit(SCR *sp, VICMD *vp)
+
+ ex_cinit(sp, &cmd, C_TAG, 0, OOBLNO, OOBLNO, 0);
+ F_SET(&cmd, E_NEWSCREEN);
+- argv_exp0(sp, &cmd, VIP(sp)->keyw, STRLEN(VIP(sp)->keyw));
++ argv_exp0(sp, &cmd, VIP(sp)->keyw, NVI_STRLEN(VIP(sp)->keyw));
+ return (v_exec_ex(sp, vp, &cmd));
+ }
+
+diff -rupN nvi-1.81.6.orig/vi/v_ex.c nvi-1.81.6/vi/v_ex.c
+--- nvi-1.81.6.orig/vi/v_ex.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/vi/v_ex.c 2015-02-17 11:04:50.246380280 -0800
+@@ -210,7 +210,7 @@ v_tagpush(SCR *sp, VICMD *vp)
+ EXCMD cmd;
+
+ ex_cinit(sp, &cmd, C_TAG, 0, OOBLNO, 0, 0);
+- argv_exp0(sp, &cmd, VIP(sp)->keyw, STRLEN(VIP(sp)->keyw) + 1);
++ argv_exp0(sp, &cmd, VIP(sp)->keyw, NVI_STRLEN(VIP(sp)->keyw) + 1);
+ return (v_exec_ex(sp, vp, &cmd));
+ }
+
+diff -rupN nvi-1.81.6.orig/vi/vs_msg.c nvi-1.81.6/vi/vs_msg.c
+--- nvi-1.81.6.orig/vi/vs_msg.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/vi/vs_msg.c 2015-02-17 11:04:50.251093618 -0800
+@@ -175,7 +175,7 @@ vs_update(SCR *sp, const char *m1, const
+ */
+ if (F_ISSET(sp, SC_SCR_EXWROTE)) {
+ if (m2 != NULL)
+- INT2CHAR(sp, m2, STRLEN(m2) + 1, np, nlen);
++ INT2CHAR(sp, m2, NVI_STRLEN(m2) + 1, np, nlen);
+ (void)ex_printf(sp,
+ "%s\n", m1 == NULL? "" : m1, m2 == NULL ? "" : np);
+ (void)ex_fflush(sp);
+@@ -203,7 +203,7 @@ vs_update(SCR *sp, const char *m1, const
+ } else
+ len = 0;
+ if (m2 != NULL) {
+- mlen = STRLEN(m2);
++ mlen = NVI_STRLEN(m2);
+ if (len + mlen > sp->cols - 2)
+ mlen = (sp->cols - 2) - len;
+ (void)gp->scr_waddstr(sp, m2, mlen);
+diff -rupN nvi-1.81.6.orig/vi/vs_split.c nvi-1.81.6/vi/vs_split.c
+--- nvi-1.81.6.orig/vi/vs_split.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/vi/vs_split.c 2015-02-17 11:04:50.256136584 -0800
+@@ -628,7 +628,7 @@ vs_fg(SCR *sp, SCR **nspp, CHAR_T *name,
+ wp = sp->wp;
+
+ if (name)
+- INT2CHAR(sp, name, STRLEN(name) + 1, np, nlen);
++ INT2CHAR(sp, name, NVI_STRLEN(name) + 1, np, nlen);
+ else
+ np = NULL;
+ if (newscreen)
+diff -rupN nvi-1.81.6.orig/vi/v_txt.c nvi-1.81.6/vi/v_txt.c
+--- nvi-1.81.6.orig/vi/v_txt.c 2007-11-18 08:41:42.000000000 -0800
++++ nvi-1.81.6/vi/v_txt.c 2015-02-17 11:04:50.240596567 -0800
+@@ -2049,7 +2049,7 @@ retry: for (len = 0,
+ return (0);
+ case 1: /* One match. */
+ /* If something changed, do the exchange. */
+- nlen = STRLEN(cmd.argv[0]->bp);
++ nlen = NVI_STRLEN(cmd.argv[0]->bp);
+ if (len != nlen || MEMCMP(cmd.argv[0]->bp, p, len))
+ break;
+
diff --git a/app-editors/nvi/files/nvi-1.81.6-use_pkgconfig_for_ncurses.patch b/app-editors/nvi/files/nvi-1.81.6-use_pkgconfig_for_ncurses.patch
new file mode 100644
index 000000000000..a9bf7e0a06a4
--- /dev/null
+++ b/app-editors/nvi/files/nvi-1.81.6-use_pkgconfig_for_ncurses.patch
@@ -0,0 +1,30 @@
+diff -uNr nvi-1.81.6.orig/dist/configure.in nvi-1.81.6/dist/configure.in
+--- nvi-1.81.6.orig/dist/configure.in 2013-07-09 17:17:35.000000000 -0400
++++ nvi-1.81.6/dist/configure.in 2013-07-09 17:18:48.000000000 -0400
+@@ -263,11 +263,13 @@
+ [ --enable-gtk Build a Gtk front-end for vi.],
+ [vi_cv_gtk=$enableval], [vi_cv_gtk="no"])
+ AC_MSG_RESULT($vi_cv_gtk)
++
++#
++# Find pkg-config
++#
++AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
++
+ if test "$vi_cv_gtk" = "yes"; then
+- #
+- # Find pkg-config
+- #
+- AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ if test x$PKG_CONFIG = xno ; then
+ if test "$vi_cv_widechar" = "yes"; then
+ AC_MSG_ERROR(
+@@ -531,7 +533,7 @@
+ [CURSHEADER=ncursesw/ncurses.h])
+ fi
+ vi_programs="vi $vi_programs"
+- CURSLIBS="-l$vi_cv_curses"
++ CURSLIBS=`$PKG_CONFIG --libs $vi_cv_curses`
+ else
+ AC_MSG_WARN([*** No suitable curses library found.])
+ if test "$vi_programs"X = X; then
diff --git a/app-editors/nvi/metadata.xml b/app-editors/nvi/metadata.xml
new file mode 100644
index 000000000000..f954e7f9956d
--- /dev/null
+++ b/app-editors/nvi/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>felix.janda@posteo.de</email>
+ <name>Felix Janda</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-editors/nvi/nvi-1.81.6-r4.ebuild b/app-editors/nvi/nvi-1.81.6-r4.ebuild
new file mode 100644
index 000000000000..d73456df60bb
--- /dev/null
+++ b/app-editors/nvi/nvi-1.81.6-r4.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit autotools db-use eutils flag-o-matic
+
+DBVERS="4.8.30 4.7 4.6 4.5 4.4 4.3 4.2"
+DBSLOTS=
+DBDEPENDS=
+for DBVER in ${DBVERS}
+do
+ if [[ ${DBVER} = *.*.* ]]; then
+ DBSLOTS="${DBSLOTS} ${DBVER%.*}"
+ DBDEPENDS="${DBDEPENDS} >=sys-libs/db-${DBVER}:${DBVER%.*}"
+ else
+ DBSLOTS="${DBSLOTS} ${DBVER}"
+ DBDEPENDS="${DBDEPENDS} sys-libs/db:${DBVER}"
+ fi
+done
+
+DESCRIPTION="Vi clone"
+HOMEPAGE="https://sites.google.com/a/bostic.com/keithbostic/vi"
+SRC_URI="http://garage.linux.student.kuleuven.be/~skimo/nvi/devel/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ~mips ppc ppc64 sparc x86"
+IUSE="perl tcl unicode"
+
+CDEPEND="|| ( ${DBDEPENDS} )
+ >=sys-libs/ncurses-5.6-r2
+ perl? ( dev-lang/perl )
+ tcl? ( !unicode? ( >=dev-lang/tcl-8.5:0 ) )"
+
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+
+RDEPEND="${CDEPEND}
+ app-eselect/eselect-vi"
+
+REQUIRED_USE="tcl? ( !unicode )"
+
+src_prepare() {
+
+ epatch "${FILESDIR}"/${P}-db44.patch
+ epatch "${FILESDIR}"/${P}-db.patch
+ epatch "${FILESDIR}"/${P}-perl-as-needed.patch
+ epatch "${FILESDIR}"/${P}-perl-shortnames.patch
+ epatch "${FILESDIR}"/${P}-ac_config_header.patch
+ epatch "${FILESDIR}"/${P}-use_pkgconfig_for_ncurses.patch
+
+ cd dist || die
+ chmod +x findconfig || die
+
+ append-cppflags -I"$(db_includedir ${DBSLOTS})"
+
+ sed -i -e "s@-ldb@-l$(db_libname ${DBSLOTS})@" configure.in || die
+ rm -f configure || die
+ eautoreconf -Im4
+}
+
+src_configure() {
+ local myconf
+
+ use perl && myconf="${myconf} --enable-perlinterp"
+ use unicode && myconf="${myconf} --enable-widechar"
+ use tcl && ! use unicode && myconf="${myconf} --enable-tclinterp"
+
+ append-cppflags '-D_PATH_MSGCAT="\"/usr/share/vi/catalog/\""'
+
+ pushd dist 2>/dev/null
+ econf \
+ --program-prefix=n \
+ ${myconf} \
+ || die "configure failed"
+ popd 2>/dev/null
+}
+
+src_compile() {
+ pushd dist 2>/dev/null
+ emake || die "make failed"
+ popd 2>/dev/null
+}
+
+src_install() {
+ pushd dist 2>/dev/null
+ emake -j1 DESTDIR="${D}" install || die "install failed"
+ popd 2>/dev/null
+}
+
+pkg_postinst() {
+ einfo "Setting /usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
+
+pkg_postrm() {
+ einfo "Updating /usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
diff --git a/app-editors/nvi/nvi-1.81.6-r6.ebuild b/app-editors/nvi/nvi-1.81.6-r6.ebuild
new file mode 100644
index 000000000000..716ff8d45ba7
--- /dev/null
+++ b/app-editors/nvi/nvi-1.81.6-r6.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools db-use flag-o-matic
+
+DBVERS="4.8.30 4.7 4.6 4.5 4.4 4.3 4.2"
+DBSLOTS=
+DBDEPENDS=
+for DBVER in ${DBVERS}
+do
+ if [[ ${DBVER} = *.*.* ]]; then
+ DBSLOTS="${DBSLOTS} ${DBVER%.*}"
+ DBDEPENDS="${DBDEPENDS} >=sys-libs/db-${DBVER}:${DBVER%.*}"
+ else
+ DBSLOTS="${DBSLOTS} ${DBVER}"
+ DBDEPENDS="${DBDEPENDS} sys-libs/db:${DBVER}"
+ fi
+done
+
+DESCRIPTION="Vi clone"
+HOMEPAGE="https://sites.google.com/a/bostic.com/keithbostic/vi"
+SRC_URI="http://garage.linux.student.kuleuven.be/~skimo/nvi/devel/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="perl tcl unicode"
+
+CDEPEND="|| ( ${DBDEPENDS} )
+ >=sys-libs/ncurses-5.6-r2:=
+ perl? ( dev-lang/perl )
+ tcl? ( !unicode? ( >=dev-lang/tcl-8.5:0 ) )"
+
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+
+RDEPEND="${CDEPEND}
+ app-eselect/eselect-vi"
+
+REQUIRED_USE="tcl? ( !unicode )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-strlen-macro-renaming.patch
+ "${FILESDIR}"/${P}-db44.patch
+ "${FILESDIR}"/${P}-db.patch
+ "${FILESDIR}"/${P}-perl-as-needed.patch
+ "${FILESDIR}"/${P}-perl-shortnames.patch
+ "${FILESDIR}"/${P}-ac_config_header.patch
+ "${FILESDIR}"/${P}-use_pkgconfig_for_ncurses.patch
+ "${FILESDIR}"/${P}-printf-types.patch
+ )
+
+src_prepare() {
+ default
+
+ cd dist || die
+ chmod +x findconfig || die
+
+ mv configure.{in,ac} || die
+ sed -i -e "s@-ldb@-l$(db_libname ${DBSLOTS})@" configure.ac || die
+ sed -i -e "s@^install-\(.*\)-local:@install-\1-hook:@" Makefile.am || die
+ eautoreconf -Im4
+}
+
+src_configure() {
+ local myconf
+
+ use perl && myconf="${myconf} --enable-perlinterp"
+ use unicode && myconf="${myconf} --enable-widechar"
+ use tcl && ! use unicode && myconf="${myconf} --enable-tclinterp"
+
+ append-cppflags '-D_PATH_MSGCAT="\"/usr/share/vi/catalog/\""'
+ append-cppflags -I"$(db_includedir ${DBSLOTS})"
+
+ pushd dist 2>/dev/null || die
+ econf \
+ --program-prefix=n \
+ ${myconf}
+ popd 2>/dev/null || die
+}
+
+src_compile() {
+ emake -C dist
+}
+
+src_install() {
+ emake -C dist DESTDIR="${D}" install
+}
+
+pkg_postinst() {
+ einfo "Setting /usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
+
+pkg_postrm() {
+ einfo "Updating /usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
diff --git a/app-editors/nvi/nvi-1.81.6-r7.ebuild b/app-editors/nvi/nvi-1.81.6-r7.ebuild
new file mode 100644
index 000000000000..053948184247
--- /dev/null
+++ b/app-editors/nvi/nvi-1.81.6-r7.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools db-use flag-o-matic
+
+DESCRIPTION="Vi clone"
+HOMEPAGE="https://sites.google.com/a/bostic.com/keithbostic/vi"
+SRC_URI="http://garage.linux.student.kuleuven.be/~skimo/nvi/devel/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ~mips ppc ppc64 sparc x86 ~x64-macos"
+IUSE="perl tcl unicode"
+
+CDEPEND=">=sys-libs/db-4.2.52_p5:=
+ >=sys-libs/ncurses-5.6-r2:=
+ perl? ( dev-lang/perl )
+ tcl? ( >=dev-lang/tcl-8.5:0= )"
+
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+
+RDEPEND="${CDEPEND}
+ app-eselect/eselect-vi"
+
+REQUIRED_USE="tcl? ( !unicode )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-strlen-macro-renaming.patch
+ "${FILESDIR}"/${P}-db44.patch
+ "${FILESDIR}"/${P}-db.patch
+ "${FILESDIR}"/${P}-perl-as-needed.patch
+ "${FILESDIR}"/${P}-perl-shortnames.patch
+ "${FILESDIR}"/${P}-ac_config_header.patch
+ "${FILESDIR}"/${P}-use_pkgconfig_for_ncurses.patch
+ "${FILESDIR}"/${P}-printf-types.patch
+ )
+
+src_prepare() {
+ default
+
+ cd dist || die
+ chmod +x findconfig || die
+
+ mv configure.{in,ac} || die
+ sed -i -e "s@-ldb@-l$(db_libname)@" configure.ac || die
+ sed -i -e "s@^install-\(.*\)-local:@install-\1-hook:@" Makefile.am || die
+ eautoreconf -Im4
+}
+
+src_configure() {
+ local myconf
+
+ use perl && myconf="${myconf} --enable-perlinterp"
+ use unicode && myconf="${myconf} --enable-widechar"
+ use tcl && myconf="${myconf} --enable-tclinterp"
+
+ append-cppflags "-D_PATH_MSGCAT=\"\\\"${EPREFIX%/}/usr/share/vi/catalog/\\\"\""
+ append-cppflags -I"$(db_includedir)"
+
+ # Darwin doesn't have stropts.h, bug #619416
+ [[ ${CHOST} == *-darwin* ]] && export vi_cv_sys5_pty=no
+
+ pushd dist 2>/dev/null || die
+ econf \
+ --program-prefix=n \
+ ${myconf}
+ popd 2>/dev/null || die
+}
+
+src_compile() {
+ emake -C dist
+}
+
+src_install() {
+ emake -C dist DESTDIR="${D}" install
+}
+
+pkg_postinst() {
+ einfo "Setting /usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
+
+pkg_postrm() {
+ einfo "Updating /usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
diff --git a/app-editors/padre/Manifest b/app-editors/padre/Manifest
new file mode 100644
index 000000000000..ddc5b15c7624
--- /dev/null
+++ b/app-editors/padre/Manifest
@@ -0,0 +1,7 @@
+AUX padre-1.0.0-DBD-Sqlite.patch 1139 SHA256 24441014884294a2cda7ab1cc9cd017689546fdc6e68942eec860b302179763f SHA512 a23818ef3bedf24a11e8e1cdf5aca8b0a3eb67123e796c0014116c51c2b2c7c55bbe50f04bc200650e3e4b34c519929478d4ff4b38b120a360d8d23438c36a4d WHIRLPOOL 57b224af8eb517d161d9aadccfada522750b9e433ba433cc991895c1b3d35175ac04a6eeced197869fb64a9c0ebd8efdaa9a2a7c249c3ac73015c8ad4b59aae0
+DIST Padre-1.00.tar.gz 1969274 SHA256 cb31404b048c12992eea142613bd560ce7a31199e3e09239fa1539f2fa02b96d SHA512 8a2630eb54944b85ec77eaf90595fe6bb482b88ae87622b9e54973fbc1cc5f7ccf83d7b2481a9a66886310db9678569d23b18de033f7759db71ac73fd3151856 WHIRLPOOL 512d1aeb9783a8c1b4dee2f3b60b77d7daf40eef1a33dc88b84e11403c70983633e1b4c54c40013d7b575e70221f5e95cfbd7db434544afa13b475215ee3377d
+EBUILD padre-1.0.0-r1.ebuild 2834 SHA256 58bd0e46399c8f7e061d07820bc48538933037804fb47b613d0afa06b549fde3 SHA512 a510626b62b631481aa62b0d8c033d4229a7220d3f179e2f10f91ef50b48a9ba9174b2adca416c4ea153643269a83e172d13ed67d583f8b205f2ae526ef9ad84 WHIRLPOOL e257c0bdcff2baeab6449ea3b6738fc76124f983a7790a0af9f9a5bdbe8b746661739e85f37de72d2761db458b601361abbbd0bcd10c7de85c052ec97991abe6
+EBUILD padre-1.0.0.ebuild 2852 SHA256 2c2ccc77a1da566b01385fc0c2396a0ad2e409956d378c7f9ae289066104f8aa SHA512 fb3dd90a40c8331fdd3f066464cb648a84922edf1a69cdc3738c43e52c95ac59bf033bf33fec56dbc8a14f64c0e7407a047ea1a47e4962785b4704e49cfbc174 WHIRLPOOL cfaa68414c8b4e654f08da750bf140ea44dd1482415dc7eaf3643f723305c7129aa3cf5f5efc68f0e5b7085fa648229209a8521f580e411ab069bc06db10edfa
+MISC ChangeLog 2654 SHA256 ab951ef6d0acd4916b60f2a2460a88e7e4dc1e5b9a46a47a2759d607d845ec12 SHA512 198a4475528d1d9d6a55536e23672f1811edd6587518f5310b89699e42b92e9d0fd2ccc982df6690888bf85d4de1288eb4670a386a823bb6839d608967fc6575 WHIRLPOOL 8aae6c8c4c6ca5bdc92a41fa8bf1fd0073f7ca671fb71271e65da259bee03fe9a0b1f1a822cb2b308eb773d6e0b3daaed3a38e743ff41d55a6f9b454b1ff3c6d
+MISC ChangeLog-2015 6953 SHA256 af7c93860bfbfa09f5df5aac85fb82675f5872bb519c4e480166a6618a61b6eb SHA512 526cbc83281ede6106c5fa35925fbd38c0b63a88c63c4c70ea6986b1f17e0202d7cf77dc251fb4f90450693829712a43db8169d649b79f35800622c8f332a49d WHIRLPOOL c7da747709d589b6c99d99b1c73786b644e6fa22340396014daa881d499f7cd9dc2c96955feea832e25dc051473d14b0c01b99c5cfe0bb686c21f67dbd454e75
+MISC metadata.xml 329 SHA256 eac3726ad58e4ac983d3170d9aa2ef0c25556ee936f4366dad893bed1e81198d SHA512 303fdbb023bfe2ab534a2b0d17257c6d5e7dcf5d8647d300823f5bb556d1ffc5005c8cf47829b4178b0d3111e0dc71db9a6c620a8ac92bf639680ec2fee37d0d WHIRLPOOL b087d125026c7e4b90cef4d12be6fd36ac63742c1708f5194c19f2b4698ae511845404981d26e9de7f5873d28686e0a953f6ce28bc1aaa551a631c503ccb85f2
diff --git a/app-editors/padre/files/padre-1.0.0-DBD-Sqlite.patch b/app-editors/padre/files/padre-1.0.0-DBD-Sqlite.patch
new file mode 100644
index 000000000000..2685dea75748
--- /dev/null
+++ b/app-editors/padre/files/padre-1.0.0-DBD-Sqlite.patch
@@ -0,0 +1,35 @@
+From a9fb73f6b0ba76370f60300edfaf03f50e8326e0 Mon Sep 17 00:00:00 2001
+From: Charlie Gonzalez <itcharlie@gmail.com>
+Date: Wed, 17 Feb 2016 00:36:08 -0500
+Subject: [PATCH] =?UTF-8?q?Applying=20Petr=20P=C3=ADsa=C5=99=20=20fix=20?=
+ =?UTF-8?q?=20for=20DBD::SQLite=20error?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This fix corrects test failures for DBD::SQLite inside Padre.
+---
+ lib/Padre/Locker.pm | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/lib/Padre/Locker.pm b/lib/Padre/Locker.pm
+index 7eaf919..e0db4e8 100644
+--- a/lib/Padre/Locker.pm
++++ b/lib/Padre/Locker.pm
+@@ -102,7 +102,7 @@ sub shutdown {
+ sub db_increment {
+ my $self = shift;
+ unless ( $self->{db_depth}++ ) {
+- Padre::DB->begin;
++
+
+ # Database operations we lock on are the most likely to
+ # involve writes. So opportunistically prevent blocking
+@@ -111,6 +111,7 @@ sub db_increment {
+ # corruption if (and only if) there is a power outage,
+ # operating system crash, or catastrophic hardware failure.
+ Padre::DB->pragma( synchronous => 0 );
++ Padre::DB->begin;
+ }
+ return;
+ }
diff --git a/app-editors/padre/metadata.xml b/app-editors/padre/metadata.xml
new file mode 100644
index 000000000000..076d507391be
--- /dev/null
+++ b/app-editors/padre/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 type="project">
+ <email>perl@gentoo.org</email>
+ <name>Gentoo Perl Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpan">Padre</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/padre/padre-1.0.0-r1.ebuild b/app-editors/padre/padre-1.0.0-r1.ebuild
new file mode 100644
index 000000000000..aae5b0669614
--- /dev/null
+++ b/app-editors/padre/padre-1.0.0-r1.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DIST_NAME=Padre
+DIST_AUTHOR=PLAVEN
+DIST_VERSION=1.00
+inherit perl-module
+
+DESCRIPTION="Perl Application Development and Refactoring Environment"
+HOMEPAGE="http://padre.perlide.org/"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+# Test Deps
+TDEPEND="
+ >=dev-perl/Test-MockObject-1.09
+ >=dev-perl/Test-Script-1.07
+ >=dev-perl/Test-Exception-0.27
+ >=dev-perl/Test-NoWarnings-0.084
+ >=virtual/perl-Test-Simple-0.88
+ >=dev-perl/Test-Warn-0.240.0
+"
+
+RDEPEND="
+ dev-lang/perl[ithreads]
+ >=dev-lang/perl-5.10.1
+ >=dev-perl/Algorithm-Diff-1.190.0
+ >=dev-perl/Capture-Tiny-0.06
+ >=dev-perl/Class-Adapter-1.05
+ >=dev-perl/Class-Inspector-1.22
+ >=dev-perl/Class-XSAccessor-1.130.0
+ >=dev-perl/DBD-SQLite-1.350.0
+ >=dev-perl/DBI-1.58
+ >=dev-perl/Devel-Dumpvar-0.04
+ >=dev-perl/Debug-Client-0.200.0
+ >=dev-perl/Devel-Refactor-0.05
+ >=dev-perl/File-Copy-Recursive-0.37
+ >=dev-perl/File-Find-Rule-0.30
+ >=dev-perl/File-HomeDir-0.91
+ >=virtual/perl-File-Path-2.08
+ >=dev-perl/File-Remove-1.40
+ >=dev-perl/File-ShareDir-1.00
+ >=virtual/perl-File-Spec-3.27.01
+ >=virtual/perl-File-Temp-0.20
+ >=dev-perl/File-Which-1.08
+ dev-perl/File-pushd
+ virtual/perl-Getopt-Long
+ >=dev-perl/HTML-Parser-3.58
+ >=dev-perl/IO-stringy-2.110
+ virtual/perl-IO
+ >=dev-perl/IO-String-1.08
+ >=dev-perl/IPC-Run-0.83
+ >=dev-perl/JSON-XS-2.2.9
+ >=virtual/perl-Scalar-List-Utils-1.18
+ >=dev-perl/libwww-perl-5.815
+ >=dev-perl/List-MoreUtils-0.22
+ >=dev-perl/Locale-Msgfmt-0.15
+ >=dev-perl/Module-Manifest-0.07
+ >=dev-perl/ORLite-1.960.0
+ >=dev-perl/ORLite-Migrate-1.100.0
+ >=dev-perl/PAR-0.989
+ >=dev-perl/Params-Util-0.33
+ >=dev-perl/Parse-ErrorString-Perl-0.14
+ >=dev-perl/Parse-ExuberantCTags-1.00
+ >=dev-perl/Pod-Abstract-0.16
+ >=dev-perl/Pod-POM-0.17
+ >=virtual/perl-Pod-Simple-3.07
+ >=dev-perl/PPI-1.205
+ >=dev-perl/PPIx-EditorTools-0.130.0
+ >=dev-perl/PPIx-Regexp-0.011
+ dev-perl/Probe-Perl
+ >=dev-perl/Sort-Versions-1.500.0
+ >=virtual/perl-Storable-2.16
+ >=dev-perl/Template-Tiny-0.11
+ >=virtual/perl-Text-Balanced-0.80
+ >=dev-perl/Text-Diff-1.410.0
+ >=dev-perl/Text-FindIndent-0.10
+ >=dev-perl/Text-Patch-1.800.0
+ >=virtual/perl-threads-1.71
+ >=virtual/perl-threads-shared-1.33
+ >=virtual/perl-Time-HiRes-1.97.18
+ >=dev-perl/URI-0
+ >=dev-perl/Wx-0.990.100
+ >=dev-perl/Wx-Perl-ProcessStream-0.28
+ >=dev-perl/Wx-Scintilla-0.340.0
+ >=dev-perl/YAML-Tiny-1.32
+ >=virtual/perl-version-0.79
+"
+DEPEND="${RDEPEND}"
+# test? (
+# ${TDEPEND}
+# )
+#"
+
+DIST_TEST=skip
+
+PATCHES=(
+ "${FILESDIR}/${P}-DBD-Sqlite.patch"
+)
+
+src_configure() {
+ unset DISPLAY
+ perl-module_src_configure
+}
+src_prepare() {
+ sed -i -e 's/^use inc::Module::Install/use lib q[.];\nuse inc::Module::Install/' Makefile.PL ||
+ die "Can't patch Makefile.PL for 5.26 dot-in-inc"
+ perl-module_src_prepare
+}
diff --git a/app-editors/padre/padre-1.0.0.ebuild b/app-editors/padre/padre-1.0.0.ebuild
new file mode 100644
index 000000000000..bc3967a1dbb3
--- /dev/null
+++ b/app-editors/padre/padre-1.0.0.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+MY_PN=Padre
+MODULE_AUTHOR=PLAVEN
+MODULE_VERSION=1.00
+inherit perl-module
+
+DESCRIPTION="Perl Application Development and Refactoring Environment"
+HOMEPAGE="http://padre.perlide.org/"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+# Test Deps
+TDEPEND="
+ >=dev-perl/Test-MockObject-1.09
+ >=dev-perl/Test-Script-1.07
+ >=dev-perl/Test-Exception-0.27
+ >=dev-perl/Test-NoWarnings-0.084
+ >=virtual/perl-Test-Simple-0.88
+ >=dev-perl/Test-Warn-0.240.0
+"
+
+# Depend on perl-5.10.1 but it only needs
+# a modern EU::MM
+# >=virtual/perl-Pod-Perldoc-3.15
+RDEPEND="
+ >=dev-lang/perl-5.10.1
+ >=dev-perl/Algorithm-Diff-1.190.0
+ >=dev-perl/Capture-Tiny-0.06
+ >=dev-perl/Class-Adapter-1.05
+ >=dev-perl/Class-Inspector-1.22
+ >=dev-perl/Class-XSAccessor-1.130.0
+ >=dev-perl/DBD-SQLite-1.350.0
+ >=dev-perl/DBI-1.58
+ >=dev-perl/Devel-Dumpvar-0.04
+ >=dev-perl/Debug-Client-0.200.0
+ >=dev-perl/Devel-Refactor-0.05
+ >=dev-perl/File-Copy-Recursive-0.37
+ >=dev-perl/File-Find-Rule-0.30
+ >=dev-perl/File-HomeDir-0.91
+ >=virtual/perl-File-Path-2.08
+ >=dev-perl/File-Remove-1.40
+ >=dev-perl/File-ShareDir-1.00
+ >=virtual/perl-File-Spec-3.27.01
+ >=virtual/perl-File-Temp-0.20
+ >=dev-perl/File-Which-1.08
+ dev-perl/File-pushd
+ virtual/perl-Getopt-Long
+ >=dev-perl/HTML-Parser-3.58
+ >=dev-perl/IO-stringy-2.110
+ virtual/perl-IO
+ >=dev-perl/IO-String-1.08
+ >=dev-perl/IPC-Run-0.83
+ >=dev-perl/JSON-XS-2.2.9
+ >=virtual/perl-Scalar-List-Utils-1.18
+ >=dev-perl/libwww-perl-5.815
+ >=dev-perl/List-MoreUtils-0.22
+ >=dev-perl/Locale-Msgfmt-0.15
+ >=dev-perl/Module-Manifest-0.07
+ >=dev-perl/ORLite-1.960.0
+ >=dev-perl/ORLite-Migrate-1.100.0
+ >=dev-perl/PAR-0.989
+ >=dev-perl/Params-Util-0.33
+ >=dev-perl/Parse-ErrorString-Perl-0.14
+ >=dev-perl/Parse-ExuberantCTags-1.00
+ >=dev-perl/Pod-Abstract-0.16
+ >=dev-perl/Pod-POM-0.17
+ >=virtual/perl-Pod-Simple-3.07
+ >=dev-perl/PPI-1.205
+ >=dev-perl/PPIx-EditorTools-0.130.0
+ >=dev-perl/PPIx-Regexp-0.011
+ dev-perl/Probe-Perl
+ >=dev-perl/Sort-Versions-1.500.0
+ >=virtual/perl-Storable-2.16
+ >=dev-perl/Template-Tiny-0.11
+ >=virtual/perl-Text-Balanced-0.80
+ >=dev-perl/Text-Diff-1.410.0
+ >=dev-perl/Text-FindIndent-0.10
+ >=dev-perl/Text-Patch-1.800.0
+ >=virtual/perl-threads-1.71
+ >=virtual/perl-threads-shared-1.33
+ >=virtual/perl-Time-HiRes-1.97.18
+ >=dev-perl/URI-0
+ >=dev-perl/Wx-0.990.100
+ >=dev-perl/Wx-Perl-ProcessStream-0.28
+ >=dev-perl/Wx-Scintilla-0.340.0
+ >=dev-perl/YAML-Tiny-1.32
+ >=virtual/perl-version-0.79
+"
+DEPEND="${RDEPEND}"
+# test? (
+# ${TDEPEND}
+# )
+#"
+
+#SRC_TEST=do
+
+src_configure() {
+ unset DISPLAY
+ perl-module_src_configure
+}
+
+src_prepare() {
+ sed -i -e 's/use inc::Module::Install/use lib q[.];\n use inc::Module::Install/' Makefile.PL ||
+ die "Can't patch Makefile.PL for 5.26 dot-in-inc"
+ perl-module_src_prepare
+}
diff --git a/app-editors/pluma/Manifest b/app-editors/pluma/Manifest
new file mode 100644
index 000000000000..797e3f073ada
--- /dev/null
+++ b/app-editors/pluma/Manifest
@@ -0,0 +1,11 @@
+DIST pluma-1.12.2.tar.xz 3397280 SHA256 eb74988a9fa9892f883b2ccdc9cf217478576815bcb02662d2e3cf2ae39ef870 SHA512 db2878161903868703514531ba214fc34dad1789885f18756e9192d6ba17950c8be03141ada72f8c386b515d8b0f9d58a0ee94a33fe3ffe00f360ea667c2b275 WHIRLPOOL 30e45dc3e399e77403d23ebe1c8fb98592f3a408de3bd5ee724e621168b26116de0c520348dd74929e360a251b8d727ef9967746b14732fc6e03d63ffb3091c4
+DIST pluma-1.14.1.tar.xz 3415364 SHA256 5517e9bf93ec22a3036498f2e95652fb9046229b8a0da66a742643eab7e595a1 SHA512 5d04e053ab2eb0f90e34d9af541004867c7317fd9386229c4e702e95a80420df16b20e4ae4c30bbee79fe904282f6134f7c361971be07cd6952612d975c88d11 WHIRLPOOL 217d447f0ebe9bcf069b6831421e9680256c7b70753ab126aaf5641ba518df12b4fc60041feb433873a0cbc2d7108bf871958e13186b71e050d9f0610db9b770
+DIST pluma-1.16.0.tar.xz 3412640 SHA256 0eb4a4486f1c83119969567cedb05894f25ac5d43cefb4c3ed88ca2f75eff29d SHA512 2472a1631cb89f4df0d09558bd274b6c6d042ae4cbb6ae0134a089cfefb5d0673ec28d78d3665dd1933f76a9c20517afe626f921e06703af9e3c71b9f3b96260 WHIRLPOOL 74c57e589e0f1c2013eb01b1c1aa9e455b0741486f5e1537588f641521fb180b6f7f7a02a9512e069dd94a1d9111fd3d52000a3c05adf30f84ef2ebbadeb0c22
+DIST pluma-1.18.2.tar.xz 3348500 SHA256 ff0f29d4eaa946cbb2b26bbdc2b2d5a308b2d16ec99ea384bcb13f1f3d1a09fc SHA512 285170531c92ad13fdd35286c06de62b75f0426a830c51f4f54799b4b5377d65b3e1fd1e1af3827462a356947e853e4203a4ed394a8b6137bbd87e289f490b6d WHIRLPOOL 13ede09dcede35be84797a3c597fbb1b3fc06aaf866dab17a831c19c577a22aa61af7b5758221a971cc6244bc2c966041228911947ecbaca59292b98d3c4da7d
+EBUILD pluma-1.12.2-r1.ebuild 1957 SHA256 ca046c1c5c111bca62194cc5c640d44813279901e3c7054fca393ded638a1c90 SHA512 fc460f11527c2a5cdced694b8c59ede5931f2ecf452e7a862791fe93fa18b2c260a51d8f6fca17c58445a59357efe48a6431d5824c8c045fd719ebaca5730860 WHIRLPOOL 6c3e34486439a15ae08a278e401521b0b9003be7b1173bb33c0b6d1cdaeb0e3c0813981a468782beef17bdc2f534d6698fcc2907c429647d819e18bf156c8919
+EBUILD pluma-1.14.1.ebuild 1999 SHA256 a27cd7b346dca445130b1f466236044476808237cd069aa7ca05ea115ccaae2e SHA512 095ec46f710d2ad58819291e28a560a4fadcab2790142604d025c69bfd1842ae78f7dca3ff5098062b2bf63f2448b5e96d66a64504edee21e9ba43a84a4e4c7e WHIRLPOOL af781ce819d86b88b79075f380cfdd2816c9bb14b919b2f23c0025ddc6512c15fe13aedd614961c56a793a7b129279f5022eeb843fef93521d9e93fda13849a0
+EBUILD pluma-1.16.0-r1.ebuild 1999 SHA256 eef6ae2f7d9466f8a7711176a6a4428ef8c82fcc2174de4cfb3c6659566fa965 SHA512 53bed20531162710f96ecb1cf3386b136792cd8a68eaf99608b7578f1ea54c4220dfbd327b890eda9db3d535b2196cbe11dbdc0f827bc2e90b27b5e7d3484482 WHIRLPOOL f5fa1f28a6a7007523682c2a6f18901465ceeb7b8ffae4b99d39e2c7483cb92ba136ce1584646f0edc73ada8ad93e0fb44c5281a78e1f22d1d88c1510462b179
+EBUILD pluma-1.18.2.ebuild 1757 SHA256 3e1b94f8959bc9f3fb61a114f0f6947dae27c331e94dedf201170a244ac5fa93 SHA512 88794b4cef0638683bf3a9b3d04414261b75e03b64dc63b8ef1a2d56152f24ec3be55585d0103400b848634302da722d480bed666e000e47fe439e6b6284900f WHIRLPOOL 7774e634a2a71b05707bbba7b6b092182f600d2eabd174158fde8110cb52a4816b947fd24dc7a558a4b938248452e69f2435395cc99b2340ebc45b97bad6d63a
+MISC ChangeLog 4250 SHA256 fd35583ee36c5777ddee23a9ba04e57e76dc032c8a7351699c89ac775fc89249 SHA512 d18a45daaa8be1e2994e78a326e801a85948d87ee67dea297508239a535fe797ebdd1adb4ce99e35f4900fed53e005da4b4a9ae895754be3de32e45ccd61209c WHIRLPOOL 86497e12b36c49853d5eac2e1745b3552f17696b97c4f7b49680f9f580c5576e2e896f587b261203eb70ffa1968ef19d4b91a8909970a27cc90c604a5badcb17
+MISC ChangeLog-2015 1555 SHA256 b992b37f7ba253e18309d84c1e50bfc4b64a69394db247dc66ae48b7e19126fc SHA512 a273b40cba8db5bd0f280097c5497b4d0b5bfe9e7fff119dbb51d68955acada5e8214a25f9630639bac4b45585c05d7722ae200de6661c295f91e09358a5f3a0 WHIRLPOOL 9dc021de56974c2248d193d00c893a1f1e7e3316d67facdb66182c9a5c00aa7f9d504286fd1942d758d1be2457a4415c215af30526ff5cce6c1b0cff9c1f5dee
+MISC metadata.xml 410 SHA256 734f9bda2beca014c523c5d58f2a6fe3183fbea7c02271f5e7ac58675521ed5c SHA512 0e79ae54838d841d9e4d65b82af5042223e07585808bcdbf9c26ae7b59cfc7b66d1bb24b39e1835ca75dd724d34854fd12d881b7edb20850fa434cf1db2b2e14 WHIRLPOOL 860d385ae6e875ae3c025c134756636ebaa407d3ea9d7f076d5bcd3f4566018924ef2090fa2edc80b2f9dc948148d46e829d448ec4d8c841a87a6d3c90241282
diff --git a/app-editors/pluma/metadata.xml b/app-editors/pluma/metadata.xml
new file mode 100644
index 000000000000..e740906c492d
--- /dev/null
+++ b/app-editors/pluma/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>mate@gentoo.org</email>
+ <name>Gentoo MATE Desktop</name>
+ </maintainer>
+ <use>
+ <flag name="gtk3">Build with GTK+3 instead of GTK+2</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">mate-desktop/pluma</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/pluma/pluma-1.12.2-r1.ebuild b/app-editors/pluma/pluma-1.12.2-r1.ebuild
new file mode 100644
index 000000000000..a9646a9a642b
--- /dev/null
+++ b/app-editors/pluma/pluma-1.12.2-r1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MATE_LA_PUNT="yes"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit mate multilib python-single-r1 virtualx
+
+if [[ ${PV} != 9999 ]]; then
+ KEYWORDS="amd64 ~arm x86"
+fi
+
+DESCRIPTION="Pluma text editor for the MATE desktop"
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="gtk3 python spell"
+
+REQUIRED_USE="
+ gtk3? ( !python )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+# Tests require gvfs sftp fs mounted and schema's installed. Disable tests.
+# https://github.com/mate-desktop/mate-text-editor/issues/33
+RESTRICT="test"
+
+RDEPEND="app-text/rarian:0
+ dev-libs/atk:0
+ >=dev-libs/glib-2.36:2
+ >=dev-libs/libxml2-2.5:2
+ >=mate-base/mate-desktop-1.9[gtk3(-)=]
+ x11-libs/cairo:0
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libICE:0
+ x11-libs/libX11:0
+ >=x11-libs/libSM-1.0
+ x11-libs/pango:0
+ virtual/libintl:0
+ !gtk3? (
+ >=x11-libs/gtk+-2.24:2
+ >=x11-libs/gtksourceview-2.9.7:2.0
+ )
+ gtk3? (
+ >=x11-libs/gtk+-3.0:3
+ >=x11-libs/gtksourceview-2.9.7:3.0
+ )
+ spell? (
+ >=app-text/enchant-1.2:0
+ >=app-text/iso-codes-0.35:0
+ )
+ python? (
+ ${PYTHON_DEPS}
+ >=dev-python/pygobject-2.15.4:2[${PYTHON_USEDEP}]
+ >=dev-python/pygtk-2.12:2[${PYTHON_USEDEP}]
+ >=dev-python/pygtksourceview-2.9.2:2
+ )
+ !!app-editors/mate-text-editor"
+
+DEPEND="${RDEPEND}
+ ~app-text/docbook-xml-dtd-4.1.2
+ >=app-text/scrollkeeper-dtd-1:1.0
+ app-text/yelp-tools:0
+ dev-util/gtk-doc
+ dev-util/gtk-doc-am
+ >=dev-util/intltool-0.50.1:*
+ >=sys-devel/libtool-2.2.6:2
+ >=sys-devel/gettext-0.17:*
+ virtual/pkgconfig:*"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ mate_src_configure \
+ --with-gtk=$(usex gtk3 3.0 2.0) \
+ $(use_enable python) \
+ $(use_enable spell)
+}
+
+src_test() {
+ # FIXME: This should be handled at eclass level.
+ "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/data" || die
+
+ unset DBUS_SESSION_BUS_ADDRESS
+
+ GSETTINGS_SCHEMA_DIR="${S}/data" Xemake check
+}
diff --git a/app-editors/pluma/pluma-1.14.1.ebuild b/app-editors/pluma/pluma-1.14.1.ebuild
new file mode 100644
index 000000000000..a1c96eaebad6
--- /dev/null
+++ b/app-editors/pluma/pluma-1.14.1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MATE_LA_PUNT="yes"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit mate multilib python-single-r1 virtualx
+
+if [[ ${PV} != 9999 ]]; then
+ KEYWORDS="~amd64 ~arm ~x86"
+fi
+
+DESCRIPTION="Pluma text editor for the MATE desktop"
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="gtk3 python spell"
+
+REQUIRED_USE="
+ gtk3? ( !python )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+# Tests require gvfs sftp fs mounted and schema's installed. Disable tests.
+# https://github.com/mate-desktop/mate-text-editor/issues/33
+RESTRICT="test"
+
+COMMON_DEPEND="dev-libs/atk:0
+ >=dev-libs/glib-2.36:2
+ >=dev-libs/libxml2-2.5:2
+ >=mate-base/mate-desktop-1.9[gtk3(-)=]
+ x11-libs/cairo:0
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libICE:0
+ x11-libs/libX11:0
+ >=x11-libs/libSM-1.0
+ x11-libs/pango:0
+ virtual/libintl:0
+ !gtk3? (
+ >=x11-libs/gtk+-2.24:2
+ >=x11-libs/gtksourceview-2.9.7:2.0
+ )
+ gtk3? (
+ >=x11-libs/gtk+-3.0:3
+ >=x11-libs/gtksourceview-2.9.7:3.0
+ )
+ spell? (
+ >=app-text/enchant-1.2:0
+ >=app-text/iso-codes-0.35:0
+ )
+ python? (
+ ${PYTHON_DEPS}
+ >=dev-python/pygobject-2.15.4:2[${PYTHON_USEDEP}]
+ >=dev-python/pygtk-2.12:2[${PYTHON_USEDEP}]
+ >=dev-python/pygtksourceview-2.9.2:2
+ )
+ !!app-editors/mate-text-editor"
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="${COMMON_DEPEND}
+ ~app-text/docbook-xml-dtd-4.1.2
+ app-text/rarian:0
+ >=app-text/scrollkeeper-dtd-1:1.0
+ app-text/yelp-tools:0
+ dev-util/gtk-doc
+ dev-util/gtk-doc-am
+ >=dev-util/intltool-0.50.1:*
+ >=sys-devel/libtool-2.2.6:2
+ >=sys-devel/gettext-0.17:*
+ virtual/pkgconfig:*"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ mate_src_configure \
+ --with-gtk=$(usex gtk3 3.0 2.0) \
+ $(use_enable python) \
+ $(use_enable spell)
+}
+
+src_test() {
+ # FIXME: This should be handled at eclass level.
+ "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/data" || die
+
+ unset DBUS_SESSION_BUS_ADDRESS
+
+ GSETTINGS_SCHEMA_DIR="${S}/data" Xemake check
+}
diff --git a/app-editors/pluma/pluma-1.16.0-r1.ebuild b/app-editors/pluma/pluma-1.16.0-r1.ebuild
new file mode 100644
index 000000000000..bba625640334
--- /dev/null
+++ b/app-editors/pluma/pluma-1.16.0-r1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MATE_LA_PUNT="yes"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit mate multilib python-single-r1 virtualx
+
+if [[ ${PV} != 9999 ]]; then
+ KEYWORDS="~amd64 ~arm ~x86"
+fi
+
+DESCRIPTION="Pluma text editor for the MATE desktop"
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="gtk3 python spell"
+
+REQUIRED_USE="
+ gtk3? ( !python )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+# Tests require gvfs sftp fs mounted and schema's installed. Disable tests.
+# https://github.com/mate-desktop/mate-text-editor/issues/33
+RESTRICT="test"
+
+COMMON_DEPEND="dev-libs/atk:0
+ >=dev-libs/glib-2.36:2
+ >=dev-libs/libxml2-2.5:2
+ x11-libs/cairo:0
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libICE:0
+ x11-libs/libX11:0
+ >=x11-libs/libSM-1.0
+ x11-libs/pango:0
+ virtual/libintl:0
+ !gtk3? (
+ >=x11-libs/gtk+-2.24:2
+ >=x11-libs/gtksourceview-2.9.7:2.0
+ )
+ gtk3? (
+ >=x11-libs/gtk+-3.0:3
+ >=x11-libs/gtksourceview-2.9.7:3.0
+ )
+ spell? (
+ >=app-text/enchant-1.2:0
+ >=app-text/iso-codes-0.35:0
+ )
+ python? (
+ ${PYTHON_DEPS}
+ >=dev-python/pygobject-2.15.4:2[${PYTHON_USEDEP}]
+ >=dev-python/pygtk-2.12:2[${PYTHON_USEDEP}]
+ >=dev-python/pygtksourceview-2.9.2:2
+ )
+ !!app-editors/mate-text-editor"
+
+RDEPEND="${COMMON_DEPEND}
+ >=mate-base/mate-desktop-1.9[gtk3(-)=]"
+
+DEPEND="${COMMON_DEPEND}
+ ~app-text/docbook-xml-dtd-4.1.2
+ app-text/rarian:0
+ >=app-text/scrollkeeper-dtd-1:1.0
+ app-text/yelp-tools:0
+ dev-util/gtk-doc
+ dev-util/gtk-doc-am
+ >=dev-util/intltool-0.50.1:*
+ >=sys-devel/libtool-2.2.6:2
+ >=sys-devel/gettext-0.17:*
+ virtual/pkgconfig:*"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ mate_src_configure \
+ --with-gtk=$(usex gtk3 3.0 2.0) \
+ $(use_enable python) \
+ $(use_enable spell)
+}
+
+src_test() {
+ # FIXME: This should be handled at eclass level.
+ "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/data" || die
+
+ unset DBUS_SESSION_BUS_ADDRESS
+
+ GSETTINGS_SCHEMA_DIR="${S}/data" Xemake check
+}
diff --git a/app-editors/pluma/pluma-1.18.2.ebuild b/app-editors/pluma/pluma-1.18.2.ebuild
new file mode 100644
index 000000000000..65d4d2f88bc0
--- /dev/null
+++ b/app-editors/pluma/pluma-1.18.2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MATE_LA_PUNT="yes"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit mate multilib python-single-r1 virtualx
+
+if [[ ${PV} != 9999 ]]; then
+ KEYWORDS="~amd64 ~arm ~x86"
+fi
+
+DESCRIPTION="Pluma text editor for the MATE desktop"
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="+introspection spell"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Tests require gvfs sftp fs mounted and schema's installed. Disable tests.
+# https://github.com/mate-desktop/mate-text-editor/issues/33
+RESTRICT="test"
+
+COMMON_DEPEND="dev-libs/atk:0
+ >=dev-libs/glib-2.36:2
+ >=dev-libs/libpeas-1.2.0[gtk]
+ >=dev-libs/libxml2-2.5:2
+ x11-libs/cairo:0
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.14.0:3[introspection?]
+ >=x11-libs/gtksourceview-3.0.0:3.0
+ x11-libs/libICE:0
+ x11-libs/libX11:0
+ >=x11-libs/libSM-1.0
+ x11-libs/pango:0
+ virtual/libintl:0
+ introspection? ( >=dev-libs/gobject-introspection-0.9.3:= )
+ spell? (
+ >=app-text/enchant-1.2:0
+ >=app-text/iso-codes-0.35:0
+ )
+ !!app-editors/mate-text-editor"
+
+RDEPEND="${PYTHON_DEPS}
+ ${COMMON_DEPEND}
+ >=mate-base/mate-desktop-1.9[introspection?]"
+
+DEPEND="${COMMON_DEPEND}
+ ~app-text/docbook-xml-dtd-4.1.2
+ app-text/rarian:0
+ >=app-text/scrollkeeper-dtd-1:1.0
+ app-text/yelp-tools:0
+ dev-util/gtk-doc
+ dev-util/gtk-doc-am
+ >=dev-util/intltool-0.50.1:*
+ >=sys-devel/libtool-2.2.6:2
+ >=sys-devel/gettext-0.17:*
+ virtual/pkgconfig:*"
+
+src_configure() {
+ mate_src_configure \
+ $(use_enable introspection) \
+ $(use_enable spell)
+}
+
+src_test() {
+ # FIXME: This should be handled at eclass level.
+ "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/data" || die
+
+ unset DBUS_SESSION_BUS_ADDRESS
+
+ GSETTINGS_SCHEMA_DIR="${S}/data" Xemake check
+}
diff --git a/app-editors/qemacs/Manifest b/app-editors/qemacs/Manifest
new file mode 100644
index 000000000000..26acf8249181
--- /dev/null
+++ b/app-editors/qemacs/Manifest
@@ -0,0 +1,18 @@
+AUX qemacs-0.3.2_pre20070226-tty_utf8.patch 1128 SHA256 a310aad2df48c18202b57834dd18095f7d2ea0366e15108d0ea525deaa29c8a4 SHA512 d2476fed6cb9fcd223317c2dc744a41efa1e99426f8240ae7182292ae0a2ef5c3b7114392174f6c28c8da0009d0ac6dcd2885418654499f8eb41d5e94eb88010 WHIRLPOOL 0152f10ac1dda6dc8e86b4a081063ef32b0dce9a549c9f412640cf0ce6e11f146842a2abec33164a84d8bacb1e1d4271ddcc030c2b7f4198ed4311fa03d57854
+AUX qemacs-0.4.0_pre20080605-Makefile.patch 754 SHA256 66030e45fa8f782a98174de9828f411e6fb65a48e7f7dd288bd3228916c7f535 SHA512 b6468498d2489dcf46fdba654e6c988e9c9a9cad89d977800d1e00a0b97fba456b7cf613fc919bfc5706eeec1dce578a714abf85a914af99f3fa6c8c6dc673cc WHIRLPOOL 1c7ca9d87507edf0208d3ddb4ad51750f54bcaa332f227fd1175cffaafe369b3b6a16efb86af9623f5c91cd908bd365d3fbc786361cf5ed687c897700c9d139b
+AUX qemacs-0.4.0_pre20080605-make_backup.patch 2151 SHA256 aec0a4566522476a7e31b90895b1b83b02c99f90c43567e52c0152132a2c925e SHA512 e20b59067d344a84193f8de02471cc04d8f2e91601ae70fa11dcda0e85c65aa68ea33c109feca6c62adae098f4d691fcf5c2be205e46cc3023119821a69a4775 WHIRLPOOL 0e74410f46c3e8b9768cd14e092a4e8efdb2053da4271d1619292befb1d2f972c5a19455ec81e595203e98c760bd258e3f381e0977968009ec7fe29f170fa359
+AUX qemacs-0.4.0_pre20090420-nostrip.patch 1155 SHA256 d16ac3848ef14e186f21812ca6ba926c0eb6848676a6dc8f2af8de713025555f SHA512 6c6438c8c6a17c5b29bc117a695cbc5e0287ab3a20243f9dbe7d487cd67e9c31d7a63a3828d8c5d3abfd9620582167bb4633c6896b6862d9fe6a9c2ecfeb71da WHIRLPOOL 1aa67d20a9ee53542f5d7ca2bc9ee39b8f470e1f8fa578d179e505e91b3ee365a947ba09ce3763acf62df57888ce0024626085f69b0289f70955404c7f2dd8a4
+AUX qemacs-0.4.1_pre20150916-Makefile.patch 799 SHA256 59a2abfc19f1de502d97be2d3a6d06e2633453ab59bd48e498ca65d9816fe786 SHA512 1bb412ffc530b8d00569618b8a7d87d65b2baa9a3aacf83b377c41ea29b976ea0f84161d979f06d79a27b6b5b1192135917772c3af2bab66fb28a58c3006dd18 WHIRLPOOL 34a366219758f6c3013ab95675184e072ee568c4cfe9941f2f865ac92f65cb5b1135788ec0c722a27f3797ef408d48276aee082cdc580ef665308f0643eea5c6
+AUX qemacs-0.4.1_pre20150916-nostrip.patch 1162 SHA256 b4127093b771f6a6004beb95b809f9002bb282b355d188d4bd8de56cf840f7a7 SHA512 9495ea9799a6b728a2f25545dd2216758247b70985bbf8d1d0cccff1d152ee1f14575e4ca02799cfe105ea0ac799c1865414f30270c3f2373601ac02b1e44770 WHIRLPOOL f3abfcd744a463a308b197c32d1c8e7d7a0bb204cf80b981c52cca2d7e1af5c943809a90680425d9e4b12806e713a8385289fcc4f99ede2aa657b428c5db56ca
+AUX qemacs-0.4.1_pre20170225-Makefile.patch 954 SHA256 4d68509fbf9940b5b05fdf9bbbf3c5a9e79d10b84876d3c87fe294ef0699958c SHA512 8146d383e53df6a5c540581925d85c2eff3dafe5cd78a23a784f3fc4fd41e23804f1287dc68597b33582f9beacef57df4a80a1930399b66566c77ff5e17eb227 WHIRLPOOL 2740f703c6e5eb7259833325920e322f2128d1cb49b43ee5cef5ce591793b0b6836dc2b9551c9072496aad6f7eda1bb0ed226aa6b36d69dce78ae65f36ca9a04
+AUX qemacs-0.4.1_pre20170225-manpage.patch 372 SHA256 50632a466d5ba99b6865c25d6b0a500f314a78cdee6c89178643cf750484b9f3 SHA512 1c81e3570a2d00df04fa9a4dfae404be2f1c684b9b86ef67aa3f13a4b6f734d99d768350d41c75dc8c2874ccf853d021e497c87c751d86e2df1015f42fe97889 WHIRLPOOL bb51217aca159d3befab990348919525c9ae798a32dda32ca7a43f6e0dcc3edbc9dbfab4318348c52a5759f31e5003a33f4692f1edeba164ca7200fa1c23ca2d
+AUX qemacs-0.4.1_pre20170225-nostrip.patch 1771 SHA256 11cbb6325f511a9d6cb6b76ae957a9f7a214b1a98ce1db8f3d0734014d896dc6 SHA512 9ad3c3cd4a7744894718099ff8df2648e11385c6926a137f3f04ed33ef449d658cfb873476276bc52de7a7cee5ed2a2319893d8f47e7a2413d00d61378123656 WHIRLPOOL 53f01f7f78d7c012696fd5f16572a05fe98728a6f02145348ab3b576b193c921488d659dcd9c02ae8a986665861cac0227750a50a149f7b8d12ae3cbce4d4042
+DIST qemacs-0.4.0_pre20090420.tar.bz2 1393436 SHA256 14f1ffad569f1bdaaa27d2d7ab0251ce69afc9efc347bb244b11f5e34e818ab5 SHA512 4595e34d3a83cbd7f25514dd96b7578976b30de80eb19b1391448ecdb9c06d24088880978961e5abb94b3f715057e7563ae0976d704bc5afaaf83e62a67e8dd4 WHIRLPOOL 63ba6950a0340731cd9a041a5929d18f1769d915a7343a94b2b0c48d82a0af1680b2163426e8d268240d3c0c740895853439d96c2d49791e106f0798f5d88a8b
+DIST qemacs-0.4.1_pre20150916.tar.xz 1136592 SHA256 1f019c7fc7aceaa2c5608a7ca251e244ee8bf67086e4b285c28f88849e1269b0 SHA512 e9775ff3dfef6d6b6b263029a620e6575f9f4718b94c0acfcddc8e5da8cd835e57dfbd5fbd948778135b609ae0588924fc9a727b2e763a25148aa27886a9f467 WHIRLPOOL 4f97d931eb3880a8ce0f1f09a6f404297797f230cfcc4d2507fcf0b6fcf0c4d28d5868e943905d316cb0d5d22581095c4cd1a8bf00c44f11ed7606a357f7cc19
+DIST qemacs-0.4.1_pre20170225.tar.xz 1147408 SHA256 9a3f754effbd9253b7aec9909fea801fc233cf69f98f6c807e5334ae1c8a08a6 SHA512 a17c8901c917f91401e16b4f857735957ab0d3533d9dcc7a0decf768f453b68023f45e1241225a84d35ba793beb69754e0f2caa857165f8223882d5041d56c99 WHIRLPOOL b430a0fd8ecef701d4727acb023d0a56553cf109e18ae64dfec886923ec6e5395d1dae9484c274d298675928c69e0e966f3443c0f9f4f8c6890af15bc0fd52ae
+EBUILD qemacs-0.4.0_pre20090420-r1.ebuild 1910 SHA256 e7e0c230a29b30d328fc831a6f181edbc18545dff1dcce2bda849884ee70b8b0 SHA512 60c8fc230db516b9bc1e80cfac47f2917014db1b36e6f468beb460b5799e4cfba3426400dcf5ae515d007675b55a865c82eb6fdafd91e3b74390e4f7c673254a WHIRLPOOL be5d40516dcf971326a3755252bbe6a699053bfdfd9b24707f872f530f6788a94edcc5f07ae505a15580977500b1d659c60b2165a83ca22eb83fc6b9604c6091
+EBUILD qemacs-0.4.1_pre20150916.ebuild 1664 SHA256 d73d91175104da8c31da96f2770fa05e88ab13bc2e83bedbf503bc22b03fee98 SHA512 9ca5f4c41d4232051070547d8591235c1ac4d3e5dbba738d58b5668690935f9e106ce1a4921d7004cf4bbc7ef33f717b782a8246d7f402fc9c35a356baa720f9 WHIRLPOOL b8bf7e2ba99ecba7f2f566c5ca64cdb97306a86597d0c4aeb8da4ade1cd479948199ca977c5d6cc338a669e6506e4f2edfd8da65b3226e73f410dd12009bea27
+EBUILD qemacs-0.4.1_pre20170225.ebuild 1494 SHA256 83c2750e8617e78bcaf18e3d88ff16286462e49c94cd0668a1f82ff8ab1e4203 SHA512 484c2dc274741df7a4e18dea2ade894a3d104439186c4533c68f169dc635f6558df9f5b08d8b8baa3c9821480b9fbf83b7b3de4f614e11cc109dc86db1d3241b WHIRLPOOL 1d94fef52c5cee5c3e326a96c751b7f4760339d50801bbd542bd058bd734c95b08470f55c774496f407a589bb046acd3959d113b5afb0caad584c4970885a6f5
+MISC ChangeLog 3703 SHA256 f1aeb48fdecd684bce53f76c18d0a0f2ca1e8b51e97f8cd94645b8b8d9b82b9e SHA512 eb8fc60221e086d4cdcbd6a0c6ff592b17c1ee89fddec6e0eb3e5415f1dbf61e4742acdf4dc7d3d91e23700f97c2c57483ecbd4912fe8598c114342f66b93423 WHIRLPOOL ecab4fcf8d960093b8fa555ebf059a4717b6091806c948f01fc744b5be2d55b6b7474734efd5f4d45c3147e1ff63b240bf97483c3da6315df4079eed16e50885
+MISC ChangeLog-2015 10299 SHA256 c8dc32271b76adcd357998198611961643337be82b349acbab2f81bea842c214 SHA512 7e78610e220dc13be6992a23eb9d9f152a42048af73db5f8caf7ce7218be5dad676bfb134c1e208e5e3178ae34762dd5386cf6fdd20933dd68689393b84738d4 WHIRLPOOL d7a7164a0b72a3159d81ccaa1a344adc53291240b61610f92aa12cb7a0fd2fec32a866003b215007e57d71291861361514dfc064dc4f275cca5127d28294b9b1
+MISC metadata.xml 1937 SHA256 4da1ffb5fe0fe1f9d072bb5f47aaea45756568c2a81a171f44166d5b078c609b SHA512 a26f40107a0616980d3722685b1491eee4c606a685e78bbc23a62de6c9b67cf15ff3ac92cbc935a38d280844a0d15c21f92ee7bdbb28218f8ae664bbc526feac WHIRLPOOL 849fafcfd61fd097125963b981e75f31cde887ca735a5d966aea39c404254a600f9d0b91ebe3fb457443cfdc4a0a207fcb357aa8516f95cf98e68de324824019
diff --git a/app-editors/qemacs/files/qemacs-0.3.2_pre20070226-tty_utf8.patch b/app-editors/qemacs/files/qemacs-0.3.2_pre20070226-tty_utf8.patch
new file mode 100644
index 000000000000..1f51ada5c2b7
--- /dev/null
+++ b/app-editors/qemacs/files/qemacs-0.3.2_pre20070226-tty_utf8.patch
@@ -0,0 +1,43 @@
+utf8 input in tty.c
+http://lists.gnu.org/archive/html/qemacs-devel/2004-03/msg00000.html
+http://bugs.gentoo.org/62829
+
+--- qemacs-orig/tty.c 2007-02-08 00:27:33.000000000 +0100
++++ qemacs/tty.c 2007-02-26 15:07:41.000000000 +0100
+@@ -78,7 +78,6 @@
+ /* input handling */
+ enum InputState input_state;
+ int input_param;
+- int utf8_state;
+ int utf8_index;
+ unsigned char buf[10];
+ char *term_name;
+@@ -374,15 +373,19 @@
+
+ /* charset handling */
+ if (s->charset == &charset_utf8) {
+- if (ts->utf8_state == 0) {
+- const char *p;
+- p = (const char *)ts->buf;
+- ch = utf8_decode(&p);
+- } else {
+- ts->utf8_state = utf8_length[ts->buf[0]] - 1;
+- ts->utf8_index = 0;
+- return;
+- }
++ /* Make sure utf8 input works correctly 20040314 <damm@opensource.se> */
++ ts->utf8_index++;
++
++ if (utf8_length[ts->buf[0]] == ts->utf8_index) {;
++ const char *p;
++ p = (const char *)ts->buf;
++ ch = utf8_decode(&p);
++ ts->utf8_index = 0;
++ }
++ else {
++ return;
++ }
++
+ } else {
+ ch = ts->buf[0];
+ }
diff --git a/app-editors/qemacs/files/qemacs-0.4.0_pre20080605-Makefile.patch b/app-editors/qemacs/files/qemacs-0.4.0_pre20080605-Makefile.patch
new file mode 100644
index 000000000000..73c3f68b13a3
--- /dev/null
+++ b/app-editors/qemacs/files/qemacs-0.4.0_pre20080605-Makefile.patch
@@ -0,0 +1,35 @@
+--- Makefile.orig 2009-03-07 21:27:48.000000000 +0100
++++ Makefile 2009-03-07 21:28:43.000000000 +0100
+@@ -19,32 +19,6 @@
+
+ include config.mak
+
+-ifeq ($(CC),gcc)
+- CFLAGS := -Wall -g -O2 -funsigned-char
+- # do not warn about zero-length formats.
+- CFLAGS += -Wno-format-zero-length
+- LDFLAGS := -g
+-endif
+-
+-#include local compiler configuration file
+--include cflags.mk
+-
+-ifdef TARGET_GPROF
+- CFLAGS += -p
+- LDFLAGS += -p
+-endif
+-
+-TLDFLAGS := $(LDFLAGS)
+-
+-ifdef TARGET_ARCH_X86
+- #CFLAGS+=-fomit-frame-pointer
+- ifeq ($(GCC_MAJOR),2)
+- CFLAGS+=-m386 -malign-functions=0
+- else
+- CFLAGS+=-march=i386 -falign-functions=0
+- endif
+-endif
+-
+ DEFINES=-DHAVE_QE_CONFIG_H
+
+ ########################################################
diff --git a/app-editors/qemacs/files/qemacs-0.4.0_pre20080605-make_backup.patch b/app-editors/qemacs/files/qemacs-0.4.0_pre20080605-make_backup.patch
new file mode 100644
index 000000000000..cdfe4c439db8
--- /dev/null
+++ b/app-editors/qemacs/files/qemacs-0.4.0_pre20080605-make_backup.patch
@@ -0,0 +1,68 @@
+Add make-backup-files command for backup toggling, from upstream mailing list:
+http://lists.gnu.org/archive/html/qemacs-devel/2004-11/msg00007.html
+http://bugs.gentoo.org/75052
+
+--- buffer.c.orig 2009-03-07 21:14:02.000000000 +0100
++++ buffer.c 2009-03-07 21:15:40.000000000 +0100
+@@ -1657,12 +1657,14 @@
+ if (stat(filename, &st) == 0)
+ mode = st.st_mode & 0777;
+
+- /* backup old file if present */
+- if (strlen(filename) < MAX_FILENAME_SIZE - 1) {
++ /* backup old file if present and make-backup-files is on */
++ if(mbf == 1) {
++ if (strlen(filename) < MAX_FILENAME_SIZE - 1) {
+ if (snprintf(buf1, sizeof(buf1), "%s~", filename) < ssizeof(buf1)) {
+ // should check error code
+ rename(filename, buf1);
+ }
++ }
+ }
+
+ /* CG: should pass mode to buffer_save */
+--- qe.c.orig 2009-03-07 21:14:09.000000000 +0100
++++ qe.c 2009-03-07 21:17:01.000000000 +0100
+@@ -71,6 +71,7 @@
+ static int screen_height = 0;
+ static int no_init_file;
+ static const char *user_option;
++mbf = 1;
+
+ /* mode handling */
+
+@@ -5316,6 +5317,14 @@
+ do_refresh(qs->first_window);
+ }
+
++static void make_backup_files(EditState *s) {
++ if(mbf == 1) {
++ mbf = 0;
++ } else {
++ mbf = 1;
++ }
++}
++
+ /* compute default path for find/save buffer */
+ static void get_default_path(EditState *s, char *buf, int buf_size)
+ {
+--- qeconfig.h.orig 2009-03-07 21:14:19.000000000 +0100
++++ qeconfig.h 2009-03-07 21:17:37.000000000 +0100
+@@ -192,6 +192,7 @@
+ "downcase-region", do_changecase_region, ESi, -1, "*v")
+ CMD3( KEY_CTRLX(KEY_CTRL('u')), KEY_NONE,
+ "upcase-region", do_changecase_region, ESi, 1, "*v")
++ CMD0( KEY_NONE, KEY_NONE, "make-backup-files", make_backup_files)
+
+ /*---------------- Command handling ----------------*/
+
+--- qe.h.orig 2009-03-07 21:14:26.000000000 +0100
++++ qe.h 2009-03-07 21:17:53.000000000 +0100
+@@ -1765,6 +1765,7 @@
+ /* image.c */
+ void fill_border(EditState *s, int x, int y, int w, int h, int color);
+ int qe_bitmap_format_to_pix_fmt(int format);
++int mbf;
+
+ /* shell.c */
+ EditBuffer *new_shell_buffer(EditBuffer *b0, const char *name,
diff --git a/app-editors/qemacs/files/qemacs-0.4.0_pre20090420-nostrip.patch b/app-editors/qemacs/files/qemacs-0.4.0_pre20090420-nostrip.patch
new file mode 100644
index 000000000000..120b09c2129d
--- /dev/null
+++ b/app-editors/qemacs/files/qemacs-0.4.0_pre20090420-nostrip.patch
@@ -0,0 +1,36 @@
+--- qemacs-orig/Makefile
++++ qemacs/Makefile
+@@ -151,7 +151,6 @@
+ qe$(EXE): qe_g$(EXE) Makefile
+ rm -f $@
+ cp $< $@
+- -$(STRIP) $@
+ @ls -l $@
+ echo `size $@` `wc -c $@` qe $(OPTIONS) \
+ | cut -d ' ' -f 7-10,13,15-40 >> STATS
+@@ -165,7 +164,6 @@
+ tqe$(EXE): tqe_g$(EXE) Makefile
+ rm -f $@
+ cp $< $@
+- -$(STRIP) $@
+ @ls -l $@
+ echo `size $@` `wc -c $@` tqe $(OPTIONS) \
+ | cut -d ' ' -f 7-10,13,15-40 >> STATS
+@@ -329,7 +327,7 @@
+ $(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/bin
+ $(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/man/man1
+ $(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/share/qe
+- $(INSTALL) -m 755 -s qe$(EXE) $(DESTDIR)$(prefix)/bin/qemacs$(EXE)
++ $(INSTALL) -m 755 qe$(EXE) $(DESTDIR)$(prefix)/bin/qemacs$(EXE)
+ ln -sf qemacs $(DESTDIR)$(prefix)/bin/qe$(EXE)
+ ifdef CONFIG_FFMPEG
+ ln -sf qemacs$(EXE) $(DESTDIR)$(prefix)/bin/ffplay$(EXE)
+@@ -337,7 +335,7 @@
+ $(INSTALL) -m 644 kmaps ligatures $(DESTDIR)$(prefix)/share/qe
+ $(INSTALL) -m 644 qe.1 $(DESTDIR)$(prefix)/man/man1
+ ifdef CONFIG_HTML
+- $(INSTALL) -m 755 -s html2png$(EXE) $(DESTDIR)$(prefix)/bin
++ $(INSTALL) -m 755 html2png$(EXE) $(DESTDIR)$(prefix)/bin
+ endif
+
+ uninstall:
diff --git a/app-editors/qemacs/files/qemacs-0.4.1_pre20150916-Makefile.patch b/app-editors/qemacs/files/qemacs-0.4.1_pre20150916-Makefile.patch
new file mode 100644
index 000000000000..53c71f21580d
--- /dev/null
+++ b/app-editors/qemacs/files/qemacs-0.4.1_pre20150916-Makefile.patch
@@ -0,0 +1,38 @@
+Removes forced march setting and align-functions on x86, as they would
+override user's CFLAGS.
+
+--- qemacs-orig/Makefile
++++ qemacs/Makefile
+@@ -29,32 +29,6 @@
+ cmd :=
+ endif
+
+-ifeq ($(CC),gcc)
+- CFLAGS += -Wall -g -O2 -funsigned-char
+- # do not warn about zero-length formats.
+- CFLAGS += -Wno-format-zero-length
+- LDFLAGS := -g
+-endif
+-
+-#include local compiler configuration file
+--include $(DEPTH)/cflags.mk
+-
+-ifdef TARGET_GPROF
+- CFLAGS += -p
+- LDFLAGS += -p
+-endif
+-
+-TLDFLAGS := $(LDFLAGS)
+-
+-ifdef TARGET_ARCH_X86
+- #CFLAGS+=-fomit-frame-pointer
+- ifeq ($(GCC_MAJOR),2)
+- CFLAGS+=-m386 -malign-functions=0
+- else
+- CFLAGS+=-march=i386 -falign-functions=0
+- endif
+-endif
+-
+ DEFINES=-DHAVE_QE_CONFIG_H
+
+ ########################################################
diff --git a/app-editors/qemacs/files/qemacs-0.4.1_pre20150916-nostrip.patch b/app-editors/qemacs/files/qemacs-0.4.1_pre20150916-nostrip.patch
new file mode 100644
index 000000000000..2ee40c6d2fdb
--- /dev/null
+++ b/app-editors/qemacs/files/qemacs-0.4.1_pre20150916-nostrip.patch
@@ -0,0 +1,38 @@
+Suppress stripping.
+
+--- qemacs-orig/Makefile
++++ qemacs/Makefile
+@@ -168,7 +168,6 @@
+ qe$(EXE): qe_g$(EXE) Makefile
+ @rm -f $@
+ cp $< $@
+- -$(STRIP) $@
+ @ls -l $@
+ @echo `size $@` `wc -c $@` qe $(OPTIONS) \
+ | cut -d ' ' -f 7-10,13,15-40 >> STATS
+@@ -183,7 +182,6 @@
+ tqe$(EXE): tqe_g$(EXE) Makefile
+ @rm -f $@
+ cp $< $@
+- -$(STRIP) $@
+ @ls -l $@
+ @echo `size $@` `wc -c $@` tqe $(OPTIONS) \
+ | cut -d ' ' -f 7-10,13,15-40 >> STATS
+@@ -386,7 +384,7 @@
+ $(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/bin
+ $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1
+ $(INSTALL) -m 755 -d $(DESTDIR)$(datadir)/qe
+- $(INSTALL) -m 755 -s qe$(EXE) $(DESTDIR)$(prefix)/bin/qemacs$(EXE)
++ $(INSTALL) -m 755 qe$(EXE) $(DESTDIR)$(prefix)/bin/qemacs$(EXE)
+ ln -sf qemacs $(DESTDIR)$(prefix)/bin/qe$(EXE)
+ ifdef CONFIG_FFMPEG
+ ln -sf qemacs$(EXE) $(DESTDIR)$(prefix)/bin/ffplay$(EXE)
+@@ -394,7 +392,7 @@
+ $(INSTALL) -m 644 kmaps ligatures $(DESTDIR)$(datadir)/qe
+ $(INSTALL) -m 644 qe.1 $(DESTDIR)$(mandir)/man1
+ ifdef CONFIG_HTML
+- $(INSTALL) -m 755 -s html2png$(EXE) $(DESTDIR)$(prefix)/bin
++ $(INSTALL) -m 755 html2png$(EXE) $(DESTDIR)$(prefix)/bin
+ endif
+
+ uninstall:
diff --git a/app-editors/qemacs/files/qemacs-0.4.1_pre20170225-Makefile.patch b/app-editors/qemacs/files/qemacs-0.4.1_pre20170225-Makefile.patch
new file mode 100644
index 000000000000..0540bcd767c4
--- /dev/null
+++ b/app-editors/qemacs/files/qemacs-0.4.1_pre20170225-Makefile.patch
@@ -0,0 +1,42 @@
+Removes forced march setting and align-functions on x86, as they would
+override user's CFLAGS.
+
+--- qemacs-orig/Makefile
++++ qemacs/Makefile
+@@ -29,35 +29,11 @@
+ cmd :=
+ endif
+
+-ifeq ($(CC),gcc)
+- CFLAGS += -Wall -g -O2 -funsigned-char
+- # do not warn about zero-length formats.
+- CFLAGS += -Wno-format-zero-length
+- LDFLAGS += -g
+-endif
+-
+-#include local compiler configuration file
+--include $(DEPTH)/cflags.mk
+-
+-ifdef TARGET_GPROF
+- CFLAGS += -p
+- LDFLAGS += -p
+-endif
+-
+ #TCFLAGS := -DCONFIG_TINY -m32 $(CFLAGS) -Os
+ #TLDFLAGS := -m32 $(LDFLAGS)
+-TCFLAGS := -DCONFIG_TINY $(CFLAGS) -Os
++TCFLAGS := -DCONFIG_TINY $(CFLAGS)
+ TLDFLAGS := $(LDFLAGS)
+
+-ifdef TARGET_ARCH_X86
+- #CFLAGS+=-fomit-frame-pointer
+- ifeq ($(GCC_MAJOR),2)
+- CFLAGS += -m386 -malign-functions=0
+- else
+- CFLAGS += -march=i386 -falign-functions=0
+- endif
+-endif
+-
+ DEFINES=-DHAVE_QE_CONFIG_H
+
+ ########################################################
diff --git a/app-editors/qemacs/files/qemacs-0.4.1_pre20170225-manpage.patch b/app-editors/qemacs/files/qemacs-0.4.1_pre20170225-manpage.patch
new file mode 100644
index 000000000000..b73f3ee356b2
--- /dev/null
+++ b/app-editors/qemacs/files/qemacs-0.4.1_pre20170225-manpage.patch
@@ -0,0 +1,11 @@
+--- qemacs-orig/qe.1
++++ qemacs/qe.1
+@@ -44,7 +44,7 @@
+ anti aliased font display.
+ .PP
+ For more information and a list of key bindings please see
+-/usr/share/doc/qemacs/README.gz.
++the README file in /usr/share/doc/@PF@/.
+ .SH AUTHOR
+ This manual page was written by Edmund GRIMLEY EVANS <edmundo@rano.org>,
+ for the Debian GNU/Linux system (but may be used by others).
diff --git a/app-editors/qemacs/files/qemacs-0.4.1_pre20170225-nostrip.patch b/app-editors/qemacs/files/qemacs-0.4.1_pre20170225-nostrip.patch
new file mode 100644
index 000000000000..60519dca5c36
--- /dev/null
+++ b/app-editors/qemacs/files/qemacs-0.4.1_pre20170225-nostrip.patch
@@ -0,0 +1,61 @@
+Suppress stripping.
+
+--- qemacs-orig/Makefile
++++ qemacs/Makefile
+@@ -203,7 +203,6 @@
+ qe$(EXE): qe_g$(EXE) Makefile
+ @rm -f $@
+ cp $< $@
+- -$(STRIP) $@
+ @ls -l $@
+ @echo `size $@` `wc -c $@` qe $(OPTIONS) \
+ | cut -d ' ' -f 7-10,13,15-40 >> STATS
+@@ -218,7 +217,6 @@
+ xqe$(EXE): xqe_g$(EXE) Makefile
+ @rm -f $@
+ cp $< $@
+- -$(STRIP) $@
+ @ls -l $@
+ @echo `size $@` `wc -c $@` xqe $(OPTIONS) \
+ | cut -d ' ' -f 7-10,13,15-40 >> STATS
+@@ -233,7 +231,6 @@
+ tqe$(EXE): tqe_g$(EXE) Makefile
+ @rm -f $@
+ cp $< $@
+- -$(STRIP) $@
+ @ls -l $@
+ @echo `size $@` `wc -c $@` tqe $(OPTIONS) \
+ | cut -d ' ' -f 7-10,13,15-40 >> STATS
+@@ -245,7 +242,6 @@
+ t1qe$(EXE): t1qe_g$(EXE) Makefile
+ @rm -f $@
+ cp $< $@
+- -$(STRIP) $@
+ @ls -l $@
+ @echo `size $@` `wc -c $@` t1qe $(OPTIONS) \
+ | cut -d ' ' -f 7-10,13,15-40 >> STATS
+@@ -478,12 +474,12 @@
+ $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1
+ $(INSTALL) -m 755 -d $(DESTDIR)$(datadir)/qe
+ ifdef CONFIG_X11
+- $(INSTALL) -m 755 -s xqe$(EXE) $(DESTDIR)$(prefix)/bin/qemacs$(EXE)
++ $(INSTALL) -m 755 xqe$(EXE) $(DESTDIR)$(prefix)/bin/qemacs$(EXE)
+ else
+ ifdef CONFIG_TINY
+- $(INSTALL) -m 755 -s tqe$(EXE) $(DESTDIR)$(prefix)/bin/qemacs$(EXE)
++ $(INSTALL) -m 755 tqe$(EXE) $(DESTDIR)$(prefix)/bin/qemacs$(EXE)
+ else
+- $(INSTALL) -m 755 -s qe$(EXE) $(DESTDIR)$(prefix)/bin/qemacs$(EXE)
++ $(INSTALL) -m 755 qe$(EXE) $(DESTDIR)$(prefix)/bin/qemacs$(EXE)
+ endif
+ endif
+ ln -sf qemacs$(EXE) $(DESTDIR)$(prefix)/bin/qe$(EXE)
+@@ -493,7 +489,7 @@
+ $(INSTALL) -m 644 kmaps ligatures $(DESTDIR)$(datadir)/qe
+ $(INSTALL) -m 644 qe.1 $(DESTDIR)$(mandir)/man1
+ ifdef CONFIG_HTML
+- $(INSTALL) -m 755 -s html2png$(EXE) $(DESTDIR)$(prefix)/bin
++ $(INSTALL) -m 755 html2png$(EXE) $(DESTDIR)$(prefix)/bin
+ endif
+
+ uninstall:
diff --git a/app-editors/qemacs/metadata.xml b/app-editors/qemacs/metadata.xml
new file mode 100644
index 000000000000..a725e273d20d
--- /dev/null
+++ b/app-editors/qemacs/metadata.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>emacs@gentoo.org</email>
+ <name>Gentoo Emacs project</name>
+</maintainer>
+<longdescription>
+ QEmacs (for Quick Emacs) is a very small but powerful text editor. It has
+ the following features:
+ * Full screen editor with an Emacs look and feel with all Emacs common
+ features: multi-buffer, multi-window, command mode, universal argument,
+ keyboard macros, config file with C like syntax, minibuffer with
+ completion and history.
+ * Can edit files of hundreds of megabytes quickly by using a highly
+ optimized internal representation and by mmaping the file.
+ * Full UTF8 support, including bidirectional editing respecting the Unicode
+ bidi algorithm. Arabic and Indic scripts handling (in progress).
+ * WYSIWYG HTML/XML/CSS2 mode graphical editing. Also supports lynx like
+ rendering on VT100 terminals. WYSIWYG DocBook mode based on XML/CSS2
+ renderer.
+ * C mode: coloring with immediate update. Emacs like auto-indent.
+ * Shell mode: colorized VT100 emulation so that your shell work exactly as
+ you expect. You can run interactive terminal apps directly in the process
+ buffer: mc, MenuConfig, or even qemacs itself! Compile mode with
+ next/prev error.
+ * Input methods for most languages, including Chinese (input methods come
+ from the Yudit editor).
+ * Hexadecimal editing mode with insertion and block commands. Unicode hexa
+ editing of UTF8 files also supported.
+ * Works on any VT100 terminals without termcap. UTF8 VT100 support included
+ with double width glyphs.
+ * X11 support. Support multiple proportionnal fonts at the same time (as
+ XEmacs).
+ * Small! Full version is about 150KB. Smaller custom versions can be built
+ by removing modules.
+</longdescription>
+</pkgmetadata>
diff --git a/app-editors/qemacs/qemacs-0.4.0_pre20090420-r1.ebuild b/app-editors/qemacs/qemacs-0.4.0_pre20090420-r1.ebuild
new file mode 100644
index 000000000000..44aa76fbf48a
--- /dev/null
+++ b/app-editors/qemacs/qemacs-0.4.0_pre20090420-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="QEmacs is a very small but powerful UNIX editor"
+HOMEPAGE="https://savannah.nongnu.org/projects/qemacs"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1+ GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 arm ~ppc x86"
+IUSE="X png unicode xv"
+RESTRICT="test"
+
+RDEPEND="
+ X? ( x11-libs/libX11
+ x11-libs/libXext
+ xv? ( x11-libs/libXv ) )
+ png? ( >=media-libs/libpng-1.2:0= )"
+
+DEPEND="${RDEPEND}
+ >=app-text/texi2html-5"
+
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+ # Removes forced march setting and align-functions on x86, as they
+ # would override user's CFLAGS..
+ epatch "${FILESDIR}/${PN}-0.4.0_pre20080605-Makefile.patch"
+ # Make backup files optional
+ epatch "${FILESDIR}/${PN}-0.4.0_pre20080605-make_backup.patch"
+ # Suppress stripping
+ epatch "${FILESDIR}/${P}-nostrip.patch"
+
+ use unicode && epatch "${FILESDIR}/${PN}-0.3.2_pre20070226-tty_utf8.patch"
+
+ # Change the manpage to reference a /real/ file instead of just an
+ # approximation. Purely cosmetic!
+ sed -i -e "s,^/usr/share/doc/qemacs,&-${PVR}," qe.1 || die
+
+ # Fix compability with >=app-text/texi2html-5
+ sed -i -e "/texi2html/s,-number,&-sections," Makefile || die
+}
+
+src_configure() {
+ # when using any other CFLAGS than -O0, qemacs will segfault on startup,
+ # see bug 92011
+ replace-flags "-O?" -O0
+ econf --cc="$(tc-getCC)" \
+ $(use_enable X x11) \
+ $(use_enable png) \
+ $(use_enable xv)
+}
+
+src_compile() {
+ # Does not support parallel building.
+ emake -j1
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+ dodoc Changelog README TODO config.eg
+ dohtml *.html
+
+ # Fix man page location
+ mv "${D}"/usr/{,share/}man || die
+
+ # Install headers so users can build their own plugins.
+ insinto /usr/include/qe
+ doins *.h
+ insinto /usr/include/qe/libqhtml
+ doins libqhtml/*.h
+}
diff --git a/app-editors/qemacs/qemacs-0.4.1_pre20150916.ebuild b/app-editors/qemacs/qemacs-0.4.1_pre20150916.ebuild
new file mode 100644
index 000000000000..e2b107ccb13f
--- /dev/null
+++ b/app-editors/qemacs/qemacs-0.4.1_pre20150916.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="QEmacs is a very small but powerful UNIX editor"
+HOMEPAGE="https://savannah.nongnu.org/projects/qemacs"
+# snapshot of http://cvs.savannah.gnu.org/viewvc/?root=qemacs
+SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+ GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 arm ~ppc x86"
+IUSE="X png unicode xv"
+RESTRICT="test"
+
+RDEPEND="
+ X? ( x11-libs/libX11
+ x11-libs/libXext
+ xv? ( x11-libs/libXv ) )
+ png? ( >=media-libs/libpng-1.2:0= )"
+
+DEPEND="${RDEPEND}
+ >=app-text/texi2html-5"
+
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-Makefile.patch"
+ epatch "${FILESDIR}/${P}-nostrip.patch"
+
+ # Change the manpage to reference a /real/ file instead of just an
+ # approximation. Purely cosmetic!
+ sed -i -e "s,^/usr/share/doc/qemacs,&-${PVR}," qe.1 || die
+}
+
+src_configure() {
+ # when using any other CFLAGS than -O0, qemacs will segfault on startup,
+ # see bug 92011
+ replace-flags "-O?" -O0
+
+ # Home-grown configure script, doesn't support most standard options
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --cc="$(tc-getCC)" \
+ $(use_enable X x11) \
+ $(use_enable png) \
+ $(use_enable xv) || die
+}
+
+src_compile() {
+ # Does not support parallel building.
+ emake -j1
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+ dodoc Changelog README TODO.org config.eg
+ docinto html
+ dodoc qe-doc.html
+
+ # Install headers so users can build their own plugins.
+ insinto /usr/include/qe
+ doins *.h
+ insinto /usr/include/qe/libqhtml
+ doins libqhtml/*.h
+}
diff --git a/app-editors/qemacs/qemacs-0.4.1_pre20170225.ebuild b/app-editors/qemacs/qemacs-0.4.1_pre20170225.ebuild
new file mode 100644
index 000000000000..dc55a56850d1
--- /dev/null
+++ b/app-editors/qemacs/qemacs-0.4.1_pre20170225.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="QEmacs is a very small but powerful UNIX editor"
+HOMEPAGE="https://savannah.nongnu.org/projects/qemacs/"
+# snapshot of http://cvs.savannah.gnu.org/viewvc/?root=qemacs
+SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+ GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+IUSE="X png unicode xv"
+RESTRICT="test"
+
+RDEPEND="
+ X? ( x11-libs/libX11
+ x11-libs/libXext
+ xv? ( x11-libs/libXv ) )
+ png? ( >=media-libs/libpng-1.2:0= )"
+
+DEPEND="${RDEPEND}
+ >=app-text/texi2html-5"
+
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+ eapply "${FILESDIR}/${P}-Makefile.patch"
+ eapply "${FILESDIR}/${P}-nostrip.patch"
+ eapply_user
+
+ # Change the manpage to reference a /real/ file instead of just an
+ # approximation. Purely cosmetic!
+ eapply "${FILESDIR}/${P}-manpage.patch"
+ sed -i -e "s:@PF@:${PF}:" qe.1 || die
+}
+
+src_configure() {
+ # Home-grown configure script, doesn't support most standard options
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --cc="$(tc-getCC)" \
+ $(use_enable X x11) \
+ $(use_enable png) \
+ $(use_enable xv) || die
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+ dodoc Changelog README TODO.org config.eg
+ docinto html
+ dodoc qe-doc.html
+
+ # Install headers so users can build their own plugins
+ insinto /usr/include/qe
+ doins *.h
+ insinto /usr/include/qe/libqhtml
+ doins libqhtml/*.h
+}
diff --git a/app-editors/qwriter/Manifest b/app-editors/qwriter/Manifest
new file mode 100644
index 000000000000..e15e52ff6fab
--- /dev/null
+++ b/app-editors/qwriter/Manifest
@@ -0,0 +1,7 @@
+AUX qwriter-0.1.9-gcc47.patch 570 SHA256 6d16b31df59a2901a89ca1afb471bb3907346f60c44a05efefa9a2d8e4bf06c1 SHA512 608fa61d7992ffd087734f5bbeb6af11d0624853b36409664cb1029fe9f49571d30600d00d787f7e569cbea7f667571827c2571bb1291038008ab059e4ab526e WHIRLPOOL 772ed7ec8e081043c99122e2ca6a2f05f4a122519539d1ed4793bff8b56629653695d3cff1f8b365f97b5fcb38c0fa34225db3dffd7b59b8028e1e7de2088986
+DIST qwriter-0.1.9-src.tar.gz 1305399 SHA256 7a645f94b0a0050589d491e6c8a0bfa8f3381f513f9504aef348343d00c1ef8d SHA512 58a1c9b4ffcb148a0131dbbc4c150cf0b8b615e0c57712f5abe8955ce91a3d3de608d60fe9b68115fe77ec1cb2705917780e9789e175bd1c25c85aee2d23e09e WHIRLPOOL 7b57539842781e34763dcaaf644ca9e437b9accdac4215ccb5e1459a49489234665b73a9a146a9184e13b14ce3a3b8114491ffedfcde815ea9dd49ba9e4d2679
+EBUILD qwriter-0.1.9-r2.ebuild 1040 SHA256 23f386bac2b203ee6670cb4abca060ef0fa86c286efd9aa0c91c9d960ccfded6 SHA512 d6bdf30c66d1ba8eab01b15f045aa0ff8f498ae3781240ed3163f5ddeb86dec84658bc4dce7fd9124b8023f4a40fdd13a9bc627a0bad50d9f471c0be24df7f97 WHIRLPOOL c6807dd97dcb725ab4b467c3e969016c75505d8e42bfbcfbd82011e693ff9ee5243c8dd4f94f4e9333407730fa5373fc14a9966266fb8dba5f01fa9c7828d3e8
+EBUILD qwriter-0.1.9.ebuild 1164 SHA256 6a35591d2bc470013889b9f9680d46ecfd56bc84dc929072248f090fd05b735a SHA512 30d65ea2d94042a0a26a567bf45cc5acf662573e687dd1de4c7bee0085429a487efaa8bcbf74deb51d04971e1faa8894901a71e3240b0a522ba5c904246d2430 WHIRLPOOL c3ccd86d13d19fb2fdfb21b400a1d13b1baa9e355d87e5a6717cf8de395cd20a2c2958bd010c22a8dfa8ae046b910fc3f9d01b89ce011437e1ff2b3c5a3d3e0b
+MISC ChangeLog 2533 SHA256 3605f5c9cd73dafff131efe36944b5a0087592713897311c7f9a6ca213a199b8 SHA512 b89e8f0ba0cbbe0f76273bba1232d9281cf119402ecdb9eb213643b484c5ca17f00dd8f4ed94fd4c10113198b8463622cd55b0500af9cdb0b4f71206e1eaf3a3 WHIRLPOOL 5a6f3945603289c29a1c361f46db1addcaefbb1e825c805f6a966c04bfec48dfd0d5dd1430b1f6ed6cec406a5a04a76c0758ca1887364b538a4c2f64d2809fa3
+MISC ChangeLog-2015 1118 SHA256 2e4d3660f9d99ba51a1314a2a37db6d86c46a097579bbb4be6ecc0f0c8dbd00c SHA512 e4be30b83b37e9f011441e4061593dd8f8eab824f7b2cd29cb46a1fb1bd0dcd59cd0d65c47b6dc97dcbe7a64f40d27c8bc698b276f3d50d41ab4c995a19632ec WHIRLPOOL ee66706ac3fbe19f5a51b6e8e347a8d34e9048ea14c53486bfb392a3de65a98d9531fe004990858c86edccb06477d2d124354869ba70ae2188304e3049913d49
+MISC metadata.xml 327 SHA256 432971d3e34c5a3bb28576ea98050339a1e1852766e07d1dbfaa8fa0f8e790c6 SHA512 517d493e2096d2c3b96fd1aea856513e4d09f6f77ff226a4d68a4d51e6fc401346745a454d8e7623941ba536940d2fae77d3244c1ef9b10b03d719da4e132d01 WHIRLPOOL acb2bd223b40e639805f97e507f910cf4a17935db2f719d1336cbf9c578ce5eeb1f773e42216dae78145c05f6f7147515b501cadf9147eb950e9e4fb243d598d
diff --git a/app-editors/qwriter/files/qwriter-0.1.9-gcc47.patch b/app-editors/qwriter/files/qwriter-0.1.9-gcc47.patch
new file mode 100644
index 000000000000..d13c6625a743
--- /dev/null
+++ b/app-editors/qwriter/files/qwriter-0.1.9-gcc47.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/show_bug.cgi?id=425252
+Index: qwriter-0.1.9-src/qtsingleapplication-2.6-opensource/linux/src/qtlocalpeer.cpp
+===================================================================
+--- qwriter-0.1.9-src.orig/qtsingleapplication-2.6-opensource/linux/src/qtlocalpeer.cpp
++++ qwriter-0.1.9-src/qtsingleapplication-2.6-opensource/linux/src/qtlocalpeer.cpp
+@@ -56,6 +56,7 @@ typedef BOOL(WINAPI*PProcessIdToSessionI
+ static PProcessIdToSessionId pProcessIdToSessionId = 0;
+ #endif
+ #if defined(Q_OS_UNIX)
++#include <unistd.h>
+ #include <time.h>
+ #endif
+
diff --git a/app-editors/qwriter/metadata.xml b/app-editors/qwriter/metadata.xml
new file mode 100644
index 000000000000..69f0954c75ed
--- /dev/null
+++ b/app-editors/qwriter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>hwoarang@gentoo.org</email>
+ <name>Markos Chandras</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="google-code">qwriter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/qwriter/qwriter-0.1.9-r2.ebuild b/app-editors/qwriter/qwriter-0.1.9-r2.ebuild
new file mode 100644
index 000000000000..3fda4fe6347b
--- /dev/null
+++ b/app-editors/qwriter/qwriter-0.1.9-r2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+LANGS="ru"
+
+inherit eutils qt4-r2
+
+MY_P="${P}-src"
+
+DESCRIPTION="Advanced text editor with syntax highlighting"
+HOMEPAGE="http://qt-apps.org/content/show.php/QWriter?content=106377"
+#upstream failed to provide a sane url
+SRC_URI="https://qwriter.googlecode.com/files/${MY_P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-qt/qtgui:4
+ x11-libs/qscintilla:=[qt4(-)]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ sed -i "s:languages:/usr/share/${PN}/languages:" src/MainWindow.cpp \
+ || die "failed to fix translation path"
+ # gcc-4.7. Bug #425252
+ epatch "${FILESDIR}"/${P}-gcc47.patch
+ qt4-r2_src_prepare
+}
+
+src_install() {
+ dobin bin/${PN}
+ newicon images/w.png ${PN}.png
+ make_desktop_entry ${PN} QWriter ${PN}
+ insinto /usr/share/${PN}/languages/
+ for x in ${LANGS};do
+ for j in ${LINGUAS};do
+ if [[ $x == $j ]]; then
+ doins languages/${PN}_$x.qm
+ fi
+ done
+ done
+}
diff --git a/app-editors/qwriter/qwriter-0.1.9.ebuild b/app-editors/qwriter/qwriter-0.1.9.ebuild
new file mode 100644
index 000000000000..0f44775c74bf
--- /dev/null
+++ b/app-editors/qwriter/qwriter-0.1.9.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="2"
+LANGS="ru"
+
+inherit eutils qt4-r2
+
+MY_P="${P}-src"
+
+DESCRIPTION="Advanced text editor with syntax highlighting"
+HOMEPAGE="http://qt-apps.org/content/show.php/QWriter?content=106377"
+#upstream failed to provide a sane url
+SRC_URI="https://qwriter.googlecode.com/files/${MY_P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-qt/qtgui:4
+ x11-libs/qscintilla"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ sed -i "s:languages:/usr/share/${PN}/languages:" src/MainWindow.cpp \
+ || die "failed to fix translation path"
+ # gcc-4.7. Bug #425252
+ epatch "${FILESDIR}"/${P}-gcc47.patch
+ qt4-r2_src_prepare
+}
+
+src_install() {
+ dobin bin/${PN} || die "dobin failed"
+ newicon images/w.png ${PN}.png || die "newicon failed"
+ make_desktop_entry ${PN} QWriter ${PN} \
+ || die "make_desktop_entry failed"
+ insinto /usr/share/${PN}/languages/
+ for x in ${LANGS};do
+ for j in ${LINGUAS};do
+ if [[ $x == $j ]]; then
+ doins languages/${PN}_$x.qm \
+ || die "failed to install $x translation"
+ fi
+ done
+ done
+}
diff --git a/app-editors/qxmledit/Manifest b/app-editors/qxmledit/Manifest
new file mode 100644
index 000000000000..ed729cce33fb
--- /dev/null
+++ b/app-editors/qxmledit/Manifest
@@ -0,0 +1,7 @@
+DIST qxmledit-0.9.7-1-src.tgz 20151952 SHA256 bcb694f01db5e4f4bedec81f823d498c6270f78da6a0c5963c52956f6c81c443 SHA512 c2304c0d46925f36ae2e411bae805406df60339bbce1f030ebbbe42b203133770ff011cb9751e79ac6807f21425e73f3f66f7081a5b14d6701522c2aa1e9a9df WHIRLPOOL 6f037cc63ec40446bee41e9eab8646f2c349bc3525d01c5e5cce417932b3020e1b79da71f356f64bac963bfb063a34ea0a3b44b8f17d051b8b4509a09172be3f
+DIST qxmledit-0.9.8-src.tgz 22814833 SHA256 a24cf4439ab4676cd375669b3b2c9e47ac7e859835a803013ea35b15942ef210 SHA512 41caf161de1efd3c210104f362b1ef50ecfbec0c50d4efc98aae03f40ee0c8f51f0b8c322b3017b797f19c7ed668b456a850dea0b4adf7106557eeb9ea58a78e WHIRLPOOL 12e8a30e4072c530c52a316ed834d9f32389b38a561f8c60aa2ec5e5b79fbef29cbadae21a850fc801e35ccb0e45514d5e4c3ef5bcb77321d23b564061f27b1c
+EBUILD qxmledit-0.9.7.ebuild 1626 SHA256 3fcddb833ccd2b99f02c9e275c5e5225548badb1ef5db67daddd9e44f6f1b109 SHA512 d6e2b380de9fbeaf7409f5c84f0e77306b93482fdca7d92117f9467c29cd30ee32e58670bd2b43e11bd323ba7c864c8444d4133048a3e58719cbf9d71fdc1b6b WHIRLPOOL d2edeb466c0465cc6c4cbfd5c081262e02975732e10f81989f6111e8a8af14be6efef436192d37e7ba73d3bba33688418a44987bdf4cd86ad98c1683fb0d4c75
+EBUILD qxmledit-0.9.8.ebuild 1605 SHA256 935c3f95dd345815fac6e62738b56b9652cdecd676d2680339e42b9cb4105cf6 SHA512 a6104331447473700fbaf4c50afd7c0ca8b9808bbd964a0e24f7dee2e84e81168ed4d1b8b278246b8f5479bfdb15c8f3036501b8886d37133eb9c9e6f47b1c07 WHIRLPOOL e04d1f6e8ce45995a420cdc94ba0c5d9c357b7125533b34cae81039a2cc1df71aa12282ae686f5506815bfed11cc3051cd375bc770a16606a38cddedf364c0eb
+MISC ChangeLog 5178 SHA256 016a5bbf882c044824302cb31a9d31c9da3998ce3ecc1896be4de8477e15c2f1 SHA512 40dcf79bde405417d65a9c3a303ca4d23a217bf83e1315a5e591d24f22e6f4f215fd431606cdbc74422be4758ca38dfa2a43abc01d3135c77cf7f53319710b8f WHIRLPOOL 342fae6cc29fbbe7ad2adc52c1843c8a982cce73962a56be41cd1d829f0c9df09c368d3e9fcf42c42edd053b4814f25a08d05596b7dd8d9129521d8afb35d61f
+MISC ChangeLog-2015 6256 SHA256 ae96d9c999e8bdd0a78030361ddf74a8a9bdf2e6705c3f38376c071338b45b58 SHA512 556ed70ef01a9f045315f230c2f1d6cdf8d940bc676373d1bf564631522a21172f4e1c8260a14a07b9e6114e3236107f4cc72514a93a72b7a2cff22460031b97 WHIRLPOOL 4d370c93e9607a6e3cb771a10a794ba9d0229291323bf0a754365320bf4dd1c992b33d89029b66c00827f2f38ea0fc3f8d0470aa00bd58d39bd4ac3d5537ccc9
+MISC metadata.xml 866 SHA256 c52676da8f813aaf32941d04ffaaacaec614993eb0c573ffdaa36fff3deb730e SHA512 c97f333d504c0dd0d08ef5b9b20520a89596e2b11c140bd1b15414c44e5685c109b245a34e150581d2a1ba4ba940f6aec5d2e55dcb61e4a7283ec17a2e85aa3d WHIRLPOOL 196f22aa48216f8b4a900a93bb6c3412e21d5cbf52b8218009bb311d47dd741c337f3eef691972d4b11f480ef96eb85189a3710e7dec50030549e9146b4bd65c
diff --git a/app-editors/qxmledit/metadata.xml b/app-editors/qxmledit/metadata.xml
new file mode 100644
index 000000000000..304a2d714ea9
--- /dev/null
+++ b/app-editors/qxmledit/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>hwoarang@gentoo.org</email>
+ <name>Markos Chandras</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ QXmlEdit is a simple XML editor based on Qt libraries. Its main features are
+ unusual data visualization modes, nice XML manipulation and presentation
+ features, and it is multi-platform. It can split very big XML files into
+ fragments, and compare XML files. It is one of the few graphical Open Source
+ XSD viewers.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">lbellonda/qxmledit</remote-id>
+ <remote-id type="sourceforge">qxmledit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/qxmledit/qxmledit-0.9.7.ebuild b/app-editors/qxmledit/qxmledit-0.9.7.ebuild
new file mode 100644
index 000000000000..08e35d79954d
--- /dev/null
+++ b/app-editors/qxmledit/qxmledit-0.9.7.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils qmake-utils xdg-utils
+
+DESCRIPTION="Simple Qt-based XML editor"
+HOMEPAGE="http://qxmledit.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}-1-src.tgz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtopengl:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtscxml:5
+ dev-qt/qtsql:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ dev-qt/qtxmlpatterns:5
+ media-libs/glu
+ virtual/opengl
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( AUTHORS NEWS README )
+
+S=${WORKDIR}/${P}-1
+
+src_prepare() {
+ default
+
+ # bug 568746
+ sed -i -e '/QMAKE_CXXFLAGS/s:-Werror::' \
+ src/{QXmlEdit,QXmlEditWidget,sessions/QXmlEditSessions}.pro || die
+
+ # bug 629624
+ sed -i -e 's/LIBS += -lGL -lGLU -lglut/LIBS += -lGL -lGLU/' \
+ src/QXmlEdit.pro || die
+}
+
+src_configure() {
+ export \
+ QXMLEDIT_INST_DIR="${EPREFIX}/usr/bin" \
+ QXMLEDIT_INST_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" \
+ QXMLEDIT_INST_INCLUDE_DIR="${EPREFIX}/usr/include/${PN}" \
+ QXMLEDIT_INST_DATA_DIR="${EPREFIX}/usr/share/${PN}" \
+ QXMLEDIT_INST_DOC_DIR="${EPREFIX}/usr/share/doc/${PF}"
+
+ # avoid internal compiler errors
+ use x86 && export QXMLEDIT_INST_AVOID_PRECOMP_HEADERS=Y
+
+ eqmake5
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+
+ doicon install_scripts/environment/icon/qxmledit.png
+ domenu install_scripts/environment/desktop/QXmlEdit.desktop
+ einstalldocs
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}
diff --git a/app-editors/qxmledit/qxmledit-0.9.8.ebuild b/app-editors/qxmledit/qxmledit-0.9.8.ebuild
new file mode 100644
index 000000000000..75018c0bb845
--- /dev/null
+++ b/app-editors/qxmledit/qxmledit-0.9.8.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils qmake-utils xdg-utils
+
+DESCRIPTION="Simple Qt-based XML editor"
+HOMEPAGE="http://qxmledit.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}-src.tgz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtopengl:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtscxml:5
+ dev-qt/qtsql:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ dev-qt/qtxmlpatterns:5
+ media-libs/glu
+ virtual/opengl
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( AUTHORS NEWS README )
+
+src_prepare() {
+ default
+
+ # bug 568746
+ sed -i -e '/QMAKE_CXXFLAGS/s:-Werror::' \
+ src/{QXmlEdit,QXmlEditWidget,sessions/QXmlEditSessions}.pro || die
+
+ # bug 629624
+ sed -i -e 's/LIBS += -lGL -lGLU -lglut/LIBS += -lGL -lGLU/' \
+ src/QXmlEdit.pro || die
+}
+
+src_configure() {
+ export \
+ QXMLEDIT_INST_DIR="${EPREFIX}/usr/bin" \
+ QXMLEDIT_INST_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" \
+ QXMLEDIT_INST_INCLUDE_DIR="${EPREFIX}/usr/include/${PN}" \
+ QXMLEDIT_INST_DATA_DIR="${EPREFIX}/usr/share/${PN}" \
+ QXMLEDIT_INST_DOC_DIR="${EPREFIX}/usr/share/doc/${PF}"
+
+ # avoid internal compiler errors
+ use x86 && export QXMLEDIT_INST_AVOID_PRECOMP_HEADERS=Y
+
+ eqmake5
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+
+ doicon install_scripts/environment/icon/qxmledit.png
+ domenu install_scripts/environment/desktop/QXmlEdit.desktop
+ einstalldocs
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}
diff --git a/app-editors/retext/Manifest b/app-editors/retext/Manifest
new file mode 100644
index 000000000000..b9d4815c2a5f
--- /dev/null
+++ b/app-editors/retext/Manifest
@@ -0,0 +1,8 @@
+DIST ReText-7.0.0.tar.gz 203294 SHA256 01eaf11768f27ba1da2572f2dbcf9b6857d5baa3ca1f50d1cacad894a228f032 SHA512 0a2e430659e7d87d50780fecbf5f04f852f144d143ec83b90126ab9e7b8006756cbc8710c9cec192ddad2cba9f7236e684fa207e308c565388ede308da3c1a35 WHIRLPOOL 5f3633c45c6ef7cb44cbd805849a97b81536d762910d44380a6d2836eb7308ed0c449ec282139b0eea07445be051a0cfa4ab7d3b077693a07f4d14beffbfc8ae
+DIST ReText-7.0.1.tar.gz 266582 SHA256 f5a2dbfb32b96423fd3e5ef00488440c36a2bcecbc6356f5c17674b265316eea SHA512 eb6b1f6df1e490d9058f3431c023119afff05e81917bb5402a35a100538283a157d2853d10c015a415a5d7e78aac4a2489307a0ef60004d48d8b1f9207a07567 WHIRLPOOL a9041e9238b78bd722e4ffe40637351bce2242daa87ff12b8441c0a25321ecc367e8842927b98562be1f3c03835d8a494e6bcb245592ca06d9eaf7c257f2e205
+EBUILD retext-7.0.0.ebuild 1369 SHA256 510ea0c36af96e9a678931448192ad15f1c84698289d243a273163d889d50f97 SHA512 6c5bed210a70800b32ae1ae9e57e36c47a622982b505ec195e4120e2dfc5f08863bc6e070c8a3f1978430f3473d2a9ed7f54fed474c6caac50ede0141df8afc4 WHIRLPOOL 3b7408d462fb2d40b79a292e4eafc67cb0bb0dbc161b7ff0c0f300305f204cc5a3d52fdcfbad0964e429b0f783728c640b52c55e29643c661878abbbab7c4e85
+EBUILD retext-7.0.1.ebuild 1371 SHA256 5f5e861803d34dd0336fe3e3ab459ac7d6389871a41a8f332a1b759f55554547 SHA512 675ba45476e71769bdefeafa1740f799c644cd895ff144e684a599f571e78c7137b25450b2fde636cf70c137e58e89fcf858de458cf22ab1a2b4a0f697f448b8 WHIRLPOOL 83a68ff64099c652bb7874a2a782de2c9a03d76fde81f36ba860d61de63fc5e5128a33a27d2fa713c467a295c715e0f8fa717549bb332bbc939e3fbdf019669c
+EBUILD retext-9999.ebuild 1347 SHA256 678cfc03cfd9a2df06b3ea060e01fbf067c62d911d433a09a7d3aed18a813884 SHA512 9021067fb94c42b12e9c8ce56a08df61328393e7586e9014408f73a2394b2c592845781de8f4651522c0d50ec0f338d8dbd4d7354825737057f009e585629238 WHIRLPOOL e81ea262d39aa3d370d6ff2ad5d2e98fecb64164d914525f145ae73244324dccea901e368b787a2fd1a58d455a3ce06e9c21216909115219094689d8d8017185
+MISC ChangeLog 4878 SHA256 97414095c18fec15171564390f1b3406a1cf81a7aee8e6c0860020b989be57d4 SHA512 2210758f56c35ae873304bbc3f210fed1228980b2961199d2d1135b76c42e980ea0d0c8070e83fca67ea8e72cd47a4a88393e753d772067c736ad1639eba60d3 WHIRLPOOL 82f10c29590ab1b82295510ee4aa8d669a648e782216ec52e4244d753de407bbca16e6057e71345f7148bccdbbf206febfa91976ecb313741752881df6ee45b1
+MISC ChangeLog-2015 3906 SHA256 8f5ea4e79d76b3439d02a0b10ad6feb838ae822e7f4d2f7532b2033e5274c467 SHA512 265fb90e834e0bed80b84a7d3e2c5fe9e74cdd2b38c9341f4e508ce26df93c936f5dc594cbd8097cfa50ea4abe7ac53550628448281fc1e943aedbc153a72341 WHIRLPOOL dcc764bf24b3bb8c49a0a326c66a56b35446183e2c835125cb08ff6f79f683e10b20a434449fa87cd61cd969bf21a367a94126ec43d4862928fc1acaa579d545
+MISC metadata.xml 440 SHA256 effd5c762c9834bf8029bc6b15b0b00b3b368620de061578d4be4250b500d056 SHA512 20e20738caa2c866288d75933a6dae62584f95eb720ebccda9b02e2d96b82043ead87cb810273b4a4f17815fa4c342b2f3a19b4891bfc6ef33c6fc63234775c5 WHIRLPOOL 61ad6ecb305e2f5c8afcb52520767c18615fb6e48c26a88bba7254feea204f7cbfbbc4b2e8b2ef92ed92b5b42d31a392cbfeeb418bd31c7727b0ffc30e32ef5d
diff --git a/app-editors/retext/metadata.xml b/app-editors/retext/metadata.xml
new file mode 100644
index 000000000000..f43cddd5a1cf
--- /dev/null
+++ b/app-editors/retext/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 type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">retext</remote-id>
+ <remote-id type="github">retext-project/retext</remote-id>
+ <remote-id type="pypi">ReText</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/retext/retext-7.0.0.ebuild b/app-editors/retext/retext-7.0.0.ebuild
new file mode 100644
index 000000000000..526562e3fad2
--- /dev/null
+++ b/app-editors/retext/retext-7.0.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python3_{4,5,6} )
+
+PLOCALES="ca cs cy da de es et eu fr hu it ja pl pt pt_BR ru sk sr sr@latin uk zh_TW"
+
+inherit distutils-r1 virtualx l10n eutils
+
+MY_PN="ReText"
+MY_P="${MY_PN}-${PV/_/~}"
+
+DESCRIPTION="Simple editor for Markdown and reStructuredText"
+HOMEPAGE="https://github.com/retext-project/retext https://github.com/retext-project/retext/wiki"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+spell"
+
+RDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ >=dev-python/markups-2.0[${PYTHON_USEDEP}]
+ >=dev-python/chardet-2.3[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/PyQt5[gui,network,printsupport,webkit,widgets,${PYTHON_USEDEP}]
+ spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] )
+"
+
+S="${WORKDIR}"/${MY_P}
+
+remove_locale() {
+ find "${ED}" -name "retext_${1}.qm" -delete || die "Failed to remove locale ${1}."
+}
+
+python_test() {
+ virtx esetup.py test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newicon {icons/,}${PN}.png
+ newicon {icons/,}${PN}.svg
+
+ l10n_for_each_disabled_locale_do remove_locale
+
+ make_desktop_entry ${PN} "${MY_PN} Editor" ${PN} "Development;Utility;TextEditor"
+}
diff --git a/app-editors/retext/retext-7.0.1.ebuild b/app-editors/retext/retext-7.0.1.ebuild
new file mode 100644
index 000000000000..829b0016d163
--- /dev/null
+++ b/app-editors/retext/retext-7.0.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python3_{4,5,6} )
+
+PLOCALES="ca cs cy da de es et eu fr hu it ja pl pt pt_BR ru sk sr sr@latin uk zh_TW"
+
+inherit distutils-r1 virtualx l10n eutils
+
+MY_PN="ReText"
+MY_P="${MY_PN}-${PV/_/~}"
+
+DESCRIPTION="Simple editor for Markdown and reStructuredText"
+HOMEPAGE="https://github.com/retext-project/retext https://github.com/retext-project/retext/wiki"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+spell"
+
+RDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ >=dev-python/markups-2.0[${PYTHON_USEDEP}]
+ >=dev-python/chardet-2.3[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/PyQt5[gui,network,printsupport,webkit,widgets,${PYTHON_USEDEP}]
+ spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] )
+"
+
+S="${WORKDIR}"/${MY_P}
+
+remove_locale() {
+ find "${ED}" -name "retext_${1}.qm" -delete || die "Failed to remove locale ${1}."
+}
+
+python_test() {
+ virtx esetup.py test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newicon {icons/,}${PN}.png
+ newicon {icons/,}${PN}.svg
+
+ l10n_for_each_disabled_locale_do remove_locale
+
+ make_desktop_entry ${PN} "${MY_PN} Editor" ${PN} "Development;Utility;TextEditor"
+}
diff --git a/app-editors/retext/retext-9999.ebuild b/app-editors/retext/retext-9999.ebuild
new file mode 100644
index 000000000000..68382ad9fb77
--- /dev/null
+++ b/app-editors/retext/retext-9999.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python3_{4,5,6} )
+
+PLOCALES="ca cs cy da de es et eu fr hu it ja pl pt pt_BR ru sk sr sr@latin uk zh_TW"
+
+inherit distutils-r1 virtualx git-r3 l10n
+
+MY_PN="ReText"
+MY_P="${MY_PN}-${PV/_/~}"
+
+DESCRIPTION="Simple editor for Markdown and reStructuredText"
+HOMEPAGE="https://github.com/retext-project/retext https://github.com/retext-project/retext/wiki"
+SRC_URI=""
+EGIT_REPO_URI="https://github.com/retext-project/retext.git"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="+spell"
+
+RDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ >=dev-python/markups-2.0[${PYTHON_USEDEP}]
+ >=dev-python/chardet-2.3[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/PyQt5[gui,network,printsupport,webkit,widgets,${PYTHON_USEDEP}]
+ spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] )
+"
+
+remove_locale() {
+ find "${ED}" -name "retext_${1}.qm" -delete || die "Failed to remove locale ${1}."
+}
+
+python_test() {
+ virtx esetup.py test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newicon {icons/,}${PN}.png
+ newicon {icons/,}${PN}.svg
+
+ l10n_for_each_disabled_locale_do remove_locale
+
+ make_desktop_entry ${PN} "${MY_PN} Editor" ${PN} "Development;Utility;TextEditor"
+}
diff --git a/app-editors/sandy/Manifest b/app-editors/sandy/Manifest
new file mode 100644
index 000000000000..c0fe99eee3c7
--- /dev/null
+++ b/app-editors/sandy/Manifest
@@ -0,0 +1,6 @@
+AUX sandy-0.4-gentoo.patch 1019 SHA256 d9359cb18b51b454862fbc9210f520f16e5a4e9867c15942e2155478f6cd1caf SHA512 06e3e4dd2979e3589f9f1205eee13c56006ea4f2d8d8ead61faadebcdc9b590c82b645dc93b6ed6693cd15cd8d7e45491812fa3fb0819cfd088e5e231da7f7ab WHIRLPOOL f966a77f55d51b35b9f11750c1747a9c0308e4a2bb48eb1b361ec5919e6c43ed643c4216505f06ac38b22382be47766e1c171f6da89a6f98ddcd61477202770b
+DIST sandy-0.4.tar.bz2 18409 SHA256 cc549e70936424b65b012a664fe8959a5b3f345e3d5be3af9bd1ee9ea80a412b SHA512 6f28588e15ccdc467dd9d0de8b221508333defefe5866005d82292583db9f296284f233271af5e85b648c194dff117f94752cc364ed6c1409dae5c3af755b530 WHIRLPOOL 3944bbf11e7548e8675e5461c5c8686a6046854aa189a1bfa018a0eb14962c9d3601ab9b734c5516457bb402f98b7798825f3660b7a294323f64742eced49bfe
+EBUILD sandy-0.4.ebuild 677 SHA256 83359fa372731e928c4b164c40d7a45b36708b0078609fe6e4db41a381bd517a SHA512 75bcfd2498859e0090d1fa072be4576d707ac457d965d67101d8062b47ca450273813cd73f686095436e477e7872fc5d8d976ce16d074af142c9cfd8fe14c36b WHIRLPOOL da50444acc335d9f128cc15070002fad67bea76f42dd48e618a76159080ace7a667245ec820b6bf4ef1b021dcd39212a2b81c45b878887230b3fb79b3587de9c
+MISC ChangeLog 2200 SHA256 580d3aca861e7dc6b1799a98f4679367c59b0ef54dbed4f16d6264f9b959295f SHA512 f6a3e04121804f1ea1cd0c4c289627a33877beca90e7580049077a5bad7d13b50f49151f24f2055866005a6ba32e4b856dd31d742c9acf27091949364fcc00c2 WHIRLPOOL b29a7357956195fddad90e6e30bac6e9c200b237b5180f1ee8890f00a1ec511b2fbad6db0a1f315b1f963dfbcc5f822562026141079956e1146d467a833b7c11
+MISC ChangeLog-2015 363 SHA256 0669bf44fe712cde9afe2c4aa5f2dc542fb6fe2f108dc1043c927fb512bcc94b SHA512 1bc0c749b06af0f77e8b08eefde1081a443ae8815d33732ff2082898110af89cbe150fc40d87fe4ddb0f63feac58eca8aa1786cc8b4789edc26b7743d4fc6b4e WHIRLPOOL 19bc5595e3a0c74aa4257de2e0c25a265fec7d0b1f752d2f32441b20ed69dc1a399dd297f026f5b47280b41cb9a392a977bdb73c7b94528b584fe1aa4800c5d7
+MISC metadata.xml 210 SHA256 59333e331c55cfd39ab5a54817053590464e735d79003424078790bad0f03885 SHA512 f7cbe57a24b67a28696f91061ad8bd61d7d4cf3d59d20c3dcc6a4921e29672d00ecf3ece70a8813399d2467ebd626f8f829300e81fc722e9aaa527e213a5fb54 WHIRLPOOL 4720a4dc9840fd244dc5c4ce9695cdb0007a36c7b0262d4db8a8b0fec37fc718fd0c33f87c9ca0cfd5f5f09b6fe42f1cf93103a85de3f2c3d5dce10a82ef082d
diff --git a/app-editors/sandy/files/sandy-0.4-gentoo.patch b/app-editors/sandy/files/sandy-0.4-gentoo.patch
new file mode 100644
index 000000000000..877c96805ef4
--- /dev/null
+++ b/app-editors/sandy/files/sandy-0.4-gentoo.patch
@@ -0,0 +1,49 @@
+--- a/config.mk
++++ b/config.mk
+@@ -9,19 +9,19 @@
+
+ # includes and libs (ncurses)
+ INCS = -I. -I/usr/include
+-LIBS = -L/usr/lib -lc -lncursesw
++LIBS = $(shell ${PKG_CONFIG} --libs ncurses)
+
+ # flags
+-CPPFLAGS = -DVERSION=\"${VERSION}\"
++CPPFLAGS = -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE
+ #CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
+ #LDFLAGS = -s ${LIBS}
+-CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS}
+-LDFLAGS = ${LIBS}
++CFLAGS += -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS}
++LDFLAGS += ${LIBS}
+
+ # Solaris
+ #CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
+ #LDFLAGS = ${LIBS}
+
+ # compiler and linker
+-CC = cc
++CC ?= cc
+
+--- a/Makefile
++++ b/Makefile
+@@ -15,8 +15,7 @@
+ @echo "CC = ${CC}"
+
+ .c.o:
+- @echo CC $<
+- @${CC} -c ${CFLAGS} $<
++ ${CC} -c ${CFLAGS} $<
+
+ ${OBJ}: config.h config.mk
+
+@@ -25,8 +24,7 @@
+ @cp config.def.h $@
+
+ sandy: ${OBJ}
+- @echo CC -o $@
+- @${CC} -o $@ sandy.o ${LDFLAGS}
++ ${CC} ${CFLAGS} -o $@ sandy.o ${LDFLAGS}
+
+ clean:
+ @echo cleaning
diff --git a/app-editors/sandy/metadata.xml b/app-editors/sandy/metadata.xml
new file mode 100644
index 000000000000..5ba62861f1c4
--- /dev/null
+++ b/app-editors/sandy/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+<email>jer@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/app-editors/sandy/sandy-0.4.ebuild b/app-editors/sandy/sandy-0.4.ebuild
new file mode 100644
index 000000000000..47708c7ae369
--- /dev/null
+++ b/app-editors/sandy/sandy-0.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="an ncurses text editor with an easy-to-read, hackable C source"
+HOMEPAGE="https://tools.suckless.org/sandy"
+SRC_URI="https://git.suckless.org/${PN}/snapshot/${P}.tar.bz2"
+
+LICENSE="MIT-with-advertising"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="sys-libs/ncurses"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.4-gentoo.patch
+}
+
+src_compile() {
+ tc-export CC PKG_CONFIG
+ append-cflags -D_DEFAULT_SOURCE
+ emake PREFIX=/usr ${PN}
+}
+
+src_install() {
+ emake PREFIX=/usr DESTDIR="${D}" install
+}
diff --git a/app-editors/scite/Manifest b/app-editors/scite/Manifest
new file mode 100644
index 000000000000..f2359c2055d2
--- /dev/null
+++ b/app-editors/scite/Manifest
@@ -0,0 +1,12 @@
+AUX scite.desktop 138 SHA256 f91b1e14fdb6f78901001ece140eaf1dc60efe6fc0364f6f145671964a0c40bd SHA512 9e226e4207ccaf0ae654e0456906547d9eaa77d5f09e057e56a657ae06fe909a759a8ae30bb625ec556f72a3a7105fc1f4407f1f51c05c40ba2cc1ec08469da6 WHIRLPOOL 6a0de80f0eb8479e54e644e8a729d4b45bba6b0ce2fd0662309ed4f6e70b4e36ff531cf23a220485e0ec26bb0349efe782279d9a7e66d1d54af99f3520a1de60
+DIST scite355.tgz 2302137 SHA256 20515597ac986f1727c97bda2c27d88487ddb79cfe330b0b890b5e25330b7d9f SHA512 cdd9d3aa621f5d31632cfb9f71524255a4b47b70a654bf4bc8a25a76f8a2dbe098a48e0cd4587ced8ca8455be7e809973e212fcbcde5b62087aa0f9528f7f40d WHIRLPOOL c901804481042b859be68f44ab728544e97975d61219a4bb576ba3da00bd663c8877e9b23b981a0295d759cae3e9afd037d981923086c6850ff29f01c43ec9f6
+DIST scite362.tgz 2368491 SHA256 6530d0d86c72485b815663e3b2c2987d59779340a71632ed8bb97a43530737a3 SHA512 cb9618e962a16db7484e16a494b3da39f210250277e9772b112af5e16649b38f27ead0ec61664b1211c9263880cb7f3c34b5b32d94a4e70087fb1503805740c1 WHIRLPOOL 52a31f0e1518a9d8f6107aa22eead7da89e1d1ea6523a2aae57fbd7a3a8ecbd192c124c3d2550acea6383457763d6e501b14791ec6490a54379c5d13356e42da
+DIST scite364.tgz 2386959 SHA256 6a27a1062b838e0fe914fb045f265935e5d39e34d69ae894b55f971437192baa SHA512 eaba353edac23902a8f446fb8877f3e5dd43221e5289bc38941d76068a3f7c87602e9eb5828e6caafec56657d05b5268aad2a1bb36356a14154de3c22602c76d WHIRLPOOL f1b4c64eb4a5c6d6e73ffb3f457a5b5ddf8d31cf5f5778b204c05a093bcfb8e78e7a8cab634cf369ce29f200c11b933492f01c30afb268f581d465ed31157c88
+DIST scite365.tgz 2391190 SHA256 dde62ebebbd4c36afd81ab0e745ff04839f4cfc911496f2d0463aade1374b9d1 SHA512 193dcb1f8787a7c7d520ce62462e5c95e7b6bcaf79f4ab23f9885474fb0444dbc5a69a0d45eafc592e5fff2a2e746a9aba599799e847e3c74d3436eed26580a9 WHIRLPOOL e79a2f05444c16f40f6c84fd252d3b71247a48f6af27f912d3f51de99b968c93ec505bc903aa4df407d1ff503f3ce35052004c46e3f7fe8502d0d0ef4939610e
+EBUILD scite-3.5.5.ebuild 2010 SHA256 fe32a3838989430db51902afd73fe0e8422d2b14164d8b85df5c282665d69c2b SHA512 c98244ce5d8f60cb6e5ebe26eb0b33184e24ce90b3723d723a39ed190907a312ca861429bf56fe6ad20f7d17033c1da250f5944b024faea0e476b18734142613 WHIRLPOOL 87e0967de779707a6ab62906cc12028a75db9fb4a96c0a9fe381b9a81e72103d61cf12122da491ca22be359f0d6b8ce93f6d85765d6b8b751f186945d4753256
+EBUILD scite-3.6.2-r1.ebuild 2230 SHA256 4eacbe7dda38a76f4eb98fa396e7caa34089c58fa863f36f36caef210e9edd88 SHA512 fd9322978cb183a70df82616ecb8767758193fb7e10727cc787358a46b8b2abc63c3d3fb048466b7b23254125d39685308b0b3aa5603d43c92861ffc8cfb6b67 WHIRLPOOL ad43959c9e1322c07703b07b1e9346de25797f1a61d9e26602e477fd96aa093038f58dbfdcc994875e96d30177d5f830d5170bd2b44ab0df4ab5e887f26b63c8
+EBUILD scite-3.6.4-r1.ebuild 2084 SHA256 886449b24fe229a72708bfcc9b5374737753cc9e6cbcecdcdf337fb9be4f8323 SHA512 a10149157d4365c3ba7f892b64f64d55679d49bd9683fb175b1489dae07e5efc090c9185b9de0615e9d7f6057eecdac04310a3b4a0df86200bb222bd0f9c3b1e WHIRLPOOL c5ee6237720a03d574d5a12935a0322c6cd7975a78eec60282f9fa2f41d5f5ebe642c03765d57ea6966533ed992deec243b46392d2e8dfb64fc446639e66adb2
+EBUILD scite-3.6.5-r1.ebuild 2242 SHA256 9966df1c1c974ee6c29cd51c5324e2fbf650d6898fd2efabd0c97eca68ac2132 SHA512 1fa0330ecbaef2dd14b39eb5b285a6ce7db9ee227749675e9658d278b3c0cab26920f633525717e129e7a95ea134b8cd95aab839ea180c8099512d408c2c8969 WHIRLPOOL b6eafffc9fe83985bd1e53d6aae581b14e681ec6ea24b21d8ccd6c643061682fd1505f1b259765e83424240788f24d9e03c87b8ca37df862745c621feba4b690
+MISC ChangeLog 5790 SHA256 052066d20930b18f4ae4d9f5c4f4697d85f8a4f6127a35aa919ac155215b6e61 SHA512 6c52a789ccb525626ba2965daa7c3dd3717ee02e7404906150051045e7262943614b41365cdd492a218d720e185383740c7e011928c1128a3eb71df434d5b8d2 WHIRLPOOL c37f157299b2411ed7ecfe0202bc4e13cc5911af0c27c092db1575a8bf5c014d715ee1ff0842601c2b400b2e7a570ea9fa1fa7eb877fd8a238da77d9edca8955
+MISC ChangeLog-2015 25317 SHA256 3b1310b98327bf4b23c3acb7d15f883cd0a9d13cf2b6f92f97259f2b43da9fd4 SHA512 1f3c941c3475a4eba7bd4e7ceb3993f6fb625987d6e0a1689d3911331574ad5d1ed6b739dfd8ffb28f9b8f1a90d3ffedf6ecc2040678964db2ad049d30d19774 WHIRLPOOL 9b99f277b6e4f0b049afd7135a452c076d985c8d474bb9db9f9f9e847b99c417bbb810ce8e03468e4e1bd79a3424210108a1f9302d4b561942f40bcd0c8135b9
+MISC metadata.xml 506 SHA256 276825e477f57a5363dec2267e32b8e51569f236fb5fb1065c0b4a3ac5ef68aa SHA512 1682078953211fb3ec2e86750fe62cbf8a8f309fa05452e640bd7ca70b13452d626b88eddf7f741e669e77d8676c4abe63e6e7036182bdc51a8bff57fa116b03 WHIRLPOOL fdba81194a76f645d23796f9c1d545e8da66bf7aa46e6966df8de9e8e0722a34db1481e06870caacae02534ba69da7c67eb4ddb341bf887cb2d008aa9a45fcb9
diff --git a/app-editors/scite/files/scite.desktop b/app-editors/scite/files/scite.desktop
new file mode 100644
index 000000000000..757e9f4e71d0
--- /dev/null
+++ b/app-editors/scite/files/scite.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=SciTE Text Editor
+Comment=Text Editor
+Exec=scite
+Icon=Sci48M
+Terminal=false
+Type=Application
+Categories=Development;
diff --git a/app-editors/scite/metadata.xml b/app-editors/scite/metadata.xml
new file mode 100644
index 000000000000..2437a9147c11
--- /dev/null
+++ b/app-editors/scite/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ervin.peters@ervnet.de</email>
+ <name>Ervin Peters</name>
+ <description>Maintainer. Assign bugs to him</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">scintilla</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/scite/scite-3.5.5.ebuild b/app-editors/scite/scite-3.5.5.ebuild
new file mode 100644
index 000000000000..e63650313670
--- /dev/null
+++ b/app-editors/scite/scite-3.5.5.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit toolchain-funcs eutils
+
+MY_PV=${PV//./}
+DESCRIPTION="A very powerful editor for programmers"
+HOMEPAGE="http://www.scintilla.org/SciTE.html"
+SRC_URI="mirror://sourceforge/scintilla/${PN}${MY_PV}.tgz"
+
+LICENSE="HPND lua? ( MIT )"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="lua"
+
+RDEPEND="dev-libs/glib:2
+ x11-libs/cairo
+ x11-libs/gtk+:2
+ x11-libs/gdk-pixbuf
+ x11-libs/pango
+ lua? ( >=dev-lang/lua-5:0= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=sys-apps/sed-4"
+
+S="${WORKDIR}/${PN}/gtk"
+
+src_prepare() {
+ cd "${WORKDIR}/scintilla/gtk"
+ sed -i makefile \
+ -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \
+ -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \
+ -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \
+ -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \
+ -e "s#-Os##" \
+ || die "error patching makefile"
+
+ cd "${WORKDIR}/scite/gtk"
+ sed -i makefile \
+ -e "s#-rdynamic#-rdynamic ${LDFLAGS}#" \
+ || die "error patching makefile"
+
+ cd "${S}"
+ sed -i makefile \
+ -e 's#usr/local#usr#g' \
+ -e 's#/gnome/apps/Applications#/applications#' \
+ -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \
+ -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \
+ -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \
+ -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \
+ -e 's#${D}##' \
+ -e 's#-g root#-g 0#' \
+ -e "s#-Os##" \
+ || die "error patching makefile"
+}
+
+src_compile() {
+ emake -C ../../scintilla/gtk AR="$(tc-getAR)"
+ if use lua; then
+ emake
+ else
+ emake NO_LUA=1
+ fi
+}
+
+src_install() {
+ dodir /usr/bin
+ dodir /usr/share/{pixmaps,applications}
+
+ emake prefix="${ED}/usr" install
+
+ # we have to keep this because otherwise it'll break upgrading
+ mv "${ED}/usr/bin/SciTE" "${ED}/usr/bin/scite" || die
+ dosym scite /usr/bin/SciTE
+
+ # replace .desktop file with our own working version
+ rm -f "${ED}/usr/share/applications/SciTE.desktop" || die
+ domenu "${FILESDIR}/scite.desktop"
+
+ doman ../doc/scite.1
+ dodoc ../README
+}
diff --git a/app-editors/scite/scite-3.6.2-r1.ebuild b/app-editors/scite/scite-3.6.2-r1.ebuild
new file mode 100644
index 000000000000..3e957af42976
--- /dev/null
+++ b/app-editors/scite/scite-3.6.2-r1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit toolchain-funcs eutils
+
+MY_PV=${PV//./}
+DESCRIPTION="A very powerful editor for programmers"
+HOMEPAGE="http://www.scintilla.org/SciTE.html"
+SRC_URI="mirror://sourceforge/scintilla/${PN}${MY_PV}.tgz"
+
+LICENSE="HPND lua? ( MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="lua"
+
+RDEPEND="dev-libs/glib:=
+ x11-libs/cairo
+ x11-libs/gtk+:2=
+ x11-libs/gdk-pixbuf
+ x11-libs/pango
+ lua? ( >=dev-lang/lua-5:= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}/gtk"
+
+src_prepare() {
+ sed -i "${WORKDIR}/scintilla/gtk/makefile" \
+ -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \
+ -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \
+ -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \
+ -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \
+ -e "s#-Os##" \
+ || die "error patching /scintilla/gtk/makefile"
+
+ sed -i "${WORKDIR}/scite/gtk/makefile" \
+ -e "s#-rdynamic#-rdynamic ${LDFLAGS}#" \
+ || die "error patching /scite/gtk/makefile"
+
+ # repair and enhance the .desktop file
+ sed -i "${WORKDIR}/scite/gtk/SciTE.desktop" \
+ -e "s/^Encoding/#Encoding/" \
+ -e "s#text/plain#text/\*;application/xhtml+xml#" \
+ -e "s#^Categories=\(.*\)#Categories=Development;#" \
+ || die "error patching /scite/gtk/SciTe.desktop"
+
+ sed -i "${S}/makefile" \
+ -e 's#usr/local#usr#g' \
+ -e 's#/gnome/apps/Applications#/applications#' \
+ -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \
+ -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \
+ -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \
+ -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \
+ -e 's#${D}##' \
+ -e 's#-g root#-g 0#' \
+ -e "s#-Os##" \
+ || die "error patching gtk/makefile"
+
+ eapply_user
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" LD="$(tc-getLD)" \
+ LDFLAGS="$(raw-ldflags)" AR="$(tc-getAR)" \
+ -C "${WORKDIR}/scintilla/gtk"
+
+ if use lua; then
+ emake
+ else
+ emake NO_LUA=1
+ fi
+}
+
+src_install() {
+ dodir /usr/bin
+ dodir /usr/share/{pixmaps,applications}
+
+ emake DESTDIR="${ED}" install
+
+ # we have to keep this because otherwise it'll break upgrading
+ mv "${ED}/usr/bin/SciTE" "${ED}/usr/bin/scite" || die
+ dosym scite /usr/bin/SciTE
+
+ doman ../doc/scite.1
+ dodoc ../README
+}
diff --git a/app-editors/scite/scite-3.6.4-r1.ebuild b/app-editors/scite/scite-3.6.4-r1.ebuild
new file mode 100644
index 000000000000..204a7029a454
--- /dev/null
+++ b/app-editors/scite/scite-3.6.4-r1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit toolchain-funcs eutils
+
+MY_PV=${PV//./}
+DESCRIPTION="A very powerful editor for programmers"
+HOMEPAGE="http://www.scintilla.org/SciTE.html"
+SRC_URI="mirror://sourceforge/scintilla/${PN}${MY_PV}.tgz"
+
+LICENSE="HPND lua? ( MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="lua"
+
+RDEPEND="dev-libs/glib:=
+ x11-libs/cairo
+ >=x11-libs/gtk+-2.0:2=
+ x11-libs/gdk-pixbuf
+ x11-libs/pango
+ lua? ( >=dev-lang/lua-5:= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}/gtk"
+
+src_prepare() {
+ sed -i makefile \
+ -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \
+ -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \
+ -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \
+ -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \
+ -e "s#-Os##" \
+ || die "error patching makefile"
+
+ cd "${WORKDIR}/scite/gtk"
+ sed -i makefile \
+ -e "s#-rdynamic#-rdynamic ${LDFLAGS}#" \
+ || die "error patching makefile"
+
+ # repair and enhance the .desktop file
+ sed -i SciTE.desktop \
+ -e "s/^Encoding/#Encoding/" \
+ -e "s#text/plain#text/\*;application/xhtml+xml#" \
+ -e "s#^Categories=\(.*\)#Categories=Development;#" \
+ || die "error patching SciTe.desktop"
+
+ cd "${S}"
+ sed -i makefile \
+ -e 's#usr/local#usr#g' \
+ -e 's#/gnome/apps/Applications#/applications#' \
+ -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \
+ -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \
+ -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \
+ -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \
+ -e 's#${D}##' \
+ -e 's#-g root#-g 0#' \
+ -e "s#-Os##" \
+ || die "error patching makefile"
+
+ cd "${WORKDIR}"
+
+}
+
+src_compile() {
+ emake -C ../../scintilla/gtk AR="$(tc-getAR)"
+ if use lua; then
+ emake
+ else
+ emake NO_LUA=1
+ fi
+}
+
+src_install() {
+ dodir /usr/bin
+ dodir /usr/share/{pixmaps,applications}
+
+ emake prefix="${ED}/usr" install
+
+ # we have to keep this because otherwise it'll break upgrading
+ mv "${ED}/usr/bin/SciTE" "${ED}/usr/bin/scite" || die
+ dosym scite /usr/bin/SciTE
+
+ doman ../doc/scite.1
+ dodoc ../README
+}
diff --git a/app-editors/scite/scite-3.6.5-r1.ebuild b/app-editors/scite/scite-3.6.5-r1.ebuild
new file mode 100644
index 000000000000..55818274ac63
--- /dev/null
+++ b/app-editors/scite/scite-3.6.5-r1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit toolchain-funcs eutils flag-o-matic
+
+MY_PV=${PV//./}
+DESCRIPTION="A very powerful editor for programmers"
+HOMEPAGE="http://www.scintilla.org/SciTE.html"
+SRC_URI="mirror://sourceforge/scintilla/${PN}${MY_PV}.tgz"
+
+LICENSE="HPND lua? ( MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="lua"
+
+RDEPEND="dev-libs/glib:=
+ x11-libs/cairo
+ x11-libs/gtk+:2
+ x11-libs/gdk-pixbuf
+ x11-libs/pango
+ lua? ( >=dev-lang/lua-5:= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}/gtk"
+
+src_prepare() {
+ sed -i "${WORKDIR}/scintilla/gtk/makefile" \
+ -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \
+ -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \
+ -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \
+ -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \
+ -e "s#-Os##" \
+ || die "error patching /scintilla/gtk/makefile"
+
+ sed -i "${WORKDIR}/scite/gtk/makefile" \
+ -e "s#-rdynamic#-rdynamic ${LDFLAGS}#" \
+ || die "error patching /scite/gtk/makefile"
+
+ # repair and enhance the .desktop file
+ sed -i "${WORKDIR}/scite/gtk/SciTE.desktop" \
+ -e "s/^Encoding/#Encoding/" \
+ -e "s#text/plain#text/\*;application/xhtml+xml#" \
+ -e "s#^Categories=\(.*\)#Categories=Development;#" \
+ || die "error patching /scite/gtk/SciTe.desktop"
+
+ sed -i "${S}/makefile" \
+ -e 's#usr/local#usr#g' \
+ -e 's#/gnome/apps/Applications#/applications#' \
+ -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \
+ -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \
+ -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \
+ -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \
+ -e 's#${D}##' \
+ -e 's#-g root#-g 0#' \
+ -e "s#-Os##" \
+ || die "error patching gtk/makefile"
+
+ eapply_user
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" LD="$(tc-getLD)" \
+ LDFLAGS="$(raw-ldflags)" AR="$(tc-getAR)" \
+ -C "${WORKDIR}/scintilla/gtk"
+
+ if use lua; then
+ emake
+ else
+ emake NO_LUA=1
+ fi
+}
+
+src_install() {
+ dodir /usr/bin
+ dodir /usr/share/{pixmaps,applications}
+
+ emake DESTDIR="${ED}" install
+
+ # we have to keep this because otherwise it'll break upgrading
+ mv "${ED}/usr/bin/SciTE" "${ED}/usr/bin/scite" || die
+ dosym scite /usr/bin/SciTE
+
+ doman ../doc/scite.1
+ dodoc ../README
+}
diff --git a/app-editors/shed/Manifest b/app-editors/shed/Manifest
new file mode 100644
index 000000000000..87562a50c138
--- /dev/null
+++ b/app-editors/shed/Manifest
@@ -0,0 +1,12 @@
+AUX shed-1.15-cflags.patch 249 SHA256 4256ec96ce3e5623cd108de267ad38afd8413d2683cc0010e5a212bd5228b0f1 SHA512 9f6f025c5fc5126357e8b763706d2a0eb53700963b0d8779f057683fc95773753eced99b26a9120b122f50c8b23db6c6bf79cb973023b11e594313c8fcf92cdf WHIRLPOOL da72d1f123cede47bafe89222afdc2415160019a295881cac1e524de364f8b2e1478a58b1b6a0052db9d9457dcad700613df0deec71ee7c5636978b021cb8d32
+AUX shed-1.15-interix.patch 313 SHA256 edbe505744a99e9d831564d40dc45a5edb579427dc716d2f47488e2229c10f2a SHA512 31d403d95ce106443ccfe8c92b9621842bfc4264c71280398bb7c0d827d98bf28b403dce3c6ae4523b7ac30a8f529aac6d7cc30a91313a2e2a3d033766469e69 WHIRLPOOL 752709e9cd4924c43082bb54643a0a4c8969655d6268bf8f3db4c04167a1b5328fdbde2b9991a3557a66d93c2e59824162cf88db727a3812eca07f14eb239475
+AUX shed-1.15-tinfo.patch 355 SHA256 1f749efd26eb6b5ca162de25238c676e603cc20afa72f40b33314dd6288371b8 SHA512 fab71c3e99138f7cc4844964bbc40e95c90055612e6d34ff59c72b505b2c12c6244c4a25091de283f4615475652c202a4404273c0718b73b9f928c4bf0a74710 WHIRLPOOL ca0dfecce130f3ef483d1428a219f522362fa2a6e48422020866e68c05144201ed593ed7596c9a38d52b753bc29c6aa85b8dfca72ac0acf4dd57816445d3fb14
+DIST shed-1.12.tar.gz 57934 SHA256 9645c991a2c155e8365d86b927807602156ba502bd0d65c050f60343aa5aa730 SHA512 f668245478b88e74911a5f6bc13629b1be9412056bfb42860554979904451b20cb468ae7a9b2daa8bea83d7f78d3d0c016170767dd80f0a93ba140a51ad02097 WHIRLPOOL c39d064b0a1eb7f43d9538837e07de970e926887a940a82c3f879a6b142ff12f625fcc56689c028f83c673ad644d248210c9498e32f6a8f5d08669b21790713f
+DIST shed-1.13.tar.gz 78699 SHA256 d0a1aa6c30b907945608d478949a00ac2ef1b3f1783dbe391816665dc9cff423 SHA512 abea90115820c50bba140a486d74e28cd20704905bb868aa75b94a346faf8d1a0e0739f9558131cff9c5250ac9ef2505cc375f2bdf24c75b6ff464ba767c1832 WHIRLPOOL 950c36c5ffdedba1f3edc64b7371c5a68a0e6664f8a695b66f42c2ec2d5d1618aad39c7856734b9f922d4224199f0bfc4c750c7886650c2792c71b8c6389e85c
+DIST shed-1.15.tar.gz 87777 SHA256 5bde9f146704ba552293b658a2e8e05acb0a14a1348925b19a296663539917c7 SHA512 fe401303e686fb11975b71de0f84d0cdb84dc5a48e1094356d012f95d8c956ed05bd6b39bf65af924212e83c1db45bbfe556342489150bb0e10fb4c832fb6c78 WHIRLPOOL 8588f739370309e54ac04e0a686e24adf3c236011ee57ca79846c63fae7038a934992ae0ab918eb4acab2ec1577d5c3aceaaded861620c2b75fbb2b1ee333058
+EBUILD shed-1.12.ebuild 393 SHA256 43159ac371bf4c39164dc866a02348c3dc8a6ee371323cce4f64298906bd4ae7 SHA512 9ba910b953384f033f2319faaf2b127885b01db2b072b41319e61481c4105c1386eac83f9f8be038b39048c5f64195511dd43d5893e4fc083644443e173b09bf WHIRLPOOL 0c32f4cf604e62e8e5590ca627f8cc7d8a18d55c0bee873998ec28038f3a08b84bc8d65d603654add366b4d39733d67aafaab33265c42ce7cda706f0c91b8c85
+EBUILD shed-1.13.ebuild 394 SHA256 267e71c76faeb260d093426997efb3b9c3dff8f50d412e34673b0210c383252d SHA512 3b0a2552b02ddbf2731be96b4ba09e2415b1bfd4ed5a06ff6a917b34f7dc7097dbe97c7a829b76619f115cca527899d9e096a1e2242f61d08a7e460667dbb849 WHIRLPOOL fd9ea81c77c58e7da96986295f54a80e74da9723a8e83ceb77a4b2a949141c3d195f409fada64662ea039c979abcb6ac7c82b998a05581353d4934d7c011fa4d
+EBUILD shed-1.15.ebuild 574 SHA256 476375fa10f011ea8e1420f85709b795e0f63c4e68c3bcfc9d0a042e138fd414 SHA512 0763c74933fb2dafaa96f2a6d55d49a7f490249922f93cfc0483ed9a90eb9428f54b5632b6201e551281476d6aa3e3efa7ee9f5ddc11171aa60ce4f532e95ceb WHIRLPOOL 3f02b0180ca365db46faa1335f55c24cab6a2e2e81327ead4debb041691d018cd13cd99e4ba391dc8343f69f56c8b4bc7eb3f72b0f452a837553e3a9a41cfe50
+MISC ChangeLog 2476 SHA256 ffb5a7bb669ed2f0d8ff3f84b6c76f7c70ce65b89df721b77db1fb0a16ecee1f SHA512 25a1973fac1520914cf075ec342db93c926a335592bf2fbc723e4eb5bddcf41f516221da98d9abff3bcaad42de80df2d8a454449549a4a2ba1b23d72383d79b8 WHIRLPOOL 923c519b721a4cef930e83dcbc3455bb980dcaaa11ecd23bca12c7512bf5ac0e1d0fa7c4ec911c847916f270c714c641a1f8424508ad8c38557cdc3441f362b6
+MISC ChangeLog-2015 3037 SHA256 2659bb7a2df7c2869f9496afec6b4175d71075b6ddde6a9ea5a126cd18b7d4e0 SHA512 d654dbe58962c183db1f5df13c09db174d20ab29475898ee7a91daeab918f61c880dd5a33f91ed0092c3d198516d64116a2258dbe7f407eb8b86efa4594c6ffe WHIRLPOOL 016ff9ca7edd617eff5a93fb5d6ceb16b851e79db168ffef0265428b27613cb13cb5cd07a7919799aaf52206a0166264b21b9d442ce73484a0b1feadfe910680
+MISC metadata.xml 299 SHA256 8ea7f398fc60cc39eb240ec1d1e91200054a71d8c1ed3762fcf3ba40d7523b12 SHA512 ed903a7f91fa008f63e358253d7e66988cb57b616a8bf6e546f8a1d874e92524b29ef671a96f0e8fc56410619ff541d50e65ab788cf5373164d58b7afa625868 WHIRLPOOL 9161a6899ae23622c59de349eab36f1aeb4c4f3f123315c1dfb88a929cae4d26e44c527194066b2c6b6bdb33b3d72295f98e4c426b9629984d72ab41524dac5f
diff --git a/app-editors/shed/files/shed-1.15-cflags.patch b/app-editors/shed/files/shed-1.15-cflags.patch
new file mode 100644
index 000000000000..2b675f7449f7
--- /dev/null
+++ b/app-editors/shed/files/shed-1.15-cflags.patch
@@ -0,0 +1,11 @@
+--- a/configure.in
++++ b/configure.in
+@@ -2,7 +2,7 @@
+ AM_INIT_AUTOMAKE(shed,1.15)
+ AC_PROG_CC
+ AC_PROG_INSTALL
+-CFLAGS="-Wall"
++CFLAGS="$CFLAGS -Wall"
+ AC_SUBST(CFLAGS)
+
+ AC_ARG_ENABLE(debug, [ --enable-debug gcc -g],enable_debug=yes)
diff --git a/app-editors/shed/files/shed-1.15-interix.patch b/app-editors/shed/files/shed-1.15-interix.patch
new file mode 100644
index 000000000000..46c5eb6b26b1
--- /dev/null
+++ b/app-editors/shed/files/shed-1.15-interix.patch
@@ -0,0 +1,14 @@
+https://sourceforge.net/tracker/?func=detail&aid=3554634&group_id=21862&atid=374571
+--- a/shed.c
++++ b/shed.c
+@@ -31,6 +31,10 @@
+ #include <ctype.h> /* tolower */
+ #include <unistd.h> /* dup, dup2 */
+
++#ifdef __INTERIX
++# include <sys/time.h>
++#endif
++
+ #include "util.h"
+
+ /* function prototypes */
diff --git a/app-editors/shed/files/shed-1.15-tinfo.patch b/app-editors/shed/files/shed-1.15-tinfo.patch
new file mode 100644
index 000000000000..d1a406521c0f
--- /dev/null
+++ b/app-editors/shed/files/shed-1.15-tinfo.patch
@@ -0,0 +1,12 @@
+--- a/configure.in
++++ b/configure.in
+@@ -41,8 +41,7 @@
+ fi
+
+ ERR="Required package missing!"
+-AC_CHECK_HEADER(ncurses.h,:,AC_MSG_ERROR([$ERR]))
++PKG_CHECK_MODULES(ncurses,ncurses,[LIBS="$LIBS $ncurses_LIBS"],AC_MSG_ERROR([$ERR]))
+ AC_CHECK_HEADER(getopt.h,:,AC_MSG_ERROR([$ERR]))
+-AC_CHECK_LIB(ncurses,initscr)
+ AC_CHECK_LIB(m,pow)
+ AC_OUTPUT(Makefile)
diff --git a/app-editors/shed/metadata.xml b/app-editors/shed/metadata.xml
new file mode 100644
index 000000000000..d14e7209041c
--- /dev/null
+++ b/app-editors/shed/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>hattya@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">shed</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/shed/shed-1.12.ebuild b/app-editors/shed/shed-1.12.ebuild
new file mode 100644
index 000000000000..55cedd512278
--- /dev/null
+++ b/app-editors/shed/shed-1.12.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+DESCRIPTION="Simple Hex EDitor"
+HOMEPAGE="http://shed.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND="sys-libs/ncurses"
+DPEND="${RDEPEND}"
+
+src_compile() {
+ emake AM_CFLAGS="${CFLAGS}"
+}
diff --git a/app-editors/shed/shed-1.13.ebuild b/app-editors/shed/shed-1.13.ebuild
new file mode 100644
index 000000000000..fb93dffe4ab2
--- /dev/null
+++ b/app-editors/shed/shed-1.13.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+DESCRIPTION="Simple Hex EDitor"
+HOMEPAGE="http://shed.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+
+RDEPEND="sys-libs/ncurses"
+DPEND="${RDEPEND}"
+
+src_compile() {
+ emake AM_CFLAGS="${CFLAGS}"
+}
diff --git a/app-editors/shed/shed-1.15.ebuild b/app-editors/shed/shed-1.15.ebuild
new file mode 100644
index 000000000000..79499011aa1c
--- /dev/null
+++ b/app-editors/shed/shed-1.15.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="Simple Hex EDitor"
+HOMEPAGE="http://shed.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+RDEPEND="sys-libs/ncurses"
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-cflags.patch \
+ "${FILESDIR}"/${P}-interix.patch \
+ "${FILESDIR}"/${P}-tinfo.patch
+ eautoreconf
+}
diff --git a/app-editors/sublime-text/Manifest b/app-editors/sublime-text/Manifest
new file mode 100644
index 000000000000..c88e60375eac
--- /dev/null
+++ b/app-editors/sublime-text/Manifest
@@ -0,0 +1,10 @@
+DIST sublime-text-2.0.2_x32.tar.bz2 5584673 SHA256 07338e041cfb348938fa8069f0aad3b5b43c319b7ec564ffff1489796f2dcf08 SHA512 08d99183a102b376109a140f2c58cac2ecd49179e639a80da9860ae03a223229df217c9316b7571b10b59983ad49d8145b86c6e20175f3cd87021aca1d7527bc WHIRLPOOL 725c0ce10bc439f04157ea9050277f37a4807c847ab8dd38ca1db205c1228037b8678eeb5b19ba5a79c4711b2101d630b5bfc82e50ddb6ccba1b9d011808a1d5
+DIST sublime-text-2.0.2_x64.tar.bz2 5662968 SHA256 01baed30d66432e30002a309ff0393967be1daba5cce653e43bba6bd6c38ab84 SHA512 330dc9c4141d0e01f19605b397126b9ca0703377d565cbc552f4bc622ba54b38dbf2485aca71d6f24e3160e71ea40b2057ce66a3907ff6766916fb39438e9113 WHIRLPOOL 167a60f851ee14c1879b422987ef9c496c64d924b2fc94ce8dd19d95847d31c184bb24cbb50293044f37e60336b9349ec7f7a689f7f2d0f076db432dfdf5d713
+DIST sublime_text_3_build_3126_x32.tar.bz2 9258647 SHA256 92ffefa470f0777897ed0dfb7c1635426105271da9b5affbe8c1e82039718e29 SHA512 f8377adbad072577995918c7c8311ae63c7290581b00200e698ded18722893edf0baa7227480c8fc6143be30d695fae1e7312f7a9ac6728b8a397ea814a829fa WHIRLPOOL 7f45a898aa036cc56ea931bc6b0ae48499d60e5b640700724874bc22414d44f0b04e4df939a5a9c968b65fdd71c2be060daf57bf269fbfdc4ef463ba6e6b058d
+DIST sublime_text_3_build_3126_x64.tar.bz2 9313954 SHA256 18db132e9a305fa3129014b608628e06f9442f48d09cfe933b3b1a84dd18727a SHA512 a0a683b3cef45fba2a294cb044e5dc24ed3ea8d8a669321ee15844a48b88fbd345d50f499a9feb865735b15b44ff99d6b5f8aaee453245b9fd61e9e3d1c69f26 WHIRLPOOL f41520ed96db71de1fca374ba36645016f72801ea17a983c865eaeb7835cda75ee9dbd9cebca247b961dd6db29ca9f9d2c6babb076dba49b3660ef56c9c97d43
+DIST sublime_text_3_build_3143_x32.tar.bz2 9847438 SHA256 b1ecc4b70d66b9236b876f1913c4094b6dd51436e45c74883ba70a1939e9f735 SHA512 471716815a171f786ad5f12b743ec3c17dcde2fc165522e523d338c9184af7789095e2de41e89d0c4b0dc58bfe409f116662016e7014c528650ce074c101084b WHIRLPOOL 3e0346ac03fe044787fa468030c29c4bc7b1d70657c6b4055de1577ffe3d1c026bc2aacdc724f4df33c69ce7810a5b50d25ab4841450ff078d2478543e39b4c8
+DIST sublime_text_3_build_3143_x64.tar.bz2 9857381 SHA256 9ce120c4f28b239d3b3860ee672d9d87e1397a4c08ee6c4e62fd6e261a296519 SHA512 db6375cbcaf1cb6e1d583aa043abeaeecf0236e1d2e23b965b6c2dd616ec2277d73786d2a9c273329c1a94890edc7ddce1551292b5170dc5b558cd7246c5093f WHIRLPOOL 69d163c8ed2f244954600466d2f61d7dc6600eedaa40d53662f75dd811c35edd99ec7ee7cb012477161aed072e63c6d9fa5d7a6ee1428190960f83a81b80768f
+EBUILD sublime-text-2.0.2-r2.ebuild 1545 SHA256 74771695b2aef3d4f569781a848a75423bba24892fed562a49323126b4e27b2a SHA512 c5f0ae793d85513722b6882c4dd824545a7ef6a4d2a54e2a6e8ecdfad57008e9e7c46f5275b8ec778baa27713f58db2101d24add74769b4749fe3d30ce82ca01 WHIRLPOOL 364981acebff51a2ed900903b16323260202d59a3b6f8974817c0def82cc01092d7b7ce8e76b3d9b79c6ae451c85ef863560381b2780d7e7cad09156a00445de
+EBUILD sublime-text-3_p3143.ebuild 1653 SHA256 ac87988b7f94d0fc87152df14a781fe75a3aa06fc18b3b12cb6e5745797f9b81 SHA512 f7932e941a48edfceabd790b3316939af5f5381134a3063072753a1f6a6ec080f5e70d79b56d78583cf3992efa105f4a275000c2593ae26090da23cac36704a5 WHIRLPOOL c5422aae7ea3b5ecef601b078f157f48f9168cea608af383efa26826f290f3bab933bbfc377c6ad4ba6b77174007358be5184571fd08e0fe7efd9658f6e8ccc3
+EBUILD sublime-text-3_pre3126-r3.ebuild 1655 SHA256 527c9a335e8eb4254ecd72047ba2693125134de34ef0cdeb85287ec339d9bbc4 SHA512 8837ff3edd175e9bb9b9bb203932d5908fc9180af29b4ca46909390e0d7daf36f51ad3caf1b9a4406af1c824b748bb4ba90994584b1f0b8baf23fc7ad716466f WHIRLPOOL e65f8bbe64b588b353622bfb2075120ddb52bf2328a78a804d25a98df082c792a0c7090ef7fda20b0cf621fd0bef46d1648b4204111960a2d7ac84bff75e8827
+MISC metadata.xml 215 SHA256 fe4820df534e3757bcde7db91957dfe748dc9555ff9c688d824caef882a2cbf0 SHA512 d803656f1527d3fc8a2b3474c0ff52d86170950b70057a65ab412ce1adc926545393fe1cfb71731d573f057de2145edd90d642c644ef26222a2b413cd8922d47 WHIRLPOOL 8db88329551cc3e35cd797a118a2b4170257c2bdc3bfc640028cfb02fae71224fd044b6564cd3ac0062f884ada6f3f5c66a135af0417e35be160fef950d4b2c6
diff --git a/app-editors/sublime-text/metadata.xml b/app-editors/sublime-text/metadata.xml
new file mode 100644
index 000000000000..3c5abf825aef
--- /dev/null
+++ b/app-editors/sublime-text/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 type="person">
+ <email>soap@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-editors/sublime-text/sublime-text-2.0.2-r2.ebuild b/app-editors/sublime-text/sublime-text-2.0.2-r2.ebuild
new file mode 100644
index 000000000000..b482c88d899a
--- /dev/null
+++ b/app-editors/sublime-text/sublime-text-2.0.2-r2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils gnome2-utils
+
+# get the major version from PV
+MV=${PV:0:1}
+
+DESCRIPTION="Sophisticated text editor for code, markup and prose"
+HOMEPAGE="http://www.sublimetext.com"
+SRC_URI="
+ amd64? ( https://download.sublimetext.com/Sublime%20Text%20${PV}%20x64.tar.bz2 -> ${P}_x64.tar.bz2 )
+ x86? ( https://download.sublimetext.com/Sublime%20Text%20${PV}.tar.bz2 -> ${P}_x32.tar.bz2 )"
+
+LICENSE="Sublime"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="dbus"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ dev-libs/glib:2
+ x11-libs/gtk+:2
+ x11-libs/libX11
+ dbus? ( sys-apps/dbus )"
+
+QA_PREBUILT="*"
+S="${WORKDIR}/Sublime Text ${MV}"
+
+# Sublime bundles the kitchen sink, which includes python and other assorted
+# modules. Do not try to unbundle these because you are guaranteed to fail.
+
+src_install() {
+ insinto /opt/${PN}${MV}
+ doins -r "Pristine Packages" lib
+ doins sublime_plugin.py PackageSetup.py
+
+ exeinto /opt/${PN}${MV}
+ doexe sublime_text
+ dosym ../../opt/${PN}${MV}/sublime_text /usr/bin/subl
+
+ local size
+ for size in 16 32 48 128 256; do
+ newicon -s ${size} Icon/${size}x${size}/sublime_text.png subl.png
+ done
+
+ make_desktop_entry "subl" "Sublime Text ${MV}" "subl" \
+ "TextEditor;IDE;Development" "StartupNotify=true"
+
+ # needed to get WM_CLASS lookup right
+ mv "${ED%/}"/usr/share/applications/subl{-sublime-text,}.desktop || die
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
diff --git a/app-editors/sublime-text/sublime-text-3_p3143.ebuild b/app-editors/sublime-text/sublime-text-3_p3143.ebuild
new file mode 100644
index 000000000000..af2f782ca955
--- /dev/null
+++ b/app-editors/sublime-text/sublime-text-3_p3143.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils gnome2-utils
+
+# get the major version from PV
+MV=${PV:0:1}
+MY_PV=${PV#*_p}
+
+DESCRIPTION="Sophisticated text editor for code, markup and prose"
+HOMEPAGE="http://www.sublimetext.com"
+SRC_URI="
+ amd64? ( https://download.sublimetext.com/sublime_text_${MV}_build_${MY_PV}_x64.tar.bz2 )
+ x86? ( https://download.sublimetext.com/sublime_text_${MV}_build_${MY_PV}_x32.tar.bz2 )"
+
+LICENSE="Sublime"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="dbus"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ dev-libs/glib:2
+ x11-libs/gtk+:2
+ x11-libs/libX11
+ dbus? ( sys-apps/dbus )"
+
+QA_PREBUILT="*"
+S="${WORKDIR}/sublime_text_${MV}"
+
+# Sublime bundles the kitchen sink, which includes python and other assorted
+# modules. Do not try to unbundle these because you are guaranteed to fail.
+
+src_install() {
+ insinto /opt/${PN}${MV}
+ doins -r Packages Icon
+ doins changelog.txt sublime_plugin.py sublime.py python3.3.zip
+
+ exeinto /opt/${PN}${MV}
+ doexe crash_reporter plugin_host sublime_text
+ dosym ../../opt/${PN}${MV}/sublime_text /usr/bin/subl
+
+ local size
+ for size in 32 48 128 256; do
+ dosym ../../../../../../opt/${PN}${MV}/Icon/${size}x${size}/sublime-text.png \
+ /usr/share/icons/hicolor/${size}x${size}/apps/subl.png
+ done
+
+ make_desktop_entry "subl" "Sublime Text ${MV}" "subl" \
+ "TextEditor;IDE;Development" "StartupNotify=true"
+
+ # needed to get WM_CLASS lookup right
+ mv "${ED%/}"/usr/share/applications/subl{-sublime-text,}.desktop || die
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
diff --git a/app-editors/sublime-text/sublime-text-3_pre3126-r3.ebuild b/app-editors/sublime-text/sublime-text-3_pre3126-r3.ebuild
new file mode 100644
index 000000000000..c8285fe3355d
--- /dev/null
+++ b/app-editors/sublime-text/sublime-text-3_pre3126-r3.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils gnome2-utils
+
+# get the major version from PV
+MV=${PV:0:1}
+MY_PV=${PV#*_pre}
+
+DESCRIPTION="Sophisticated text editor for code, markup and prose"
+HOMEPAGE="http://www.sublimetext.com"
+SRC_URI="
+ amd64? ( https://download.sublimetext.com/sublime_text_${MV}_build_${MY_PV}_x64.tar.bz2 )
+ x86? ( https://download.sublimetext.com/sublime_text_${MV}_build_${MY_PV}_x32.tar.bz2 )"
+
+LICENSE="Sublime"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="dbus"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ dev-libs/glib:2
+ x11-libs/gtk+:2
+ x11-libs/libX11
+ dbus? ( sys-apps/dbus )"
+
+QA_PREBUILT="*"
+S="${WORKDIR}/sublime_text_${MV}"
+
+# Sublime bundles the kitchen sink, which includes python and other assorted
+# modules. Do not try to unbundle these because you are guaranteed to fail.
+
+src_install() {
+ insinto /opt/${PN}${MV}
+ doins -r Packages Icon
+ doins changelog.txt sublime_plugin.py sublime.py python3.3.zip
+
+ exeinto /opt/${PN}${MV}
+ doexe crash_reporter plugin_host sublime_text
+ dosym ../../opt/${PN}${MV}/sublime_text /usr/bin/subl
+
+ local size
+ for size in 32 48 128 256; do
+ dosym ../../../../../../opt/${PN}${MV}/Icon/${size}x${size}/sublime-text.png \
+ /usr/share/icons/hicolor/${size}x${size}/apps/subl.png
+ done
+
+ make_desktop_entry "subl" "Sublime Text ${MV}" "subl" \
+ "TextEditor;IDE;Development" "StartupNotify=true"
+
+ # needed to get WM_CLASS lookup right
+ mv "${ED%/}"/usr/share/applications/subl{-sublime-text,}.desktop || die
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
diff --git a/app-editors/tea/Manifest b/app-editors/tea/Manifest
new file mode 100644
index 000000000000..ae1cdaf45d74
--- /dev/null
+++ b/app-editors/tea/Manifest
@@ -0,0 +1,5 @@
+DIST tea-44.1.0.tar.bz2 402335 SHA256 28b665a4ab30defa6699f8625a771612c6e0ae3160abf19e0e3d0a3778599890 SHA512 a430ed6d23d828b12235f61ad3d37f36c28754dcde8ac6d382a251f4b21cc253d70adab96814ee2d31fd6e92d4b5fbc941386b6d485716020800b5fa5e71b194 WHIRLPOOL 363e729d3b3046dc064269f5c245fa751b003fc56b0241fdbe16de891c209be51e7d89a64b3d2527b5f47777c95aafd46c953c0581f2d6d6f6006ede4b5aabb3
+EBUILD tea-44.1.0.ebuild 1197 SHA256 307318c0510ceff322c9cea7b62fa7332fb859469fea91994297a79e61782bf7 SHA512 9551d92fad6d8660660a668b8ec68adf462f70123aba3499958e510f7e45f9a2bd263b21014551444d8f5203aa83aa4b718f6bcc9f226f6729613d1620b4faea WHIRLPOOL a1eb5e670fcc665911ce3125de2d114805a6c2272af7106ae91d814dc67bf381cd939b924f11ce576723d2b93e1b37e2e9167ca5c55ce56a2a4a5c7ef143976e
+MISC ChangeLog 3719 SHA256 0709e005056ffc7726b78040b4a499f287f2e483f538dfbd8e2909a66ab8ca3e SHA512 57777e66b7f3b9bf9596007e7d118cb63b28d53d59fc0847713ff8cadc664022a1fb27b6d03ac68164059a1b0c4ed16a55e5ed34fc74e759ab9c69dfe8a7a451 WHIRLPOOL feef60e8f21f0190069355e77aa8b9f85a7ba73ddac80fa6ddbf2d9de1b4d4f606132d8d7c1f32f28f5010f61dfc3ef52da74b02a091de3a81ff2870caca2214
+MISC ChangeLog-2015 9110 SHA256 a570965e96118a882fdd2b03719627d0f7209c687c2f127abd88b9fd7b45a1db SHA512 62e91c8ae18f6693eb6d1c74bc52d29e4dfa7b95479cbd1f57b3e12b293db74d1372587ce71c188d3bd9d92ae7bd7f3866be09d764af14f7ad26017cd08efde9 WHIRLPOOL 2d9ef29fe700411881d36d37c94b9e019bcfbd58c7e57a0ed977ffa85170d3de085b8d4a9c2b6ff750b18d9b8ffe9195f176ce00eefe0c0ce28fdd023083cfe6
+MISC metadata.xml 674 SHA256 f4d409c84778fe313b1f62e1396bcce1aa4f753cdd69b4d7a7f67dd4952370e0 SHA512 379863b99aabcfba9d22a9bd946605bbb530c7c29baf5744d5a0de82369146f63faf57e36adf87a16bfc37dfdbbd1883822fdafd3627e775eb872fa20048bc1a WHIRLPOOL d30add1866da35211975e26a2c082ee7ca411fb53c5b0e75612385993fb22c1822a5f8e472920591d453c5f863ccfbc4724f0a99b4d024dd000849e592ac2523
diff --git a/app-editors/tea/metadata.xml b/app-editors/tea/metadata.xml
new file mode 100644
index 000000000000..86348fa600a3
--- /dev/null
+++ b/app-editors/tea/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+ <longdescription>
+ A very small Qt text editor. It has lots of extra features including syntax
+ highlighting and a built in file manager as well as a built in image viewer.
+ It can also read lots of 'other' filetypes.
+ </longdescription>
+ <use>
+ <flag name="aspell">Enable spellchecking using <pkg>app-text/aspell</pkg></flag>
+ <flag name="hunspell">Enable spellchecking using <pkg>app-text/hunspell</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/app-editors/tea/tea-44.1.0.ebuild b/app-editors/tea/tea-44.1.0.ebuild
new file mode 100644
index 000000000000..b229a236fde8
--- /dev/null
+++ b/app-editors/tea/tea-44.1.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils qmake-utils
+
+DESCRIPTION="Small, lightweight Qt text editor"
+HOMEPAGE="https://tea.ourproject.org/"
+SRC_URI="https://tea.ourproject.org/dloads/${P}.tar.bz2"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86 ~x86-fbsd"
+IUSE="aspell djvu hunspell pdf"
+
+RDEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ sys-libs/zlib
+ aspell? ( app-text/aspell )
+ djvu? ( app-text/djvu )
+ hunspell? ( app-text/hunspell:= )
+ pdf? ( app-text/poppler[qt5] )
+"
+DEPEND="${RDEPEND}
+ hunspell? ( virtual/pkgconfig )
+"
+
+DOCS=( AUTHORS ChangeLog NEWS NEWS-RU TODO )
+
+src_configure() {
+ eqmake5 src.pro \
+ $(use aspell || echo CONFIG+=noaspell) \
+ $(use djvu && echo CONFIG+=usedjvu) \
+ $(use hunspell || echo CONFIG+=nohunspell) \
+ $(use pdf && echo CONFIG+=usepoppler)
+}
+
+src_install() {
+ dobin bin/tea
+
+ einstalldocs
+ docinto html
+ dodoc manuals/*.html
+
+ insinto /usr/share/qt5/translations
+ doins translations/${PN}_*.qm
+
+ newicon icons/tea-icon-v3-01.png ${PN}.png
+ make_desktop_entry ${PN} 'Tea Editor'
+}
diff --git a/app-editors/teco/Manifest b/app-editors/teco/Manifest
new file mode 100644
index 000000000000..e91b1c419c51
--- /dev/null
+++ b/app-editors/teco/Manifest
@@ -0,0 +1,12 @@
+AUX teco-double-free.diff 936 SHA256 f3fdc8fe496b07df9a9dcc6be77f50880092d1f2cc9022b745346c6e56a5d66d SHA512 da914d198a057138c43d3fc7f3bd0f2b9577287c0c37319c09e128bf76af771dbd23301c2630eb4f7884d2298672632cec382fe2bddd06e2a315872023b05583 WHIRLPOOL c201b3bcebb38d08c87da2559256ca238f9bfa99fcb9d0652031bb6a56c0a25268490b0927dfd8ff7a32320104fb0a1649c52446794e0ec1ca81174439956362
+AUX teco-gcc4.patch 336 SHA256 71c86488f422dd77ffab53990433aff66ca24bcdda3cf3c077a01bd5a753d3e4 SHA512 8eb39de57df5f234c38d69c6b89c0422575113b9568336b8f726a2ae733c4af3e54c0e9da06d23c2ec34281fba7899df4a3af046d05d486a2c3d07eb7b55bf28 WHIRLPOOL 13e317000a0a50015194812f81618409997b44f5309a3d8e65a850eb901e6599556721b5ba22e3356edc44dbea9edb8e7b29e9e67026c05aeac4a432fd7dd9f2
+AUX teco-warnings.patch 1206 SHA256 e91ae1938f72d411a57369100f9ce40492f3b805b2670658e5f5ec9a1fccc0db SHA512 7294ef66917eb549d9437327b32160317313d343c731423e34a07ed407e5595e7ac52d57c55bc1e5c6732f5ed0840533aa9c546ee32f4ea2bef54adf5a91b249 WHIRLPOOL bf45ff3cb203607696eb694464f7c653f07bb0b89b4ef17e6b5a089eec12a123b0882a43df493c95d09fce1fd32d831ebdcb826625709c4530f0c89f3f5a73ca
+DIST tech.txt.gz 1971 SHA256 b363c59a4e97793e0c7bd0011cfc6d6669621e7a8b7c98e88da0d098aae83b7c SHA512 8c74d813d7e1bcd2f911982a8b49fa8b97ff85475a4798ea23d9a25ef30ad7243cfc851525aea895eec1a2f69aad84b6cce890ee6a29763a63c1a6d1358a200f WHIRLPOOL 5814546368ee3a0794c098496c25b5ccfe63c84e72cc802edfdbfe415f4a1920d518496b67011c63d0e3ff950204af5c61bad0e1684c35b1c724a977b2145a5a
+DIST teco.doc.gz 129896 SHA256 c2102dcfc223e5f8fe189b2dd75dfb6f8dbdf1e7509761c974da45e6ba115c66 SHA512 ea294aaa0d54de5b58ef645fbaf5c9512f5a27fb2b49b1120b4a712d01c6482f01a53ac2dac7c8eabdf110823a4556563cde828fc7416479b9c23157282e76da WHIRLPOOL 650e504660874a88170ca8e88735ac7e3c9a0587191aa56591c441949402ea170cf72f23084d85c2bd74de340a42585b64f9a93b45c2f4089fd4f9d2642394e8
+DIST teco.tar.gz 61305 SHA256 2d20d7246df15863a3cc485ee38706fd4dd8650aab0578d202913cc5750fc8e4 SHA512 686b3944a82d088a2fce12a9b770f4aa5f58aaadde064b3d3342114f0ece2d7cbae27d0e92fd026def6f62a3ff0dc82b37146e30a93b2ec195dc7f376b45fdf7 WHIRLPOOL 976dfcffd0dd9c40e97574c22efc99b8985484534a4f8f8deae218daad9ccc6c4f29e1c352ec0be5e73368993d3d04e757b708ca325b42b8fa3c1e71ae2e42b9
+DIST tecolore.txt.gz 7039 SHA256 a7cd56d4d9bce8befd8d73fe8cbb1ab22740571f52354880c84ffd0fcd22d884 SHA512 f8b66637dd140057331bb950b639f755b7d2a58c6d9feb5c89c062350f3213b40f4e955c586643312b4bcdcfd5ce67c621c8f7351e08a4303be35af967ce206e WHIRLPOOL c847df458b938d3b6a5d41ea868bbf1107a191cd5cf0f5e93e93d8c8c1f1fb55574bf5db9768fbfbf520d5306ffdae8b0915167e9a7a6ff958b9a286df077cc3
+DIST tecoprog.doc.gz 15629 SHA256 8e0349b73ffcd22c668d81ea1427f93324d8f236862847634f7118fd4cde26d7 SHA512 f49de461d6411345e9e72b51bf39bc1155acc07901b54d8fda94b99a4a573005ccffc475ef8aac3bfc0b8bd246dc0077399d4bcef70e8a5e753c45995df7ad55 WHIRLPOOL 17a80c2ee2c66509689359103167c6e6c2809f8a3f54d6293de8288f37641491a34ead63691572e99e84e07c39565f441f6b56e5a8c9e20ae32f5641dac69a45
+EBUILD teco-1.00-r4.ebuild 1700 SHA256 501beb8fe0c9187629852b48254928f644852c4930c3b238c86351e241be345c SHA512 53257dd5f8ce362efc3b2be0885135c58df3866f3c9275c0db086ed7d9d035c0de001cdcc6f5a316320681b481d36757fb67c984d0e95c51e328cf0c6683f304 WHIRLPOOL df6c2c0381cfc2323c3713e5a03c722d013b13cc7abcfbc2cd9eb8bf1cce1f48843df593bf18e7b1241bb357abb50703d749eb3f0e261a4a68f07cdeebfb7dd8
+MISC ChangeLog 2403 SHA256 08a5258e892d76e6d16d6f5394954658240fe1246e9bebe777e1f6b1ca40b6a2 SHA512 9f650e86d3ab15e5c583134bb6ca7b8306a5672718822b9de587c13d51b88d37a83c8fc2235bd77698d1ce68533ede8fbf96a05098a309162d079c0934a57705 WHIRLPOOL 6eaf5ff0ce6f244fce3ca5179141e6b085ff22f82f74cad3596cf4897bdd5ab3f58f62f05b56c4e3fd1474a43cec2a45bc927c255dab2020dc4181013aa4b76c
+MISC ChangeLog-2015 3839 SHA256 c52bbe4da51b4b03fc7a60e7f0eab5af839159bb63ccdb48a6dbad40bc4b02cf SHA512 93b513856af3c077d557f72109c70c9e63ed50ad75dc9a61d17e693f84bfab70b136444b1b3de38fffc1bc93684c2303331206422a1a680877737ee1908248e1 WHIRLPOOL 0e5d4ad0d2759403e40bdb3c4f1eefad79dbd9fef800533fe77a8eea659a4928ccd2d14d787a5fe3957184f23b665e628b9d5e30e415e0d1e14f67a6f47923b5
+MISC metadata.xml 1356 SHA256 8785ab159352886ebd0df438a641693f463533983128347e44750fb4a1366c71 SHA512 3e8680b16e6de3e239f453d13d4b0cb41545aace84af0e9cf8103c0f605cec29467bb0b5feebd592dbded84cd109360c42f63da69115870fb57c97f8137dfdc0 WHIRLPOOL 768b22108afd173f782f7a41c55467d98788a3cd2d52fa9ddfe45be781d24405d04871f05563d75ff28c86ada450452d6a762b2236481114583e0dfddfaaeeeb
diff --git a/app-editors/teco/files/teco-double-free.diff b/app-editors/teco/files/teco-double-free.diff
new file mode 100644
index 000000000000..5a62b23d90be
--- /dev/null
+++ b/app-editors/teco/files/teco-double-free.diff
@@ -0,0 +1,20 @@
+--- te_exec2.c 1993-11-12 21:12:47.000000000 +0000
++++ te_exec2.c.new 2005-08-21 18:31:26.495907720 +0100
+@@ -197,7 +197,7 @@
+ {
+ if (eisw) /* if ending a file execute, restore the previous "old command string" */
+ {
+- fclose(eisw); /* return the file descriptor */
++ fclose(eisw), eisw = NULL; /* return the file descriptor */
+ dly_free_blist(cbuf.f); /* return the command string used by the file (after execution done) */
+ cbuf.f = oldcstring.f;
+ cbuf.z = oldcstring.z;
+@@ -214,7 +214,7 @@
+ oldcstring.z = cbuf.z;
+ cbuf.f = NULL; /* and make it inaccessible to "rdcmd" */
+ }
+- if (eisw) fclose(eisw); /* if a command file had been open, close it */
++ if (eisw) fclose(eisw), eisw = NULL; /* if a command file had been open, close it */
+ esp->val1 = (eisw = t_eisw) ? -1 : 0;
+ esp->flag1 = colonflag;
+ colonflag = 0;
diff --git a/app-editors/teco/files/teco-gcc4.patch b/app-editors/teco/files/teco-gcc4.patch
new file mode 100644
index 000000000000..fe4d8d3759b4
--- /dev/null
+++ b/app-editors/teco/files/teco-gcc4.patch
@@ -0,0 +1,11 @@
+--- te_subs.c.orig 2007-03-18 19:58:40 +0100
++++ te_subs.c 2007-03-18 19:58:57 +0100
+@@ -231,7 +231,7 @@
+ char c;
+ {
+ if (isdigit(c)) return(c - '0' + 1);
+- else if isalpha(c) return(mapch_l[c] - 'a' + 11);
++ else if (isalpha(c)) return(mapch_l[c] - 'a' + 11);
+ else if (fors)
+ {
+ if (c == '_') return (SERBUF);
diff --git a/app-editors/teco/files/teco-warnings.patch b/app-editors/teco/files/teco-warnings.patch
new file mode 100644
index 000000000000..f8bbfbfff181
--- /dev/null
+++ b/app-editors/teco/files/teco-warnings.patch
@@ -0,0 +1,47 @@
+Include stdlib.h for exit(3).
+Fix conflicting type for malloc(3).
+Avoid casting pointers from/to int.
+
+--- teco-orig/te_defs.h
++++ teco/te_defs.h
+@@ -6,6 +6,7 @@
+ /* version for multiple buffers 04/19/89 11.25 */
+
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <ctype.h>
+ #include <setjmp.h>
+
+--- teco-orig/te_rdcmd.c
++++ teco/te_rdcmd.c
+@@ -94,7 +94,8 @@
+ qreg[i].f = cbuf.f; /* put the old command string in its place */
+ if (qreg[i].f) qreg[i].f->b = (struct buffcell *) &qreg[i];
+ qreg[i].z = cbuf.z;
+- cbuf.f = (struct buffcell *) (cbuf.z = 0); /* no old command string */
++ cbuf.f = NULL; /* no old command string */
++ cbuf.z = 0;
+ err = 0; /* no previous error */
+ goto restart;
+ }
+--- teco-orig/te_utils.c
++++ teco/te_utils.c
+@@ -13,7 +13,6 @@
+
+ struct buffcell *get_bcell()
+ {
+- char *malloc();
+ struct buffcell *p;
+ int i;
+
+--- teco-orig/te_window.c
++++ teco/te_window.c
+@@ -1051,7 +1051,7 @@
+ pp->c = loc % CELLSIZE;
+ pp->dot = loc;
+ }
+- return( (int) pb0->f);
++ return(pb0->f != NULL);
+ }
+
+ /* routine to move N lines (back, forward, or 0) */
diff --git a/app-editors/teco/metadata.xml b/app-editors/teco/metadata.xml
new file mode 100644
index 000000000000..df81ef45c27c
--- /dev/null
+++ b/app-editors/teco/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>ulm@gentoo.org</email>
+ <name>Ulrich Müller</name>
+</maintainer>
+<longdescription lang="en">
+ TECO /tee'koh/ /n.,v. obs./ 1. [originally an acronym for `[paper]
+ Tape Editor and COrrector'; later, `Text Editor and COrrector'] /n./
+ A text editor developed at MIT and modified by just about everybody.
+ With all the dialects included, TECO may have been the most prolific
+ editor in use before EMACS, to which it was directly ancestral.
+ Noted for its powerful programming-language-like features and its
+ unspeakably hairy syntax. It is literally the case that every string
+ of characters is a valid TECO program (though probably not a useful
+ one); one common game used to be mentally working out what the TECO
+ commands corresponding to human names did.
+
+ In mid-1991, TECO is pretty much one with the dust of history,
+ having been replaced in the affections of hackerdom by EMACS.
+ Descendants of an early (and somewhat lobotomized) version adopted
+ by DEC can still be found lurking on VMS and a couple of crufty
+ PDP-11 operating systems, however, and ports of the more advanced
+ MIT versions remain the focus of some antiquarian interest.
+</longdescription>
+</pkgmetadata>
diff --git a/app-editors/teco/teco-1.00-r4.ebuild b/app-editors/teco/teco-1.00-r4.ebuild
new file mode 100644
index 000000000000..cf8e0ec22eb5
--- /dev/null
+++ b/app-editors/teco/teco-1.00-r4.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs flag-o-matic readme.gentoo
+
+DESCRIPTION="Classic TECO editor, Predecessor to EMACS"
+HOMEPAGE="http://www.ibiblio.org/pub/linux/apps/editors/tty/ http://www.ibiblio.org/pub/academic/computer-science/history/pdp-11/teco"
+SRC_URI="http://www.ibiblio.org/pub/linux/apps/editors/tty/teco.tar.gz
+ doc? ( mirror://gentoo/tecolore.txt.gz
+ mirror://gentoo/tech.txt.gz
+ mirror://gentoo/teco.doc.gz
+ mirror://gentoo/tecoprog.doc.gz )"
+
+LICENSE="freedist"
+SLOT="0"
+KEYWORDS="alpha amd64 ~ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+IUSE="doc"
+
+RDEPEND="sys-libs/ncurses:0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}"
+
+src_unpack() {
+ unpack teco.tar.gz
+ if use doc; then
+ mkdir doc
+ cd doc || die
+ unpack tecolore.txt.gz tech.txt.gz teco.doc.gz tecoprog.doc.gz
+ fi
+}
+
+src_prepare() {
+ local pkg_config=$("$(tc-getPKG_CONFIG)" --libs ncurses)
+ sed -i -e "s:\$(CC):& \$(LDFLAGS):;s:-ltermcap:${pkg_config}:" \
+ Makefile || die
+ # bug 103257
+ epatch "${FILESDIR}"/${PN}-double-free.diff
+ epatch "${FILESDIR}"/${PN}-gcc4.patch
+ epatch "${FILESDIR}"/${PN}-warnings.patch
+}
+
+src_compile() {
+ append-flags -ansi
+ append-cppflags -D_POSIX_SOURCE
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ dobin te
+ doman te.1
+ dodoc sample.tecorc sample.tecorc2 READ.ME MANIFEST
+ if use doc; then
+ cd doc
+ dodoc tecolore.txt tech.txt teco.doc tecoprog.doc
+ fi
+
+ DOC_CONTENTS="The TECO binary is called te.
+ \nSample configurations and documentation are available
+ in /usr/share/doc/${PF}/."
+ readme.gentoo_create_doc
+}
diff --git a/app-editors/ted/Manifest b/app-editors/ted/Manifest
new file mode 100644
index 000000000000..ed4629c7dccc
--- /dev/null
+++ b/app-editors/ted/Manifest
@@ -0,0 +1,7 @@
+AUX ted-2.23-freetype261.patch 273 SHA256 746e38fb5384bb4d3450e86fb62043e8a3c2a9b24a0b731589ff38119c38b5c2 SHA512 f8523865ad47a552d000ee14380c40ffe22cdd5287cb6fd6f79b7afe4a6ae4742aaa999c9c4d2d79e00b538f5b83106ebeb24f1aa25cabb656418759db9c0921 WHIRLPOOL ad30722cbd930d6b65d1e516095d5544748fdb90a5e49830cc0b02f3b2ea03257b43089acff62fe7821cd33aebece633d0e79731092975e8a9a5d3967f8893bf
+AUX ted-2.23-make.patch 418 SHA256 737765240afffc6eda88f6299c7f6a5de797d5204d744c27e0e030c05e4eeadb SHA512 a1dc77b4788a71445cb30db010d1413e11c06861c692137747d2d02d1cd16b07fb3dd05e702fd37aad600432a985c86d785465a2fe6ddbe6f506b16cafb80b01 WHIRLPOOL ce9eb527df8e36c9fcf0e2d186c93d59a2c11eeb3a80c88312df3e1646f16d1a46f2a06957a6a60d551d7f9fc9bedcb9e43a155f0d862f25234569f48d2f854a
+DIST ted-2.23.src.tar.gz 4672208 SHA256 3fa992c2bc96af3ca788ef941cb5314f4a1d843202efd0201b8b4ee9adbf316c SHA512 c6541e5a07545a08b30cb9b33429d9a7675f9252df32ccca5cdb4f2ff09978085d28d015a42922baf8c95db1ea6379a9d1088541aafd9ce45b8870212496849f WHIRLPOOL 14f757dbc3cee1adae3abcc63ce32d9ebec4de5d5764060826321469a6d2c18339d239e9c0b084aaeb9979595d42411d1f86efb6280e85b7f4e8ea91db7775cd
+EBUILD ted-2.23.ebuild 1585 SHA256 35c3990c2b0826afd3f5dd657e5effd106e313ed0a1b3d2ad7693ae488be29f7 SHA512 7e4f0f4b5cfcc47902b1335759689df713792b7d4cf35463058395bd91937e8b8666dd16ad5421aeb3fae0e61174d7644ef73bfa553386ee68b536294ed73a31 WHIRLPOOL bf4c2ec31e47efd46f0677d3ef0eb4d0a9eb4ebe3b75e750dab685cd6df5d17a0041ce4b21eb554ec054d82b7eecdf0b8492c991c104507b83d4100a5ed7fff4
+MISC ChangeLog 2859 SHA256 f54a372c93839b462419b6c4a00a0381d463904532fa1a72d76a365a1573152d SHA512 f8b8e38e4ee736ec1424a83c029fcef7130c123b2a3a00a44e6441ec450384a187c2d7283ea54595771ebba0f5bfa4ca06dc96066693991aab2eb8c6c295502e WHIRLPOOL 6b8f7c1629f15506c8c596f97a38b942b2b9f1e4a14ad67fbcb535826110507aa531142a160101cece508e306db7aa25f72b158c8fccaa8ba11a9399c0554ab0
+MISC ChangeLog-2015 7651 SHA256 a99600ef1c027af927d2ddfafa0a8dddbbe6aeb7e56b728352bf2eafa3800f17 SHA512 e13b844d1a3038c00f3f8ec542c255e543ecbf6b8c877605b42511e6718331249de714efb50b622de1a291484fc8e90a7fd9037849e0a19f90ab84ca03f502d1 WHIRLPOOL 199516aaf1829651610fac8fd19b5789ec0b9cceb934d8e1d40c1e15b7301414eb358f104ccc7309a663524c44bdfb24fd73a9a2a45c41a0e5d052b7d22778ce
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/app-editors/ted/files/ted-2.23-freetype261.patch b/app-editors/ted/files/ted-2.23-freetype261.patch
new file mode 100644
index 000000000000..7e185b367194
--- /dev/null
+++ b/app-editors/ted/files/ted-2.23-freetype261.patch
@@ -0,0 +1,11 @@
+--- Ted-2.23/appFrame/appFontConfig.c
++++ Ted-2.23/appFrame/appFontConfig.c
+@@ -889,7 +889,7 @@
+
+ static const n2s xftn2s[]=
+ {
+-# include <freetype/fterrdef.h>
++# include FT_ERROR_DEFINITIONS_H
+ };
+
+ for ( i= 0; i < sizeof(xftn2s)/sizeof(n2s); i++ )
diff --git a/app-editors/ted/files/ted-2.23-make.patch b/app-editors/ted/files/ted-2.23-make.patch
new file mode 100644
index 000000000000..f97093b47648
--- /dev/null
+++ b/app-editors/ted/files/ted-2.23-make.patch
@@ -0,0 +1,11 @@
+--- Makefile.orig 2013-04-01 13:24:45.854051804 +0400
++++ Makefile 2013-04-01 13:25:02.618052336 +0400
+@@ -246,7 +246,7 @@
+ : To install Ted, you can now run 'make install' AS ROOT
+
+ package.shared: compile.shared tedPackage/makefile
+- cd tedPackage && make package.shared
++ cd tedPackage && $(MAKE) package.shared
+ :
+ : Dynamically linked package ready.
+ : To install Ted, you can now run 'make install' AS ROOT
diff --git a/app-editors/ted/metadata.xml b/app-editors/ted/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/app-editors/ted/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/app-editors/ted/ted-2.23.ebuild b/app-editors/ted/ted-2.23.ebuild
new file mode 100644
index 000000000000..47c86d46a256
--- /dev/null
+++ b/app-editors/ted/ted-2.23.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils toolchain-funcs xdg-utils
+
+DESCRIPTION="X-based rich text editor"
+HOMEPAGE="http://www.nllgg.nl/Ted"
+SRC_URI="ftp://ftp.nluug.nl/pub/editors/ted/${P}.src.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc sparc x86"
+
+RDEPEND="x11-libs/gtk+:2
+ media-libs/tiff:=
+ virtual/jpeg:=
+ media-libs/libpng:=
+ x11-libs/libXft
+ x11-libs/libXpm"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/Ted-${PV}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-make.patch \
+ "${FILESDIR}"/${P}-freetype261.patch
+
+ sed -i -e 's|/Ted/|/share/Ted/|' \
+ "${S}"/appFrame/appFrameConfig.h.in \
+ "${S}"/Ted/tedConfig.h.in || die
+
+ # bug #461256
+ find . -name makefile.in -exec sed -i -e '/ar r/s/ar/$(AR)/' {} \; || die
+
+ # force to build dynamic binary, do not strip it
+ sed -i \
+ -e 's/.static//g' \
+ -e '/strip/d' \
+ tedPackage/makefile.in || die 'sed failed on tedPackage/makefile.in'
+
+ # Fix build with freetype-2.5
+ sed -i "s|^\(#[ \t]*include[ \t]*<\)freetype/|\1|" appFrame/appFontConfig.c || die
+
+ mkdir lib || die
+}
+
+src_configure() {
+ tc-export AR CC RANLIB
+
+ local dir
+ for dir in appFrame appUtil bitmap docBuf ind Ted tedPackage; do
+ cd "${S}"/${dir}
+ econf --cache-file=../config.cache || die "configure in ${dir} failed"
+ done
+}
+
+src_compile() {
+ emake package.shared
+}
+
+src_install() {
+ default
+ dosym ../share/Ted/examples/rtf2pdf.sh /usr/bin/rtf2pdf.sh
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}
diff --git a/app-editors/uemacs-pk/Manifest b/app-editors/uemacs-pk/Manifest
new file mode 100644
index 000000000000..3213c5a7595c
--- /dev/null
+++ b/app-editors/uemacs-pk/Manifest
@@ -0,0 +1,6 @@
+AUX uemacs-pk-4.0.15_p20110825-gentoo.patch 302 SHA256 75281f6f4ea7057e2753b7e526fba85bd8e92237f5577733945317ab4c74e893 SHA512 6938e768e742ffcbd88469c58bba07325d0c2ae7d354bdba66fcc3f9d47d141a98923fce516a03a799032869461da301cbe8ce7f312196a51f69dddcbe5c069b WHIRLPOOL b20a3d4e2e6cd2673327e2b31f22fbd472ac290eea8ebe590e27e968d8f9ba56e76cb9da4a08e8b68258d1833aa70921bcb440ecff0a365beb0c65ee063aa20e
+DIST uemacs-4.0.15_p20141208.tar.xz 151500 SHA256 271cf8afde5e069d5b22dfdb93ace83367a89ab9ebfb753e62219d3003633a62 SHA512 a632c82275ee652412aec7d8f3549d80c5fd5bb1211675828ec4c58365bb7819927ff4e92f6fb7b5b9030b681062773ea19f1af345d4d3ddb652c3d68507bdbb WHIRLPOOL aba112d6142a40b439300ab78c206d2cd4271486d45530c9a1500705ba46cbca03df11f1d0242bed1dd7701394c86a8349eb5661f3145ddd01a8f45ae5e478e7
+EBUILD uemacs-pk-4.0.15_p20141208.ebuild 960 SHA256 de06620348b175ab39d5f89ee217fa33a2bd54eccf98d8ec4c50ba61c25f7525 SHA512 576483dcbee259b580687c43cdf06da086627f65cfd28db1af092b363e03dd1ececd1feecf61b3a6163d4a1f8f20e0261a26fd1f1d4378dd394f377f002796fe WHIRLPOOL 2e03fe614bc1d29e7695d98399db066f1b4d5d300a21da4ecf94487b9c1043a172d7e62a9e25105cec24e88325c515cc4e2f313a91857dd648202d2d480b06ed
+MISC ChangeLog 3438 SHA256 1ecfe8f91ec3548bfb12c055470efcd83a4029106e500f633a0652561340201a SHA512 de74152ac2cfdb43123b09a4a6432f28905d5d927279be2a28f8d6213138d5b4dee0b538f7b40c1d1ce0137bd3184dce26518c3f90ab55bce2e820b10ba124cb WHIRLPOOL b65cb39373e9f4e0441104bda001effb8c9111bee5914a60bbec76bef6da214c9d688dba24a994cfd629c54a20b8df43a705078dbe2d0e675deb56638f84574c
+MISC ChangeLog-2015 4476 SHA256 6057a3189f703b6dce3b4f84cfdd0ebb15d7698c77a1888308812032d0e7235a SHA512 eec38c9aea5da658930ea8af85dcfa321d7609a3f65f4502b2e1695b32715d3a6d3f6dce7bfd17278588ae166b957c6aef65f122f545fc7a630b02e3c85f5a8d WHIRLPOOL 98b7e0ec75d3bfa30d2bfece4104763dcdcfc018508a88887dbfff29c8421513ddd0e614b94123ca35218f8c4c341c562064ffa7fd2953b5833f7722ae0055fb
+MISC metadata.xml 1038 SHA256 60859f165829eec9b3e60f49eb7ead9a261f54fbc3e80ee848dfc0c736cdfb77 SHA512 303232f4886511f0731e699a8c29a1925f506a037cebc60669c02aa060b2d555bdb2378919f5d66e61859e18a3b2ede21204edc5fce37a9220ab9dcf2f23c1b0 WHIRLPOOL efa261e77bf97dd988098f3570f8f85b191f45fd863031a5fb6f96221513c64e1658df4d93b3535b0abe8f5165ab74c761c3c91c0e085f98e3bafdaf04b2b6f3
diff --git a/app-editors/uemacs-pk/files/uemacs-pk-4.0.15_p20110825-gentoo.patch b/app-editors/uemacs-pk/files/uemacs-pk-4.0.15_p20110825-gentoo.patch
new file mode 100644
index 000000000000..8ec03062f922
--- /dev/null
+++ b/app-editors/uemacs-pk/files/uemacs-pk-4.0.15_p20110825-gentoo.patch
@@ -0,0 +1,15 @@
+--- uemacs-orig/epath.h
++++ uemacs/epath.h
+@@ -25,10 +25,8 @@
+ #if V7 | BSD | USG
+ {
+ ".emacsrc", "emacs.hlp",
+-#if PKCODE
+- "/usr/global/lib/", "/usr/local/bin/", "/usr/local/lib/",
+-#endif
+-"/usr/local/", "/usr/lib/", ""};
++ "/etc/uemacs-pk/", "/usr/share/uemacs-pk/", ""
++};
+ #endif
+
+ #if VMS
diff --git a/app-editors/uemacs-pk/metadata.xml b/app-editors/uemacs-pk/metadata.xml
new file mode 100644
index 000000000000..4f52d2d2e249
--- /dev/null
+++ b/app-editors/uemacs-pk/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>emacs@gentoo.org</email>
+ <name>Gentoo Emacs project</name>
+</maintainer>
+<longdescription>
+ WHAT IS uEmacs/PK?
+
+ uEmacs/PK 4.0 is an enhanced version of MicroEMACS 3.9e. Enhancements have
+ been incorporated by Petri H. Kutvonen, University of Helsinki, Finland,
+ kutvonen@cs.Helsinki.FI.
+
+ WHY IS IT BASED ON AN OLD VERSION OF MicroEMACS?
+
+ In my opinion 3.9e was the best of all MicroEMACSes. Creeping featurism,
+ growing size, and reduced portability made versions 3.10 and 3.11 less
+ attractive. MicroEMACS 3.9e was one of the few editors that were truly
+ portable between different flavours of UNIX, PC/MS-DOS, and VAX/VMS. It was
+ pretty robust - although not flawless. uEmacs/PK 4.0 includes numerous bug
+ fixes, adds some new functionality and comfort but does not sacrifice the
+ best things (small size and portability).
+</longdescription>
+</pkgmetadata>
diff --git a/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20141208.ebuild b/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20141208.ebuild
new file mode 100644
index 000000000000..fb2d7f37ef7a
--- /dev/null
+++ b/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20141208.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="uEmacs/PK is an enhanced version of MicroEMACS"
+HOMEPAGE="https://git.kernel.org/?p=editors/uemacs/uemacs.git;a=summary
+ ftp://ftp.cs.helsinki.fi/pub/Software/Local/uEmacs-PK"
+# snapshot from git repo
+SRC_URI="https://dev.gentoo.org/~ulm/distfiles/uemacs-${PV}.tar.xz"
+
+LICENSE="free-noncomm"
+SLOT="0"
+KEYWORDS="amd64 x86 ~x86-fbsd"
+
+RDEPEND="sys-libs/ncurses:0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/uemacs"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-4.0.15_p20110825-gentoo.patch
+}
+
+src_compile() {
+ emake V=1 \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ LIBS="$("$(tc-getPKG_CONFIG)" --libs ncurses)"
+}
+
+src_install() {
+ dobin em
+ insinto /usr/share/${PN}
+ doins emacs.hlp
+ newins emacs.rc .emacsrc
+ dodoc README readme.39e emacs.ps UTF-8-demo.txt
+}
diff --git a/app-editors/vile/Manifest b/app-editors/vile/Manifest
new file mode 100644
index 000000000000..309b43e8b843
--- /dev/null
+++ b/app-editors/vile/Manifest
@@ -0,0 +1,7 @@
+DIST vile-9.8r.tgz 2322132 SHA256 f36093551178b10c7c34cd514503fcc4d03fedd19c1eba7845b876253e48db80 SHA512 4f610c8c8f491d8d630d042166cbbdc12b89513d40d14dd70526d6cb5d7ebf603a99b19ce2fc42f7143d674e6d5155fcd305da297e03e46caa862ff40e2bbdd4 WHIRLPOOL 7a375769942d297b5448934bd49a4278697e8307f16900f1ebccd1ac4c9e37a483faf0b2e0f328f2210bdcead79251a1831a2ab4e28e20db637b593c636c06f2
+DIST vile-9.8s.tgz 2328441 SHA256 1197bc894a63e359e2ae1053a38829b04e9e6948e30e59803f49ed781c077502 SHA512 06bfa64e5908aa31351068c5509e6fcc98bde202b814aa6abe5c449f841378c897df1fdbb8b20bdb5e71578238e1e9d11dac08e66159317276a01a9ac96ae9ab WHIRLPOOL 054c7b67df64f39b32534cc6fc3e238341dd4cd6cbff362a0638cbee01e2ca729a0b537461b766e6808c05527039a1135d44d30d0f6da826d6b88ebb8fa6abd2
+EBUILD vile-9.8r.ebuild 929 SHA256 194a7a4b7249a7612887468eee0d01d387f4abb5c177682a1e3b8c20b469e300 SHA512 1f7c1cf24460343f03aec0586179d2de838b8157586cb435e290b876a5817ba763a81a0148e76206351d40c08e5d1aebd5b71a5b223bb94bdc87ac2fabf47fd7 WHIRLPOOL e6cb27ed5aa19b1c8c7b83f46e55aa077a828d144cec2ae1665d647cdffd3f9b05141c13225e1f8b9e907c65611c828710f37059bdc90745818f0c154edc9ede
+EBUILD vile-9.8s.ebuild 935 SHA256 ef0dcf08bcd0b2f6ff22f10630dbce7f6ee63dc8b3c4399cb85b9c7392b8445a SHA512 59698fe545f9a40a6718f755b84b15d527853a34835279ff839ad767543aa8ae0a843b64f6d6f7549631fe70b81df32ad047b38b1074733d67ef0bfff89018d2 WHIRLPOOL f3f6cf159f9b5b1d532bdc06bb76f92346f0f1f0093cd1f9b918f36e07c9ddc087c89fd9b42fdf45e5414b76082213fe163731ce6f195655b7909964d7969b74
+MISC ChangeLog 2766 SHA256 5d2a8a878ed88919cce27cbf79ffe773f8de685000cb56ac222084e7a11099e7 SHA512 c925657fe8234ad08b93887bea2b3ff8b8764134a33c5985680359084e5d61f927c74768bd142656b8f230a967f6ac30fd881e3dc2a953390c92ade330c1502c WHIRLPOOL 317cdf93e7cae7671f6ba61880fe88744ae915c39dd35078b9c750d11445140092d06bef1686559ec02957b385901bb966bc71f2351dd73b910b177cd6052090
+MISC ChangeLog-2015 7064 SHA256 43ee8cd392a661f469f297b83b430776bb69a22fa92b7c5d0c485eacf286898c SHA512 dc0abc0b5fa5b8ec8bbb32ed6548f2c33c059cc178ac538efbad2e6350983bc9db89be4470b5fac879ea1ed6dd928c2a7faecaea7f81b3b86738931a664ad441 WHIRLPOOL 9c38e2e182399a632fe188efe204238d6efbdffc40475213ed0927b0d6010f8cab0aeca8d14fba9e94f032c20789208eaa7b9271825b72c79844f089460dcd98
+MISC metadata.xml 249 SHA256 d4adb0d6593130c430b51f47b187c0848b8a16d353d419cb39e44edf8baa033b SHA512 4051dd059d975d2e1799125f7defbf5a62a168241d8b83d83710592efd60808800951c4fd6da1294044d7e7ec6b757b8d50593fd076696f826dec761e99645c7 WHIRLPOOL 0e859a788faf27de759428701100b3134df0b6d5e8402bbb125fce791e778353ddcd819d86f54063928836417f2cefb2c1e30e8568b8d2aa4cd336d3b695b10a
diff --git a/app-editors/vile/metadata.xml b/app-editors/vile/metadata.xml
new file mode 100644
index 000000000000..5c000c763084
--- /dev/null
+++ b/app-editors/vile/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 type="project">
+ <email>vim@gentoo.org</email>
+ <name>Gentoo Vim Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-editors/vile/vile-9.8r.ebuild b/app-editors/vile/vile-9.8r.ebuild
new file mode 100644
index 000000000000..2d322f16d0ad
--- /dev/null
+++ b/app-editors/vile/vile-9.8r.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone"
+HOMEPAGE="https://invisible-island.net/vile/"
+SRC_URI="ftp://invisible-island.net/vile/current/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ia64 ppc sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="perl"
+
+RDEPEND=">=sys-libs/ncurses-5.2:0=
+ perl? ( dev-lang/perl )"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ app-eselect/eselect-vi"
+
+src_configure() {
+ econf \
+ --with-ncurses \
+ $(use_with perl )
+}
+
+src_install() {
+ emake DESTDIR="${D}" INSTALL_OPT_S="" install
+ dodoc CHANGES* README doc/*.doc
+ docinto html
+ dodoc doc/*.html
+}
+
+pkg_postinst() {
+ einfo "Updating ${EPREFIX}/usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
+
+pkg_postrm() {
+ einfo "Updating ${EPREFIX}/usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
diff --git a/app-editors/vile/vile-9.8s.ebuild b/app-editors/vile/vile-9.8s.ebuild
new file mode 100644
index 000000000000..8463b992ab33
--- /dev/null
+++ b/app-editors/vile/vile-9.8s.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone"
+HOMEPAGE="https://invisible-island.net/vile/"
+SRC_URI="ftp://invisible-island.net/vile/current/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="perl"
+
+RDEPEND=">=sys-libs/ncurses-5.2:0=
+ perl? ( dev-lang/perl )"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ app-eselect/eselect-vi"
+
+src_configure() {
+ econf \
+ --with-ncurses \
+ $(use_with perl )
+}
+
+src_install() {
+ emake DESTDIR="${D}" INSTALL_OPT_S="" install
+ dodoc CHANGES* README doc/*.doc
+ docinto html
+ dodoc doc/*.html
+}
+
+pkg_postinst() {
+ einfo "Updating ${EPREFIX}/usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
+
+pkg_postrm() {
+ einfo "Updating ${EPREFIX}/usr/bin/vi symlink"
+ eselect vi update --if-unset
+}
diff --git a/app-editors/vim-core/Manifest b/app-editors/vim-core/Manifest
new file mode 100644
index 000000000000..f86aa9c189eb
--- /dev/null
+++ b/app-editors/vim-core/Manifest
@@ -0,0 +1,16 @@
+AUX vimrc-r5 6926 SHA256 19019ab68e724ed0aa2129959f12d6cbdc042de0a102f719bf757079c444c2c5 SHA512 ff99b53d542f6f85adb2062a0cb3605ddd6e447c1b2427e7e4ce58aea843a99cde13473ec53d89ddb380da0358e32a45aa7f857269baf5504751b9eb259418ba WHIRLPOOL 4aaa9a8a1ee817c73d6b93f1595201fdcf1e65beea637f666b30bbb826098cb6719e663985ddd88b54639f4bda4c1941a798cf9b3c93aca8746943d40cb5ef36
+AUX xxd-completion 461 SHA256 580064ca4db3ac149fd89c743bd9946241220c211721f978f7a3ef97b3c171df SHA512 fc92426ea657e86ff765aa5a60736cdc70db938156dd8946db0a30c54d3f557bd8af421f1713bd750e779ccacd73f8f290a12a5e71ed48259fe1e6dece2de19c WHIRLPOOL 65324afb44612f1dd8f8850b7caa8524cff055d83aaad74c5b5030787463d0a95dbe0ce1b91c1a7b7f3e6954db3c0608ac2a2e1e75572af94e83758237b18447
+DIST vim-8.0.0106-gentoo-patches.tar.bz2 2281 SHA256 9823a91b050eb4b001cc50f508d2ad03c7c256ed49183c1af7582318667f48d4 SHA512 39edd9f518c230d2b0486b18aa155572a9eada4a5e21108573d6e66e2eef1276f23b77d766648f018c9cf973a7d03712d8861be6ea13255d7b389912d554a47a WHIRLPOOL d6d01e3944d56762a2a999ee631f89e212360aa030ddd16ea96e32d518ec171e04d8565dcb89e804248d53e4c6e06b19be239ad2316ea88bb57364815b85d26b
+DIST vim-8.0.0386.tar.gz 13000882 SHA256 25b28f6ef55a8d0b3f255f0fbed90ad1450bde7f7b231cc09d86c5119adc95bc SHA512 3169ea4dbc836c724f63d99cd345227f870a3a922beba84a6b42011685c0dd209f6bba8c69af0650c9a57bb47fc541e1150ca8cefb21fcada022259bf4c94a66 WHIRLPOOL 99a5582e0db0dc53fd8385cddf1fbf13d2fe1dd5c8e33c9959288c19d4b85f50139791269edd4ec3d5cbed6548cc3d9c7962ec1706eb422a4ef83c207aac009b
+DIST vim-8.0.0938-gentoo-patches.tar.bz2 2316 SHA256 851418dbbbac25e581eeb44a24e62f8841a7df33f436d1986dd7332fb5d07c60 SHA512 a6062be5e6a5c5b437081312df5742353242b5171bf26da04aa6ca216d2b142b2411a88bc1edd460d28e00a59a210c8e1729e801fac6f1efd86bb2e437a56a2b WHIRLPOOL 8521b344426b5d2b246ddab7768eae45e0ee54ef58085099f9e15575e7854eb461fbcf0093caee1326e29d2425c2d451de36812cda24fa767709fc5d6046236c
+DIST vim-8.0.0938.tar.gz 13287289 SHA256 7a07fb164069ce82e5c90ff3831b6f3249e09193800f76d9c576867a63828071 SHA512 be4b6a29ace6a708cd7d0d3a3585cd3b88056e49f3869e18c6b895272e4ec01a8a7a68695ec2f885dd1fc139ae022a3f1b2d2d11e8b883362b9683cf5a8b0cd3 WHIRLPOOL 5098cf73f8b294686888c8b5a31199044ec1f409cc9c3de39e96911f688374282716a3137827e260c97e688bb42e79a77c53a29fa7d3364ce2c3375c2257b309
+DIST vim-8.0.0983.tar.gz 13292263 SHA256 5f3d5307d7055e3a55811546f6c787f1c65d209ae5b83e36c0de16d64fda8bf2 SHA512 985cdcf134c3513a973b4c91a899684a563fca4c347afba2d51892d737c8b58a2008bbf8573a98838da6df16552096e437a5064dc2ef653c7222bbac59ce6136 WHIRLPOOL 98a1ed102182f07e1dc2105b9bae73e1f6c0f7522b25ab91aba4767a3c9d805082a89bd964ab6441fb4185f4076b046a25ca92bf08f0446e4d2a53b0298bb3e0
+DIST vim-8.0.1056.tar.gz 13309986 SHA256 c061d1ddc0f4001415e68678780eac7121d08877a852fae484e6a93f633aec0c SHA512 19385736d4d97a66a2fb3fd8ce725d42c435da09a41e8b40234048626b28d2fa96c4db96a4313bd30f1c2d3733c52097e147c90e4bc11be80d3fcbf12fa4d13b WHIRLPOOL d81b3166f028867ebf48d43bf249675f16cda0118a2e443606a8cae01b0932d3f8a29ca568d088953d4b9d8afe8299ac207d0213ad247e1c10b9c52ed18514e1
+EBUILD vim-core-8.0.0386.ebuild 6754 SHA256 8f75d89c4ec220644790a21dcc4abf31764a22d8dfd9b064f57f2ae00c693f13 SHA512 ecdaf79298f242819af450ea366cb51b428f4d0054203dde424bce6ffd754954273f59802a3b1f582ad1d3455d2b844d3b6613f06fe3b17fe43e19102984b118 WHIRLPOOL f0f460dd828f67e5a34056c6610c273a4ff8f1fa06561e6b891adb8b54a6c33a21f1bdfa2e2ac957bbaac78c4a61d471fd67c077e96b67308cf2e9c72be5ec70
+EBUILD vim-core-8.0.0938.ebuild 6764 SHA256 1dc003559e492075c9577d13514860bff86440a114b16149c58569ef5ca7ec83 SHA512 ae48d1c1afd8a62f8f32afe6c6d9c6a9b52352eb594a6c973efae7f42ac480575c1e1f95b1527f346e04a6ad52f649c966daf98a97c684d6419fd9952a4e8e61 WHIRLPOOL 0136e67cd20a20e3d55e33ef92aef3af347eede30079180dcc62b93da218b7cc8f304d1a849c434f3c1f47980822bb67dfb7fcec97f2be689aa59a5d136e2943
+EBUILD vim-core-8.0.0983.ebuild 6772 SHA256 c72b168d4f25da2dfb4fad846855eaecd334b63103269809bec652508751a8f3 SHA512 60fa7940b9ed64b828fa59fcfa11b90b81e63e89d41e2f44c2e2281da620f0325673831cbb2d47c923078e16effdc6b588487f3636f75ae9fdb83ba3c0c0bb5a WHIRLPOOL 578a4dcea44d4116b3e015a06ff0dd48bd49da4d15a83744d94ba4289c1e4ad5e9f4624b6b505045a2551b57bc93ebeeae199c999ec932cca779e888d5113560
+EBUILD vim-core-8.0.1056.ebuild 6772 SHA256 c72b168d4f25da2dfb4fad846855eaecd334b63103269809bec652508751a8f3 SHA512 60fa7940b9ed64b828fa59fcfa11b90b81e63e89d41e2f44c2e2281da620f0325673831cbb2d47c923078e16effdc6b588487f3636f75ae9fdb83ba3c0c0bb5a WHIRLPOOL 578a4dcea44d4116b3e015a06ff0dd48bd49da4d15a83744d94ba4289c1e4ad5e9f4624b6b505045a2551b57bc93ebeeae199c999ec932cca779e888d5113560
+EBUILD vim-core-9999.ebuild 6772 SHA256 c72b168d4f25da2dfb4fad846855eaecd334b63103269809bec652508751a8f3 SHA512 60fa7940b9ed64b828fa59fcfa11b90b81e63e89d41e2f44c2e2281da620f0325673831cbb2d47c923078e16effdc6b588487f3636f75ae9fdb83ba3c0c0bb5a WHIRLPOOL 578a4dcea44d4116b3e015a06ff0dd48bd49da4d15a83744d94ba4289c1e4ad5e9f4624b6b505045a2551b57bc93ebeeae199c999ec932cca779e888d5113560
+MISC ChangeLog 8466 SHA256 568fecc9d283b1c6af99b67c5a0ba20fa02cbdfa3cdf7c869054c9ae13af394b SHA512 fc31c71c500181b09cfa36f324531392057e5b28c4990346435e9b7002083e15238fa16661178081122bdf58a5adc8ffd2f10b9527e6ddfcba79263ed58cdd83 WHIRLPOOL ddc6b0a57525d743a7e79dc67354b87f4a3ee054023d29aa976cd475373bf7d24501d51686d48257dc8cf67249dd7bb18b418e650d78ce706298c1647b8d6ba6
+MISC ChangeLog-2015 63585 SHA256 fcbf2e79dabadcfea37e13f90bd1a0da5060f06fa4676551bb5ae5c15b140d3b SHA512 f5431dc90fecae587bfe51915711f2cd117505a034dfa821d412e29898d2046feb7afa98762878b9554d602c4a24dce8807b75613ba7b01fb5747ebc5911fe54 WHIRLPOOL 2410b2440a6eecee31ac1f8b2ccfc0ebc5ffbaf043e95fb4734fd1e22fd4b29093296d1a6b63a8e6e66c5d845a3b300f7655c31e2397eddb2a582033796b680c
+MISC metadata.xml 321 SHA256 f9326975290ccd756ea9e8aed462a63d5281409d82e6cf70c1cda86b1783c118 SHA512 7d4a40b09c24eb8f08e6c171a4cf0e332d82f06163846602db338a1ad2e51133ed18694f216ce061fd9964fba3380b9991d86b93f111c6f8d0bb62ac5e14f705 WHIRLPOOL df4da6e95b9dda591cf35853baebf9ebff792a7ba5f03c7060e41d319fcf40e31f5874b31c9841b27ed860e5a8d3346e3afb7cf80e93eb2b297c5975288e5b1a
diff --git a/app-editors/vim-core/files/vimrc-r5 b/app-editors/vim-core/files/vimrc-r5
new file mode 100644
index 000000000000..3386b6c54ba0
--- /dev/null
+++ b/app-editors/vim-core/files/vimrc-r5
@@ -0,0 +1,203 @@
+scriptencoding utf-8
+" ^^ Please leave the above line at the start of the file.
+
+" Default configuration file for Vim
+
+" Written by Aron Griffis <agriffis@gentoo.org>
+" Modified by Ryan Phillips <rphillips@gentoo.org>
+" Modified some more by Ciaran McCreesh <ciaranm@gentoo.org>
+" Added Redhat's vimrc info by Seemant Kulleen <seemant@gentoo.org>
+
+" You can override any of these settings on a global basis via the
+" "/etc/vim/vimrc.local" file, and on a per-user basis via "~/.vimrc". You may
+" need to create these.
+
+" {{{ General settings
+" The following are some sensible defaults for Vim for most users.
+" We attempt to change as little as possible from Vim's defaults,
+" deviating only where it makes sense
+set nocompatible " Use Vim defaults (much better!)
+set bs=2 " Allow backspacing over everything in insert mode
+set ai " Always set auto-indenting on
+set history=50 " keep 50 lines of command history
+set ruler " Show the cursor position all the time
+
+set viminfo='20,\"500 " Keep a .viminfo file.
+
+" Don't use Ex mode, use Q for formatting
+map Q gq
+
+" When doing tab completion, give the following files lower priority. You may
+" wish to set 'wildignore' to completely ignore files, and 'wildmenu' to enable
+" enhanced tab completion. These can be done in the user vimrc file.
+set suffixes+=.info,.aux,.log,.dvi,.bbl,.out,.o,.lo
+
+" When displaying line numbers, don't use an annoyingly wide number column. This
+" doesn't enable line numbers -- :set number will do that. The value given is a
+" minimum width to use for the number column, not a fixed size.
+if v:version >= 700
+ set numberwidth=3
+endif
+" }}}
+
+" {{{ Modeline settings
+" We don't allow modelines by default. See bug #14088 and bug #73715.
+" If you're not concerned about these, you can enable them on a per-user
+" basis by adding "set modeline" to your ~/.vimrc file.
+set nomodeline
+" }}}
+
+" {{{ Locale settings
+" Try to come up with some nice sane GUI fonts. Also try to set a sensible
+" value for fileencodings based upon locale. These can all be overridden in
+" the user vimrc file.
+if v:lang =~? "^ko"
+ set fileencodings=euc-kr
+ set guifontset=-*-*-medium-r-normal--16-*-*-*-*-*-*-*
+elseif v:lang =~? "^ja_JP"
+ set fileencodings=euc-jp
+ set guifontset=-misc-fixed-medium-r-normal--14-*-*-*-*-*-*-*
+elseif v:lang =~? "^zh_TW"
+ set fileencodings=big5
+ set guifontset=-sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-1,-taipei-fixed-medium-r-normal--16-150-75-75-c-160-big5-0
+elseif v:lang =~? "^zh_CN"
+ set fileencodings=gb2312
+ set guifontset=*-r-*
+endif
+
+" If we have a BOM, always honour that rather than trying to guess.
+if &fileencodings !~? "ucs-bom"
+ set fileencodings^=ucs-bom
+endif
+
+" Always check for UTF-8 when trying to determine encodings.
+if &fileencodings !~? "utf-8"
+ " If we have to add this, the default encoding is not Unicode.
+ " We use this fact later to revert to the default encoding in plaintext/empty
+ " files.
+ let g:added_fenc_utf8 = 1
+ set fileencodings+=utf-8
+endif
+
+" Make sure we have a sane fallback for encoding detection
+if &fileencodings !~? "default"
+ set fileencodings+=default
+endif
+" }}}
+
+" {{{ Syntax highlighting settings
+" Switch syntax highlighting on, when the terminal has colors
+" Also switch on highlighting the last used search pattern.
+if &t_Co > 2 || has("gui_running")
+ syntax on
+ set hlsearch
+endif
+" }}}
+
+" {{{ Terminal fixes
+if &term ==? "xterm"
+ set t_Sb=^[4%dm
+ set t_Sf=^[3%dm
+ set ttymouse=xterm2
+endif
+
+if &term ==? "gnome" && has("eval")
+ " Set useful keys that vim doesn't discover via termcap but are in the
+ " builtin xterm termcap. See bug #122562. We use exec to avoid having to
+ " include raw escapes in the file.
+ exec "set <C-Left>=\eO5D"
+ exec "set <C-Right>=\eO5C"
+endif
+" }}}
+
+" {{{ Filetype plugin settings
+" Enable plugin-provided filetype settings, but only if the ftplugin
+" directory exists (which it won't on livecds, for example).
+if isdirectory(expand("$VIMRUNTIME/ftplugin"))
+ filetype plugin on
+
+ " Uncomment the next line (or copy to your ~/.vimrc) for plugin-provided
+ " indent settings. Some people don't like these, so we won't turn them on by
+ " default.
+ " filetype indent on
+endif
+" }}}
+
+" {{{ Fix &shell, see bug #101665.
+if "" == &shell
+ if executable("@GENTOO_PORTAGE_EPREFIX@/bin/bash")
+ set shell=@GENTOO_PORTAGE_EPREFIX@/bin/bash
+ elseif executable("@GENTOO_PORTAGE_EPREFIX@/bin/sh")
+ set shell=@GENTOO_PORTAGE_EPREFIX@/bin/sh
+ endif
+endif
+"}}}
+
+" {{{ Our default /bin/sh is bash, not ksh, so syntax highlighting for .sh
+" files should default to bash. See :help sh-syntax and bug #101819.
+if has("eval")
+ let is_bash=1
+endif
+" }}}
+
+" {{{ Autocommands
+if has("autocmd")
+
+augroup gentoo
+ au!
+
+ " Gentoo-specific settings for ebuilds. These are the federally-mandated
+ " required tab settings. See the following for more information:
+ " http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml
+ " Note that the rules below are very minimal and don't cover everything.
+ " Better to emerge app-vim/gentoo-syntax, which provides full syntax,
+ " filetype and indent settings for all things Gentoo.
+ au BufRead,BufNewFile *.e{build,class} let is_bash=1|setfiletype sh
+ au BufRead,BufNewFile *.e{build,class} set ts=4 sw=4 noexpandtab
+
+ " In text files, limit the width of text to 78 characters, but be careful
+ " that we don't override the user's setting.
+ autocmd BufNewFile,BufRead *.txt
+ \ if &tw == 0 && ! exists("g:leave_my_textwidth_alone") |
+ \ setlocal textwidth=78 |
+ \ endif
+
+ " When editing a file, always jump to the last cursor position
+ autocmd BufReadPost *
+ \ if ! exists("g:leave_my_cursor_position_alone") |
+ \ if line("'\"") > 0 && line ("'\"") <= line("$") |
+ \ exe "normal! g'\"" |
+ \ endif |
+ \ endif
+
+ " When editing a crontab file, set backupcopy to yes rather than auto. See
+ " :help crontab and bug #53437.
+ autocmd FileType crontab set backupcopy=yes
+
+ " If we previously detected that the default encoding is not UTF-8
+ " (g:added_fenc_utf8), assume that a file with only ASCII characters (or no
+ " characters at all) isn't a Unicode file, but is in the default encoding.
+ " Except of course if a byte-order mark is in effect.
+ autocmd BufReadPost *
+ \ if exists("g:added_fenc_utf8") && &fileencoding == "utf-8" &&
+ \ ! &bomb && search('[\x80-\xFF]','nw') == 0 && &modifiable |
+ \ set fileencoding= |
+ \ endif
+
+augroup END
+
+endif " has("autocmd")
+" }}}
+
+" We don't want VIM to load their own built-in defaults, preferring ours here
+" instead:
+let g:skip_defaults_vim = 1
+
+" {{{ vimrc.local
+if filereadable("@GENTOO_PORTAGE_EPREFIX@/etc/vim/vimrc.local")
+ source @GENTOO_PORTAGE_EPREFIX@/etc/vim/vimrc.local
+endif
+" }}}
+
+" vim: set fenc=utf-8 tw=80 sw=2 sts=2 et foldmethod=marker :
+
diff --git a/app-editors/vim-core/files/xxd-completion b/app-editors/vim-core/files/xxd-completion
new file mode 100644
index 000000000000..174a4093f39f
--- /dev/null
+++ b/app-editors/vim-core/files/xxd-completion
@@ -0,0 +1,25 @@
+# Author: Ciaran McCreesh <ciaranm@gentoo.org>
+#
+# completion for xxd
+
+_xxd()
+{
+ local cur prev cmd args
+
+ COMPREPLY=()
+ cur=${COMP_WORDS[COMP_CWORD]}
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+ cmd=${COMP_WORDS[0]}
+
+ if [[ "${cur}" == -* ]] ; then
+ args='-a -b -c -E -g -h -i -l -ps -r -s -u -v'
+ COMPREPLY=( $( compgen -W "${args}" -- $cur ) )
+ else
+ _filedir
+ fi
+}
+
+complete -F _xxd xxd
+
+# vim: set ft=sh sw=4 et sts=4 :
+
diff --git a/app-editors/vim-core/metadata.xml b/app-editors/vim-core/metadata.xml
new file mode 100644
index 000000000000..ef998248ce9d
--- /dev/null
+++ b/app-editors/vim-core/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 type="project">
+ <email>vim@gentoo.org</email>
+ <name>Gentoo Vim Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">vim/vim</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/vim-core/vim-core-8.0.0386.ebuild b/app-editors/vim-core/vim-core-8.0.0386.ebuild
new file mode 100644
index 000000000000..b0e2eda803b3
--- /dev/null
+++ b/app-editors/vim-core/vim-core-8.0.0386.ebuild
@@ -0,0 +1,217 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
+ https://dev.gentoo.org/~radhermit/vim/vim-8.0.0106-gentoo-patches.tar.bz2"
+ KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="vim and gvim shared files"
+HOMEPAGE="http://www.vim.org/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="nls acl minimal"
+
+DEPEND="sys-devel/autoconf"
+PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
+
+S=${WORKDIR}/vim-${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
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ eapply "${WORKDIR}"/patches
+ 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.ac || 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.ac || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i -e \
+ '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ eapply_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.ac is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=" --without-local-dir"
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --enable-gui=no \
+ --without-x \
+ --disable-darwin \
+ --disable-perlinterp \
+ --disable-pythoninterp \
+ --disable-rubyinterp \
+ --disable-gpm \
+ --disable-selinux \
+ $(use_enable nls) \
+ $(use_enable acl) \
+ ${myconf}
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake tools
+}
+
+src_test() { :; }
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dodir /usr/{bin,share/{man/man1,vim}}
+ emake -C src \
+ installruntime \
+ installmanlinks \
+ installmacros \
+ installtutor \
+ installtutorbin \
+ installtools \
+ install-languages \
+ DESTDIR="${D}" \
+ BINDIR="${EPREFIX}"/usr/bin \
+ MANDIR="${EPREFIX}"/usr/share/man \
+ DATADIR="${EPREFIX}"/usr/share
+
+ keepdir ${vimfiles}/keymap
+
+ # default vimrc is installed by vim-core since it applies to
+ # both vim and gvim
+ insinto /etc/vim/
+ newins "${FILESDIR}"/vimrc-r5 vimrc
+ eprefixify "${ED}"/etc/vim/vimrc
+
+ if use minimal ; then
+ # To save space, install only a subset of the files.
+ # Helps minimalize the livecd, bug 65144.
+ eshopts_push -s extglob
+
+ rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent}
+ rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor}
+ rm "${ED}"/usr/bin/vimtutor
+
+ local keep_colors="default"
+ ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
+
+ local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
+ # tinkering with the next line might make bad things happen ...
+ keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
+ ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
+
+ eshopts_pop
+ fi
+
+ # These files might have slight security issues, so we won't
+ # install them. See bug #77841. We don't mind if these don't
+ # exist.
+ rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null
+
+ newbashcomp "${FILESDIR}"/xxd-completion xxd
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
diff --git a/app-editors/vim-core/vim-core-8.0.0938.ebuild b/app-editors/vim-core/vim-core-8.0.0938.ebuild
new file mode 100644
index 000000000000..15a9ee340652
--- /dev/null
+++ b/app-editors/vim-core/vim-core-8.0.0938.ebuild
@@ -0,0 +1,217 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+inherit estack vim-doc flag-o-matic versionator bash-completion-r1 prefix
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
+ https://dev.gentoo.org/~radhermit/vim/vim-8.0.0938-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="vim and gvim shared files"
+HOMEPAGE="http://www.vim.org/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="nls acl minimal"
+
+DEPEND="sys-devel/autoconf"
+PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
+
+S=${WORKDIR}/vim-${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
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ eapply "${WORKDIR}"/patches
+ 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.ac || 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.ac || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i -e \
+ '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ eapply_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.ac is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=" --without-local-dir"
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --enable-gui=no \
+ --without-x \
+ --disable-darwin \
+ --disable-perlinterp \
+ --disable-pythoninterp \
+ --disable-rubyinterp \
+ --disable-gpm \
+ --disable-selinux \
+ $(use_enable nls) \
+ $(use_enable acl) \
+ ${myconf}
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake tools
+}
+
+src_test() { :; }
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dodir /usr/{bin,share/{man/man1,vim}}
+ emake -C src \
+ installruntime \
+ installmanlinks \
+ installmacros \
+ installtutor \
+ installtutorbin \
+ installtools \
+ install-languages \
+ DESTDIR="${D}" \
+ BINDIR="${EPREFIX}"/usr/bin \
+ MANDIR="${EPREFIX}"/usr/share/man \
+ DATADIR="${EPREFIX}"/usr/share
+
+ keepdir ${vimfiles}/keymap
+
+ # default vimrc is installed by vim-core since it applies to
+ # both vim and gvim
+ insinto /etc/vim/
+ newins "${FILESDIR}"/vimrc-r5 vimrc
+ eprefixify "${ED}"/etc/vim/vimrc
+
+ if use minimal ; then
+ # To save space, install only a subset of the files.
+ # Helps minimalize the livecd, bug 65144.
+ eshopts_push -s extglob
+
+ rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent}
+ rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor}
+ rm "${ED}"/usr/bin/vimtutor
+
+ local keep_colors="default"
+ ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
+
+ local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
+ # tinkering with the next line might make bad things happen ...
+ keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
+ ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
+
+ eshopts_pop
+ fi
+
+ # These files might have slight security issues, so we won't
+ # install them. See bug #77841. We don't mind if these don't
+ # exist.
+ rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null
+
+ newbashcomp "${FILESDIR}"/xxd-completion xxd
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
diff --git a/app-editors/vim-core/vim-core-8.0.0983.ebuild b/app-editors/vim-core/vim-core-8.0.0983.ebuild
new file mode 100644
index 000000000000..a009ebab1f38
--- /dev/null
+++ b/app-editors/vim-core/vim-core-8.0.0983.ebuild
@@ -0,0 +1,217 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+inherit estack vim-doc flag-o-matic versionator bash-completion-r1 prefix
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
+ https://dev.gentoo.org/~radhermit/vim/vim-8.0.0938-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="vim and gvim shared files"
+HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="nls acl minimal"
+
+DEPEND="sys-devel/autoconf"
+PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
+
+S=${WORKDIR}/vim-${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
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ eapply "${WORKDIR}"/patches
+ 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.ac || 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.ac || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i -e \
+ '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ eapply_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.ac is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=" --without-local-dir"
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --enable-gui=no \
+ --without-x \
+ --disable-darwin \
+ --disable-perlinterp \
+ --disable-pythoninterp \
+ --disable-rubyinterp \
+ --disable-gpm \
+ --disable-selinux \
+ $(use_enable nls) \
+ $(use_enable acl) \
+ ${myconf}
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake tools
+}
+
+src_test() { :; }
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dodir /usr/{bin,share/{man/man1,vim}}
+ emake -C src \
+ installruntime \
+ installmanlinks \
+ installmacros \
+ installtutor \
+ installtutorbin \
+ installtools \
+ install-languages \
+ DESTDIR="${D}" \
+ BINDIR="${EPREFIX}"/usr/bin \
+ MANDIR="${EPREFIX}"/usr/share/man \
+ DATADIR="${EPREFIX}"/usr/share
+
+ keepdir ${vimfiles}/keymap
+
+ # default vimrc is installed by vim-core since it applies to
+ # both vim and gvim
+ insinto /etc/vim/
+ newins "${FILESDIR}"/vimrc-r5 vimrc
+ eprefixify "${ED}"/etc/vim/vimrc
+
+ if use minimal ; then
+ # To save space, install only a subset of the files.
+ # Helps minimalize the livecd, bug 65144.
+ eshopts_push -s extglob
+
+ rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent}
+ rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor}
+ rm "${ED}"/usr/bin/vimtutor
+
+ local keep_colors="default"
+ ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
+
+ local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
+ # tinkering with the next line might make bad things happen ...
+ keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
+ ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
+
+ eshopts_pop
+ fi
+
+ # These files might have slight security issues, so we won't
+ # install them. See bug #77841. We don't mind if these don't
+ # exist.
+ rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null
+
+ newbashcomp "${FILESDIR}"/xxd-completion xxd
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
diff --git a/app-editors/vim-core/vim-core-8.0.1056.ebuild b/app-editors/vim-core/vim-core-8.0.1056.ebuild
new file mode 100644
index 000000000000..a009ebab1f38
--- /dev/null
+++ b/app-editors/vim-core/vim-core-8.0.1056.ebuild
@@ -0,0 +1,217 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+inherit estack vim-doc flag-o-matic versionator bash-completion-r1 prefix
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
+ https://dev.gentoo.org/~radhermit/vim/vim-8.0.0938-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="vim and gvim shared files"
+HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="nls acl minimal"
+
+DEPEND="sys-devel/autoconf"
+PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
+
+S=${WORKDIR}/vim-${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
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ eapply "${WORKDIR}"/patches
+ 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.ac || 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.ac || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i -e \
+ '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ eapply_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.ac is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=" --without-local-dir"
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --enable-gui=no \
+ --without-x \
+ --disable-darwin \
+ --disable-perlinterp \
+ --disable-pythoninterp \
+ --disable-rubyinterp \
+ --disable-gpm \
+ --disable-selinux \
+ $(use_enable nls) \
+ $(use_enable acl) \
+ ${myconf}
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake tools
+}
+
+src_test() { :; }
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dodir /usr/{bin,share/{man/man1,vim}}
+ emake -C src \
+ installruntime \
+ installmanlinks \
+ installmacros \
+ installtutor \
+ installtutorbin \
+ installtools \
+ install-languages \
+ DESTDIR="${D}" \
+ BINDIR="${EPREFIX}"/usr/bin \
+ MANDIR="${EPREFIX}"/usr/share/man \
+ DATADIR="${EPREFIX}"/usr/share
+
+ keepdir ${vimfiles}/keymap
+
+ # default vimrc is installed by vim-core since it applies to
+ # both vim and gvim
+ insinto /etc/vim/
+ newins "${FILESDIR}"/vimrc-r5 vimrc
+ eprefixify "${ED}"/etc/vim/vimrc
+
+ if use minimal ; then
+ # To save space, install only a subset of the files.
+ # Helps minimalize the livecd, bug 65144.
+ eshopts_push -s extglob
+
+ rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent}
+ rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor}
+ rm "${ED}"/usr/bin/vimtutor
+
+ local keep_colors="default"
+ ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
+
+ local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
+ # tinkering with the next line might make bad things happen ...
+ keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
+ ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
+
+ eshopts_pop
+ fi
+
+ # These files might have slight security issues, so we won't
+ # install them. See bug #77841. We don't mind if these don't
+ # exist.
+ rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null
+
+ newbashcomp "${FILESDIR}"/xxd-completion xxd
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
diff --git a/app-editors/vim-core/vim-core-9999.ebuild b/app-editors/vim-core/vim-core-9999.ebuild
new file mode 100644
index 000000000000..a009ebab1f38
--- /dev/null
+++ b/app-editors/vim-core/vim-core-9999.ebuild
@@ -0,0 +1,217 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+inherit estack vim-doc flag-o-matic versionator bash-completion-r1 prefix
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
+ https://dev.gentoo.org/~radhermit/vim/vim-8.0.0938-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="vim and gvim shared files"
+HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="nls acl minimal"
+
+DEPEND="sys-devel/autoconf"
+PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
+
+S=${WORKDIR}/vim-${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
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ eapply "${WORKDIR}"/patches
+ 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.ac || 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.ac || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i -e \
+ '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ eapply_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.ac is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ # Let Portage do the stripping. Some people like that.
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # Keep Gentoo Prefix env contained within the EPREFIX
+ use prefix && myconf+=" --without-local-dir"
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --enable-gui=no \
+ --without-x \
+ --disable-darwin \
+ --disable-perlinterp \
+ --disable-pythoninterp \
+ --disable-rubyinterp \
+ --disable-gpm \
+ --disable-selinux \
+ $(use_enable nls) \
+ $(use_enable acl) \
+ ${myconf}
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake tools
+}
+
+src_test() { :; }
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dodir /usr/{bin,share/{man/man1,vim}}
+ emake -C src \
+ installruntime \
+ installmanlinks \
+ installmacros \
+ installtutor \
+ installtutorbin \
+ installtools \
+ install-languages \
+ DESTDIR="${D}" \
+ BINDIR="${EPREFIX}"/usr/bin \
+ MANDIR="${EPREFIX}"/usr/share/man \
+ DATADIR="${EPREFIX}"/usr/share
+
+ keepdir ${vimfiles}/keymap
+
+ # default vimrc is installed by vim-core since it applies to
+ # both vim and gvim
+ insinto /etc/vim/
+ newins "${FILESDIR}"/vimrc-r5 vimrc
+ eprefixify "${ED}"/etc/vim/vimrc
+
+ if use minimal ; then
+ # To save space, install only a subset of the files.
+ # Helps minimalize the livecd, bug 65144.
+ eshopts_push -s extglob
+
+ rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent}
+ rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor}
+ rm "${ED}"/usr/bin/vimtutor
+
+ local keep_colors="default"
+ ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
+
+ local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
+ # tinkering with the next line might make bad things happen ...
+ keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
+ ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
+
+ eshopts_pop
+ fi
+
+ # These files might have slight security issues, so we won't
+ # install them. See bug #77841. We don't mind if these don't
+ # exist.
+ rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null
+
+ newbashcomp "${FILESDIR}"/xxd-completion xxd
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+}
diff --git a/app-editors/vim/Manifest b/app-editors/vim/Manifest
new file mode 100644
index 000000000000..e43cc04059ea
--- /dev/null
+++ b/app-editors/vim/Manifest
@@ -0,0 +1,16 @@
+AUX vim-completion 1004 SHA256 8191a5a47e03de62d67ad6936259c8eb005e50b52d94994bcf4164e54ffefdae SHA512 dccf663a93efdf2ec3be69f49e418a0ef66277e2fae6c12287adde772592e19f5130388a04242121846f1dae39f78b30780c99dc6fe1b847f4f08354bda3cc41 WHIRLPOOL 0f5d9ed640ecd3520c79e9abb4473bbca66f145106d2c997791eacf6f0f93131f102d55b2f056f87484c5d5ca781af958fd48f1a24e2c2c1a4ac1be378700f84
+DIST vim-8.0.0106-gentoo-patches.tar.bz2 2281 SHA256 9823a91b050eb4b001cc50f508d2ad03c7c256ed49183c1af7582318667f48d4 SHA512 39edd9f518c230d2b0486b18aa155572a9eada4a5e21108573d6e66e2eef1276f23b77d766648f018c9cf973a7d03712d8861be6ea13255d7b389912d554a47a WHIRLPOOL d6d01e3944d56762a2a999ee631f89e212360aa030ddd16ea96e32d518ec171e04d8565dcb89e804248d53e4c6e06b19be239ad2316ea88bb57364815b85d26b
+DIST vim-8.0.0386.tar.gz 13000882 SHA256 25b28f6ef55a8d0b3f255f0fbed90ad1450bde7f7b231cc09d86c5119adc95bc SHA512 3169ea4dbc836c724f63d99cd345227f870a3a922beba84a6b42011685c0dd209f6bba8c69af0650c9a57bb47fc541e1150ca8cefb21fcada022259bf4c94a66 WHIRLPOOL 99a5582e0db0dc53fd8385cddf1fbf13d2fe1dd5c8e33c9959288c19d4b85f50139791269edd4ec3d5cbed6548cc3d9c7962ec1706eb422a4ef83c207aac009b
+DIST vim-8.0.0938-gentoo-patches.tar.bz2 2316 SHA256 851418dbbbac25e581eeb44a24e62f8841a7df33f436d1986dd7332fb5d07c60 SHA512 a6062be5e6a5c5b437081312df5742353242b5171bf26da04aa6ca216d2b142b2411a88bc1edd460d28e00a59a210c8e1729e801fac6f1efd86bb2e437a56a2b WHIRLPOOL 8521b344426b5d2b246ddab7768eae45e0ee54ef58085099f9e15575e7854eb461fbcf0093caee1326e29d2425c2d451de36812cda24fa767709fc5d6046236c
+DIST vim-8.0.0938.tar.gz 13287289 SHA256 7a07fb164069ce82e5c90ff3831b6f3249e09193800f76d9c576867a63828071 SHA512 be4b6a29ace6a708cd7d0d3a3585cd3b88056e49f3869e18c6b895272e4ec01a8a7a68695ec2f885dd1fc139ae022a3f1b2d2d11e8b883362b9683cf5a8b0cd3 WHIRLPOOL 5098cf73f8b294686888c8b5a31199044ec1f409cc9c3de39e96911f688374282716a3137827e260c97e688bb42e79a77c53a29fa7d3364ce2c3375c2257b309
+DIST vim-8.0.0983.tar.gz 13292263 SHA256 5f3d5307d7055e3a55811546f6c787f1c65d209ae5b83e36c0de16d64fda8bf2 SHA512 985cdcf134c3513a973b4c91a899684a563fca4c347afba2d51892d737c8b58a2008bbf8573a98838da6df16552096e437a5064dc2ef653c7222bbac59ce6136 WHIRLPOOL 98a1ed102182f07e1dc2105b9bae73e1f6c0f7522b25ab91aba4767a3c9d805082a89bd964ab6441fb4185f4076b046a25ca92bf08f0446e4d2a53b0298bb3e0
+DIST vim-8.0.1056.tar.gz 13309986 SHA256 c061d1ddc0f4001415e68678780eac7121d08877a852fae484e6a93f633aec0c SHA512 19385736d4d97a66a2fb3fd8ce725d42c435da09a41e8b40234048626b28d2fa96c4db96a4313bd30f1c2d3733c52097e147c90e4bc11be80d3fcbf12fa4d13b WHIRLPOOL d81b3166f028867ebf48d43bf249675f16cda0118a2e443606a8cae01b0932d3f8a29ca568d088953d4b9d8afe8299ac207d0213ad247e1c10b9c52ed18514e1
+EBUILD vim-8.0.0386-r1.ebuild 9843 SHA256 46779ed099d073cdaf90b68c6a6afef3de1954a4ad1dee680e3f3040577e97b4 SHA512 08db4fae98cb400f9c105d1cc2e6938de2e64035e78af6fc95dad9e0dabac7faa46c5eeeb481310a8e6854181e526d6cb2e2521234600e77a482a159eddd26ea WHIRLPOOL 3d75af738e603a9518154a57f4159d44b5db95c6b0a0c4b5aa22b1195415767bce2c41aa2c9f5520c95ad260a83eb217144ea330d204b2f62b311f94a82efb2e
+EBUILD vim-8.0.0386.ebuild 10124 SHA256 bf05c7d3c48a49c8ee2ab91799e2258681d3d8cceb631eb0a002c8382e4e9032 SHA512 df3604a0c5025cc34bffa597107e7ee0013a4aa691ad284cefbef701ede72d0db5648d01d20ddd4791b1a30b5359dd2cb1a8f70b0e75e57fcec7b4f045c8d040 WHIRLPOOL 99e4329f7c78df2b274676805d08224440e10144d8ad4e4ca2e45ab7ce3c91fc10efd3dcafa6373920353b21c2b6999b68e3a6bafda31047adfd93138d18fe8f
+EBUILD vim-8.0.0938.ebuild 9862 SHA256 5f9c53f531439dfe1736f8ac12524c8c4595d9b89ad6facb259837a098f908a6 SHA512 bde375f135b25a2cdbb2fd6c267f6fdb8510c7d1dd263e86b5a8afa1f72d58da7cad91c73309e29e4ba0ca7fbd866b6c18da1d70aa479623d5671b0c96cd3f06 WHIRLPOOL 2991cb67ad280b04c37ed8255003f4e4fcf8fff15dcb8a7efdd3cf0db34bd7faf4c7710f78b00787da4ae345f7dd76ea95936499db394e02dd65197baa82b3a3
+EBUILD vim-8.0.0983.ebuild 9870 SHA256 36d1bea04e71cc0e7f0b978d2254c1543f78199349fcc1697f4fdf906a6fd34d SHA512 a35b7c35b67c493879f19db7aa1d4c401b3673798e4a4bb474ee4c9395d87d53fddde7f384631efeb1497fd17d6f5ac0177091f133a396a81b41098a9ccd8c8e WHIRLPOOL 54e8274dd5ec8ec511641c476020d3c0d940dcd2f7afafc53ec86771df1fd8fbc789ea13819b70458952ae372c8ab6dea1d6ce430ec109c1d5c99712cb53f86f
+EBUILD vim-8.0.1056.ebuild 9870 SHA256 36d1bea04e71cc0e7f0b978d2254c1543f78199349fcc1697f4fdf906a6fd34d SHA512 a35b7c35b67c493879f19db7aa1d4c401b3673798e4a4bb474ee4c9395d87d53fddde7f384631efeb1497fd17d6f5ac0177091f133a396a81b41098a9ccd8c8e WHIRLPOOL 54e8274dd5ec8ec511641c476020d3c0d940dcd2f7afafc53ec86771df1fd8fbc789ea13819b70458952ae372c8ab6dea1d6ce430ec109c1d5c99712cb53f86f
+EBUILD vim-9999.ebuild 9870 SHA256 36d1bea04e71cc0e7f0b978d2254c1543f78199349fcc1697f4fdf906a6fd34d SHA512 a35b7c35b67c493879f19db7aa1d4c401b3673798e4a4bb474ee4c9395d87d53fddde7f384631efeb1497fd17d6f5ac0177091f133a396a81b41098a9ccd8c8e WHIRLPOOL 54e8274dd5ec8ec511641c476020d3c0d940dcd2f7afafc53ec86771df1fd8fbc789ea13819b70458952ae372c8ab6dea1d6ce430ec109c1d5c99712cb53f86f
+MISC ChangeLog 7848 SHA256 6fc0792ca6d0bc4bf25efefac019e1938db855deffd2a47a02de28f848e29c48 SHA512 de0459f63bb4caad161089ec6e662cb6f5aba4fc8413de18f205ed5e5ec3b1576fe6d3ad9c5799c333bd3435857801a80eb63d77a9ac3e30c1e9ea44580076d8 WHIRLPOOL d8df884c001bb4572d0c50a0b69ce2cdad81abefc95a66769cde7c34eb50a52db31bb192de1015f8927d123102e0c9c4e1222e02b5955f8aea88d1cca19410f7
+MISC ChangeLog-2015 67669 SHA256 86ac1b2a4e92a9eab943636dde488ccb9351b509b3775e8e11f30e5367d48732 SHA512 f84c582b834fdb2907730b9f409f243e10d98777083a8b9a5b689a803d974f2181a93c7de6d197f4482e6b054992f1324d5e0e9d580f7cc89d6d48947a3e9ed7 WHIRLPOOL 047df580ce408d600fd30222ecd55b24414ee3aaea8cd156728a371a878ee0da86ec18843699bc961a911429c57bbf578bd2d4569c2d116f8cf1bac110ee79b4
+MISC metadata.xml 849 SHA256 ae82c0df451d25d22197d773eb096ca82cf1f01c839f7abc2543f22feb476553 SHA512 a4369827eaaa72339f17b1c673aa5f71625b657afad9d2f6079ffc6fd23775aa8f6c52aca0cb193b4815bc6ca9918617c251767343f7044ab79b83b69038c58b WHIRLPOOL e185dee8e1424534b777c9aab3f39659c97bf24e401e83ebacfc6c2cebd35d7bae4e3d6ce2be7162edb9fc91e84036a51909fa3bd9c149c60eadb1f2d4e1d11a
diff --git a/app-editors/vim/files/vim-completion b/app-editors/vim/files/vim-completion
new file mode 100644
index 000000000000..67537d63101d
--- /dev/null
+++ b/app-editors/vim/files/vim-completion
@@ -0,0 +1,36 @@
+# Author: Ciaran McCreesh <ciaranm@gentoo.org>
+#
+# completion for vim
+
+_vim()
+{
+ local cur prev cmd args
+
+ COMPREPLY=()
+ cur=${COMP_WORDS[COMP_CWORD]}
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+ cmd=${COMP_WORDS[0]}
+
+ if [[ "${prev}" == "--servername" ]] ; then
+ local servers
+ servers=$(gvim --serverlist )
+ COMPREPLY=( $( compgen -W "${servers}" -- $cur ) )
+
+ elif [[ "${prev}" == -[uUi] ]] ; then
+ COMPREPLY=( $( compgen -W "NONE" ) \
+ $( compgen -f -X "!*vim*" -- "$cur" ) )
+
+ elif [[ "${cur}" == -* ]] ; then
+ args='-t -q -c -S --cmd -A -b -C -d -D -e -E -f --nofork \
+ -F -g -h -H -i -L -l -m -M -N -n -nb -o -R -r -s \
+ -T -u -U -V -v -w -W -x -X -y -Y -Z --echo-wid \
+ --help --literal --noplugin --version'
+ COMPREPLY=( $( compgen -W "${args}" -- $cur ) )
+ else
+ _filedir
+ fi
+}
+
+complete -o filenames -F _vim vim ex vi view rvim rview vimdiff
+
+# vim: set ft=sh sw=4 et sts=4 :
diff --git a/app-editors/vim/metadata.xml b/app-editors/vim/metadata.xml
new file mode 100644
index 000000000000..fb8e0f11fb37
--- /dev/null
+++ b/app-editors/vim/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>vim@gentoo.org</email>
+ <name>Gentoo Vim Project</name>
+ </maintainer>
+ <use>
+ <flag name="luajit">Use <pkg>dev-lang/luajit</pkg> instead of <pkg>dev-lang/lua</pkg></flag>
+ <flag name="racket">Enable support for Scheme using <pkg>dev-scheme/racket</pkg></flag>
+ <flag name="terminal">Enable terminal emulation support</flag>
+ <flag name="vim-pager">Install vimpager and vimmanpager links</flag>
+ <flag name="X">Link console vim against X11 libraries to enable title and
+ clipboard features in xterm</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:vim:vim</remote-id>
+ <remote-id type="github">vim/vim</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/vim/vim-8.0.0386-r1.ebuild b/app-editors/vim/vim-8.0.0386-r1.ebuild
new file mode 100644
index 000000000000..dcd889465378
--- /dev/null
+++ b/app-editors/vim/vim-8.0.0386-r1.ebuild
@@ -0,0 +1,329 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 python-single-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~radhermit/vim/vim-8.0.0106-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="Vim, an improved vi-style text editor"
+HOMEPAGE="http://www.vim.org/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2:0=
+ nls? ( virtual/libintl )
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ cscope? ( dev-util/cscope )
+ gpm? ( >=sys-libs/gpm-1.19.3 )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ !minimal? (
+ ~app-editors/vim-core-${PV}
+ dev-util/ctags
+ )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 ) )
+ selinux? ( sys-libs/libselinux )
+ tcl? ( dev-lang/tcl:0= )
+ X? ( x11-libs/libXt )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ nls? ( sys-devel/gettext )
+"
+
+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
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ eapply "${WORKDIR}"/patches/
+ 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.ac || 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.ac || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager ; then
+ cat <<-END > "${S}"/runtime/macros/manpager.sh
+ #!/bin/sh
+ sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
+ vim \\
+ -c 'let no_plugin_maps = 1' \\
+ -c 'set nolist nomod ft=man ts=8' \\
+ -c 'let g:showmarks_enable=0' \\
+ -c 'runtime! macros/less.vim' -
+ END
+ fi
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ eapply_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.ac is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ if use minimal ; then
+ myconf=(
+ --with-features=tiny
+ --disable-nls
+ --disable-multibyte
+ --disable-acl
+ --enable-gui=no
+ --without-x
+ --disable-darwin
+ --disable-luainterp
+ --disable-perlinterp
+ --disable-pythoninterp
+ --disable-mzschemeinterp
+ --disable-rubyinterp
+ --disable-selinux
+ --disable-tclinterp
+ --disable-gpm
+ )
+ else
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable gpm)
+ $(use_enable lua luainterp)
+ $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "")
+ $(use_with luajit)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable python pythoninterp)
+ $(use_enable python python3interp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable tcl tclinterp)
+ )
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # don't test USE=X here ... see bug #19115
+ # but need to provide a way to link against X ... see bug #20093
+ myconf+=(
+ --enable-gui=no
+ --disable-darwin
+ $(use_with X x)
+ )
+ fi
+
+ # let package manager strip binaries
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # keep prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ emake -j1 -C src/testdir nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
+ # managed by eselect-vi
+ dobin src/vim
+ dosym vim /usr/bin/vimdiff
+ dosym vim /usr/bin/rvim
+ dosym vim /usr/bin/rview
+ if use vim-pager ; then
+ dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
+ dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
+ insinto ${vimfiles}/macros
+ doins runtime/macros/manpager.sh
+ fperms a+x ${vimfiles}/macros/manpager.sh
+ fi
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+ # keep in sync with 'complete ... -F' list
+ bashcomp_alias vim ex vi view rvim rview vimdiff
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/vim/vim-8.0.0386.ebuild b/app-editors/vim/vim-8.0.0386.ebuild
new file mode 100644
index 000000000000..9067dade25c4
--- /dev/null
+++ b/app-editors/vim/vim-8.0.0386.ebuild
@@ -0,0 +1,348 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE=threads
+inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 python-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~radhermit/vim/vim-8.0.0106-gentoo-patches.tar.bz2"
+ KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="Vim, an improved vi-style text editor"
+HOMEPAGE="http://www.vim.org/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? (
+ || ( $(python_gen_useflags '*') )
+ ?? ( $(python_gen_useflags 'python2*') )
+ ?? ( $(python_gen_useflags 'python3*') )
+ )
+"
+
+RDEPEND="
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2:0=
+ nls? ( virtual/libintl )
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ cscope? ( dev-util/cscope )
+ gpm? ( >=sys-libs/gpm-1.19.3 )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ !minimal? (
+ ~app-editors/vim-core-${PV}
+ dev-util/ctags
+ )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 ) )
+ selinux? ( sys-libs/libselinux )
+ tcl? ( dev-lang/tcl:0= )
+ X? ( x11-libs/libXt )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ nls? ( sys-devel/gettext )
+"
+
+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
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ eapply "${WORKDIR}"/patches/
+ 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.ac || 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.ac || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager ; then
+ cat <<-END > "${S}"/runtime/macros/manpager.sh
+ #!/bin/sh
+ sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
+ vim \\
+ -c 'let no_plugin_maps = 1' \\
+ -c 'set nolist nomod ft=man ts=8' \\
+ -c 'let g:showmarks_enable=0' \\
+ -c 'runtime! macros/less.vim' -
+ END
+ fi
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ eapply_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.ac is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ if use minimal ; then
+ myconf=(
+ --with-features=tiny
+ --disable-nls
+ --disable-multibyte
+ --disable-acl
+ --enable-gui=no
+ --without-x
+ --disable-darwin
+ --disable-luainterp
+ --disable-perlinterp
+ --disable-pythoninterp
+ --disable-mzschemeinterp
+ --disable-rubyinterp
+ --disable-selinux
+ --disable-tclinterp
+ --disable-gpm
+ )
+ else
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable gpm)
+ $(use_enable lua luainterp)
+ $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "")
+ $(use_with luajit)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable tcl tclinterp)
+ )
+
+ if use python ; then
+ py_add_interp() {
+ local v
+
+ [[ ${EPYTHON} == python3* ]] && v=3
+ myconf+=(
+ --enable-python${v}interp
+ vi_cv_path_python${v}="${PYTHON}"
+ )
+ }
+
+ python_foreach_impl py_add_interp
+ else
+ myconf+=(
+ --disable-pythoninterp
+ --disable-python3interp
+ )
+ fi
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # don't test USE=X here ... see bug #19115
+ # but need to provide a way to link against X ... see bug #20093
+ myconf+=(
+ --enable-gui=no
+ --disable-darwin
+ $(use_with X x)
+ )
+ fi
+
+ # let package manager strip binaries
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # keep prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ emake -j1 -C src/testdir nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
+ # managed by eselect-vi
+ dobin src/vim
+ dosym vim /usr/bin/vimdiff
+ dosym vim /usr/bin/rvim
+ dosym vim /usr/bin/rview
+ if use vim-pager ; then
+ dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
+ dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
+ insinto ${vimfiles}/macros
+ doins runtime/macros/manpager.sh
+ fperms a+x ${vimfiles}/macros/manpager.sh
+ fi
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+ # keep in sync with 'complete ... -F' list
+ bashcomp_alias vim ex vi view rvim rview vimdiff
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/vim/vim-8.0.0938.ebuild b/app-editors/vim/vim-8.0.0938.ebuild
new file mode 100644
index 000000000000..9ec2edf156fc
--- /dev/null
+++ b/app-editors/vim/vim-8.0.0938.ebuild
@@ -0,0 +1,330 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE=threads
+inherit vim-doc flag-o-matic versionator bash-completion-r1 python-single-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~radhermit/vim/vim-8.0.0938-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="Vim, an improved vi-style text editor"
+HOMEPAGE="http://www.vim.org/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl terminal vim-pager"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2:0=
+ nls? ( virtual/libintl )
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ cscope? ( dev-util/cscope )
+ gpm? ( >=sys-libs/gpm-1.19.3 )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ !minimal? (
+ ~app-editors/vim-core-${PV}
+ dev-util/ctags
+ )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 ) )
+ selinux? ( sys-libs/libselinux )
+ tcl? ( dev-lang/tcl:0= )
+ X? ( x11-libs/libXt )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ nls? ( sys-devel/gettext )
+"
+
+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
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ eapply "${WORKDIR}"/patches/
+ 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.ac || 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.ac || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager ; then
+ cat <<-END > "${S}"/runtime/macros/manpager.sh
+ #!/bin/sh
+ sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
+ vim \\
+ -c 'let no_plugin_maps = 1' \\
+ -c 'set nolist nomod ft=man ts=8' \\
+ -c 'let g:showmarks_enable=0' \\
+ -c 'runtime! macros/less.vim' -
+ END
+ fi
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ eapply_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.ac is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ if use minimal ; then
+ myconf=(
+ --with-features=tiny
+ --disable-nls
+ --disable-multibyte
+ --disable-acl
+ --enable-gui=no
+ --without-x
+ --disable-darwin
+ --disable-luainterp
+ --disable-perlinterp
+ --disable-pythoninterp
+ --disable-mzschemeinterp
+ --disable-rubyinterp
+ --disable-selinux
+ --disable-tclinterp
+ --disable-gpm
+ )
+ else
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable gpm)
+ $(use_enable lua luainterp)
+ $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "")
+ $(use_with luajit)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable python pythoninterp)
+ $(use_enable python python3interp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable tcl tclinterp)
+ $(use_enable terminal)
+ )
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # don't test USE=X here ... see bug #19115
+ # but need to provide a way to link against X ... see bug #20093
+ myconf+=(
+ --enable-gui=no
+ --disable-darwin
+ $(use_with X x)
+ )
+ fi
+
+ # let package manager strip binaries
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # keep prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ emake -j1 -C src/testdir nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
+ # managed by eselect-vi
+ dobin src/vim
+ dosym vim /usr/bin/vimdiff
+ dosym vim /usr/bin/rvim
+ dosym vim /usr/bin/rview
+ if use vim-pager ; then
+ dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
+ dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
+ insinto ${vimfiles}/macros
+ doins runtime/macros/manpager.sh
+ fperms a+x ${vimfiles}/macros/manpager.sh
+ fi
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+ # keep in sync with 'complete ... -F' list
+ bashcomp_alias vim ex vi view rvim rview vimdiff
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/vim/vim-8.0.0983.ebuild b/app-editors/vim/vim-8.0.0983.ebuild
new file mode 100644
index 000000000000..1514ffa1b1dc
--- /dev/null
+++ b/app-editors/vim/vim-8.0.0983.ebuild
@@ -0,0 +1,330 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE=threads
+inherit vim-doc flag-o-matic versionator bash-completion-r1 python-single-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~radhermit/vim/vim-8.0.0938-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="Vim, an improved vi-style text editor"
+HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl terminal vim-pager"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2:0=
+ nls? ( virtual/libintl )
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ cscope? ( dev-util/cscope )
+ gpm? ( >=sys-libs/gpm-1.19.3 )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ !minimal? (
+ ~app-editors/vim-core-${PV}
+ dev-util/ctags
+ )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 ) )
+ selinux? ( sys-libs/libselinux )
+ tcl? ( dev-lang/tcl:0= )
+ X? ( x11-libs/libXt )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ nls? ( sys-devel/gettext )
+"
+
+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
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ eapply "${WORKDIR}"/patches/
+ 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.ac || 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.ac || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager ; then
+ cat <<-END > "${S}"/runtime/macros/manpager.sh
+ #!/bin/sh
+ sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
+ vim \\
+ -c 'let no_plugin_maps = 1' \\
+ -c 'set nolist nomod ft=man ts=8' \\
+ -c 'let g:showmarks_enable=0' \\
+ -c 'runtime! macros/less.vim' -
+ END
+ fi
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ eapply_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.ac is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ if use minimal ; then
+ myconf=(
+ --with-features=tiny
+ --disable-nls
+ --disable-multibyte
+ --disable-acl
+ --enable-gui=no
+ --without-x
+ --disable-darwin
+ --disable-luainterp
+ --disable-perlinterp
+ --disable-pythoninterp
+ --disable-mzschemeinterp
+ --disable-rubyinterp
+ --disable-selinux
+ --disable-tclinterp
+ --disable-gpm
+ )
+ else
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable gpm)
+ $(use_enable lua luainterp)
+ $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "")
+ $(use_with luajit)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable python pythoninterp)
+ $(use_enable python python3interp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable tcl tclinterp)
+ $(use_enable terminal)
+ )
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # don't test USE=X here ... see bug #19115
+ # but need to provide a way to link against X ... see bug #20093
+ myconf+=(
+ --enable-gui=no
+ --disable-darwin
+ $(use_with X x)
+ )
+ fi
+
+ # let package manager strip binaries
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # keep prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ emake -j1 -C src/testdir nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
+ # managed by eselect-vi
+ dobin src/vim
+ dosym vim /usr/bin/vimdiff
+ dosym vim /usr/bin/rvim
+ dosym vim /usr/bin/rview
+ if use vim-pager ; then
+ dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
+ dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
+ insinto ${vimfiles}/macros
+ doins runtime/macros/manpager.sh
+ fperms a+x ${vimfiles}/macros/manpager.sh
+ fi
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+ # keep in sync with 'complete ... -F' list
+ bashcomp_alias vim ex vi view rvim rview vimdiff
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/vim/vim-8.0.1056.ebuild b/app-editors/vim/vim-8.0.1056.ebuild
new file mode 100644
index 000000000000..1514ffa1b1dc
--- /dev/null
+++ b/app-editors/vim/vim-8.0.1056.ebuild
@@ -0,0 +1,330 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE=threads
+inherit vim-doc flag-o-matic versionator bash-completion-r1 python-single-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~radhermit/vim/vim-8.0.0938-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="Vim, an improved vi-style text editor"
+HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl terminal vim-pager"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2:0=
+ nls? ( virtual/libintl )
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ cscope? ( dev-util/cscope )
+ gpm? ( >=sys-libs/gpm-1.19.3 )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ !minimal? (
+ ~app-editors/vim-core-${PV}
+ dev-util/ctags
+ )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 ) )
+ selinux? ( sys-libs/libselinux )
+ tcl? ( dev-lang/tcl:0= )
+ X? ( x11-libs/libXt )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ nls? ( sys-devel/gettext )
+"
+
+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
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ eapply "${WORKDIR}"/patches/
+ 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.ac || 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.ac || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager ; then
+ cat <<-END > "${S}"/runtime/macros/manpager.sh
+ #!/bin/sh
+ sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
+ vim \\
+ -c 'let no_plugin_maps = 1' \\
+ -c 'set nolist nomod ft=man ts=8' \\
+ -c 'let g:showmarks_enable=0' \\
+ -c 'runtime! macros/less.vim' -
+ END
+ fi
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ eapply_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.ac is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ if use minimal ; then
+ myconf=(
+ --with-features=tiny
+ --disable-nls
+ --disable-multibyte
+ --disable-acl
+ --enable-gui=no
+ --without-x
+ --disable-darwin
+ --disable-luainterp
+ --disable-perlinterp
+ --disable-pythoninterp
+ --disable-mzschemeinterp
+ --disable-rubyinterp
+ --disable-selinux
+ --disable-tclinterp
+ --disable-gpm
+ )
+ else
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable gpm)
+ $(use_enable lua luainterp)
+ $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "")
+ $(use_with luajit)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable python pythoninterp)
+ $(use_enable python python3interp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable tcl tclinterp)
+ $(use_enable terminal)
+ )
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # don't test USE=X here ... see bug #19115
+ # but need to provide a way to link against X ... see bug #20093
+ myconf+=(
+ --enable-gui=no
+ --disable-darwin
+ $(use_with X x)
+ )
+ fi
+
+ # let package manager strip binaries
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # keep prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ emake -j1 -C src/testdir nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
+ # managed by eselect-vi
+ dobin src/vim
+ dosym vim /usr/bin/vimdiff
+ dosym vim /usr/bin/rvim
+ dosym vim /usr/bin/rview
+ if use vim-pager ; then
+ dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
+ dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
+ insinto ${vimfiles}/macros
+ doins runtime/macros/manpager.sh
+ fperms a+x ${vimfiles}/macros/manpager.sh
+ fi
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+ # keep in sync with 'complete ... -F' list
+ bashcomp_alias vim ex vi view rvim rview vimdiff
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/vim/vim-9999.ebuild b/app-editors/vim/vim-9999.ebuild
new file mode 100644
index 000000000000..1514ffa1b1dc
--- /dev/null
+++ b/app-editors/vim/vim-9999.ebuild
@@ -0,0 +1,330 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE=threads
+inherit vim-doc flag-o-matic versionator bash-completion-r1 python-single-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vim/vim.git"
+else
+ SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~radhermit/vim/vim-8.0.0938-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="Vim, an improved vi-style text editor"
+HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl terminal vim-pager"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2:0=
+ nls? ( virtual/libintl )
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ cscope? ( dev-util/cscope )
+ gpm? ( >=sys-libs/gpm-1.19.3 )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ !minimal? (
+ ~app-editors/vim-core-${PV}
+ dev-util/ctags
+ )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 ) )
+ selinux? ( sys-libs/libselinux )
+ tcl? ( dev-lang/tcl:0= )
+ X? ( x11-libs/libXt )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ nls? ( sys-devel/gettext )
+"
+
+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
+ # Gentoo patches to fix runtime issues, cross-compile errors, etc
+ eapply "${WORKDIR}"/patches/
+ 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.ac || 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.ac || die 'sed failed'
+
+ # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
+ # correctly. To avoid some really entertaining error messages about stuff
+ # which isn't even in the source file being invalid, we'll do some trickery
+ # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
+ find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager ; then
+ cat <<-END > "${S}"/runtime/macros/manpager.sh
+ #!/bin/sh
+ sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
+ vim \\
+ -c 'let no_plugin_maps = 1' \\
+ -c 'set nolist nomod ft=man ts=8' \\
+ -c 'let g:showmarks_enable=0' \\
+ -c 'runtime! macros/less.vim' -
+ END
+ fi
+
+ # Try to avoid sandbox problems. Bug #114475.
+ if [[ -d "${S}"/src/po ]] ; then
+ sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
+ "${S}"/src/po/Makefile
+ fi
+
+ if version_is_at_least 7.3.122 ; then
+ cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
+ fi
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ if version_is_at_least 7.3 ; then
+ sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+ fi
+
+ eapply_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.ac is newer than auto/configure
+ # (2) Rebuild auto/configure
+ # (3) Notice auto/configure is newer than auto/config.mk
+ # (4) Run ./configure (with wrong args) to remake auto/config.mk
+ sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -f src/auto/configure
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
+ [[ -e ${file} ]] && addwrite $file
+ done
+
+ if use minimal ; then
+ myconf=(
+ --with-features=tiny
+ --disable-nls
+ --disable-multibyte
+ --disable-acl
+ --enable-gui=no
+ --without-x
+ --disable-darwin
+ --disable-luainterp
+ --disable-perlinterp
+ --disable-pythoninterp
+ --disable-mzschemeinterp
+ --disable-rubyinterp
+ --disable-selinux
+ --disable-tclinterp
+ --disable-gpm
+ )
+ else
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable gpm)
+ $(use_enable lua luainterp)
+ $(usex lua "--with-lua-prefix=${EPREFIX}/usr" "")
+ $(use_with luajit)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable python pythoninterp)
+ $(use_enable python python3interp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable tcl tclinterp)
+ $(use_enable terminal)
+ )
+
+ # --with-features=huge forces on cscope even if we --disable it. We need
+ # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
+ if ! use cscope ; then
+ sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
+ die "couldn't disable cscope"
+ fi
+
+ # don't test USE=X here ... see bug #19115
+ # but need to provide a way to link against X ... see bug #20093
+ myconf+=(
+ --enable-gui=no
+ --disable-darwin
+ $(use_with X x)
+ )
+ fi
+
+ # let package manager strip binaries
+ export ac_cv_prog_STRIP="$(type -P true ) faking strip"
+
+ # keep prefix env contained within the EPREFIX
+ use prefix && myconf+=( --without-local-dir )
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ einfo "Starting vim tests. Several error messages will be shown"
+ einfo "while the tests run. This is normal behaviour and does not"
+ einfo "indicate a fault."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ emake -j1 -C src/testdir nongui
+}
+
+# Make convenience symlinks, hopefully without stepping on toes. Some
+# of these links are "owned" by the vim ebuild when it is installed,
+# but they might be good for gvim as well (see bug 45828)
+update_vim_symlinks() {
+ local f syms
+ syms="vimdiff rvim rview"
+ einfo "Calling eselect vi update..."
+ # Call this with --if-unset to respect user's choice (bug 187449)
+ eselect vi update --if-unset
+
+ # Make or remove convenience symlink, vim -> gvim
+ if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
+ ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
+ elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
+ rm "${EROOT}"/usr/bin/vim
+ fi
+
+ # Make or remove convenience symlinks to vim
+ if [[ -f "${EROOT}"/usr/bin/vim ]]; then
+ for f in ${syms}; do
+ ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
+ done
+ else
+ for f in ${syms}; do
+ if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
+ rm -f "${EROOT}"/usr/bin/${f}
+ fi
+ done
+ fi
+
+ # This will still break if you merge then remove the vi package,
+ # but there's only so much you can do, eh? Unfortunately we don't
+ # have triggers like are done in rpm-land.
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
+ # managed by eselect-vi
+ dobin src/vim
+ dosym vim /usr/bin/vimdiff
+ dosym vim /usr/bin/rvim
+ dosym vim /usr/bin/rview
+ if use vim-pager ; then
+ dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
+ dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
+ insinto ${vimfiles}/macros
+ doins runtime/macros/manpager.sh
+ fperms a+x ${vimfiles}/macros/manpager.sh
+ fi
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+ # keep in sync with 'complete ... -F' list
+ bashcomp_alias vim ex vi view rvim rview vimdiff
+
+ # We shouldn't be installing the ex or view man page symlinks, as they
+ # are managed by eselect-vi
+ rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Make convenience symlinks
+ update_vim_symlinks
+}
diff --git a/app-editors/vis/Manifest b/app-editors/vis/Manifest
new file mode 100644
index 000000000000..c43d5aba3849
--- /dev/null
+++ b/app-editors/vis/Manifest
@@ -0,0 +1,4 @@
+DIST vis-0.3.tar.gz 334216 SHA256 bed8ed32ef4f81bc4fd28e297ea8edc80027ac6923b9d3b5bd955d24899c7077 SHA512 e1ca009bd7569f22dacf7464791f9f4499695d15d6e38e1be491d39e7ebe0530de643be5c1e7647e9beb7969a17efab6545d3e719fe8cf311562e89d636bba62 WHIRLPOOL a0ddd69b88b4131d4b9c2ba5494e255f20cd99f91998e4ad4fcec3e0298e39d9319571201b8ae4c8b4d21da78b99d865d72bfb534024a89863d66b9968e562c8
+EBUILD vis-0.3.ebuild 904 SHA256 54ac7b826cad3c88f7d760fdc47376d1faa89d20e32c24e88062940f9d718ee7 SHA512 eda1cf1e88cbe41746b0a5623afdabea7e4c8fe332744ad87cbb73ed2b9866bd5a6edd761c00a68282ff12c1e328802d435fe544d0f56bb0899a9d9e4d1f13bc WHIRLPOOL e3b36be7efad04f8e698a267bb84dfdf1aa2c2adf3f9aff0c273b0e715ece25a7354d5ca58666bc1138dd4a4a872d39e1a690cd8a6be322ba631a3516e91684b
+EBUILD vis-9999.ebuild 881 SHA256 49c364d23aa5438060dbfef6aadc484eeec488cc8d4488312a440c74c564f5c4 SHA512 47c8bc9c096f9f738d560e89b75541ce31f8592bf5dd1f17c4350eca06633855bc24a4375c2af2648a3434303cb3f734e95f246a450bd2bf1bdf108a80ff435d WHIRLPOOL dacae5629931f290c509e73512675c51d8bc613da29e9b1f11b59330a034c878493f71a022595016d8e93ab8be3717810e965b05ac71ca311b449e2d7b6ff992
+MISC metadata.xml 593 SHA256 76590835fe6b60514d8799a84997aa02878fc791c904f69e639defaa1b01da3b SHA512 c9fce79e630218ffd9300592ca35a700bc5291a2a8453b30a1e33a4e64d03d9c5cf4f95357fdd87fc7b206a5d113b52b182dfb34ae713273992dc5d295a89730 WHIRLPOOL 0756aeaa99417d9ccf1f5902bd0be88ebeba39bd75006a869d6e390bda5c29f66ccfe9a9a20efbf43d160199edf2d1199be2f5ed83cde80fdc49a8d2b172f4ef
diff --git a/app-editors/vis/metadata.xml b/app-editors/vis/metadata.xml
new file mode 100644
index 000000000000..0226bf9ceda3
--- /dev/null
+++ b/app-editors/vis/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>contact@hacktivis.me</email>
+</maintainer>
+<maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+</maintainer>
+<longdescription lang="en">
+Vis aims to be a modern, legacy free, simple yet efficient editor combining the strengths of both vi(m) and sam.
+</longdescription>
+<use>
+ <flag name="tre">more memory efficient regex search using <pkg>dev-libs/tre</pkg></flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/vis/vis-0.3.ebuild b/app-editors/vis/vis-0.3.ebuild
new file mode 100644
index 000000000000..e6ef1b663060
--- /dev/null
+++ b/app-editors/vis/vis-0.3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="modern, legacy free, simple yet efficient vim-like editor"
+HOMEPAGE="https://github.com/martanne/vis"
+SRC_URI="https://github.com/martanne/vis/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+ncurses selinux tre"
+
+#Note: vis is reported to also work with NetBSD curses
+#TODO: >=dev-lang/lua-5.2 (needed for syntax highlighting and settings)
+DEPEND=" dev-libs/libtermkey
+ ncurses? ( sys-libs/ncurses:0= )
+ tre? ( dev-libs/tre:= )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf \
+ $(use_enable ncurses curses) \
+ $(use_enable selinux) \
+ $(use_enable tre)
+}
+
+update_symlinks() {
+ einfo "Calling eselect vi update --if-unset…"
+ eselect vi update --if-unset
+}
+
+pkg_postrm() {
+ update_symlinks
+}
+
+pkg_postinst() {
+ update_symlinks
+}
diff --git a/app-editors/vis/vis-9999.ebuild b/app-editors/vis/vis-9999.ebuild
new file mode 100644
index 000000000000..55adf2006010
--- /dev/null
+++ b/app-editors/vis/vis-9999.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit git-r3
+
+DESCRIPTION="modern, legacy free, simple yet efficient vim-like editor"
+HOMEPAGE="https://github.com/martanne/vis"
+EGIT_REPO_URI="https://github.com/martanne/vis.git"
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS=""
+IUSE="+ncurses selinux tre"
+
+#Note: vis is reported to also work with NetBSD curses
+#TODO: >=dev-lang/lua-5.2 (needed for syntax highlighting and settings)
+DEPEND=" dev-libs/libtermkey
+ ncurses? ( sys-libs/ncurses:0= )
+ tre? ( dev-libs/tre:= )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf \
+ $(use_enable ncurses curses) \
+ $(use_enable selinux) \
+ $(use_enable tre)
+}
+
+update_symlinks() {
+ einfo "Calling eselect vi update --if-unset…"
+ eselect vi update --if-unset
+}
+
+pkg_postrm() {
+ update_symlinks
+}
+
+pkg_postinst() {
+ update_symlinks
+}
diff --git a/app-editors/wily/Manifest b/app-editors/wily/Manifest
new file mode 100644
index 000000000000..7c87732fc2d2
--- /dev/null
+++ b/app-editors/wily/Manifest
@@ -0,0 +1,5 @@
+DIST wily-9libs.tar.gz 125247 SHA256 997e1f217047d7a4e048f55bdc3e9c040c61c0598212dda1c3d1fcca5dc9dc34 SHA512 3c06ef1d9c6e77a00037570f8b8bdbcdfc7648f691675db679ba83ac0ce092762a4020b0483acd325aa57810e9a386800a94c5e6e2b5002a963b4751a4d30a5b WHIRLPOOL ddc22e6d65ca41ae452f8a9d3a62390ee77876b31c755589b1bc33606451a170eecd87566d463146bfbc014ba5585632bb0dedd314feca4cd5b50f185f17fd4d
+EBUILD wily-1.0-r1.ebuild 828 SHA256 07efeb4b2eda0833616a1cba033bb526f305dc895a1c7cbede08431a85d16d09 SHA512 3a234be733ff9c8f632b6481ceee425e9b673e4a430c4aba3c8a732f740dde39c2e49c6cfc87fe323d134ba1739d900ea34160b2e34725db953d22af25718ead WHIRLPOOL d3be85a4c712d8dcee5402b01074458f68063f0be53a2abde9859e97ddf037cc5b274c7c044ac8dac372f7468f3748efc38e1a8b8e6ad227a04bd10b24ed395d
+MISC ChangeLog 2518 SHA256 ff30a2aa6cc77f6455a95070cd902dc6ef3e63638c5c0eb2d43c513efb153090 SHA512 78325bf44f1c371d9fbea8955cd660266528aeffa2ed10b5871e0d4cfb8f9fc526609be6387bb7dd6f3c9e5ca148b1cefa1cda9cb393a96e9545f4f58c644a46 WHIRLPOOL 5265a6afa1ef9e7d78c1e8748d26f6813e91c391397062e2190a09cfeecf44bf87057dcf9c2a61034748c875c06ec2951d4daae834fb66704a6e734d98f5b486
+MISC ChangeLog-2015 2118 SHA256 f1a4c42dced2f0eaf01f68306ce63aa3aa4883640e58521223346fbf4411eca6 SHA512 05b492d15d54bb40e265095b37efdfd6db438770dadd748e19fbc199293e06b6480341903ab7a64d7369f6246e6bd5ba7c01db2f864f91d80f9c0b654c1302a9 WHIRLPOOL 06fbda3abad5deb3c5e8146605334797cecd4ae14a501029380219c73228fe0fe26fe0d631323e6636ae3a722f0c889d7dfac0159c0d60c9a1831953100d7fab
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/app-editors/wily/metadata.xml b/app-editors/wily/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/app-editors/wily/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/app-editors/wily/wily-1.0-r1.ebuild b/app-editors/wily/wily-1.0-r1.ebuild
new file mode 100644
index 000000000000..1067a1ca4a99
--- /dev/null
+++ b/app-editors/wily/wily-1.0-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit toolchain-funcs
+
+MY_P="${P/1.0/9libs}"
+
+DESCRIPTION="An emulation of ACME, Plan9's hybrid window system, shell and editor"
+HOMEPAGE="http://www.netlib.org/research/9libs/"
+SRC_URI="ftp://www.netlib.org/research/9libs/${MY_P}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="x86"
+IUSE=""
+
+DEPEND="dev-libs/9libs
+ >=x11-libs/libX11-1.0.0
+ >=x11-libs/libXt-1.0.0
+ >=x11-libs/libICE-1.0.0
+ >=x11-libs/libSM-1.0.0"
+
+S="${WORKDIR}/${MY_P}"
+
+src_compile() {
+ export CC="$(tc-getCC)"
+ econf --includedir="/usr/include/9libs" || die "configure failed."
+ emake || die "make failed."
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "make install failed."
+ dodoc README
+ insinto /usr/share/${PN}
+ doins "${S}"/misc/*
+}
diff --git a/app-editors/wxhexeditor/Manifest b/app-editors/wxhexeditor/Manifest
new file mode 100644
index 000000000000..9b1284b0afff
--- /dev/null
+++ b/app-editors/wxhexeditor/Manifest
@@ -0,0 +1,6 @@
+AUX wxhexeditor-0.23-syslibs.patch 2587 SHA256 8ae276f12c27f1623c54d3ec93bf7ed727999df02be20720be7d978131c50680 SHA512 243fe4573d442e66e41fdc1c73c2038bb802cd0822762de30b44c77e4ec15632a03cc06a7694ee45ac81f2c895fe283ef8d30996df9de8cd682dbd9359f805b2 WHIRLPOOL 7361d5f6917a03a28eac8bfbf6cd74518f4e4e6a790827cd4103b01c2217b117119cb4cf6bb6428681a90ae2f980241aa88ed669318aaa1cef49508cc71796aa
+DIST wxHexEditor-v0.23-src.tar.bz2 2534659 SHA256 24a5a8b8df3abfbc3836d07b379003b45ea0ab0d2d45cb9611c797c595f8972b SHA512 abbd2338c2d0d7d514342f5c330ea42c9ee1f3489c4661426927f51c802a7806e4ee965fa5d467c7b928ba87395eb6c351ab5f43f18d5fce836adede5f1d6be4 WHIRLPOOL 808bc8694a89f1eadb1b2c772cd69c76c7e3aba82d793f94f75a6392de5009546c2ada78bd8513f551edfd878251056ace367d9bbfdb21cd5f0bea4899c30c9f
+EBUILD wxhexeditor-0.23.ebuild 1016 SHA256 01d559f9c9f46746b6f1aecfa8a0646022c5f648ac7891fbba33a971629deab9 SHA512 7226c5c5f9f3e4e58d2f82707b6a6cdfce5ec1b0eaedded0da033e149b06b0811f323e2d32eb698c222a6209a78a98f5c70eb74b976520e5d4044cd02369016a WHIRLPOOL 8f8835be23b443e05d22b8318cfb9f038d407dc5cba3d6cf1c551da9941fe8dbc6cff401a21f8780fc3792f47e503b37bcaef31f00eab2c2241894490183f878
+MISC ChangeLog 3519 SHA256 3d74a2c5255d6c31cd4773653f81b77343ec44e9f294017b76bee6405ad95e78 SHA512 27d1716e7fb72efaef027b5b7962a9ca94e7c02f39d0ab475e5a00b7821b97bbc478757a1965120c7a4df3c47e46d6d7544f9558d1906be8a1b867938bdcdae8 WHIRLPOOL 002c1844ea615c044f042c68a1a90cf6f036e87d014b0cf8c340187be4ef5fb706a80307545ee5c45a9279e0c380fc0a996ab4e5a30289219d8865b06607f324
+MISC ChangeLog-2015 1933 SHA256 2405d588c653d083a25db65e024676c4eb39e02b6c8490ab1bd7bfa8a4c93568 SHA512 56c8a2087e65f5593c8ba4283e07378eebdcea6ac8a34764cf9deb188ad8d676ea7165ee8da4748221c1d8aab3eced0fa570d8f5dd832932d17010dae7dcd77a WHIRLPOOL d3368feabbc53518352a13d5741ac7cdd482c1bc1a80399fd9d8a222a67a471989ee9acba732271a1206d2745ff45d7e0cd67ac66fa8541228d1a9e013769a75
+MISC metadata.xml 352 SHA256 da669723c218b8d89df4cd9dc45f1a9331056bc1e41e83ecf0e26dbf09b1abc7 SHA512 918e551de8f159920d7d98010dc748efb0e9a79c9a11f6d6fcd44127d3779a66510da18cbccc69a974472bf3f230fd5cadbc15665a4a3710b8c1b92237725f6a WHIRLPOOL 23f07c75bdd0ee57b244a6de59d878e10e00306028198b8ac952d9fbc202bfb13872ff5caf097576c40eeaeef45b3e6cff614415ab37e881bbfa4cd6826e33ee
diff --git a/app-editors/wxhexeditor/files/wxhexeditor-0.23-syslibs.patch b/app-editors/wxhexeditor/files/wxhexeditor-0.23-syslibs.patch
new file mode 100644
index 000000000000..341c63bd8dd5
--- /dev/null
+++ b/app-editors/wxhexeditor/files/wxhexeditor-0.23-syslibs.patch
@@ -0,0 +1,84 @@
+Use system copies of mhash and udis86.
+Also pass -fopenmp when linking to avoid build errors.
+
+--- a/Makefile
++++ b/Makefile
+@@ -3,9 +3,9 @@ WXCONFIG = wx-config
+ #CXX ?= `$(WXCONFIG) --cxx`
+ CC = `$(WXCONFIG) --cc`
+ CXX = `$(WXCONFIG) --cxx`
+-LDFLAGS += -lgomp
++LDFLAGS += -fopenmp -lgomp
+ #add this ldflags for WinConsole "-Wl,--subsystem,console -mconsole" for win-debug
+-WXCXXFLAGS= `$(WXCONFIG) --cxxflags` -Iudis86 -Imhash/include -MMD -fopenmp
++WXCXXFLAGS= `$(WXCONFIG) --cxxflags` -MMD -fopenmp
+ WXLDFLAGS = `$(WXCONFIG) --libs` `$(WXCONFIG) --libs aui` `$(WXCONFIG) --libs core`
+ RC = `$(WXCONFIG) --rescomp`
+ #RC = x86_64-w64-mingw32-windres --define WX_CPU_AMD64
+@@ -25,7 +25,7 @@ SOURCES= src/HexEditorGui.cpp \
+ src/HexEditorCtrl/wxHexCtrl/Tag.cpp\
+ src/HexEditorCtrl/HexEditorCtrlGui.cpp\
+ src/HexEditorFrame.cpp
+-LIBS = udis86/libudis86/.libs/libudis86.a mhash/lib/.libs/libmhash.a
++LIBS = -ludis86 -lmhash
+ OBJECTS=$(SOURCES:.cpp=.o)
+ DEPENDS=$(OBJECTS:.o=.d)
+ LANGUAGEDIRS=`ls -l ./locale | grep ^d | sed s/.*\ //g;`
+@@ -36,7 +36,7 @@ EXECUTABLE=wxHexEditor
+ EXECUTABLE_WIN=$(EXECUTABLE).exe
+ EXECUTABLE_DIR_MAC=$(EXECUTABLE).app
+
+-PREFIX = /usr/local
++PREFIX = /usr
+ BINDIR = $(PREFIX)/bin
+ DATADIR = $(PREFIX)/share
+ LOCALEDIR = $(DATADIR)/locale
+@@ -63,15 +63,6 @@ langs: $(MOBJECTS)
+ %.mo : %.po
+ $(MSGFMT) $< -o $@
+
+-udis86/libudis86/.libs/libudis86.a:
+- cd udis86;./autogen.sh
+- cd udis86;./configure --host=$(HOST) CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" CPPFLAGS="$(CPPFLAGS)"
+- cd udis86/libudis86; $(MAKE) $(MFLAGS)
+-
+-mhash/lib/.libs/libmhash.a:
+- cd mhash; ./configure --host=$(HOST) CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" CPPFLAGS="$(CPPFLAGS)"
+- cd mhash; $(MAKE) $(MFLAGS)
+-
+ win: $(RESOURCES) $(EXECUTABLE_WIN)
+
+ #Stack override required for file comparison function...
+--- a/src/HexDialogs.cpp
++++ b/src/HexDialogs.cpp
+@@ -24,7 +24,7 @@
+ #define NANINT 0xFFFFFFFFFFFFFFFFLL
+ #include "HexDialogs.h"
+ #include <wx/progdlg.h>
+-#include "../mhash/include/mhash.h"
++#include <mhash.h>
+
+ #ifdef _OPENMP_
+ #include <omp.h>
+--- a/src/HexEditor.h
++++ b/src/HexEditor.h
+@@ -25,7 +25,7 @@
+ #ifndef _wxHexEditor_h_
+ #define _wxHexEditor_h_
+
+-#include "../mhash/include/mhash.h"
++#include <mhash.h>
+
+ #include <wx/ffile.h>
+ #include <wx/clipbrd.h>
+--- a/src/HexPanels.h
++++ b/src/HexPanels.h
+@@ -27,7 +27,7 @@
+ #include "HexEditorFrame.h"
+ #include "HexEditorCtrl/HexEditorCtrl.h"
+ #include "HexEditorCtrl/wxHexCtrl/wxHexCtrl.h"
+-#include "../udis86/udis86.h"
++#include <udis86.h>
+
+ #ifdef WX_GCH
+ #include <wx_pch.h>
diff --git a/app-editors/wxhexeditor/metadata.xml b/app-editors/wxhexeditor/metadata.xml
new file mode 100644
index 000000000000..9065be762a9d
--- /dev/null
+++ b/app-editors/wxhexeditor/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 type="project">
+ <email>wxwidgets@gentoo.org</email>
+ <name>Gentoo wxWidgets Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">wxhexeditor</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/wxhexeditor/wxhexeditor-0.23.ebuild b/app-editors/wxhexeditor/wxhexeditor-0.23.ebuild
new file mode 100644
index 000000000000..21b74845f48d
--- /dev/null
+++ b/app-editors/wxhexeditor/wxhexeditor-0.23.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PLOCALES="ar cs de es fr hu_HU it ja_JP nl_NL pl pt_BR ro ru tr zh_CN"
+
+inherit eutils l10n toolchain-funcs wxwidgets
+
+MY_PN="wxHexEditor"
+
+DESCRIPTION="A cross-platform hex editor designed specially for large files"
+HOMEPAGE="http://wxhexeditor.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_PN}-v${PV}-src.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ app-crypt/mhash
+ dev-libs/udis86
+ x11-libs/wxGTK:3.0[X]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_PN}"
+
+pkg_pretend() {
+ tc-has-openmp \
+ || die "${PN} uses OpenMP libraries. Please use an OpenMP-capable compiler."
+}
+
+src_prepare() {
+ WX_GTK_VER="3.0" need-wxwidgets unicode
+ epatch "${FILESDIR}"/${P}-syslibs.patch
+
+ do_kill_locale() {
+ rm -r "${S}"/locale/${1}
+ }
+
+ rm "${S}"/locale/wxHexEditor.pot
+ l10n_find_plocales_changes "${S}"/locale '' ''
+ l10n_for_each_disabled_locale_do do_kill_locale
+}
diff --git a/app-editors/xemacs/Manifest b/app-editors/xemacs/Manifest
new file mode 100644
index 000000000000..744228229aa9
--- /dev/null
+++ b/app-editors/xemacs/Manifest
@@ -0,0 +1,28 @@
+AUX README.Gentoo 1426 SHA256 9fa4fa31fc4deb0742dd220c8a1cf41af2bb4f4651e4f995589389afcc9f5f92 SHA512 0576235fb09ea9ad5fbe5b1bbaa41dd37913603ab40773f2c476b72e147eac9b8de62f600717d06d5366184deadb55e0002e79b9987ba215bad5ebee41fdfbb1 WHIRLPOOL a0687729c64ac2323d3b2d3fb8db9a68368553a3188725ade8d2a1d2b5c09ae32e3f8079037edc9c1f1e933894b9d287dd0c24fa8feb5dde953df9490a5403de
+AUX xemacs-21.4.19-db.patch 3157 SHA256 c0c0cf18ccd01ee0e34e913c4f275977f4f61aa7343fef9fdff1f3ba84096022 SHA512 b4987784295c5d2335440dccca4e157d5ccece510d97fc131e33f701fc2dc48bd01080df577c6e588d926703f7b461a347d0d3e3f99931e10cdb8b11592b35be WHIRLPOOL 0ff39c8a7ba863194636a71e55831d145c79c2f45463c21705763618bcf4e2092ee2cef3ae485de8d8eb335dbe66d2d560674cf3028d29b23de1f1c358a0c122
+AUX xemacs-21.4.19-texi.patch 1107 SHA256 9f7af4de522d03c9e78076c4801db775ce919d30b27f4f84c8b055d17f476ae5 SHA512 8b032464dfdeed928c1d4fc566657762fa791e64a3b255a2725edf0d244b76c928c9dcc643584debbaa5b8c1d3c53f635950905ab30900f6d758ed5951d3c219 WHIRLPOOL 6aff14b5206492c5f519bd199927a438ecfc754527196e96f2106eaa2b5e416e09ee3e1313b93a53435249c5a44a626d37c1ab299a66927a9532ee5f04b394ba
+AUX xemacs-21.4.21-vcdiff.patch 476 SHA256 adf0bb95ef289187027203f28fb0055be817c6b54211912bc33c16a9ff9cfb2c SHA512 89d8c8ba5af0467057506b9e2b974fa5d09432e7375dcd0517007ad4d28fee8019895667bc4291fe500b1a039fbeef0b82d2318995ca41ed7045327dff860f85 WHIRLPOOL 0c0343e962bad880f328b292c73240dade407b60dea93c400101f9c3db76d92a0b4cd3a891647df390ba6cace35e1d1050961f576364f5478833d5ec411df4d5
+AUX xemacs-21.4.22-deprecated-ldap.patch 516 SHA256 41100c6c9fc45d90aa4618e9e9897f229854fbea60ba34fb0e6b82e8e8a37a7b SHA512 4761f5759741f733518668fededec21ab2e9ec1cb883a363ca23669e1c82d9d44c03126a758da02c21cad8a810c3f83f0516f2bad4103fbea2cf73b00516b388 WHIRLPOOL ae9da77b267b96e8fc3c87e3498f1bee86fd0a2629be4083da84a3ddf50651c18d32c9e6af552cb3fa569f944b58e559a23c38554e27af4e6cd3b2ae94ad3dfa
+AUX xemacs-21.4.22-large-images.patch 4695 SHA256 bde9b13e2e57f25564d732213fa5cb5f2bef17ce8580f8d18e81975febade3f8 SHA512 b1e03d7824d0fed82eff4fc6e5d6cd7e9f1b94e6eeec5d429b8a66027a9fc95943318c4c010bbb0f57d59b31a90bab94360a41bb0858735da59ffcfb75d59319 WHIRLPOOL 391d95c4fb41fb2a9fe40fb90973a7475fe69079e8199345a0a3029d08d08b6f593452e3ecc44805bd505f8790344be834ddc9fc12d85d587d76716854b7316b
+AUX xemacs-21.4.22-libpng15.patch 2593 SHA256 d2e1b5a1410cd6394f055092db591caba3c615f6bb26d4c8f1ff6507b0d70a69 SHA512 f026634a164e4d34eb10a4fa60da3a86743f9cd8bda8e760a7ad206fa4056a4e4c2236c9e8a4ac92d70883b5838086e48e5d5647979a3692c15da0a765aa2e1e WHIRLPOOL ec21ac2290415f0c6c475e4628be241a0f73301453cbd5e8d82a655882165e9b92b37084216d4f7eabf82676859e6b7c306aff0fccbbe739a5f5d4846b818f13
+AUX xemacs-21.4.22-texinfo-5.patch 12752 SHA256 282a8291a1e9c7436ffbfb86c6b458d5b80ab4154131bf783e4c97aa1685ca12 SHA512 0817a882ca75d99537865a23a4565e9f8b21af75b1cb90f951ee672b0ad6485542d10b28c5c7532267b07e1fae973879e40f174a1dac40ef7dc305f34a575637 WHIRLPOOL e6528655da5439f66e7f43d67cd19ea539af9d7ed87e136e59a54f40e02cf9d458ffb3b05bcc157dff3adfdbe3c6c98b4e3fd6f0ad5d28baa8a4c9b0d242f22a
+AUX xemacs-21.4.24-gcc5.patch 1132 SHA256 5a2ec81e20914af91ade0c80a4683783a46d4dd2ee993eaea2b138287ca15458 SHA512 1b3e56804594b82209ddb6318c2bff13b8e63f189d98e5ff313022eb66267eb45683841599dadd8a4d97e5e221dd85195121246fba5c91eade905e1d7b593749 WHIRLPOOL 05b61799c344e581fd23621ebc10743b9b5652c820c74432d219b4614b7e4fb84de9c344f023ba524dd94539c2559ce237245b23ee80ef585af37a7d06ab1f2e
+AUX xemacs-21.4.24-glibc-macro.patch 1081 SHA256 09af1a7c5cc6f70dfd21d4f3beaaab88a3c396498ddaf12bc7624f56970eb77e SHA512 6802260f60cd8ad14f9f7f4dc156e1914cbefd7efae38837426f54f141bec6241c210c28120badfdf46d0cd2866014cf31b05ee228c407cdb0f387ea5cf56e3b WHIRLPOOL 4a538dc63e4083acbdb655c3d45e922c45a052570ec1f19b43640c1385b64ecf07f32116db264e97aec26506e02da26eb4b5c37dcc74e0cf335fad263297613b
+AUX xemacs-21.4.24-ncurses-tinfo.patch 538 SHA256 be591ab5ef7d2ec3c68310d9c8915a57dd8be90b1afbed2496c833a79e5fc4a2 SHA512 61af7d1090f160802a6a5ff2ba28ff2d9d2a39ac615c692748a76f60c4f93b6d09a66fbf797467257efe1a269aa90033f5384423521b1e403defb6cbd8709bb3 WHIRLPOOL bad539f5a147e61f61d3316381ce9de279902a66c776d905b0e1763662dc8c7c6439691e96e5257dc28cf15136990df18e5edfd90feedfec88a48cce622338dc
+AUX xemacs-21.5.29-optimization-bug.patch 371 SHA256 14c5d9ddab865a9e4a1c6d4f64ed44e4b16e0eccb9fdcef94cedfaa30948863c SHA512 a955379e9abe736bdc17eeb9e924b9bf292bf4c9b2f59ca6221a09de8dafa020350ff5466732779bbb01f05152e8a823e333b9c967a6ec2fb5c1f2c9d7f694da WHIRLPOOL 9405db9d2dc618310f30e6a257a95667dfb94782db0f7ec3f5a7c702a210e9293bbe04cec5b8a1c59ec94a35b4960b1a03fbf3ce0892e29c3657fa93bbf97150
+AUX xemacs-21.5.33-no-mule-build.patch 1393 SHA256 805014085e7faeacd98d7bb2a3a57e49cf6a6f991db26dfa28230373044f2809 SHA512 2afac7a199455ad0ace5a63f6a1e2b73d8f2a8da3eb93b59975b2d654ae85acd24d206ba0d9cfe08e35fb1fdea757fc6cd3588f4b97b75991eb946885eab85b4 WHIRLPOOL 6d1e2d2df7059d0b8477eadccfeb8873a8dde3a129bc06ffdca4e86950c1df924070212198dcb309f00287f0a4525e230b6df1827c209bb058ae3f6d6feffa11
+AUX xemacs-21.5.34-gcc5.patch 1194 SHA256 e72a849fdcf4f4bc2ec4b5ef66e066a4498fd9b6ea17b71d52395c35097b9bcb SHA512 276f3e10334c3809f625e69ea0d56585fd429e9aced65331bd1ca0ced467bcf526cee43925b4c4dc381723883348877782e1c234db00e60c3d74a78021a2330b WHIRLPOOL 12c8179bbbcf9ef51eada3955444d4013fc85febb3cc51eb48ac69c81250412f0a497e9fdfd72f34a2ec358bd5ee16a687e42614531f389473f1ef39e185fb4b
+AUX xemacs-21.5.34-glibc-macro.patch 1369 SHA256 20c320e475d35b89f966b555ecba0dcd3cbbb8abe7e49939e8d4f309c4fe09c6 SHA512 6397267d99649f62a20a0a1f2bc380360ed7689691adde515421286b3bcad55dbb0cea246427e03f904fd829624060ad7ae66a67c63f16f3b3c1f88803022176 WHIRLPOOL bca96f308eba1e9c3b4be169d2cb83f2ecb98a2c89a88f4780399983a9c931f9241a7ac1f09d425f24bc327b7395e87f8a577a61ec13af210c5c20a3685de85c
+AUX xemacs-21.5.34-ncurses-tinfo.patch 699 SHA256 ded43ce90666103396d63e7a3180f9f65cfff81352db16bee5d304982c6ec3ef SHA512 814b01388e7eb5963307dd5cd136725dd6d0d206b1a4e8ffc2ca8dabdd0070a58122fb4faa943efead1fe70f6309819177870630e05e5c02b51dc5e2aa0bd765 WHIRLPOOL 57f3dac98434869bf694992e32e00802237cdd89452fa2e3cd55b004767d19f0b43bab563321e2dfa94eb292c664d5a8f41f8ebcb32b5fd9e7e1d0324d3ef0ff
+AUX xemacs.desktop 1061 SHA256 0f73f0492c8f647892ff94c76d7fe99bb8271ca79573093061870a60f35eaf5e SHA512 6542fc7777af888ae711d386918e712e1d106635f70e65af77d1e809156baba9831fc4c8bd2cb7e7c6f9ab0ab18ddfb92709ac2909aa613471101454599bdb69 WHIRLPOOL 1124a7f80ce877110e8ddd27f36c656952d81408230ad05de0458a80d00aa51cc0e0704d5b98829c99d1e92206e9fa619274c9a50bb890325e1186583b514782
+DIST NeXT_XEmacs.tar.gz 39571 SHA256 35a0d988fd4ee801572639a99798571aa9fad140ddbed1455565ae9d5e0086c7 SHA512 611ddbbf5be3d2274e7f76be7f8200c6c7f3cba917efcc24e73685aa5f61c94237e6e48ce66f2d59ee4b74862e686f3ea7a29cf006717d5d0674db24d243d566 WHIRLPOOL d47aafa6fe7a11de94196dffb752c683722b8ead23979a7f4344c61964ebcd052a4f0ad6b9ab42a5d41f5551c0a543f46af59656fc8a79340257626272c1faae
+DIST xemacs-21.4.22.tar.gz 8357931 SHA256 87fb7633106625935105e821eb8fe65e521a3de44d45fe864109779c3a8e4bd1 SHA512 7ddd91f8d1a1b9f6d984a5bfddd98705dd6f7e3d6b4f81c1e03d971c93e33bff09b641bc2ad0a0d9d2e44170063550ad0399f3e28237dd34b8ad6200d8b197e8 WHIRLPOOL f1d313aa2dee7f4238190b90c10dc951a31302563a8a098e69ed740e85f428ac360b363e44f1e618f2d97782b5532846df290e9f79f11abdc7648a1e380cb44e
+DIST xemacs-21.4.24.tar.gz 8543879 SHA256 9016a51496d4978cf3dba75000a8e38bfc8cb4ca3a3f3e71371aa19259f26cd5 SHA512 b7a88d5a4a9f74f74c2067ed60f7ea87ac8ccad5d9c2c1033ecf07f540250191f8fa5f9e6d23d9fedd0f2ab1eb5ea6c29a7665a310ec512d85e2e4f337447213 WHIRLPOOL 469d52341833037e22cebeb6b554435c81b3f5749f64d86ddf31c3990dfc08a57f49fab7e868ab8c2009d1cae665f4fd731813f25c942d5aafd287ad7736a049
+DIST xemacs-21.5.34.tar.gz 15816932 SHA256 33cc54a6a9a45224a64b6c57c8138b5a5f0f1be368951a6d9ec8c0aec5993ee5 SHA512 b61d88fe530a77b88c2ed0cecd6597ed3c265450bc61f7c6823920f774b2d566ef6fc18a6c33928d846d08d465617d4ccd3c4656606ec8634127a683abbc929a WHIRLPOOL 733aabc45309ff4172ab77492dd85e71f156722f2e06d9a185c0a4260b9fbea607ff8a41dc43fc009cb8cdf3f05d4523778610a501f27a4917ab43cea03c6209
+EBUILD xemacs-21.4.22-r4.ebuild 7280 SHA256 786de73c7f730be19301d9bd5bd0a356fb00751e8081241b2ebdd9f138dfc60b SHA512 138ff46f7bee2db19ae21f75e74ae78675c34092831c488db9c967d972986d1b4e5f9e07bcff2151b1a6108f23e596fcd31d4d8d524a249dac1a6a4849bd913a WHIRLPOOL f75ac7afe821c18a30865b504fc2ed33db4c585f46b01f92a5f3c32abc670a8ef27bf2424c9f7aa984725ba87394c0fe2ec713bf2b30914583ea0ac963543016
+EBUILD xemacs-21.4.24-r1.ebuild 6962 SHA256 05ed21fbc4abc06add6583abcb562b5279f494aa7cee965b5ff37edebcce0251 SHA512 9600bcacf389cbdf18670d1fba9418092c82ba96d3c7d2d89b54b6164d8645440c5d199801e53d7d566c848ff7c478cba7450166e87137615eb6e10e3d421a9f WHIRLPOOL e4096041e8eb0a22582a6ecc894abf24556a364b89021c819d8916acb94760d26cb51b8c91cd3a34b6d02486a59bf64e5871235bc7d4ffe4ccd303af48a50616
+EBUILD xemacs-21.4.24.ebuild 7012 SHA256 f76c8d5370a685b3969a6d4d48fec00e9e0217fbe6a01e9c6636a7c647278251 SHA512 fa52a8d8dce88546644801254a9c98b533725dd4cf7b412504b06de079fe07e89f9e08711a3250f67702dae1b4c5c242f003c45a456e7a4c48d59892b36d3b7f WHIRLPOOL 8eacb0df27ff4df47da13c5eb611dccda005b983b1ae04c06dfcf8c01ef1577b0063f1f1baea6b152b4fedbe7587cfbddf2cca3a67d0bf04307d29722113ae81
+EBUILD xemacs-21.5.34-r4.ebuild 7157 SHA256 7997065025ae528acbdcd1a00c4124fd7cb31ee4f93bf8bed88069f46b0f58fb SHA512 7d684732229228dd73635f9a8608822ea9402faa98120d7c2aab55df66a9e3b1c568ec0fe8d3cc9f2203676129081ef07fe784b3e6328bb617eddfc3c7f12bf0 WHIRLPOOL 8c67f28c41270013ee99706993a1650580e1df86431528cd5b8225a49fee6b00bdfa923ca31fb61803893ff8c6d0a644a9d40595304d2bf885a882b050479b9c
+MISC ChangeLog 4632 SHA256 305da3c9b0a1d61f320521b4c36c955ab10edabc6c8346307d372cf1494ea275 SHA512 36c9225f158fd991a83f3690b50428cdd7286273f0a3434a0b7c6c6d6a58f4110c04c130d054aaa6170383e8a837c8052c2930806dba4587f559465eacd15644 WHIRLPOOL c8e33a9a827b3b2c12816f289c5169a238237ab452718c5656db2080410e1fe5d3f67fa57dbad3811145a1535ef0aa8905d6addf5669534ac8e36a7ce34c2517
+MISC ChangeLog-2015 33697 SHA256 71e74f83c2f6bb00e7a8f620d879764a0a02f93377034954681d325c529947fa SHA512 bbeae790ec4eb870d3e3019417cce754566a849ab6d90f79ffffdbb41b928659fb5e7ef91687d5d17d00f74992f3523fd3197b9d774c10563d0940a9f33ea31a WHIRLPOOL 60fe82bfd7ac47095b131480d8bce9d1fdfecb2b29124afa83994467f40cb59a0357b5bc17ac1d813321cb30b35a908c0c137d6b6e11d18b85ed9e1191792965
+MISC metadata.xml 666 SHA256 373ac229fb00f2e4792259b81c7d292a55bf8f240b22f5589e3902a2e04db026 SHA512 e106c48dd98ac741c2fe9780e86f77a339957ecb490b0f33b88e65b61724f8f96531c8cc6075bd724e97ea4efb9b7e4cae5d7a33fe51e5693fd04734d83c135a WHIRLPOOL 0b65393223129842df7435c9a74e0238a68e2884dc1d96b6fecdde7442f5c9690b16b5510c793e0c1c13412fb320ce7bb80b8bcf205373010e84698b7ee8f897
diff --git a/app-editors/xemacs/files/README.Gentoo b/app-editors/xemacs/files/README.Gentoo
new file mode 100644
index 000000000000..abb71cc90988
--- /dev/null
+++ b/app-editors/xemacs/files/README.Gentoo
@@ -0,0 +1,45 @@
+README.Gentoo
+-------------
+
+This is a quick tutorial on how to configure the XEmacs package user
+interface (package-ui). After you configure package-ui, you will be
+able to download and install XEmacs packages and dependencies while in
+XEmacs. For the complete documentation, see
+/usr/share/doc/xemacs-21.4.*/README.packages.gz
+
+Once XEmacs is emerged onto a Gentoo Linux system, you will only have
+the following elisp modules installed: xemacs-base, efs and
+(optionally if you had mule in USE) mule-base. This guide will show
+how to use package-ui to download and install your own preference in
+elisp modules to ~/.xemacs/xemacs-packages.
+
+First, start XEmacs and load the package-ui elisp module.
+
+ M-x load-library RET package-ui RET
+
+The first thing to set is the download site (package-ui installs via
+network).
+
+ M-x customize-variable RET package-get-remote RET
+
+Insert a new value, then:
+
+ Choice: Remote
+ Host: ibiblio.org
+ Directory: /pub/packages/editors/xemacs/packages/
+
+Make sure you set and save the change. Note, other host/directories
+are possible. The the documentation for package-ui for more
+information. Hint: ibiblio.org is *fast*.
+
+Then set the location package-ui should install to:
+
+ M-x customize-variable RET pui-package-install-dest-dir RET
+
+ Directory: ~/.xemacs/xemacs-packages
+
+Make sure you set and save the change.
+
+At this point you can install your modules:
+
+ M-x pui-list-packages
diff --git a/app-editors/xemacs/files/xemacs-21.4.19-db.patch b/app-editors/xemacs/files/xemacs-21.4.19-db.patch
new file mode 100644
index 000000000000..cf87d60e628a
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.4.19-db.patch
@@ -0,0 +1,84 @@
+This patch fixes several database-related problems.
+
+dbm_open has been moved into gdbm_compat, so we check for that and include it.
+
+ndbm.h is located in /usr/include/gdbm on Gentoo, so we only check
+there, given that we don't support normal dbm installations, and we
+patch database.c as well. Not portable beyond Gentoo, but will work
+for us.
+
+The checks for Berkeley DB only took into account up to version
+3. Added checks to deal with several versions 4 as well.
+
+--- xemacs-21.4.19/configure.in 2005-12-24 01:48:14.000000000 +0100
++++ xemacs-21.4.19-db/configure.in 2006-06-11 22:43:52.000000000 +0200
+@@ -4502,7 +4502,7 @@
+
+ dnl Check for ndbm.h, required for either kind of DBM support.
+ if test "$with_database_gdbm $with_database_dbm" != "no no"; then
+- AC_CHECK_HEADER(ndbm.h, [:], [
++ AC_CHECK_HEADER(gdbm/ndbm.h, [:], [
+ test "$with_database_gdbm" = "yes" -o \
+ "$with_database_dbm" = "yes" && \
+ XE_DIE("Required DBM support cannot be provided.")
+@@ -4513,10 +4513,13 @@
+ if test "$with_database_gdbm" != "no"; then
+ AC_CHECK_LIB(gdbm, dbm_open, [
+ with_database_gdbm=yes with_database_dbm=no libdbm=-lgdbm], [
++ AC_CHECK_LIB(gdbm_compat, dbm_open, [
++ with_database_gdbm=yes with_database_dbm=no libdbm="-lgdbm_compat -lgdbm"], [
+ if test "$with_database_gdbm" = "yes"; then
+ XE_DIE("Required GNU DBM support cannot be provided.")
+ fi
+- with_database_gdbm=no])
++ with_database_gdbm=no], -lgdbm)
++ ])
+ fi
+
+ dnl Check for DBM support in libc and libdbm.
+@@ -4614,11 +4617,30 @@
+ #if DB_VERSION_MAJOR > 2
+ yes
+ #endif
+-], [AC_MSG_RESULT(3); dbfunc=db_create],[
+- AC_MSG_RESULT(2); dbfunc=db_open])],[
+- AC_MSG_RESULT(1); dbfunc=dbopen])
++], [AC_EGREP_CPP(yes,
++[#include <$db_h_file>
++#if DB_VERSION_MAJOR > 3
++yes
++#endif
++], [AC_MSG_RESULT(4); dbfunc=db_create; dbver=4],[
++ AC_MSG_RESULT(3); dbfunc=db_create; dbver=3])],[
++ AC_MSG_RESULT(2); dbfunc=db_open; dbver=2])],[
++ AC_MSG_RESULT(1); dbfunc=dbopen; dbver=1])
+ AC_CHECK_FUNC($dbfunc, with_database_berkdb=yes need_libdb=no, [
+- AC_CHECK_LIB(db, $dbfunc, with_database_berkdb=yes need_libdb=yes)])
++ AC_CHECK_LIB(db, db_create_4002, with_database_berkdb=yes need_libdb=yes)])
++ fi
++
++ dnl Berk db 4.1 decorates public functions with version information
++ if test "$have_database_berkdb" != "yes" -a "$dbver" = "4"; then
++ rm -f $tempcname
++ echo "#include <$db_h_file>" > $tempcname
++ echo "configure___ dbfunc=db_create" >> $tempcname
++ define(TAB, [ ])dnl
++ eval `$CPP -Isrc $tempcname \
++ | sed -n -e "s/[[ TAB]]*=[[ TAB\"]]*/='/" -e "s/[[ TAB\"]]*\$/'/" -e "s/^configure___//p"`
++ rm -f $tempcname
++ AC_MSG_WARN("db_create is really $dbfunc")
++ AC_CHECK_LIB(db, $dbfunc, have_database_berkdb=yes need_libdb=yes)
+ fi
+
+ if test "$with_database_berkdb" = "yes"; then
+--- xemacs-21.4.19/src/database.c 2005-12-24 01:52:35.000000000 +0100
++++ xemacs-21.4.19-db/src/database.c 2006-06-13 21:00:01.000000000 +0200
+@@ -82,7 +82,7 @@
+ #endif /* HAVE_BERKELEY_DB */
+
+ #ifdef HAVE_DBM
+-#include <ndbm.h>
++#include <gdbm/ndbm.h>
+ Lisp_Object Qdbm;
+ #endif /* HAVE_DBM */
+
diff --git a/app-editors/xemacs/files/xemacs-21.4.19-texi.patch b/app-editors/xemacs/files/xemacs-21.4.19-texi.patch
new file mode 100644
index 000000000000..f53eb3dafd31
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.4.19-texi.patch
@@ -0,0 +1,33 @@
+Index: emodules.texi
+===================================================================
+RCS file: /pack/xemacscvs/XEmacs/xemacs/man/emodules.texi,v
+retrieving revision 1.2.2.2
+diff -u -B -r1.2.2.2 emodules.texi
+--- man/emodules.texi 2002/08/20 11:35:22 1.2.2.2
++++ man/emodules.texi 2006/12/09 14:21:22
+@@ -3,6 +3,9 @@
+ @c %**start of header
+ @setfilename ../info/emodules.info
+ @settitle Extending Emacs using C Modules
++@direntry
++* Emodules: (emodules). XEmacs dynamically loadable module support.
++@end direntry
+ @c %**end of header
+
+ @c
+Index: external-widget.texi
+===================================================================
+RCS file: /pack/xemacscvs/XEmacs/xemacs/man/external-widget.texi,v
+retrieving revision 1.3.2.1
+diff -u -B -r1.3.2.1 external-widget.texi
+--- man/external-widget.texi 2002/04/30 16:06:06 1.3.2.1
++++ man/external-widget.texi 2006/12/09 14:21:22
+@@ -4,7 +4,7 @@
+ @ifinfo
+ @dircategory XEmacs Editor
+ @direntry
+-* External Widget: (external-widget) External Client Widget.
++* External Widget: (external-widget). External Client Widget.
+ @end direntry
+ @end ifinfo
+
diff --git a/app-editors/xemacs/files/xemacs-21.4.21-vcdiff.patch b/app-editors/xemacs/files/xemacs-21.4.21-vcdiff.patch
new file mode 100644
index 000000000000..105eb549eb6d
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.4.21-vcdiff.patch
@@ -0,0 +1,19 @@
+--- lib-src/vcdiff.~1~ 1996-12-18 23:42:33.000000000 +0100
++++ lib-src/vcdiff 2008-04-09 08:20:36.000000000 +0200
+@@ -79,14 +79,14 @@
+ case $f in
+ s.* | */s.*)
+ if
+- rev1=/tmp/geta$$
++ rev1=`mktemp /tmp/geta.XXXXXXXX`
+ get -s -p -k $sid1 "$f" > $rev1 &&
+ case $sid2 in
+ '')
+ workfile=`expr " /$f" : '.*/s.\(.*\)'`
+ ;;
+ *)
+- rev2=/tmp/getb$$
++ rev2=`mktemp /tmp/getb.XXXXXXXX`
+ get -s -p -k $sid2 "$f" > $rev2
+ workfile=$rev2
+ esac
diff --git a/app-editors/xemacs/files/xemacs-21.4.22-deprecated-ldap.patch b/app-editors/xemacs/files/xemacs-21.4.22-deprecated-ldap.patch
new file mode 100644
index 000000000000..aceae530bcb0
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.4.22-deprecated-ldap.patch
@@ -0,0 +1,18 @@
+Patch to include depracated LDAP symbols, specifically
+ldap_open. Without the proper prototype the call will almost surely
+lead to crashes on 64-bit arches otherwise. Thanks to hwoareng for the
+initial bug report.
+
+Not reported upstream since bug tracker is down.
+
+--- src/eldap.h.~1~ 2001-04-12 20:23:36.000000000 +0200
++++ src/eldap.h 2010-09-28 19:53:34.148472315 +0200
+@@ -21,6 +21,8 @@
+ #ifndef INCLUDED_eldap_h_
+ #define INCLUDED_eldap_h_
+
++#define LDAP_DEPRECATED 1
++
+ #include <lber.h>
+ #include <ldap.h>
+
diff --git a/app-editors/xemacs/files/xemacs-21.4.22-large-images.patch b/app-editors/xemacs/files/xemacs-21.4.22-large-images.patch
new file mode 100644
index 000000000000..a03af3ccfa38
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.4.22-large-images.patch
@@ -0,0 +1,122 @@
+PATCH 21.4
+
+Here is the 21.4 version of the previous patch. The lisp.h hunk is a
+little ugly. Recommendations on how to deal with the absence of
+UINT_64_T in 21.4 are welcome.
+
+Index: src/glyphs-eimage.c
+===================================================================
+RCS file: /pack/xemacscvs/XEmacs/xemacs/src/glyphs-eimage.c,v
+retrieving revision 1.9.2.5
+diff -d -u -r1.9.2.5 glyphs-eimage.c
+--- src/glyphs-eimage.c 2007/08/20 19:52:28 1.9.2.5
++++ src/glyphs-eimage.c 2009/07/01 22:36:04
+@@ -407,6 +407,7 @@
+ */
+
+ {
++ UINT_64_BIT pixels_sq;
+ int jpeg_gray = 0; /* if we're dealing with a grayscale */
+ /* Step 4: set parameters for decompression. */
+
+@@ -429,7 +430,10 @@
+ jpeg_start_decompress (&cinfo);
+
+ /* Step 6: Read in the data and put into EImage format (8bit RGB triples)*/
+-
++ pixels_sq =
++ (UINT_64_BIT) cinfo.output_width * (UINT_64_BIT) cinfo.output_height;
++ if (pixels_sq > ((size_t) -1) / 3)
++ signal_image_error ("JPEG image too large to instantiate", instantiator);
+ unwind.eimage = (unsigned char*) xmalloc (cinfo.output_width * cinfo.output_height * 3);
+ if (!unwind.eimage)
+ signal_image_error("Unable to allocate enough memory for image", instantiator);
+@@ -671,6 +675,7 @@
+ {
+ ColorMapObject *cmo = unwind.giffile->SColorMap;
+ int i, j, row, pass, interlace, slice;
++ UINT_64_BIT pixels_sq;
+ unsigned char *eip;
+ /* interlaced gifs have rows in this order:
+ 0, 8, 16, ..., 4, 12, 20, ..., 2, 6, 10, ..., 1, 3, 5, ... */
+@@ -679,6 +684,9 @@
+
+ height = unwind.giffile->SHeight;
+ width = unwind.giffile->SWidth;
++ pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height;
++ if (pixels_sq > ((size_t) -1) / (3 * unwind.giffile->ImageCount))
++ signal_image_error ("GIF image too large to instantiate", instantiator);
+ unwind.eimage = (unsigned char*)
+ xmalloc (width * height * 3 * unwind.giffile->ImageCount);
+ if (!unwind.eimage)
+@@ -937,11 +945,15 @@
+ {
+ int y;
+ unsigned char **row_pointers;
++ UINT_64_BIT pixels_sq;
+ height = info_ptr->height;
+ width = info_ptr->width;
++ pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height;
++ if (pixels_sq > ((size_t) -1) / 3)
++ signal_image_error ("PNG image too large to instantiate", instantiator);
+
+ /* Wow, allocate all the memory. Truly, exciting. */
+- unwind.eimage = xnew_array_and_zero (unsigned char, width * height * 3);
++ unwind.eimage = xnew_array_and_zero (unsigned char, pixels_sq * 3);
+ /* libpng expects that the image buffer passed in contains a
+ picture to draw on top of if the png has any transparencies.
+ This could be a good place to pass that in... */
+@@ -994,7 +1006,7 @@
+ png_set_expand (png_ptr);
+ /* send grayscale images to RGB too */
+ if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
+- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
++ info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
+ png_set_gray_to_rgb (png_ptr);
+ /* we can't handle alpha values */
+ if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA)
+@@ -1268,6 +1280,7 @@
+
+ uint32 *raster;
+ unsigned char *ep;
++ UINT_64_BIT pixels_sq;
+
+ assert (!NILP (data));
+
+@@ -1290,12 +1303,15 @@
+
+ TIFFGetField (unwind.tiff, TIFFTAG_IMAGEWIDTH, &width);
+ TIFFGetField (unwind.tiff, TIFFTAG_IMAGELENGTH, &height);
+- unwind.eimage = (unsigned char *) xmalloc (width * height * 3);
++ pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height;
++ if (pixels_sq >= 1 << 29)
++ signal_image_error ("TIFF image too large to instantiate", instantiator);
++ unwind.eimage = (unsigned char *) xmalloc (pixels_sq * 3);
+
+ /* #### This is little more than proof-of-concept/function testing.
+ It needs to be reimplemented via scanline reads for both memory
+ compactness. */
+- raster = (uint32*) _TIFFmalloc (width * height * sizeof (uint32));
++ raster = (uint32*) _TIFFmalloc ((tsize_t) (pixels_sq * sizeof (uint32)));
+ if (raster != NULL)
+ {
+ int i,j;
+Index: src/lisp.h
+===================================================================
+RCS file: /pack/xemacscvs/XEmacs/xemacs/src/lisp.h,v
+retrieving revision 1.45.2.10
+diff -d -u -r1.45.2.10 lisp.h
+--- src/lisp.h 2005/02/01 03:55:02 1.45.2.10
++++ src/lisp.h 2009/07/01 22:36:05
+@@ -265,6 +265,11 @@
+ /*#define REGISTER register*/
+ /*#endif*/
+
++#if SIZEOF_LONG == 8
++#define UINT_64_BIT unsigned long
++#elif SIZEOF_LONG_LONG == 8
++#define UINT_64_BIT unsigned long long
++#endif
+
+ /* EMACS_INT is the underlying integral type into which a Lisp_Object must fit.
+ In particular, it must be large enough to contain a pointer.
diff --git a/app-editors/xemacs/files/xemacs-21.4.22-libpng15.patch b/app-editors/xemacs/files/xemacs-21.4.22-libpng15.patch
new file mode 100644
index 000000000000..0143e375d749
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.4.22-libpng15.patch
@@ -0,0 +1,66 @@
+diff -ur xemacs-21.4.22.orig/src/glyphs-eimage.c xemacs-21.4.22/src/glyphs-eimage.c
+--- xemacs-21.4.22.orig/src/glyphs-eimage.c 2011-09-26 19:44:57.889720996 +0300
++++ xemacs-21.4.22/src/glyphs-eimage.c 2011-09-26 19:48:07.026226254 +0300
+@@ -946,8 +946,8 @@
+ int y;
+ unsigned char **row_pointers;
+ UINT_64_BIT pixels_sq;
+- height = info_ptr->height;
+- width = info_ptr->width;
++ height = png_get_image_height(png_ptr, info_ptr);
++ width = png_get_image_width(png_ptr, info_ptr);
+ pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height;
+ if (pixels_sq > ((size_t) -1) / 3)
+ signal_image_error ("PNG image too large to instantiate", instantiator);
+@@ -1002,22 +1002,22 @@
+ /* Now that we're using EImage, ask for 8bit RGB triples for any type
+ of image*/
+ /* convert palette images to full RGB */
+- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE)
+ png_set_expand (png_ptr);
+ /* send grayscale images to RGB too */
+- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
+- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY ||
++ png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA)
+ png_set_gray_to_rgb (png_ptr);
+ /* we can't handle alpha values */
+- if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_ALPHA)
+ png_set_strip_alpha (png_ptr);
+ /* tell libpng to strip 16 bit depth files down to 8 bits */
+- if (info_ptr->bit_depth == 16)
++ if (png_get_bit_depth(png_ptr, info_ptr) == 16)
+ png_set_strip_16 (png_ptr);
+ /* if the image is < 8 bits, pad it out */
+- if (info_ptr->bit_depth < 8)
++ if (png_get_bit_depth(png_ptr, info_ptr) < 8)
+ {
+- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY)
+ png_set_expand (png_ptr);
+ else
+ png_set_packing (png_ptr);
+@@ -1036,16 +1036,18 @@
+ */
+ {
+ int i;
++ png_textp text;
++ int num_text;
+
+- for (i = 0 ; i < info_ptr->num_text ; i++)
++ for (i = 0 ; i < num_text ; i++)
+ {
+ /* How paranoid do I have to be about no trailing NULLs, and
+ using (int)info_ptr->text[i].text_length, and strncpy and a temp
+ string somewhere? */
+
+ warn_when_safe (Qpng, Qinfo, "%s - %s",
+- info_ptr->text[i].key,
+- info_ptr->text[i].text);
++ text[i].key,
++ text[i].text);
+ }
+ }
+ #endif
diff --git a/app-editors/xemacs/files/xemacs-21.4.22-texinfo-5.patch b/app-editors/xemacs/files/xemacs-21.4.22-texinfo-5.patch
new file mode 100644
index 000000000000..05dda3974a65
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.4.22-texinfo-5.patch
@@ -0,0 +1,437 @@
+--- xemacs-21.4.22-orig/man/custom.texi
++++ xemacs-21.4.22/man/custom.texi
+@@ -60,7 +60,7 @@
+
+ @node Declaring Groups, Declaring Variables, Top, Top
+ @comment node-name, next, previous, up
+-@section Declaring Groups
++@chapter Declaring Groups
+
+ Use @code{defgroup} to declare new customization groups.
+
+@@ -92,7 +92,7 @@
+
+ @node Declaring Variables, Declaring Faces, Declaring Groups, Top
+ @comment node-name, next, previous, up
+-@section Declaring Variables
++@chapter Declaring Variables
+
+ Use @code{defcustom} to declare user editable variables.
+
+@@ -176,7 +176,7 @@
+
+ @node Declaring Faces, Usage for Package Authors, Declaring Variables, Top
+ @comment node-name, next, previous, up
+-@section Declaring Faces
++@chapter Declaring Faces
+
+ Faces are declared with @code{defface}.
+
+@@ -228,7 +228,7 @@
+
+ @node Usage for Package Authors, Utilities, Declaring Faces, Top
+ @comment node-name, next, previous, up
+-@section Usage for Package Authors
++@chapter Usage for Package Authors
+
+ The recommended usage for the author of a typical emacs lisp package is
+ to create one group identifying the package, and make all user options
+@@ -244,7 +244,7 @@
+
+ @node Utilities, The Init File, Usage for Package Authors, Top
+ @comment node-name, next, previous, up
+-@section Utilities
++@chapter Utilities
+
+ These utilities can come in handy when adding customization support.
+
+@@ -276,7 +276,7 @@
+
+ @node The Init File, Wishlist, Utilities, Top
+ @comment node-name, next, previous, up
+-@section The Init File
++@chapter The Init File
+
+ Customizations are saved to the file specified by @code{custom-file}, as
+ calls to @code{custom-set-variables} and @code{custom-set-faces}.
+@@ -299,7 +299,7 @@
+
+ @node Wishlist, , The Init File, Top
+ @comment node-name, next, previous, up
+-@section Wishlist
++@chapter Wishlist
+
+ @itemize @bullet
+ @item
+--- xemacs-21.4.22-orig/man/info.texi
++++ xemacs-21.4.22/man/info.texi
+@@ -543,6 +543,10 @@
+ @c If a menu appears at the end of this node, remove it.
+ @c It is an accident of the menu updating command.
+
++@menu
++* Help-Cross::
++@end menu
++
+ @node Help-Cross, , , Help-Adv
+ @subsection The node reached by the cross reference in Info
+
+--- xemacs-21.4.22-orig/man/lispref/edebug-inc.texi
++++ xemacs-21.4.22/man/lispref/edebug-inc.texi
+@@ -1103,7 +1103,7 @@
+ Here is a table of the possibilities for @var{specification} and how each
+ directs processing of arguments.
+
+-@table @bullet
++@table @asis
+
+ @item @code{t}
+ All arguments are instrumented for evaluation.
+--- xemacs-21.4.22-orig/man/lispref/packaging.texi
++++ xemacs-21.4.22/man/lispref/packaging.texi
+@@ -600,7 +600,7 @@
+ Does most of the work. Builds the elcs, infos at a minimum.
+ @end table
+
+-@subsection The targets that most people would be interested in would be:
++@section The targets that most people would be interested in would be:
+
+ @itemize @bullet
+ @item @code{all}
+--- xemacs-21.4.22-orig/man/term.texi
++++ xemacs-21.4.22/man/term.texi
+@@ -4,7 +4,7 @@
+
+ @titlepage
+ @sp 6
+-@center @titlefont(Notes about Emacs TERM Mode)
++@center @titlefont{Notes about Emacs TERM Mode}
+ @end titlepage
+
+ @ifinfo
+--- xemacs-21.4.22-orig/man/widget.texi
++++ xemacs-21.4.22/man/widget.texi
+@@ -38,7 +38,7 @@
+
+ @node Introduction, User Interface, Top, Top
+ @comment node-name, next, previous, up
+-@section Introduction
++@chapter Introduction
+
+ Most graphical user interface toolkits, such as Motif and XView, provide
+ a number of standard user interface controls (sometimes known as
+@@ -129,7 +129,7 @@
+
+ @node User Interface, Programming Example, Introduction, Top
+ @comment node-name, next, previous, up
+-@section User Interface
++@chapter User Interface
+
+ A form consists of read only text for documentation and some fields,
+ where each of the fields contains two parts, a tag and a value. The
+@@ -175,7 +175,7 @@
+ a form, namely editing the editable text fields and activating the
+ buttons.
+
+-@subsection Editable Text Fields
++@section Editable Text Fields
+
+ In the example, the value for the @samp{Name} is most likely displayed
+ in an editable text field, and so are values for each of the members of
+@@ -194,7 +194,7 @@
+ Face used for other editing fields.
+ @end deffn
+
+-@subsection Buttons
++@section Buttons
+
+ Some portions of the buffer have an associated @dfn{action}, which can
+ be @dfn{invoked} by a standard key or mouse command. These portions
+@@ -259,7 +259,7 @@
+ Face used for buttons when the mouse pointer is above it.
+ @end defopt
+
+-@subsection Navigation
++@section Navigation
+
+ You can use all the normal Emacs commands to move around in a form
+ buffer, plus you will have these additional commands:
+@@ -277,7 +277,7 @@
+
+ @node Programming Example, Setting Up the Buffer, User Interface, Top
+ @comment node-name, next, previous, up
+-@section Programming Example
++@chapter Programming Example
+
+ Here is the code to implement the user interface example (see @ref{User
+ Interface}).
+@@ -369,7 +369,7 @@
+
+ @node Setting Up the Buffer, Basic Types, Programming Example, Top
+ @comment node-name, next, previous, up
+-@section Setting Up the Buffer
++@chapter Setting Up the Buffer
+
+ Widgets are created with @code{widget-create}, which returns a
+ @dfn{widget} object. This object can be queried and manipulated by
+@@ -422,7 +422,7 @@
+
+ @node Basic Types, Sexp Types, Setting Up the Buffer, Top
+ @comment node-name, next, previous, up
+-@section Basic Types
++@chapter Basic Types
+
+ The syntax of a type specification is given below:
+
+@@ -635,7 +635,7 @@
+
+ @node link, url-link, Basic Types, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{link} Widget
++@section The @code{link} Widget
+
+ Syntax:
+
+@@ -659,7 +659,7 @@
+
+ @node url-link, info-link, link, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{url-link} Widget
++@section The @code{url-link} Widget
+
+ Syntax:
+
+@@ -672,7 +672,7 @@
+
+ @node info-link, push-button, url-link, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{info-link} Widget
++@section The @code{info-link} Widget
+
+ Syntax:
+
+@@ -685,7 +685,7 @@
+
+ @node push-button, editable-field, info-link, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{push-button} Widget
++@section The @code{push-button} Widget
+
+ Syntax:
+
+@@ -709,7 +709,7 @@
+
+ @node editable-field, text, push-button, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{editable-field} Widget
++@section The @code{editable-field} Widget
+
+ Syntax:
+
+@@ -753,7 +753,7 @@
+
+ @node text, menu-choice, editable-field, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{text} Widget
++@section The @code{text} Widget
+
+ This is just like @code{editable-field}, but intended for multiline text
+ fields. The default @code{:keymap} is @code{widget-text-keymap}, which
+@@ -761,7 +761,7 @@
+
+ @node menu-choice, radio-button-choice, text, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{menu-choice} Widget
++@section The @code{menu-choice} Widget
+
+ Syntax:
+
+@@ -796,7 +796,7 @@
+
+ @node radio-button-choice, item, menu-choice, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{radio-button-choice} Widget
++@section The @code{radio-button-choice} Widget
+
+ Syntax:
+
+@@ -856,7 +856,7 @@
+
+ @node item, choice-item, radio-button-choice, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{item} Widget
++@section The @code{item} Widget
+
+ Syntax:
+
+@@ -870,7 +870,7 @@
+
+ @node choice-item, toggle, item, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{choice-item} Widget
++@section The @code{choice-item} Widget
+
+ Syntax:
+
+@@ -886,7 +886,7 @@
+
+ @node toggle, checkbox, choice-item, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{toggle} Widget
++@section The @code{toggle} Widget
+
+ Syntax:
+
+@@ -914,7 +914,7 @@
+
+ @node checkbox, checklist, toggle, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{checkbox} Widget
++@section The @code{checkbox} Widget
+
+ The widget has two possible states, `selected' and `unselected', which
+ corresponds to a @code{t} or @code{nil} value.
+@@ -927,7 +927,7 @@
+
+ @node checklist, editable-list, checkbox, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{checklist} Widget
++@section The @code{checklist} Widget
+
+ Syntax:
+
+@@ -978,7 +978,7 @@
+
+ @node editable-list, group, checklist, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{editable-list} Widget
++@section The @code{editable-list} Widget
+
+ Syntax:
+
+@@ -1030,7 +1030,7 @@
+
+ @node group, , editable-list, Basic Types
+ @comment node-name, next, previous, up
+-@subsection The @code{group} Widget
++@section The @code{group} Widget
+
+ This widget simply groups other widgets together.
+
+@@ -1044,7 +1044,7 @@
+
+ @node Sexp Types, Widget Properties, Basic Types, Top
+ @comment
+-@section Sexp Types
++@chapter Sexp Types
+
+ A number of widgets for editing s-expressions (lisp types) are also
+ available. These basically fall in the following categories.
+@@ -1058,7 +1058,7 @@
+
+ @node constants, generic, Sexp Types, Sexp Types
+ @comment node-name, next, previous, up
+-@subsection The Constant Widgets.
++@section The Constant Widgets.
+
+ The @code{const} widget can contain any lisp expression, but the user is
+ prohibited from editing it, which is mainly useful as a component of one
+@@ -1094,7 +1094,7 @@
+
+ @node generic, atoms, constants, Sexp Types
+ @comment node-name, next, previous, up
+-@subsection Generic Sexp Widget.
++@section Generic Sexp Widget.
+
+ The @code{sexp} widget can contain any lisp expression, and allows the
+ user to edit it inline in the buffer.
+@@ -1115,7 +1115,7 @@
+
+ @node atoms, composite, generic, Sexp Types
+ @comment node-name, next, previous, up
+-@subsection Atomic Sexp Widgets.
++@section Atomic Sexp Widgets.
+
+ The atoms are s-expressions that does not consist of other
+ s-expressions. A string is an atom, while a list is a composite type.
+@@ -1192,7 +1192,7 @@
+
+ @node composite, , atoms, Sexp Types
+ @comment node-name, next, previous, up
+-@subsection Composite Sexp Widgets.
++@section Composite Sexp Widgets.
+
+ The syntax for the composite are
+
+@@ -1265,7 +1265,7 @@
+
+ @node Widget Properties, Defining New Widgets, Sexp Types, Top
+ @comment node-name, next, previous, up
+-@section Properties
++@chapter Properties
+
+ You can examine or set the value of a widget by using the widget object
+ that was returned by @code{widget-create}.
+@@ -1353,7 +1353,7 @@
+
+ @node Defining New Widgets, Widget Browser, Widget Properties, Top
+ @comment node-name, next, previous, up
+-@section Defining New Widgets
++@chapter Defining New Widgets
+
+ You can define specialized widgets with @code{define-widget}. It allows
+ you to create a shorthand for more complex widgets. This includes
+@@ -1565,7 +1565,7 @@
+
+ @node Widget Browser, Widget Minor Mode, Defining New Widgets, Top
+ @comment node-name, next, previous, up
+-@section Widget Browser
++@chapter Widget Browser
+
+ There is a separate package to browse widgets. This is intended to help
+ programmers who want to examine the content of a widget. The browser
+@@ -1589,7 +1589,7 @@
+
+ @node Widget Minor Mode, Utilities, Widget Browser, Top
+ @comment node-name, next, previous, up
+-@section Widget Minor Mode
++@chapter Widget Minor Mode
+
+ There is a minor mode for manipulating widgets in major modes that
+ doesn't provide any support for widgets themselves. This is mostly
+@@ -1606,7 +1606,7 @@
+
+ @node Utilities, Widget Wishlist, Widget Minor Mode, Top
+ @comment node-name, next, previous, up
+-@section Utilities.
++@chapter Utilities.
+
+ @defun widget-prompt-value widget prompt [ value unbound ]
+ Prompt for a value matching @var{widget}, using @var{prompt}.@*
+@@ -1621,7 +1621,7 @@
+
+ @node Widget Wishlist, Widget Internals, Utilities, Top
+ @comment node-name, next, previous, up
+-@section Wishlist
++@chapter Wishlist
+
+ @itemize @bullet
+ @item
+@@ -1693,7 +1693,7 @@
+ @end itemize
+
+ @node Widget Internals, , Widget Wishlist, Top
+-@section Internals
++@chapter Internals
+
+ This (very brief!) section provides a few notes on the internal
+ structure and implementation of Emacs widgets. Avoid relying on this
+@@ -1701,7 +1701,7 @@
+ To the extent that it actually describes APIs, the information will be
+ moved to appropriate sections of the manual in due course.
+
+-@subsection The @dfn{Widget} and @dfn{Type} Structures
++@section The @dfn{Widget} and @dfn{Type} Structures
+
+ Widgets and types are currently both implemented as lists.
+
diff --git a/app-editors/xemacs/files/xemacs-21.4.24-gcc5.patch b/app-editors/xemacs/files/xemacs-21.4.24-gcc5.patch
new file mode 100644
index 000000000000..494fc51c3b88
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.4.24-gcc5.patch
@@ -0,0 +1,32 @@
+diff -r e2da872593c0 configure.in
+--- a/configure.in Tue Mar 24 22:15:53 2015 -0400
++++ b/configure.in Sun Mar 13 13:48:24 2016 +0100
+@@ -1939,6 +1939,8 @@
+ CFLAGS="-g -O3 -Wall -Wno-switch -Winline -Wmissing-prototypes"
+ dnl Yuck, bad compares have been worth at least 3 crashes!
+ CFLAGS="$CFLAGS -Wsign-compare"
++ dnl Use old gnu inline semantics until we fix the source
++ CFLAGS="$CFLAGS -fgnu89-inline"
+ dnl XEmacs is known not to be strict-aliasing-safe.
+ case "`gcc -v --help 2>&1`" in
+ *-fstrict-aliasing* ) CFLAGS="$CFLAGS -fno-strict-aliasing" ;;
+diff -r e2da872593c0 src/lisp.h
+--- a/src/lisp.h Tue Mar 24 22:15:53 2015 -0400
++++ b/src/lisp.h Sun Mar 13 13:48:24 2016 +0100
+@@ -193,6 +193,8 @@
+ # endif /* GNUC */
+ #endif
+
++#ifndef _GCC_MAX_ALIGN_T
++#define _GCC_MAX_ALIGN_T
+ /* No type has a greater alignment requirement than max_align_t.
+ (except perhaps for types we don't use, like long double) */
+ typedef union
+@@ -202,6 +204,7 @@
+ struct { void (*f)(void); } f;
+ struct { double d; } d;
+ } max_align_t;
++#endif
+
+ #ifndef ALIGNOF
+ # if defined (__GNUC__) && (__GNUC__ >= 2)
diff --git a/app-editors/xemacs/files/xemacs-21.4.24-glibc-macro.patch b/app-editors/xemacs/files/xemacs-21.4.24-glibc-macro.patch
new file mode 100644
index 000000000000..62d26ccc053c
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.4.24-glibc-macro.patch
@@ -0,0 +1,28 @@
+Don't define deprecated glibc symbol
+
+Avoid defining the deprecated symbols _BSD_SOURCE and _SVID_SOURCE
+that xmkmf thinks are needed to compile X programs.
+
+diff -r 09d56098ea2c -r 32a8151f8af7 configure.in
+--- a/configure.in Sat Feb 11 01:24:06 2017 +0100
++++ b/configure.in Sat Feb 11 01:59:40 2017 +0100
+@@ -2868,10 +2868,15 @@
+ * ) val=1 ;;
+ esac
+ dnl Avoid re-AC_DEFINE-ing xmkmf symbols we've already defined above.
+- if grep "^#define $sym " confdefs.h >/dev/null; then :; else
+- if test "$val" = "1"
+- then AC_DEFINE_UNQUOTED($sym)
+- else AC_DEFINE_UNQUOTED($sym,$val)
++dnl Also, glibc doesn't like two of the traditional POSIX macros that xmkmf
++dnl likes us to define; ignore them if appropriate.
++ if grep "^#define $sym " confdefs.h >/dev/null || \
++ test "$have_glibc" = "yes" -a "$sym" = "_BSD_SOURCE" || \
++ test "$have_glibc" = "yes" -a "$sym" = "_SVID_SOURCE";
++ then :; else
++ if test "$val" = "1"
++ then AC_DEFINE_UNQUOTED($sym)
++ else AC_DEFINE_UNQUOTED($sym,$val)
+ fi
+ fi ;;
+ esac
diff --git a/app-editors/xemacs/files/xemacs-21.4.24-ncurses-tinfo.patch b/app-editors/xemacs/files/xemacs-21.4.24-ncurses-tinfo.patch
new file mode 100644
index 000000000000..19b8984db2d0
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.4.24-ncurses-tinfo.patch
@@ -0,0 +1,12 @@
+diff -r e2da872593c0 configure.in
+--- a/configure.in Tue Mar 24 22:15:53 2015 -0400
++++ b/configure.in Mon Apr 17 10:13:05 2017 +0200
+@@ -4449,7 +4449,7 @@
+ AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h)
+ AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h)
+ XE_ADD_OBJS(terminfo.o)
+- XE_PREPEND(-lncurses, LIBS)
++ XE_PREPEND($(pkg-config ncurses --libs), LIBS)
+
+ if test "$ac_cv_header_ncurses_curses_h" != "yes" ; then
+ dnl Try again, and check for the bogus ncurses/ include bug.
diff --git a/app-editors/xemacs/files/xemacs-21.5.29-optimization-bug.patch b/app-editors/xemacs/files/xemacs-21.5.29-optimization-bug.patch
new file mode 100644
index 000000000000..32a1a02c2abe
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.29-optimization-bug.patch
@@ -0,0 +1,14 @@
+Work around a GCC optimization bug as described in
+http://tracker.xemacs.org/XEmacs/its/issue354
+
+--- src/dumper.c.~1~ 2008-01-26 09:54:11.000000000 +0100
++++ src/dumper.c 2008-05-03 10:17:03.000000000 +0200
+@@ -2584,7 +2584,7 @@
+ #endif /* !WIN32_NATIVE */
+
+
+-static int
++int
+ pdump_file_try (Wexttext *exe_path)
+ {
+ Wexttext *w = exe_path + wext_strlen (exe_path);
diff --git a/app-editors/xemacs/files/xemacs-21.5.33-no-mule-build.patch b/app-editors/xemacs/files/xemacs-21.5.33-no-mule-build.patch
new file mode 100644
index 000000000000..17e572044fac
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.33-no-mule-build.patch
@@ -0,0 +1,33 @@
+diff -r a2912073be85 lisp/paragraphs.el
+--- a/lisp/paragraphs.el Wed Jun 19 09:30:30 2013 -0600
++++ b/lisp/paragraphs.el Sat Jun 22 13:27:48 2013 +0200
+@@ -180,7 +180,10 @@
+ :type '(choice regexp (const :tag "Use default value" nil)))
+ (put 'sentence-end 'safe-local-variable 'string-or-null-p)
+
+-(defcustom sentence-end-base "[.?!][]\"'”)}]*"
++(defcustom sentence-end-base
++ (concat "[.?!][]\"'"
++ (if (featurep 'mule) (string (unicode-to-char #x201D)) "")
++ ")}]*")
+ "Regexp matching the basic end of a sentence, not including following space."
+ :group 'paragraphs
+ :type 'string
+@@ -201,14 +204,14 @@
+ in between. See Info node `(elisp)Standard Regexps'."
+ (or sentence-end
+ ;; We accept non-break space along with space.
+- (concat (if sentence-end-without-period "\\w[ \u00a0][ \u00a0]\\|")
++ (concat (if sentence-end-without-period "\\w[ \240][ \240]\\|")
+ "\\("
+ sentence-end-base
+ (if sentence-end-double-space
+- "\\($\\|[ \u00a0]$\\|\t\\|[ \u00a0][ \u00a0]\\)" "\\($\\|[\t \u00a0]\\)")
++ "\\($\\|[ \240]$\\|\t\\|[ \240][ \240]\\)" "\\($\\|[\t \240]\\)")
+ "\\|[" sentence-end-without-space "]+"
+ "\\)"
+- "[ \u00a0\t\n]*")))
++ "[ \240\t\n]*")))
+
+ (defcustom page-delimiter "^\014"
+ "*Regexp describing line-beginnings that separate pages."
diff --git a/app-editors/xemacs/files/xemacs-21.5.34-gcc5.patch b/app-editors/xemacs/files/xemacs-21.5.34-gcc5.patch
new file mode 100644
index 000000000000..025a390f3335
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.34-gcc5.patch
@@ -0,0 +1,35 @@
+diff --git a/src/lisp.h b/src/lisp.h
+--- a/src/lisp.h
++++ b/src/lisp.h
+@@ -1154,6 +1154,8 @@
+
+ /* ------------------------ alignment definitions ------------------- */
+
++#if (!defined (__STDC_VERSION__) || __STDC_VERSION__ < 201112L) && \
++ (!defined (__cplusplus) || __cplusplus < 201103L)
+ /* No type has a greater alignment requirement than max_align_t.
+ (except perhaps for types we don't use, like long double) */
+ typedef union
+@@ -1163,6 +1165,7 @@
+ struct { void (*f)(void); } f;
+ struct { double d; } d;
+ } max_align_t;
++#endif
+
+ /* ALIGNOF returns the required alignment of a type -- i.e. a value such
+ that data of this type must begin at a memory address which is a
+@@ -1170,7 +1173,11 @@
+ as the type itself. */
+
+ #ifndef ALIGNOF
+-# if defined (__GNUC__) && (__GNUC__ >= 2)
++# if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
++# define ALIGNOF(type) _Alignof(type)
++# elif defined (__cplusplus) && __cplusplus >= 201103L
++# define ALIGNOF(type) alignof(type)
++# elif defined (__GNUC__) && (__GNUC__ >= 2)
+ /* gcc has an extension that gives us exactly what we want. */
+ # define ALIGNOF(type) __alignof__ (type)
+ # elif ! defined (__cplusplus)
+
+
diff --git a/app-editors/xemacs/files/xemacs-21.5.34-glibc-macro.patch b/app-editors/xemacs/files/xemacs-21.5.34-glibc-macro.patch
new file mode 100644
index 000000000000..b611b15fd8b1
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.34-glibc-macro.patch
@@ -0,0 +1,32 @@
+diff -r f412e9f093d4 configure
+--- a/configure Wed Jan 25 00:47:06 2017 +0000
++++ b/configure Sun Jan 29 19:32:47 2017 +0100
+@@ -13507,7 +13507,10 @@
+ -D*=* ) val=`echo '' $word | sed -e 's:^.*=::'` ;;
+ * ) val=1 ;;
+ esac
+- if grep "^#define $sym " confdefs.h >/dev/null; then :; else
++ if grep "^#define $sym " confdefs.h >/dev/null || \
++ test "$have_glibc" = "yes" -a "$sym" = "_BSD_SOURCE" || \
++ test "$have_glibc" = "yes" -a "$sym" = "_SVID_SOURCE";
++ then :; else
+ if test "$val" = "1"
+ then cat >>confdefs.h <<_ACEOF
+ #define $sym 1
+diff -r f412e9f093d4 configure.ac
+--- a/configure.ac Wed Jan 25 00:47:06 2017 +0000
++++ b/configure.ac Sun Jan 29 19:32:47 2017 +0100
+@@ -3136,7 +3136,12 @@
+ * ) val=1 ;;
+ esac
+ dnl Avoid re-AC_DEFINE-ing xmkmf symbols we've already defined above.
+- if grep "^#define $sym " confdefs.h >/dev/null; then :; else
++dnl Also, glibc doesn't like two of the traditional POSIX macros that xmkmf
++dnl likes us to define; ignore them if appropriate.
++ if grep "^#define $sym " confdefs.h >/dev/null || \
++ test "$have_glibc" = "yes" -a "$sym" = "_BSD_SOURCE" || \
++ test "$have_glibc" = "yes" -a "$sym" = "_SVID_SOURCE";
++ then :; else
+ if test "$val" = "1"
+ then AC_DEFINE_UNQUOTED($sym)
+ else AC_DEFINE_UNQUOTED($sym,$val)
diff --git a/app-editors/xemacs/files/xemacs-21.5.34-ncurses-tinfo.patch b/app-editors/xemacs/files/xemacs-21.5.34-ncurses-tinfo.patch
new file mode 100644
index 000000000000..a08eda3c8a83
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.34-ncurses-tinfo.patch
@@ -0,0 +1,13 @@
+diff -r 6355de501637 configure
+--- a/configure Thu Jan 23 15:03:16 2014 +0000
++++ b/configure Fri Jan 31 23:55:12 2014 +0100
+@@ -19699,7 +19699,8 @@
+ extra_objs="$extra_objs terminfo.o" && if test "$verbose" = "yes"; then
+ echo " xemacs will be linked with \"terminfo.o\""
+ fi
+- LIBS="-lncurses $LIBS" && if test "$verbose" = "yes"; then echo " Prepending \"-lncurses\" to \$LIBS"; fi
++ ncurses_libs=$(pkg-config ncurses --libs)
++ LIBS="$ncurses_libs $LIBS" && if test "$verbose" = "yes"; then echo " Prepending \"$ncurses_libs\" to \$LIBS"; fi
+
+ if test "$ac_cv_header_ncurses_curses_h" != "yes" ; then
+ save_c_switch_site="$c_switch_site"
diff --git a/app-editors/xemacs/files/xemacs.desktop b/app-editors/xemacs/files/xemacs.desktop
new file mode 100644
index 000000000000..93f14a731f2b
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs.desktop
@@ -0,0 +1,33 @@
+[Desktop Entry]
+Name=XEmacs Text Editor
+Name[bg]=редактор XEmacs
+Name[ca]=Editor XEmacs
+Name[cs]=Editor XEmacs
+Name[da]=XEmacs tekstredigerer
+Name[de]=XEmacs Texteditor
+Name[eo]=La redaktilo XEmakso
+Name[es]=Emacs para X
+Name[et]=Emacs X'i kasutajaliidesega
+Name[fi]=XEmacs editori
+Name[fr]=Éditeur XEmacs
+Name[hu]=XEmacs szövegszerkesztő
+Name[is]=XEmacs-ritill
+Name[it]=Emacs per X
+Name[ja]=XEmacs テキスト・エディター
+Name[mk]=Софистицираниот XEmacs уредувач
+Name[no]=XEmacs-tekstredigerer
+Name[pt]=Editor XEmacs
+Name[ro]=Editorul XEmacs
+Name[ru]=Редактор XEmacs
+Name[sk]=Editor XEmacs
+Name[sl]=Urejevalnik XEmacs
+Name[uk]=Редактор XEmacs
+GenericName=Text Editor
+Comment=Edit text
+MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
+Exec=xemacs %f
+Icon=xemacs
+Type=Application
+Terminal=false
+Categories=Utility;TextEditor;
+StartupWMClass=Emacs
diff --git a/app-editors/xemacs/metadata.xml b/app-editors/xemacs/metadata.xml
new file mode 100644
index 000000000000..eb55cb7dabc8
--- /dev/null
+++ b/app-editors/xemacs/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>xemacs@gentoo.org</email>
+ <description>Primary Maintainer</description>
+ </maintainer>
+ <use>
+ <flag name="athena">Chooses the MIT Athena widget set</flag>
+ <flag name="dnd">Enables support for the <pkg>x11-libs/dnd</pkg>
+ drag-n-drop library</flag>
+ <flag name="eolconv">Support detection and translation of newline
+ conventions</flag>
+ <flag name="pop">Support POP for mail retrieval</flag>
+ <flag name="xim">Enable X11 XiM input method</flag>
+ </use>
+</pkgmetadata>
diff --git a/app-editors/xemacs/xemacs-21.4.22-r4.ebuild b/app-editors/xemacs/xemacs-21.4.22-r4.ebuild
new file mode 100644
index 000000000000..5c1ab8b28274
--- /dev/null
+++ b/app-editors/xemacs/xemacs-21.4.22-r4.ebuild
@@ -0,0 +1,257 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: xemacs currently does not work with a hardened profile. If you
+# want to use xemacs on a hardened profile then compile with the
+# -nopie flag in CFLAGS or help fix bug #75028.
+
+EAPI="5"
+
+WANT_AUTOCONF="2.1"
+inherit autotools eutils toolchain-funcs
+
+DESCRIPTION="highly customizable open source text editor and application development system"
+HOMEPAGE="http://www.xemacs.org/"
+SRC_URI="http://ftp.xemacs.org/xemacs-21.4/${P}.tar.gz
+ http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ~mips ppc ppc64 sparc x86"
+IUSE="eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xim athena neXt Xaw3d gdbm berkdb"
+
+X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
+
+RDEPEND="
+ berkdb? ( sys-libs/db:= )
+ gdbm? ( >=sys-libs/gdbm-1.8.3 )
+ >=sys-libs/zlib-1.1.4
+ >=dev-libs/openssl-0.9.6:0
+ >=media-libs/audiofile-0.2.3
+ gpm? ( >=sys-libs/gpm-1.19.6 )
+ postgres? ( dev-db/postgresql:= )
+ ldap? ( net-nds/openldap )
+ nas? ( media-libs/nas )
+ X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) )
+ dnd? ( x11-libs/dnd )
+ motif? ( >=x11-libs/motif-2.3:0 )
+ athena? ( x11-libs/libXaw )
+ Xaw3d? ( x11-libs/libXaw3d )
+ neXt? ( x11-libs/neXtaw )
+ xface? ( media-libs/compface )
+ tiff? ( media-libs/tiff:0 )
+ png? ( >=media-libs/libpng-1.2:0 )
+ jpeg? ( virtual/jpeg:0 )
+ canna? ( app-i18n/canna )
+ !amd64? ( freewnn? ( app-i18n/freewnn ) )
+ >=sys-libs/ncurses-5.2:=
+ >=app-eselect/eselect-emacs-1.15"
+
+DEPEND="${RDEPEND}"
+
+PDEPEND="app-xemacs/xemacs-base
+ mule? ( app-xemacs/mule-base )"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ use neXt && unpack NeXT_XEmacs.tar.gz
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/xemacs-21.4.19-texi.patch
+
+ # see bug 58350, 102540 and 143580
+ epatch "${FILESDIR}"/xemacs-21.4.19-db.patch
+
+ # Security bug #216880
+ epatch "${FILESDIR}"/xemacs-21.4.21-vcdiff.patch
+
+ # Security bug #275397
+ epatch "${FILESDIR}"/${P}-large-images.patch
+
+ # Make sure to include deprecated LDAP symbols to avoid runtime
+ # crashes.
+ epatch "${FILESDIR}"/${P}-deprecated-ldap.patch
+
+ # Fix compilation with libpng 1.5, bug 384461
+ epatch "${FILESDIR}"/${P}-libpng15.patch
+
+ # Add texinfo-5.1 compatibility
+ epatch "${FILESDIR}"/${P}-texinfo-5.patch
+
+ # Some binaries and man pages are installed under suffixed names
+ # to avoid collions with their GNU Emacs counterparts (see below).
+ # Fix internal filename references.
+ sed -i -e 's/exec gnuclient/&-xemacs/' lib-src/gnudoit || die
+ sed -i -e '/^\.so/s/etags/&-xemacs/' etc/ctags.1 || die
+ sed -i -e '/^\.so/s/gnuserv/&-xemacs/' etc/gnu{client,doit,attach}.1 || die
+
+ # Run autoconf. XEmacs tries to be smart by providing a stub
+ # configure.ac file for autoconf 2.59 but this throws our
+ # autotools eclass so it must be removed first.
+ rm "${S}"/configure.ac || die
+ eautoconf
+
+ use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/
+}
+
+src_configure() {
+ local myconf=""
+
+ if use X; then
+
+ myconf="${myconf} --with-widgets=athena"
+ myconf="${myconf} --with-dialogs=athena"
+ myconf="${myconf} --with-menubars=lucid"
+ myconf="${myconf} --with-scrollbars=lucid"
+ if use motif ; then
+ myconf="--with-widgets=motif"
+ myconf="${myconf} --with-dialogs=motif"
+ myconf="${myconf} --with-scrollbars=motif"
+ myconf="${myconf} --with-menubars=lucid"
+ fi
+ if use athena ; then
+ myconf="--with-scrollbars=athena"
+ fi
+
+ if use Xaw3d; then
+ myconf="${myconf} --with-athena=3d"
+ elif use neXt; then
+ myconf="${myconf} --with-athena=next"
+ else
+ myconf="${myconf} --with-athena=xaw"
+ fi
+
+ use dnd && myconf="${myconf} --with-dragndrop --with-offix"
+
+ myconf="${myconf} $(use_with tiff ) $(use_with png )"
+ myconf="${myconf} $(use_with jpeg ) $(use_with xface )"
+ else
+ myconf="${myconf}
+ --without-x
+ --without-xpm
+ --without-dragndrop
+ --with-gif=no"
+ fi
+
+ if use mule ; then
+ myconf="${myconf} --with-mule"
+
+ if use xim ; then
+ if use motif ; then
+ myconf="${myconf} --with-xim=motif"
+ else
+ myconf="${myconf} --with-xim=xlib"
+ fi
+ else
+ myconf="${myconf} --with-xim=no"
+ fi
+
+ myconf="${myconf} $(use_with canna ) $(use_with freewnn wnn )"
+ fi
+
+ # This determines the type of sounds we are playing
+ local soundconf="native"
+
+ # This determines how these sounds should be played
+ use nas && soundconf="${soundconf},nas"
+
+ myconf="${myconf} --with-sound=${soundconf}"
+
+ if use gdbm || use berkdb ; then
+ use gdbm && mydb="gdbm"
+
+ use berkdb && mydb="${mydb},berkdb"
+
+ myconf="${myconf} --with-database=${mydb}"
+ else
+ myconf="${myconf} --without-database"
+ fi
+
+ # fixes #21264, this should be fixed in 21.4.21 and has been fixed
+ # in 21.5 for sure. Now that 21.4.21 is out there is no real
+ # evidence that this indeed got fixed, so keep these exceptions
+ # for now.
+ use alpha && myconf="${myconf} --with-system-malloc"
+ use ppc64 && myconf="${myconf} --with-system-malloc"
+ use ia64 && myconf="${myconf} --with-system-malloc"
+
+ # Enabling modules will cause segfaults outside the XEmacs build directory
+ use ia64 && myconf="${myconf} --without-modules"
+
+ # fixes #552044, deprecation warnings fools header detection in configure
+ myconf="${myconf} --cppflags=-Wno-cpp"
+
+ einfo "${myconf}"
+
+ # Don't use econf because it uses options which this configure
+ # script does not understand (like --host).
+ ./configure ${myconf} ${EXTRA_ECONF} \
+ $(use_with gif ) \
+ $(use_with gpm ) \
+ $(use_with postgres postgresql ) \
+ $(use_with ldap ) \
+ $(use_with eolconv file-coding ) \
+ $(use_with pop ) \
+ --compiler=$(tc-getCC) \
+ --prefix=/usr \
+ --with-ncurses \
+ --with-msw=no \
+ --mail-locking=flock \
+ --with-site-lisp=yes \
+ --with-site-modules=yes \
+ || die "The configure script failed to run properly"
+}
+
+src_install() {
+ emake prefix="${D}"/usr \
+ mandir="${D}"/usr/share/man/man1 \
+ infodir="${D}"/usr/share/info \
+ install gzip-el || die "emake install failed"
+
+ # Rename some applications installed in bin so that it is clear
+ # which application installed them and so that conflicting
+ # packages (emacs) can't clobber the actual applications.
+ # Addresses bug #62991.
+ for i in b2m ctags etags rcs-checkin gnuclient gnudoit gnuattach; do
+ mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed"
+ done
+
+ # rename man pages
+ for i in ctags etags gnuserv gnuclient gnudoit gnuattach; do
+ mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed"
+ done
+
+ # install base packages directories
+ dodir /usr/lib/xemacs/xemacs-packages/
+ dodir /usr/lib/xemacs/site-packages/
+ dodir /usr/lib/xemacs/site-modules/
+ dodir /usr/lib/xemacs/site-lisp/
+
+ if use mule;
+ then
+ dodir /usr/lib/xemacs/mule-packages
+ fi
+
+ # remove extraneous info files
+ cd "${D}"/usr/share/info
+ rm -f dir info.info texinfo* termcap* standards*
+
+ cd "${S}"
+ dodoc BUGS CHANGES-* ChangeLog GETTING* INSTALL PROBLEMS README*
+ dodoc "${FILESDIR}"/README.Gentoo
+
+ newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm
+
+ domenu "${FILESDIR}"/${PN}.desktop
+}
+
+pkg_postinst() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+}
+
+pkg_postrm() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+}
diff --git a/app-editors/xemacs/xemacs-21.4.24-r1.ebuild b/app-editors/xemacs/xemacs-21.4.24-r1.ebuild
new file mode 100644
index 000000000000..4b120d8e087d
--- /dev/null
+++ b/app-editors/xemacs/xemacs-21.4.24-r1.ebuild
@@ -0,0 +1,245 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: xemacs currently does not work with a hardened profile. If you
+# want to use xemacs on a hardened profile then compile with the
+# -nopie flag in CFLAGS or help fix bug #75028.
+
+EAPI="5"
+
+WANT_AUTOCONF="2.1"
+inherit autotools eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="highly customizable open source text editor and application development system"
+HOMEPAGE="http://www.xemacs.org/"
+SRC_URI="http://ftp.xemacs.org/xemacs-21.4/${P}.tar.gz
+ http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xim athena neXt Xaw3d gdbm berkdb"
+
+X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
+
+RDEPEND="
+ berkdb? ( sys-libs/db:= )
+ gdbm? ( >=sys-libs/gdbm-1.8.3 )
+ >=sys-libs/zlib-1.1.4
+ >=dev-libs/openssl-0.9.6:0
+ >=media-libs/audiofile-0.2.3
+ gpm? ( >=sys-libs/gpm-1.19.6 )
+ postgres? ( dev-db/postgresql:= )
+ ldap? ( net-nds/openldap )
+ nas? ( media-libs/nas )
+ X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) )
+ dnd? ( x11-libs/dnd )
+ motif? ( >=x11-libs/motif-2.3:0 )
+ athena? ( x11-libs/libXaw )
+ Xaw3d? ( x11-libs/libXaw3d )
+ neXt? ( x11-libs/neXtaw )
+ xface? ( media-libs/compface )
+ tiff? ( media-libs/tiff:0 )
+ png? ( >=media-libs/libpng-1.2:0 )
+ jpeg? ( virtual/jpeg:0 )
+ canna? ( app-i18n/canna )
+ !amd64? ( freewnn? ( app-i18n/freewnn ) )
+ >=sys-libs/ncurses-5.2:=
+ >=app-eselect/eselect-emacs-1.15"
+
+DEPEND="${RDEPEND}
+ >=sys-apps/texinfo-5"
+
+PDEPEND="app-xemacs/xemacs-base
+ mule? ( app-xemacs/mule-base )"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ use neXt && unpack NeXT_XEmacs.tar.gz
+}
+
+src_prepare() {
+ # see bug 58350, 102540 and 143580
+ epatch "${FILESDIR}"/xemacs-21.4.19-db.patch
+ # see bug 576512
+ epatch "${FILESDIR}"/xemacs-21.4.24-gcc5.patch
+ epatch "${FILESDIR}"/xemacs-21.4.24-glibc-macro.patch
+ # see bug 615544
+ epatch "${FILESDIR}"/xemacs-21.4.24-ncurses-tinfo.patch
+
+ # Some binaries and man pages are installed under suffixed names
+ # to avoid collions with their GNU Emacs counterparts (see below).
+ # Fix internal filename references.
+ sed -i -e 's/exec gnuclient/&-xemacs/' lib-src/gnudoit || die
+ sed -i -e '/^\.so/s/etags/&-xemacs/' etc/ctags.1 || die
+ sed -i -e '/^\.so/s/gnuserv/&-xemacs/' etc/gnu{client,doit,attach}.1 || die
+
+ # Run autoconf. XEmacs tries to be smart by providing a stub
+ # configure.ac file for autoconf 2.59 but this throws our
+ # autotools eclass so it must be removed first.
+ rm "${S}"/configure.ac || die
+ eautoconf
+
+ use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/
+}
+
+src_configure() {
+ local myconf=""
+
+ if use X; then
+
+ myconf="${myconf} --with-widgets=athena"
+ myconf="${myconf} --with-dialogs=athena"
+ myconf="${myconf} --with-menubars=lucid"
+ myconf="${myconf} --with-scrollbars=lucid"
+ if use motif ; then
+ myconf="--with-widgets=motif"
+ myconf="${myconf} --with-dialogs=motif"
+ myconf="${myconf} --with-scrollbars=motif"
+ myconf="${myconf} --with-menubars=lucid"
+ fi
+ if use athena ; then
+ myconf="--with-scrollbars=athena"
+ fi
+
+ if use Xaw3d; then
+ myconf="${myconf} --with-athena=3d"
+ elif use neXt; then
+ myconf="${myconf} --with-athena=next"
+ else
+ myconf="${myconf} --with-athena=xaw"
+ fi
+
+ use dnd && myconf="${myconf} --with-dragndrop --with-offix"
+
+ myconf="${myconf} $(use_with tiff ) $(use_with png )"
+ myconf="${myconf} $(use_with jpeg ) $(use_with xface )"
+ else
+ myconf="${myconf}
+ --without-x
+ --without-xpm
+ --without-dragndrop
+ --with-gif=no"
+ fi
+
+ if use mule ; then
+ myconf="${myconf} --with-mule"
+
+ if use xim ; then
+ if use motif ; then
+ myconf="${myconf} --with-xim=motif"
+ else
+ myconf="${myconf} --with-xim=xlib"
+ fi
+ else
+ myconf="${myconf} --with-xim=no"
+ fi
+
+ myconf="${myconf} $(use_with canna ) $(use_with freewnn wnn )"
+ fi
+
+ # This determines the type of sounds we are playing
+ local soundconf="native"
+
+ # This determines how these sounds should be played
+ use nas && soundconf="${soundconf},nas"
+
+ myconf="${myconf} --with-sound=${soundconf}"
+
+ if use gdbm || use berkdb ; then
+ use gdbm && mydb="gdbm"
+
+ use berkdb && mydb="${mydb},berkdb"
+
+ myconf="${myconf} --with-database=${mydb}"
+ else
+ myconf="${myconf} --without-database"
+ fi
+
+ # fixes #21264, this should be fixed in 21.4.21 and has been fixed
+ # in 21.5 for sure. Now that 21.4.21 is out there is no real
+ # evidence that this indeed got fixed, so keep these exceptions
+ # for now.
+ use alpha && myconf="${myconf} --with-system-malloc"
+ use ppc64 && myconf="${myconf} --with-system-malloc"
+ use ia64 && myconf="${myconf} --with-system-malloc"
+
+ # Enabling modules will cause segfaults outside the XEmacs build directory
+ use ia64 && myconf="${myconf} --without-modules"
+
+ einfo "${myconf}"
+
+ # see bug 576512
+ append-cflags -fgnu89-inline
+
+ # Don't use econf because it uses options which this configure
+ # script does not understand (like --host).
+ ./configure ${myconf} ${EXTRA_ECONF} \
+ $(use_with gif ) \
+ $(use_with gpm ) \
+ $(use_with postgres postgresql ) \
+ $(use_with ldap ) \
+ $(use_with eolconv file-coding ) \
+ $(use_with pop ) \
+ --compiler=$(tc-getCC) \
+ --prefix=/usr \
+ --with-ncurses \
+ --with-msw=no \
+ --mail-locking=flock \
+ --with-site-lisp=yes \
+ --with-site-modules=yes \
+ || die "The configure script failed to run properly"
+}
+
+src_install() {
+ emake prefix="${D}"/usr \
+ mandir="${D}"/usr/share/man/man1 \
+ infodir="${D}"/usr/share/info \
+ install gzip-el || die "emake install failed"
+
+ # Rename some applications installed in bin so that it is clear
+ # which application installed them and so that conflicting
+ # packages (emacs) can't clobber the actual applications.
+ # Addresses bug #62991.
+ for i in b2m ctags etags rcs-checkin gnuclient gnudoit gnuattach; do
+ mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed"
+ done
+
+ # rename man pages
+ for i in ctags etags gnuserv gnuclient gnudoit gnuattach; do
+ mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed"
+ done
+
+ # install base packages directories
+ dodir /usr/lib/xemacs/xemacs-packages/
+ dodir /usr/lib/xemacs/site-packages/
+ dodir /usr/lib/xemacs/site-modules/
+ dodir /usr/lib/xemacs/site-lisp/
+
+ if use mule;
+ then
+ dodir /usr/lib/xemacs/mule-packages
+ fi
+
+ # remove extraneous info files
+ cd "${D}"/usr/share/info
+ rm -f dir info.info texinfo* termcap* standards*
+
+ cd "${S}"
+ dodoc BUGS CHANGES-* ChangeLog GETTING* INSTALL PROBLEMS README*
+ dodoc "${FILESDIR}"/README.Gentoo
+
+ newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm
+
+ domenu "${FILESDIR}"/${PN}.desktop
+}
+
+pkg_postinst() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+}
+
+pkg_postrm() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+}
diff --git a/app-editors/xemacs/xemacs-21.4.24.ebuild b/app-editors/xemacs/xemacs-21.4.24.ebuild
new file mode 100644
index 000000000000..daf6425d4dac
--- /dev/null
+++ b/app-editors/xemacs/xemacs-21.4.24.ebuild
@@ -0,0 +1,247 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: xemacs currently does not work with a hardened profile. If you
+# want to use xemacs on a hardened profile then compile with the
+# -nopie flag in CFLAGS or help fix bug #75028.
+
+EAPI="5"
+
+WANT_AUTOCONF="2.1"
+inherit autotools eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="highly customizable open source text editor and application development system"
+HOMEPAGE="http://www.xemacs.org/"
+SRC_URI="http://ftp.xemacs.org/xemacs-21.4/${P}.tar.gz
+ http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ~mips ppc ppc64 sparc x86"
+IUSE="eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xim athena neXt Xaw3d gdbm berkdb"
+
+X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
+
+RDEPEND="
+ berkdb? ( sys-libs/db:= )
+ gdbm? ( >=sys-libs/gdbm-1.8.3 )
+ >=sys-libs/zlib-1.1.4
+ >=dev-libs/openssl-0.9.6:0
+ >=media-libs/audiofile-0.2.3
+ gpm? ( >=sys-libs/gpm-1.19.6 )
+ postgres? ( dev-db/postgresql:= )
+ ldap? ( net-nds/openldap )
+ nas? ( media-libs/nas )
+ X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) )
+ dnd? ( x11-libs/dnd )
+ motif? ( >=x11-libs/motif-2.3:0 )
+ athena? ( x11-libs/libXaw )
+ Xaw3d? ( x11-libs/libXaw3d )
+ neXt? ( x11-libs/neXtaw )
+ xface? ( media-libs/compface )
+ tiff? ( media-libs/tiff:0 )
+ png? ( >=media-libs/libpng-1.2:0 )
+ jpeg? ( virtual/jpeg:0 )
+ canna? ( app-i18n/canna )
+ !amd64? ( freewnn? ( app-i18n/freewnn ) )
+ >=sys-libs/ncurses-5.2:=
+ >=app-eselect/eselect-emacs-1.15"
+
+DEPEND="${RDEPEND}
+ >=sys-apps/texinfo-5"
+
+PDEPEND="app-xemacs/xemacs-base
+ mule? ( app-xemacs/mule-base )"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ use neXt && unpack NeXT_XEmacs.tar.gz
+}
+
+src_prepare() {
+ # see bug 58350, 102540 and 143580
+ epatch "${FILESDIR}"/xemacs-21.4.19-db.patch
+ # see bug 576512
+ epatch "${FILESDIR}"/xemacs-21.4.24-gcc5.patch
+ # see bug 615544
+ epatch "${FILESDIR}"/xemacs-21.4.24-ncurses-tinfo.patch
+
+ # Some binaries and man pages are installed under suffixed names
+ # to avoid collions with their GNU Emacs counterparts (see below).
+ # Fix internal filename references.
+ sed -i -e 's/exec gnuclient/&-xemacs/' lib-src/gnudoit || die
+ sed -i -e '/^\.so/s/etags/&-xemacs/' etc/ctags.1 || die
+ sed -i -e '/^\.so/s/gnuserv/&-xemacs/' etc/gnu{client,doit,attach}.1 || die
+
+ # Run autoconf. XEmacs tries to be smart by providing a stub
+ # configure.ac file for autoconf 2.59 but this throws our
+ # autotools eclass so it must be removed first.
+ rm "${S}"/configure.ac || die
+ eautoconf
+
+ use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/
+}
+
+src_configure() {
+ local myconf=""
+
+ if use X; then
+
+ myconf="${myconf} --with-widgets=athena"
+ myconf="${myconf} --with-dialogs=athena"
+ myconf="${myconf} --with-menubars=lucid"
+ myconf="${myconf} --with-scrollbars=lucid"
+ if use motif ; then
+ myconf="--with-widgets=motif"
+ myconf="${myconf} --with-dialogs=motif"
+ myconf="${myconf} --with-scrollbars=motif"
+ myconf="${myconf} --with-menubars=lucid"
+ fi
+ if use athena ; then
+ myconf="--with-scrollbars=athena"
+ fi
+
+ if use Xaw3d; then
+ myconf="${myconf} --with-athena=3d"
+ elif use neXt; then
+ myconf="${myconf} --with-athena=next"
+ else
+ myconf="${myconf} --with-athena=xaw"
+ fi
+
+ use dnd && myconf="${myconf} --with-dragndrop --with-offix"
+
+ myconf="${myconf} $(use_with tiff ) $(use_with png )"
+ myconf="${myconf} $(use_with jpeg ) $(use_with xface )"
+ else
+ myconf="${myconf}
+ --without-x
+ --without-xpm
+ --without-dragndrop
+ --with-gif=no"
+ fi
+
+ if use mule ; then
+ myconf="${myconf} --with-mule"
+
+ if use xim ; then
+ if use motif ; then
+ myconf="${myconf} --with-xim=motif"
+ else
+ myconf="${myconf} --with-xim=xlib"
+ fi
+ else
+ myconf="${myconf} --with-xim=no"
+ fi
+
+ myconf="${myconf} $(use_with canna ) $(use_with freewnn wnn )"
+ fi
+
+ # This determines the type of sounds we are playing
+ local soundconf="native"
+
+ # This determines how these sounds should be played
+ use nas && soundconf="${soundconf},nas"
+
+ myconf="${myconf} --with-sound=${soundconf}"
+
+ if use gdbm || use berkdb ; then
+ use gdbm && mydb="gdbm"
+
+ use berkdb && mydb="${mydb},berkdb"
+
+ myconf="${myconf} --with-database=${mydb}"
+ else
+ myconf="${myconf} --without-database"
+ fi
+
+ # fixes #21264, this should be fixed in 21.4.21 and has been fixed
+ # in 21.5 for sure. Now that 21.4.21 is out there is no real
+ # evidence that this indeed got fixed, so keep these exceptions
+ # for now.
+ use alpha && myconf="${myconf} --with-system-malloc"
+ use ppc64 && myconf="${myconf} --with-system-malloc"
+ use ia64 && myconf="${myconf} --with-system-malloc"
+
+ # Enabling modules will cause segfaults outside the XEmacs build directory
+ use ia64 && myconf="${myconf} --without-modules"
+
+ # fixes #552044, deprecation warnings fools header detection in configure
+ myconf="${myconf} --cppflags=-Wno-cpp"
+
+ einfo "${myconf}"
+
+ # see bug 576512
+ append-cflags -std=gnu89
+
+ # Don't use econf because it uses options which this configure
+ # script does not understand (like --host).
+ ./configure ${myconf} ${EXTRA_ECONF} \
+ $(use_with gif ) \
+ $(use_with gpm ) \
+ $(use_with postgres postgresql ) \
+ $(use_with ldap ) \
+ $(use_with eolconv file-coding ) \
+ $(use_with pop ) \
+ --compiler=$(tc-getCC) \
+ --prefix=/usr \
+ --with-ncurses \
+ --with-msw=no \
+ --mail-locking=flock \
+ --with-site-lisp=yes \
+ --with-site-modules=yes \
+ || die "The configure script failed to run properly"
+}
+
+src_install() {
+ emake prefix="${D}"/usr \
+ mandir="${D}"/usr/share/man/man1 \
+ infodir="${D}"/usr/share/info \
+ install gzip-el || die "emake install failed"
+
+ # Rename some applications installed in bin so that it is clear
+ # which application installed them and so that conflicting
+ # packages (emacs) can't clobber the actual applications.
+ # Addresses bug #62991.
+ for i in b2m ctags etags rcs-checkin gnuclient gnudoit gnuattach; do
+ mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed"
+ done
+
+ # rename man pages
+ for i in ctags etags gnuserv gnuclient gnudoit gnuattach; do
+ mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed"
+ done
+
+ # install base packages directories
+ dodir /usr/lib/xemacs/xemacs-packages/
+ dodir /usr/lib/xemacs/site-packages/
+ dodir /usr/lib/xemacs/site-modules/
+ dodir /usr/lib/xemacs/site-lisp/
+
+ if use mule;
+ then
+ dodir /usr/lib/xemacs/mule-packages
+ fi
+
+ # remove extraneous info files
+ cd "${D}"/usr/share/info
+ rm -f dir info.info texinfo* termcap* standards*
+
+ cd "${S}"
+ dodoc BUGS CHANGES-* ChangeLog GETTING* INSTALL PROBLEMS README*
+ dodoc "${FILESDIR}"/README.Gentoo
+
+ newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm
+
+ domenu "${FILESDIR}"/${PN}.desktop
+}
+
+pkg_postinst() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+}
+
+pkg_postrm() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+}
diff --git a/app-editors/xemacs/xemacs-21.5.34-r4.ebuild b/app-editors/xemacs/xemacs-21.5.34-r4.ebuild
new file mode 100644
index 000000000000..dec26af2cdbd
--- /dev/null
+++ b/app-editors/xemacs/xemacs-21.5.34-r4.ebuild
@@ -0,0 +1,252 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: xemacs currently does not work with a hardened profile. If you
+# want to use xemacs on a hardened profile then compile with the
+# -nopie flag in CFLAGS or help fix bug #75028.
+
+EAPI=5
+
+WANT_AUTOCONF="2.5"
+inherit eutils flag-o-matic multilib
+
+DESCRIPTION="highly customizable open source text editor and application development system"
+HOMEPAGE="http://www.xemacs.org/"
+SRC_URI="http://ftp.xemacs.org/xemacs-21.5/${P}.tar.gz
+ http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd"
+IUSE="alsa debug eolconv gif gpm pop postgres ldap libressl xface nas dnd X jpeg tiff png mule motif freewnn canna xft xim athena neXt Xaw3d gdbm berkdb"
+
+X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
+
+RDEPEND="
+ berkdb? ( >=sys-libs/db-4:= !!<sys-libs/db-4 )
+ gdbm? ( >=sys-libs/gdbm-1.8.3[berkdb(+)] )
+ >=sys-libs/zlib-1.1.4
+ !libressl? ( >=dev-libs/openssl-0.9.6:0 )
+ libressl? ( dev-libs/libressl )
+ >=media-libs/audiofile-0.2.3
+ gpm? ( >=sys-libs/gpm-1.19.6 )
+ postgres? ( dev-db/postgresql:= )
+ ldap? ( net-nds/openldap )
+ alsa? ( media-libs/alsa-lib )
+ nas? ( media-libs/nas )
+ X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) )
+ dnd? ( x11-libs/dnd )
+ motif? ( >=x11-libs/motif-2.3:0[xft=] )
+ athena? ( x11-libs/libXaw )
+ Xaw3d? ( x11-libs/libXaw3d )
+ xft? ( media-libs/freetype:2 x11-libs/libXft x11-libs/libXrender >=media-libs/fontconfig-2.5.0 )
+ neXt? ( x11-libs/neXtaw )
+ xface? ( media-libs/compface )
+ tiff? ( media-libs/tiff:0 )
+ png? ( >=media-libs/libpng-1.2:0 )
+ jpeg? ( virtual/jpeg:0 )
+ canna? ( app-i18n/canna )
+ freewnn? ( app-i18n/freewnn )
+ >=sys-libs/ncurses-5.2:=
+ >=app-eselect/eselect-emacs-1.15"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+PDEPEND="app-xemacs/xemacs-base
+ mule? ( app-xemacs/mule-base )"
+
+src_unpack() {
+ default_src_unpack
+
+ use neXt && unpack NeXT_XEmacs.tar.gz
+}
+
+src_prepare() {
+ use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/
+ find "${S}"/lisp -name '*.elc' -exec rm {} \; || die
+ epatch "${FILESDIR}/${P}-ncurses-tinfo.patch"
+ epatch "${FILESDIR}/${P}-gcc5.patch"
+ epatch "${FILESDIR}/${P}-glibc-macro.patch"
+
+ # Some binaries and man pages are installed under suffixed names
+ # to avoid collions with their GNU Emacs counterparts (see below).
+ # Fix internal filename references.
+ sed -i -e 's/exec gnuclient/&-xemacs/' lib-src/gnudoit || die
+ sed -i -e '/^\.so/s/etags/&-xemacs/' etc/ctags.1 || die
+ sed -i -e '/^\.so/s/gnuserv/&-xemacs/' etc/gnu{client,doit,attach}.1 || die
+}
+
+src_configure() {
+ local myconf=""
+
+ if use X; then
+
+ myconf="${myconf} --with-widgets=athena"
+ myconf="${myconf} --with-dialogs=athena"
+ myconf="${myconf} --with-menubars=lucid"
+ myconf="${myconf} --with-scrollbars=lucid"
+ if use motif ; then
+ myconf="--with-widgets=motif"
+ myconf="${myconf} --with-dialogs=motif"
+ myconf="${myconf} --with-scrollbars=motif"
+ myconf="${myconf} --with-menubars=lucid"
+ fi
+ if use athena or use Xaw3d ; then
+ myconf="--with-scrollbars=athena"
+ fi
+
+ if use Xaw3d; then
+ myconf="${myconf} --with-athena=3d"
+ elif use neXt; then
+ myconf="${myconf} --with-athena=next"
+ else
+ myconf="${myconf} --with-athena=xaw"
+ fi
+
+ use dnd && myconf="${myconf} --with-dragndrop --with-offix"
+
+ myconf="${myconf} $(use_with tiff )"
+ myconf="${myconf} $(use_with png )"
+ myconf="${myconf} $(use_with jpeg )"
+ myconf="${myconf} $(use_with xface )"
+
+ use xft && myconf="${myconf} --with-xft=emacs,tabs,menubars,gauges" ||
+ myconf="${myconf} --with-xft=no"
+
+ else
+ myconf="${myconf}
+ --without-x
+ --without-xpm
+ --without-dragndrop
+ --with-xft=no
+ --with-gif=no"
+ fi
+
+ if use mule ; then
+ myconf="${myconf} --with-mule"
+
+ if use xim ; then
+ if use motif ; then
+ myconf="${myconf} --with-xim=motif"
+ else
+ myconf="${myconf} --with-xim=xlib"
+ fi
+ else
+ myconf="${myconf} --with-xim=no"
+ fi
+
+ myconf="${myconf} $(use_with canna )"
+ myconf="${myconf} $(use_with freewnn wnn )"
+ fi
+
+ # This determines the type of sounds we are playing
+ local soundconf="native"
+
+ # This determines how these sounds should be played
+ use nas && soundconf="${soundconf},nas"
+ use alsa && soundconf="${soundconf},alsa"
+
+ myconf="${myconf} --with-sound=${soundconf}"
+
+ if use gdbm || use berkdb ; then
+ use gdbm && mydb="gdbm"
+ use berkdb && mydb="${mydb},berkdb"
+
+ myconf="${myconf} --with-database=${mydb}"
+ else
+ myconf="${myconf} --without-database"
+ fi
+
+ use debug && myconf="${myconf} --with-debug" ||
+ myconf="${myconf} --with-optimization"
+
+ econf ${myconf} \
+ $(use_with gif ) \
+ $(use_with gpm ) \
+ $(use_with postgres postgresql ) \
+ $(use_with ldap ) \
+ $(use_with eolconv file-coding ) \
+ $(use_with pop ) \
+ --prefix=/usr \
+ --with-ncurses \
+ --with-msw=no \
+ --with-mail-locking=flock \
+ --with-site-lisp=yes \
+ --with-site-modules=yes \
+ --with-newgc \
+ --with-system-malloc \
+ --enable-option-checking=no \
+ --with-last-packages=/usr/lib/xemacs \
+ || die "configuration failed"
+}
+
+src_compile() {
+ emake EMACSLOADPATH="${S}"/lisp
+}
+
+src_install() {
+ emake prefix="${D}"/usr \
+ mandir="${D}"/usr/share/man/man1 \
+ infodir="${D}"/usr/share/info \
+ libdir="${D}"/usr/$(get_libdir) \
+ datadir="${D}"/usr/share \
+ install || die
+
+ # Rename some applications installed in bin so that it is clear
+ # which application installed them and so that conflicting
+ # packages (emacs) can't clobber the actual applications.
+ # Addresses bug #62991.
+ for i in b2m ctags etags gnuclient gnudoit gnuattach; do
+ mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed"
+ done
+
+ # rename man pages
+ for i in ctags etags gnuserv gnuclient gnudoit gnuattach; do
+ mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed"
+ done
+
+ # install base packages directories
+ dodir /usr/lib/xemacs/xemacs-packages/
+ dodir /usr/lib/xemacs/site-packages/
+ dodir /usr/lib/xemacs/site-modules/
+ dodir /usr/lib/xemacs/site-lisp/
+
+ if use mule;
+ then
+ dodir /usr/lib/xemacs/mule-packages
+ fi
+
+ # remove extraneous info files
+ cd "${D}"/usr/share/info
+ rm -f dir info.info texinfo* termcap* standards*
+
+ cd "${S}"
+ dodoc CHANGES-* ChangeLog INSTALL Installation PROBLEMS README*
+
+ newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm
+
+ domenu "${FILESDIR}"/${PN}.desktop
+}
+
+pkg_postinst() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+
+ einfo "If you are upgrading from XEmacs 21.4 you should note the following"
+ einfo "incompatibilities:"
+ einfo "- Mule-UCS is no longer supported due to proper UTF-8 support in XEmacs 21.5"
+ einfo "- The X resource class has changed from Emacs to XEmacs,"
+ einfo " settings in your .Xdefaults file should be updated accordingly."
+
+ if use xft;
+ then
+ einfo "You have enabled Xft font support. Xft requires font names to be provided"
+ einfo "in a different way, so you may need to adjust your .Xdefaults accordingly."
+ fi
+}
+
+pkg_postrm() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+}
diff --git a/app-editors/xmlcopyeditor/Manifest b/app-editors/xmlcopyeditor/Manifest
new file mode 100644
index 000000000000..e1fd557fdda8
--- /dev/null
+++ b/app-editors/xmlcopyeditor/Manifest
@@ -0,0 +1,5 @@
+DIST xmlcopyeditor-1.2.1.3.tar.gz 4266907 SHA256 9b684b5042b4af85d3626fd55108bd1d63c0007b5c794ef7cc4b026012b29d2f SHA512 1adda58bc262cd22898ba22eed3cad9f4a51f199e779172af2d51c5d7bf6dac072b9015b90906236de83d7acebe29d0aae6ae73998ec9d9b3c58b02f081e0b4d WHIRLPOOL c536382a6669f54f7abb84f31de57fc1cc11c85ddc20a90828c39e5edb2d112a741b9d1d7e5a0011b4c4ae337bf12f31ec556b9fd4a54da2219b754e48434df5
+EBUILD xmlcopyeditor-1.2.1.3.ebuild 921 SHA256 30cca5cec646834595967cbe3334dde9fa832f0de2ef513ede1ae035f0d52722 SHA512 c226e815d601d6551bc97a85d731379fb627d64a49f0e8a6e3993b4667968604fa3882b7a94b75713f0ff4f417038f71ddd92a3f34e0c0abc824aa242cc0e3c2 WHIRLPOOL 31085e96f4f67283241cf58d3c4806fcb81f02c5656d39b26e1bfaa2992da47974f68ea00432ca5f99a5860e76869cb67a6503152ffae5edd97336c6001773c3
+MISC ChangeLog 3520 SHA256 7501c99609de978629939ab4da5b728b1581f444a34d6916060cb9273b2c4295 SHA512 030d71854edd93d8e55a1f3075def8c8d68b2021cb21e6a51ab5d05016e1be44fa7325d754c35c2dd573d0a16a62a637a412d2aaa1fac1a7248a4b283d29bcfb WHIRLPOOL 29000253e0f9526339d4d683c781a65b799374daeb156f108d97197a47548ee00e6ff610e4782ac548c88cbcd70e95f0ca2d427c90e9f1b1ac4c601dadfba999
+MISC ChangeLog-2015 5815 SHA256 564cbb92211cb98dea6c8cf69f04724c983b59a90d23960818f97fae7e090442 SHA512 9a83765ff76b8d32c68b8612b443d85485545763ecca67815b57b2e72d44e0ab27f620b2beba922c88f722d968734b90921efe244e22b7201a11fbc42ec23366 WHIRLPOOL 839c61f0371773be11a328dd408fad2f715d259c8c918dbb71bdb3a514a5559cf5a6218207a3c4d3709c7fa36a4fa3378b622880f92574c77f47f4882b2beb20
+MISC metadata.xml 441 SHA256 873e8e7accfbadb208593802efcb2d69741f4e5580531f8b7008d07354e270dd SHA512 c84691628454ff4f8b4111cf4516f8e134ae9960564b0bb2242d0cfc30632c1a68bcf5620cc75534854285b7ab1929a5f0da0743a1afb3be19ef78184c6ab450 WHIRLPOOL cc1ed594dda4c1e833c152b0d0011302fa3f4232f077a6418d5cf35fc17d9ff698413606da8422413ca7ac4c74be17bd8e8f32dcb70d9b43c302aa163e8c78c4
diff --git a/app-editors/xmlcopyeditor/metadata.xml b/app-editors/xmlcopyeditor/metadata.xml
new file mode 100644
index 000000000000..fdd4b7a4a7e6
--- /dev/null
+++ b/app-editors/xmlcopyeditor/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 type="person">
+ <email>rhill@gentoo.org</email>
+ <name>Ryan Hill</name>
+ <description>Maintainer</description>
+ </maintainer>
+ <longdescription>
+ Fast, free, validating XML editor.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">xml-copy-editor</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.1.3.ebuild b/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.1.3.ebuild
new file mode 100644
index 000000000000..f8f58ca6770f
--- /dev/null
+++ b/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.1.3.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+WX_GTK_VER="3.0"
+
+inherit autotools wxwidgets
+
+DESCRIPTION="XML Copy Editor is a fast, free, validating XML editor"
+HOMEPAGE="http://xml-copy-editor.sourceforge.net/"
+SRC_URI="mirror://sourceforge/xml-copy-editor/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="aqua nls"
+
+RDEPEND="
+ app-text/aspell
+ dev-libs/libxml2
+ dev-libs/libxslt
+ dev-libs/xerces-c[icu]
+ dev-libs/libpcre
+ !aqua? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )
+ aqua? ( x11-libs/wxGTK:${WX_GTK_VER}[aqua] )"
+DEPEND="${RDEPEND}
+ dev-libs/boost
+ dev-util/intltool"
+
+DOCS=( AUTHORS ChangeLog README NEWS )
+
+src_prepare() {
+ # bug #440744
+ sed -i -e 's/ -Wall -g -fexceptions//g' configure.ac || die
+ eautoreconf
+
+ need-wxwidgets unicode
+}
+
+src_configure() {
+ econf $(use_enable nls)
+}
diff --git a/app-editors/xvile/Manifest b/app-editors/xvile/Manifest
new file mode 100644
index 000000000000..14f40e377846
--- /dev/null
+++ b/app-editors/xvile/Manifest
@@ -0,0 +1,7 @@
+DIST vile-9.8r.tgz 2322132 SHA256 f36093551178b10c7c34cd514503fcc4d03fedd19c1eba7845b876253e48db80 SHA512 4f610c8c8f491d8d630d042166cbbdc12b89513d40d14dd70526d6cb5d7ebf603a99b19ce2fc42f7143d674e6d5155fcd305da297e03e46caa862ff40e2bbdd4 WHIRLPOOL 7a375769942d297b5448934bd49a4278697e8307f16900f1ebccd1ac4c9e37a483faf0b2e0f328f2210bdcead79251a1831a2ab4e28e20db637b593c636c06f2
+DIST vile-9.8s.tgz 2328441 SHA256 1197bc894a63e359e2ae1053a38829b04e9e6948e30e59803f49ed781c077502 SHA512 06bfa64e5908aa31351068c5509e6fcc98bde202b814aa6abe5c449f841378c897df1fdbb8b20bdb5e71578238e1e9d11dac08e66159317276a01a9ac96ae9ab WHIRLPOOL 054c7b67df64f39b32534cc6fc3e238341dd4cd6cbff362a0638cbee01e2ca729a0b537461b766e6808c05527039a1135d44d30d0f6da826d6b88ebb8fa6abd2
+EBUILD xvile-9.8r.ebuild 864 SHA256 57ee8b7425cb83696031d8e6daa2a6ce4bd2b3e3d11e2eaffcd5a36540f192e8 SHA512 e2654a4ce00acfbabfb1f777e7dc25c12e49077679c66653540dc53db671d5185c21dc1d74f20ae8030f4afc9c0005daa8e8b4b2be31f0214dca8c64d6306fe5 WHIRLPOOL 35e225858eb8f70b996e6063dab2568a69add442a07fb197e7099c1f8d39eee62a7ff68757b28430ff43831117adaeeab61bf8b3fbcc2b7c3677e7283db22f7f
+EBUILD xvile-9.8s.ebuild 870 SHA256 9bcbbc88f83a4c07c28c070c71f6e5dcc3ec4711094653957afdf1e556667fe3 SHA512 155c25dc0f6321551e147fb09ecdda405b3d1dd5782ed5bc19cf7f4a6916c30d0d2bf7003a3ed38248fafd4725eb3a62ef3ff94844d8a613b9459abe21580609 WHIRLPOOL 3d751c1a9de7d6847c9f4f8085ae0f3742484fd0a9b02b1ca5874c5952bd360d309b7c4c017622b31ba23e35331b1384c90b8b9788776211d3ef5e344295f5ce
+MISC ChangeLog 2777 SHA256 91a1ef0e289bd4a8773f254337001161f7626d302b86684b509dab4f1e40d0cd SHA512 8dbadea0764dbf488116f61a0b167291fa773a50d3cc306bb561b52a9a1032f6c3a504d71092026bfaf5ede7f9d5e797a64c40514be0032aaac69a5fe446374d WHIRLPOOL 015d08ec4e74370706088668af3d1aaa1bb3cd3eee021e8735a11aa41ac04e6b16137081e840d2fe34c38b8fc04411aae2f30617375defc0ed50652a7bbefd17
+MISC ChangeLog-2015 5217 SHA256 82bbe89a7cffd6e3a1697de1670ffede7885fb6176b77276f078399233ec280e SHA512 b98fd2a7f6fc3da448806f9ee653958ef9b94da6cb90cecfd8679f7a5d731d670318d17d186cfc971e3e3bdd48f04240ef961b835849905c872d5091c6222c70 WHIRLPOOL 21ab3ce2da4cae69c9d7ece30c7e8dbf7d9a506f985eceb68fd787cc13d37cb7bed8784e003884a62cbc269ed98b3d74d70cf9d7b11fc1357d31df74170fa4b3
+MISC metadata.xml 245 SHA256 a8b1695a5ced5d18651f2c27eb007b4eaf4af0a421f0cbc21e2be1d9282d9e62 SHA512 6d6d35ccbb839c939bc663cecb55e2178f5fd4e455ee3088b8847416d558dd3e7969f4c78bc445ff29503d6906fec12d302d7249e9adc8cb708d0790e681e5a2 WHIRLPOOL 5bd04d29b34b35ffc355cf4fa5048b94bea046b3bcd327674a05c25d5ad3f8a131a1ba4c06e0f897be0037df160acdb82303be1c89057e7ed3586d0bd493a47b
diff --git a/app-editors/xvile/metadata.xml b/app-editors/xvile/metadata.xml
new file mode 100644
index 000000000000..f1abc6411341
--- /dev/null
+++ b/app-editors/xvile/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 type="project">
+ <email>vim@gentoo.org</email>
+ <name>Gentoo Vim Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/app-editors/xvile/xvile-9.8r.ebuild b/app-editors/xvile/xvile-9.8r.ebuild
new file mode 100644
index 000000000000..8748bca62a91
--- /dev/null
+++ b/app-editors/xvile/xvile-9.8r.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_P="${PN/x/}-${PV}"
+DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone"
+HOMEPAGE="https://invisible-island.net/vile/"
+SRC_URI="ftp://invisible-island.net/vile/current/${MY_P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ia64 ppc sparc x86"
+IUSE="perl"
+
+RDEPEND="perl? ( dev-lang/perl )
+ =app-editors/vile-${PV}
+ >=x11-libs/libX11-1.0.0
+ >=x11-libs/libXt-1.0.0
+ >=x11-libs/libICE-1.0.0
+ >=x11-libs/libSM-1.0.0
+ >=x11-libs/libXaw-1.0.1
+ >=x11-libs/libXpm-3.5.4.2
+ >=x11-proto/xproto-7.0.4"
+DEPEND="${RDEPEND}
+ sys-devel/flex"
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ econf \
+ --with-ncurses \
+ --with-x \
+ $(use_with perl)
+}
+
+src_install() {
+ dobin xvile
+ dodoc CHANGES* README doc/*.doc
+ docinto html
+ dodoc doc/*.html
+}
diff --git a/app-editors/xvile/xvile-9.8s.ebuild b/app-editors/xvile/xvile-9.8s.ebuild
new file mode 100644
index 000000000000..360881561dd8
--- /dev/null
+++ b/app-editors/xvile/xvile-9.8s.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_P="${PN/x/}-${PV}"
+DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone"
+HOMEPAGE="https://invisible-island.net/vile/"
+SRC_URI="ftp://invisible-island.net/vile/current/${MY_P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86"
+IUSE="perl"
+
+RDEPEND="perl? ( dev-lang/perl )
+ =app-editors/vile-${PV}
+ >=x11-libs/libX11-1.0.0
+ >=x11-libs/libXt-1.0.0
+ >=x11-libs/libICE-1.0.0
+ >=x11-libs/libSM-1.0.0
+ >=x11-libs/libXaw-1.0.1
+ >=x11-libs/libXpm-3.5.4.2
+ >=x11-proto/xproto-7.0.4"
+DEPEND="${RDEPEND}
+ sys-devel/flex"
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ econf \
+ --with-ncurses \
+ --with-x \
+ $(use_with perl)
+}
+
+src_install() {
+ dobin xvile
+ dodoc CHANGES* README doc/*.doc
+ docinto html
+ dodoc doc/*.html
+}
diff --git a/app-editors/yudit/Manifest b/app-editors/yudit/Manifest
new file mode 100644
index 000000000000..02df58f8e087
--- /dev/null
+++ b/app-editors/yudit/Manifest
@@ -0,0 +1,7 @@
+DIST yudit-2.9.2.tar.gz 2831966 SHA256 d9bb2fbf49dbc192b33a9095a819c6ee0b62bf46839333c286371786ab1acfc9 SHA512 39bbd6f1696a97922a5db83b25b52609660ea77c7651cfde1d7189789e7d9a6298f6dd91acf17ab9d1bef1fabbdeb7bb1f9ab95a14198913c84c30154efd9e07 WHIRLPOOL cc45b5cc6f7c2f683b76cf5bad81de78938c7ac0a7bebbe98a360e52f633dded01189047fd90f2eca632c8629a2090dfdb996fbe4ca8a0a35101364e52233aa3
+DIST yudit-2.9.6.tar.gz 2797142 SHA256 ded0b47742fce92aedb6403e8e758162abc73395f9c5a3268ceb2093fbfdf906 SHA512 a9a0b6f6c44451cf2fefc4fc0bb1bbd9ffccd17c4c622dc35b08113245b3bb9f3ca949f3e7b9d2aa919ebf3840295c5e63c0297576e74a5f2d1fb99cfc97c46b WHIRLPOOL b6a0a008ce67d6c2354ea74ee03dd6316cb86f091db5497dc329363c03dc805b8ac7191103f6372e8f4780604c309d8b77365d4600992d4ded09036c0c824bb0
+EBUILD yudit-2.9.2.ebuild 774 SHA256 5c1400288f3907310fcd20932cd179b74c361063bdfb53e2dafab8e9a405eef4 SHA512 7964bc24e1309add3b4a1a9368270db946cddab68ca27747f91122124cf9bb64e77e8d9f2ed366e29dee56e9dd174cf97118063585443ffe6e84af4028400744 WHIRLPOOL 5d0274ed861dd2d880c6b608bc62447ecb892b609c01ffa974cd7744412f5879f0ee0c43041fb97679dde7bf162c5ee068f5ce984da1b817ede84e422c5f79ed
+EBUILD yudit-2.9.6.ebuild 606 SHA256 45a2f8f636b49506c2a3151f3f4517f0600e6e3ff252e0709a1b664fabcad5bb SHA512 a2b41b8414b291ff75a5a1cdc4e7303a4961da7cfde950348be9e341d10192a7b4bd85ee6a7b8e08812bb9de9309123fdaf9341539c5dc33dff5d83aa6079096 WHIRLPOOL 6ad6b849d1099c1530fa81d193ca0dfb9ffe8ae601d70a5b922b7eae352fd9706a3e0846215117a05b1113190498bef3880f3b443d260602913958bf95e046ea
+MISC ChangeLog 2567 SHA256 684473caabf654d72c28fa337c8820af4bd113d906f094fa0f8ccda3d6a22bc4 SHA512 fbf7b89aae39231724f8c180de8fb3652b0ee2ac407063e4ee9cf9fd206c3905af54da1f9bcb6793c8eea2d1e1b9dbd4b75fa15b76578a7fb2fd213d7ee1f580 WHIRLPOOL bd2609f3dc5913fc1ad82c2984effca3d276e776ffa3a48d267e7348c5d55fea26bf3cdc35d23c2c85ac145eb6ea105d61651506ada5d14c38574fb61d48fed1
+MISC ChangeLog-2015 3612 SHA256 6f91ff23dee296e319db8c4f3309f8130a8ce93a6c068c302f8be05beec7dd8f SHA512 c3d6941e22469b5ab140ac6df8c89592359b0caf25bdf2d7160ea79f42d46d356f6556cf98475c55273336d27fe2732f9b38359ac4051214787a3a033c924ccf WHIRLPOOL a83a88c5cc1b1e98c60f1f02496d60684efcd69834b82330a7bd407da5eac7cb4997cea539bb3a2735e22f4234adb7ec518583a6a19dbb35bc680ac855006827
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/app-editors/yudit/metadata.xml b/app-editors/yudit/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/app-editors/yudit/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/app-editors/yudit/yudit-2.9.2.ebuild b/app-editors/yudit/yudit-2.9.2.ebuild
new file mode 100644
index 000000000000..458f549e693c
--- /dev/null
+++ b/app-editors/yudit/yudit-2.9.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+DESCRIPTION="Free (Y)unicode text editor for all unices"
+HOMEPAGE="http://www.yudit.org/"
+SRC_URI="http://yudit.org/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="x11-libs/libX11"
+DEPEND="${RDEPEND}
+ >=sys-devel/gettext-0.10"
+
+src_prepare() {
+ #Don't strip binaries, let portage do that.
+ sed -i "/^INSTALL_PROGRAM/s: -s::" Makefile.conf.in || die "sed failed"
+}
+
+src_compile() {
+ #FIXME:
+ #-j1 because this app builds a tool called 'mytool' and we need to make
+ #sure that it is built before it needs to be used.
+ emake -j1
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die
+ dodoc {BUGS,CHANGELOG,NEWS,TODO,XBUGS}.TXT
+}
diff --git a/app-editors/yudit/yudit-2.9.6.ebuild b/app-editors/yudit/yudit-2.9.6.ebuild
new file mode 100644
index 000000000000..f6907b50b917
--- /dev/null
+++ b/app-editors/yudit/yudit-2.9.6.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="Free (Y)unicode text editor for all unices"
+HOMEPAGE="http://www.yudit.org/"
+SRC_URI="http://yudit.org/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="x11-libs/libX11"
+DEPEND="${RDEPEND}
+ >=sys-devel/gettext-0.10"
+
+src_prepare() {
+ #Don't strip binaries, let portage do that.
+ sed -i "/^INSTALL_PROGRAM/s: -s::" Makefile.conf.in || die "sed failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc {BUGS,CHANGELOG,NEWS,TODO,XBUGS}.TXT
+}
diff --git a/app-editors/zile/Manifest b/app-editors/zile/Manifest
new file mode 100644
index 000000000000..348690d9e27e
--- /dev/null
+++ b/app-editors/zile/Manifest
@@ -0,0 +1,11 @@
+AUX zile-2.3.24-gets.patch 904 SHA256 13eac2bfc860f2fd0b7872e810e9c31b3ae48712bf1b19496c1f300c06ca11e7 SHA512 5ab3ba3d31288c4cb2071796144e68d85c6bf29f215714980685dce75eeac199ea32bfea2c83619e997c2c90891a254179dd6e8763651e703f4a662b7871bab2 WHIRLPOOL aa9096003187482b2fcc64f3d6d2fe7f11cee18f818f7b604016492d2642ad0f811d9cd92b6d6243236543fce0510f4f4cb78e4b264a798e063e62f0c70c0dd7
+AUX zile-2.3.24-userhome.patch 980 SHA256 68c7fa25fa7e6e0f9b5240f0824a9148edce6289870d281c9ecb99e421451541 SHA512 b1d0e4453771d36efe6547d9c30c807af0a05866bd728a94d30f25b8e9248d880a02143c5d1d9b47fa7a5cab9174804feeb3cc0f2956474c948349581d7a25e7 WHIRLPOOL 369b4d1205ed5acb7717d94df69cde61dc6d2735798ccc3945eb44433bf0ec03f93652c0d259f418c3d376c28bdcca01eb6f3396a3ed4e3ab2dd37e39e203cc6
+DIST zile-2.3.24.tar.gz 953962 SHA256 218bb2af414c6a168101656631a5b2da92f20a965895e1006658cc658b0b7e89 SHA512 8361f42436ae9ca150f09d830096b7a3fb0089d58bffe5ad7538b5ec5cd4e0e50085213e938db1a95e2922db845d1d2f36841a65fe1b9b72f60cd930dd8f09b9 WHIRLPOOL 37aae22305abdc2c2b86c8f6b43dcb7621464213ac375ec2fde767d99f79ddba08216c392c5500a71175f30762fe57e786f94305ff03947e413d5291cfafa934
+DIST zile-2.4.11.tar.gz 1293707 SHA256 1fd27bbddc61491b1fbb29a345d0d344734aa9e80cfa07b02892eedf831fa9cc SHA512 dbcbae98d8b9fc7ea71abc8ad0c4248edf1498a731172e800dd4b1fd598597924cc61e24fbfce5eb44dd2b3a0b2aea416c6373843a450e19cc8c98aa83d6ae0e WHIRLPOOL c39cafe9b4409580656c29df78e8a4aeb37487b93bb01e357c964866f27207ef2811672967c7da7e2ad9bdfb2d47ea09168c611d89757b000530dbb60d5785d9
+DIST zile-2.4.13.tar.gz 1296379 SHA256 c795f369ea432219c21bf59ffc9322fd5f221217021a8fbaa6f9fed91778ac0e SHA512 ada0eabe6285894ab4c25fa71c3ca6f07f0df2d36ad64f92037cb1b02d7b898dbd64fa47ef96800b7d995a5958ddec525e0d849a427e1f9bf14da944a4c30e88 WHIRLPOOL a23e3a68f7895a15ef19480c2c6f30330f7b4ee719fdc8523fed16e6a387b965ccdca5afb5c17cf4bd63b5c935c53ef2c320f083598bd75bfbf9c9721851cf98
+EBUILD zile-2.3.24-r2.ebuild 889 SHA256 7d28bc6b4d58a9d2ce94d2a903c29f7dae87cea49b260521394969ff6a27bef3 SHA512 22f325d01af4bc598c06c63eb5cd395fbacb982af9b697d3c93c32a68f34eb858d4ba71416d9bcb5733a32c1e576812da75413d88e94940275f5612f60cc799b WHIRLPOOL 1291fb354b79323a6fb018dd006d793c1c1102da8dfe8bf10a9ec5e04066ee94ee3b72d77e01f1a2d1fa881124d93c1d0a5f7d77b9d897dc93335604c6f158c4
+EBUILD zile-2.4.11.ebuild 901 SHA256 7479ed4cbc3137118b0b0a9a2b8f8fa26f25dab336297c7b8ddde6232f7b4a49 SHA512 c0229948c5c9d813ae8a5530ce3de60a0eab82de587d985975a77933207e3034432dedb73f37b86fc824a1cbee747cb6b39b67e7c6571dfb04c6e240d31a58ad WHIRLPOOL 9df31e6599b0a120eda4263d19a925b36f1a6def6b475a023b62a03a6ceb1837952d96494697ba5b42df27f964ea2ff4800b01d00921d17943cdf77d9c3fa445
+EBUILD zile-2.4.13.ebuild 907 SHA256 418964d23f7d3fcaad67bc4a045185161d29c8694f2d920d7c5c384e0bf8595b SHA512 cba207e0ab9e48a733fbcfdf2e67645069cfc82a44f762f3933ab5883d3ddb6600593ac4230c57c98feae5a190eed787b9602da4c90ace917b600101656b4749 WHIRLPOOL 6255aaf47d471f8e30f1ced8c7993654bb10c15f5bcc19faec66243d8b22b2d15a032de993820e64fc1337dd5ca3c0ff27678e7a5baa44e205739f2693ada54f
+MISC ChangeLog 3115 SHA256 5e49282f29cb7f1e74b58be25d3471def993cc3b4f8e7d208c68ae6886de24ab SHA512 c99ec9fd034d0dd1cc16c9e031dbc6ba15423b76b30d531b7ad1d4988b5b9a8ded1e672e9e4f7891b9071c1bb4e167bae301dfea0ffc3744039f8e78d3a4baeb WHIRLPOOL 6ef6762a10966e7040deb09508b221ef31b1bc01bfd6f9b333129853b8513edb9f155694fa26c9a20dcf64993a0acc6193f6bf0a61cbdf16b16c2f6ab312b336
+MISC ChangeLog-2015 23639 SHA256 5e953d0a544dedfb0d89691f5b386f83ccb912c7856e0168074f4c842f40b177 SHA512 80f36005d1e4d64b4e42620e5e16adaf1f51cadac39ed1f44af1178b1c2d188a03381c9e8ebab2284087d215a16d4b9d57b90a6181af0133849ca39554256593 WHIRLPOOL 07603a1a6d18ad1a8bd6b8a9e1d34d4a66c397f52ea33682cbf0322d9de7a7e2f4c34bf5fef96952f679084d9aef05fd396eecf3869eeb2cde88e4be41291094
+MISC metadata.xml 638 SHA256 8ae1185fe7aa27cc5e17299cdd576d8360de13c992d5260a565cb746df54746b SHA512 f2214ca22b8c80124f264991e70ad97047a5705dda78bc59573f1c80d3ee144343502bd7f610117af263611c11cb1c7c0b732fe44b6274272a50b7cf5d595ad1 WHIRLPOOL 08ca06aadfde80ff5f7e1e4af26461e7c8f37b368d54d0d36ca6eb6dff07a3cc4d19366e68f41078fe3388ca5726e90db06349765eecaa636974c043b6331b22
diff --git a/app-editors/zile/files/zile-2.3.24-gets.patch b/app-editors/zile/files/zile-2.3.24-gets.patch
new file mode 100644
index 000000000000..9060c4bcf921
--- /dev/null
+++ b/app-editors/zile/files/zile-2.3.24-gets.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/623218
+Backported from gnulib in zile-2.4.11.
+
+--- zile-2.3.24-orig/lib/stdio.in.h
++++ zile-2.3.24/lib/stdio.in.h
+@@ -717,22 +717,11 @@
+ # endif
+ #endif
+
+-#if @GNULIB_GETS@
+-# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-# undef gets
+-# define gets rpl_gets
+-# endif
+-_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
+-_GL_CXXALIAS_RPL (gets, char *, (char *s));
+-# else
+-_GL_CXXALIAS_SYS (gets, char *, (char *s));
+-# undef gets
+-# endif
+-_GL_CXXALIASWARN (gets);
+ /* It is very rare that the developer ever has full control of stdin,
+ so any use of gets warrants an unconditional warning. Assume it is
+ always declared, since it is required by C89. */
++#undef gets
++#if HAVE_RAW_DECL_GETS
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+ #endif
+
diff --git a/app-editors/zile/files/zile-2.3.24-userhome.patch b/app-editors/zile/files/zile-2.3.24-userhome.patch
new file mode 100644
index 000000000000..37f605ccf610
--- /dev/null
+++ b/app-editors/zile/files/zile-2.3.24-userhome.patch
@@ -0,0 +1,26 @@
+http://lists.gnu.org/archive/html/bug-zile/2011-08/msg00030.html
+
+--- zile-2.3.24-orig/src/file.c
++++ zile-2.3.24/src/file.c
+@@ -177,14 +177,15 @@ compact_path (astr path)
+ {
+ /* Replace `/userhome/' (if found) with `~/'. */
+ size_t homelen = strlen (pw->pw_dir);
+- if (astr_len (path) >= homelen &&
+- !strncmp (pw->pw_dir, astr_cstr (path), homelen))
++ if (homelen > 0 && pw->pw_dir[homelen - 1] == '/')
++ homelen--;
++
++ if (astr_len (path) > homelen &&
++ !strncmp (pw->pw_dir, astr_cstr (path), homelen) &&
++ astr_get (path, homelen) == '/')
+ {
+ astr buf = astr_new_cstr ("~/");
+- if (STREQ (pw->pw_dir, "/"))
+- astr_cat_cstr (buf, astr_cstr (path) + 1);
+- else
+- astr_cat_cstr (buf, astr_cstr (path) + homelen + 1);
++ astr_cat_cstr (buf, astr_cstr (path) + homelen + 1);
+ astr_cpy (path, buf);
+ astr_delete (buf);
+ }
diff --git a/app-editors/zile/metadata.xml b/app-editors/zile/metadata.xml
new file mode 100644
index 000000000000..237d50416e4f
--- /dev/null
+++ b/app-editors/zile/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>emacs@gentoo.org</email>
+ <name>Gentoo Emacs project</name>
+</maintainer>
+<longdescription>
+ Zile is a small, fast, and powerful Emacs clone. It is useful for small
+ footprint installations (e.g. on floppy disk), machines with little memory,
+ or quick editing sessions, especially on remote machines or as a different
+ user, e.g. root.
+</longdescription>
+<use>
+ <flag name="valgrind">Enable usage of <pkg>dev-util/valgrind</pkg>
+ in tests</flag>
+</use>
+</pkgmetadata>
diff --git a/app-editors/zile/zile-2.3.24-r2.ebuild b/app-editors/zile/zile-2.3.24-r2.ebuild
new file mode 100644
index 000000000000..49d18af56379
--- /dev/null
+++ b/app-editors/zile/zile-2.3.24-r2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Zile is a small Emacs clone"
+HOMEPAGE="https://www.gnu.org/software/zile/"
+SRC_URI="mirror://gnu/zile/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="alpha amd64 ppc sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="test valgrind"
+
+RDEPEND="sys-libs/ncurses:0"
+DEPEND="${RDEPEND}
+ test? ( valgrind? ( dev-util/valgrind ) )"
+
+PATCHES=("${FILESDIR}"/${P}-{userhome,gets}.patch)
+
+src_configure() {
+ econf $(use test && use_with valgrind || echo "--without-valgrind")
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ # FAQ is installed by the build system in /usr/share/zile
+ dodoc AUTHORS BUGS NEWS README THANKS
+
+ # Zile should never install charset.alias (even on non-glibc arches)
+ rm -f "${ED}"/usr/lib/charset.alias
+}
diff --git a/app-editors/zile/zile-2.4.11.ebuild b/app-editors/zile/zile-2.4.11.ebuild
new file mode 100644
index 000000000000..ca00137322ab
--- /dev/null
+++ b/app-editors/zile/zile-2.4.11.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="Zile is a small Emacs clone"
+HOMEPAGE="https://www.gnu.org/software/zile/"
+SRC_URI="mirror://gnu/zile/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ppc sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="acl test"
+
+RDEPEND=">=dev-libs/boehm-gc-7.2
+ sys-libs/ncurses:0
+ acl? ( virtual/acl )"
+
+DEPEND="${RDEPEND}
+ test? ( dev-lang/perl )"
+
+QA_AM_MAINTAINER_MODE=".*help2man.*" #450278
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ $(use_enable acl)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ # AUTHORS, FAQ, and NEWS are installed by the build system
+ dodoc README THANKS
+
+ # Zile should never install charset.alias (even on non-glibc arches)
+ rm -f "${ED}"/usr/lib/charset.alias
+}
diff --git a/app-editors/zile/zile-2.4.13.ebuild b/app-editors/zile/zile-2.4.13.ebuild
new file mode 100644
index 000000000000..a7de10e06756
--- /dev/null
+++ b/app-editors/zile/zile-2.4.13.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Zile is a small Emacs clone"
+HOMEPAGE="https://www.gnu.org/software/zile/"
+SRC_URI="mirror://gnu/zile/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="acl test"
+
+RDEPEND=">=dev-libs/boehm-gc-7.2
+ sys-libs/ncurses:0
+ acl? ( virtual/acl )"
+
+DEPEND="${RDEPEND}
+ test? ( dev-lang/perl )"
+
+QA_AM_MAINTAINER_MODE=".*help2man.*" #450278
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ $(use_enable acl)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ # AUTHORS, FAQ, and NEWS are installed by the build system
+ dodoc README THANKS
+
+ # Zile should never install charset.alias (even on non-glibc arches)
+ rm -f "${ED}"/usr/lib/charset.alias
+}
diff --git a/app-editors/znotes/Manifest b/app-editors/znotes/Manifest
new file mode 100644
index 000000000000..213ecec6e90e
--- /dev/null
+++ b/app-editors/znotes/Manifest
@@ -0,0 +1,6 @@
+AUX znotes-0.4.5-gcc-4.7.patch 633 SHA256 bf97e51e28593640c6ca1d18701f81e7713d985d602665c88a86b4c31cf0a6cc SHA512 bf0db62557a3dae26033fc46e620335bf8ff5182fe050707cbd20606315e1a722a5b706170bda1f1826f3a4e16488709dfacaf8cfd68aa189135c6fbb7b026c1 WHIRLPOOL 3c6d70c4c9f2eb9cb85831959d6a56426eae05ea511a608a1bfbf7f0ff803a81f2c09ddaf3832fefe69264fd390d814d2be3a63eb71909fac8584089bca1fb44
+DIST znotes-0.4.5.tar.gz 171884 SHA256 ac692253e74bda8f989db40042c26b6db2bb60a5f9c30cdbfcd824af0de1c5b2 SHA512 a7d9c149bbe80b83eff75eeec9644f9e648911c9cc5d6c83507b2d82199b7a2d1148665d6b650eb022dab1b34bbab96d52a0c27ac04525c30e4840049565e240 WHIRLPOOL 02acbe2f712b9ec5e4e9ca383aa8f6c04c98ba1a6bec73572c4656b2d1bb3faca4c8f39021e2e8c68d57495b582e7b29eaf6bdc3878c947d6cd5aadd37806798
+EBUILD znotes-0.4.5.ebuild 560 SHA256 63b1325f91f6eaf13ebed187b9afb9b795395a6893462c2cf41b4e8906399461 SHA512 a8a8942830e7a122403b1b8a85c19af186c95af0e07ae91a33c5189d29cedb5b682127a14a93c47dfb1c2a1d7a02631a61e22d62b66b2d1a8a16f043f37941be WHIRLPOOL 299cf6d8b1be7a84856a508c633e901e7c7579553ff0b8e43a6077fb66d9b141920ceae411a4a359a98d988c0a04cc617a7a7a7483f897372d2b7b8f273b6bf5
+MISC ChangeLog 2609 SHA256 11393ef6d18d64bbe62e2cff3b868e466894de8531dd202728d9524bb89865d4 SHA512 f21af49f26f9c19d7b6cdc2ccca1d2c35e1acff3e88fa95fd5e0b02f39ed6f472f4e6cd52873d10119ee60e839349875b603875ab8c0b7fdc1fcc77fb7a384a2 WHIRLPOOL 9b8d92dbf31fe6390a4cac09581395a1359af56af3de04cb6ab2fecf2c5be19caed4f29ab0600dbed1d4efb93005fd0cceddeb42a664126a3c364e3ab728674e
+MISC ChangeLog-2015 1911 SHA256 0a50f0072fd6be6803a81ccaaa453dc234d9de748a7750e4e8223539c5e11d94 SHA512 d4526c96059d2a2f34e4764d1b995bc2faf3274a840810dc1a2a824de158f7e3f8fad2932fe8bec0d975aa2143fc8dcc7acc0d24024d272e5d0f18b74410513b WHIRLPOOL 3f072fb2ac71d58d1d2814acf33df4ba1b4a7cb57c5530c032fc09692f989a6761526d25691ead93a8dfc02b4f0f9c21744d61dc7c41bb5b31a8f23625e48712
+MISC metadata.xml 437 SHA256 4fbb8771f47bbb5f2bcf8a7769ab18a9bbebe19d92017a525ff4be979665a428 SHA512 0214424767ff22363f46fbbcee056f55625edd76e082603b204bec80a8d023beb0e7ec1e4a7cb203a4154a583142de8e60916904c699aea73f45763ee6cdbc98 WHIRLPOOL c889f48b0737e5f1e309979f231b0fdabdc0242b8eb150557cf0f4b8a5719695deba77e5be33be721cff76ff5d1c6e960c534af738478684ceddfd3b9c90f18a
diff --git a/app-editors/znotes/files/znotes-0.4.5-gcc-4.7.patch b/app-editors/znotes/files/znotes-0.4.5-gcc-4.7.patch
new file mode 100644
index 000000000000..ae8c4eca7b8e
--- /dev/null
+++ b/app-editors/znotes/files/znotes-0.4.5-gcc-4.7.patch
@@ -0,0 +1,24 @@
+From 9cb09430444e36415e887317525a24e542e135fb Mon Sep 17 00:00:00 2001
+From: Michael Palimaka <kensington@gentoo.org>
+Date: Fri, 31 Aug 2012 02:15:30 +1000
+Subject: [PATCH] Fix build with GCC 4.7.
+
+---
+ single_inst/qtlocalpeer.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/single_inst/qtlocalpeer.cpp b/single_inst/qtlocalpeer.cpp
+index 6d7c24f..f9663c9 100644
+--- a/single_inst/qtlocalpeer.cpp
++++ b/single_inst/qtlocalpeer.cpp
+@@ -50,6 +50,7 @@ static PProcessIdToSessionId pProcessIdToSessionId = 0;
+ #endif
+ #if defined(Q_OS_UNIX)
+ #include <time.h>
++#include <unistd.h>
+ #endif
+
+ namespace QtLP_Private {
+--
+1.7.12
+
diff --git a/app-editors/znotes/metadata.xml b/app-editors/znotes/metadata.xml
new file mode 100644
index 000000000000..5526266cb57e
--- /dev/null
+++ b/app-editors/znotes/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 type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">znotes</remote-id>
+ <remote-id type="github">proton/zNotes</remote-id>
+ <bugs-to>https://github.com/proton/zNotes/issues</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/app-editors/znotes/znotes-0.4.5.ebuild b/app-editors/znotes/znotes-0.4.5.ebuild
new file mode 100644
index 000000000000..cee0832eb520
--- /dev/null
+++ b/app-editors/znotes/znotes-0.4.5.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+inherit qmake-utils qt4-r2
+
+DESCRIPTION="Simple Notes"
+HOMEPAGE="http://znotes.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-qt/qtcore:4
+ dev-qt/qtgui:4"
+RDEPEND="${DEPEND}"
+
+DOCS="CHANGELOG THANKS"
+
+PATCHES=( "${FILESDIR}/${P}-gcc-4.7.patch" )
+
+src_configure() {
+ "$(qt4_get_bindir)"/lrelease znotes.pro || die "lrelease failed"
+ qt4-r2_src_configure
+}