summaryrefslogtreecommitdiff
path: root/app-editors
diff options
context:
space:
mode:
authorPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
committerPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
commitecdac123787b96ce6649f0f91da12ea6458cc2b1 (patch)
treeb89c74d9e6fe6e8aebc4c77bcbeb4ab73214127d /app-editors
parent1be72aa41cf41dedadeecf59dca9f01de6381f5e (diff)
downloadbaldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.gz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.xz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.zip
Updating liguros repo
Diffstat (limited to 'app-editors')
-rw-r--r--app-editors/aee/Manifest1
-rw-r--r--app-editors/aee/aee-2.2.21.ebuild66
-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/files/aee-gcc-10.patch44
-rw-r--r--app-editors/aee/metadata.xml8
-rw-r--r--app-editors/amyedit/Manifest1
-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.xml12
-rw-r--r--app-editors/beaver/Manifest1
-rw-r--r--app-editors/beaver/beaver-0.4.1-r1.ebuild54
-rw-r--r--app-editors/beaver/files/beaver-0.4.1-desktop-file-validate.patch14
-rw-r--r--app-editors/beaver/metadata.xml12
-rw-r--r--app-editors/bluefish/Manifest1
-rw-r--r--app-editors/bluefish/bluefish-2.2.10.ebuild111
-rw-r--r--app-editors/bluefish/files/bluefish-2.2.9-charmap_configure.patch29
-rw-r--r--app-editors/bluefish/metadata.xml12
-rw-r--r--app-editors/bvi/Manifest1
-rw-r--r--app-editors/bvi/bvi-1.4.1.ebuild16
-rw-r--r--app-editors/bvi/metadata.xml16
-rw-r--r--app-editors/curses-hexedit/Manifest1
-rw-r--r--app-editors/curses-hexedit/curses-hexedit-0.9.7-r1.ebuild37
-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-fno-common.patch53
-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.xml6
-rw-r--r--app-editors/dav/Manifest1
-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.xml9
-rw-r--r--app-editors/dhex/Manifest1
-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.xml6
-rw-r--r--app-editors/diakonos/Manifest1
-rw-r--r--app-editors/diakonos/diakonos-0.9.4.ebuild37
-rw-r--r--app-editors/diakonos/metadata.xml6
-rw-r--r--app-editors/e3/Manifest1
-rw-r--r--app-editors/e3/e3-2.8.2.ebuild40
-rw-r--r--app-editors/e3/files/e3-2.8.2-makefile.patch36
-rw-r--r--app-editors/e3/metadata.xml20
-rw-r--r--app-editors/editra/Manifest1
-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.xml9
-rw-r--r--app-editors/ee/Manifest1
-rw-r--r--app-editors/ee/ee-1.5.2.ebuild55
-rw-r--r--app-editors/ee/files/ee-Wformat-security.patch28
-rw-r--r--app-editors/ee/files/ee-gcc-10.patch22
-rw-r--r--app-editors/ee/files/ee-init-location.patch40
-rw-r--r--app-editors/ee/files/ee-signal.patch11
-rw-r--r--app-editors/ee/metadata.xml8
-rw-r--r--app-editors/elvis/Manifest1
-rw-r--r--app-editors/elvis/elvis-2.2.0-r6.ebuild96
-rw-r--r--app-editors/elvis/elvis-2.2.0-r7.ebuild101
-rw-r--r--app-editors/elvis/elvis-2.2.0-r8.ebuild108
-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.xml9
-rw-r--r--app-editors/emacs/Manifest13
-rw-r--r--app-editors/emacs/emacs-18.59-r12.ebuild166
-rw-r--r--app-editors/emacs/emacs-23.4-r18.ebuild353
-rw-r--r--app-editors/emacs/emacs-24.5-r7.ebuild347
-rw-r--r--app-editors/emacs/emacs-25.3-r6.ebuild356
-rw-r--r--app-editors/emacs/emacs-26.3-r1.ebuild382
-rw-r--r--app-editors/emacs/emacs-27.0.50_pre20191223.ebuild412
-rw-r--r--app-editors/emacs/emacs-27.0.90.ebuild412
-rw-r--r--app-editors/emacs/emacs-27.0.91.ebuild412
-rw-r--r--app-editors/emacs/emacs-27.0.9999-r1.ebuild412
-rw-r--r--app-editors/emacs/emacs-28.0.9999.ebuild411
-rw-r--r--app-editors/emacs/metadata.xml59
-rw-r--r--app-editors/emact/Manifest1
-rw-r--r--app-editors/emact/emact-2.58.0.ebuild32
-rw-r--r--app-editors/emact/metadata.xml28
-rw-r--r--app-editors/ersatz-emacs/Manifest1
-rw-r--r--app-editors/ersatz-emacs/ersatz-emacs-20060515-r1.ebuild43
-rw-r--r--app-editors/ersatz-emacs/files/ersatz-emacs-20060515-gentoo.patch57
-rw-r--r--app-editors/ersatz-emacs/metadata.xml16
-rw-r--r--app-editors/fe/Manifest1
-rw-r--r--app-editors/fe/fe-2.0.ebuild47
-rw-r--r--app-editors/fe/files/fe-1.8-makefile.patch15
-rw-r--r--app-editors/fe/files/fe-2.0-ar.patch21
-rw-r--r--app-editors/fe/metadata.xml34
-rw-r--r--app-editors/featherpad/Manifest1
-rw-r--r--app-editors/featherpad/featherpad-0.9.1.ebuild35
-rw-r--r--app-editors/featherpad/featherpad-9999.ebuild34
-rw-r--r--app-editors/featherpad/metadata.xml9
-rw-r--r--app-editors/focuswriter/Manifest2
-rw-r--r--app-editors/focuswriter/files/focuswriter-1.6.0-unbundle-qtsingleapplication.patch37
-rw-r--r--app-editors/focuswriter/focuswriter-1.7.2.ebuild46
-rw-r--r--app-editors/focuswriter/focuswriter-1.7.6.ebuild46
-rw-r--r--app-editors/focuswriter/metadata.xml13
-rw-r--r--app-editors/fte/Manifest2
-rw-r--r--app-editors/fte/files/fte26
-rw-r--r--app-editors/fte/fte-20110708-r1.ebuild119
-rw-r--r--app-editors/fte/metadata.xml10
-rw-r--r--app-editors/gedit-plugins/Manifest1
-rw-r--r--app-editors/gedit-plugins/gedit-plugins-3.34.1.ebuild109
-rw-r--r--app-editors/gedit-plugins/metadata.xml16
-rw-r--r--app-editors/gedit/Manifest1
-rw-r--r--app-editors/gedit/files/3.32.2-make-spell-optional.patch61
-rw-r--r--app-editors/gedit/gedit-3.34.1.ebuild101
-rw-r--r--app-editors/gedit/metadata.xml9
-rw-r--r--app-editors/ghex/Manifest1
-rw-r--r--app-editors/ghex/ghex-3.18.4-r1.ebuild39
-rw-r--r--app-editors/ghex/metadata.xml9
-rw-r--r--app-editors/ghostwriter/Manifest1
-rw-r--r--app-editors/ghostwriter/files/ghostwriter-1.8.1-appdata-path.patch27
-rw-r--r--app-editors/ghostwriter/files/ghostwriter-1.8.1-qt-5.15.patch21
-rw-r--r--app-editors/ghostwriter/ghostwriter-1.8.1.ebuild63
-rw-r--r--app-editors/ghostwriter/metadata.xml20
-rw-r--r--app-editors/gnome-latex/Manifest1
-rw-r--r--app-editors/gnome-latex/gnome-latex-3.32.0.ebuild49
-rw-r--r--app-editors/gnome-latex/metadata.xml15
-rw-r--r--app-editors/gummi/Manifest2
-rw-r--r--app-editors/gummi/gummi-0.6.6-r2.ebuild44
-rw-r--r--app-editors/gummi/gummi-0.8.1.ebuild46
-rw-r--r--app-editors/gummi/metadata.xml20
-rw-r--r--app-editors/gvim/Manifest6
-rw-r--r--app-editors/gvim/files/gvim-completion40
-rw-r--r--app-editors/gvim/files/gvimrc-r128
-rw-r--r--app-editors/gvim/gvim-8.2.0360.ebuild367
-rw-r--r--app-editors/gvim/gvim-8.2.0508.ebuild367
-rw-r--r--app-editors/gvim/gvim-8.2.0638.ebuild367
-rw-r--r--app-editors/gvim/gvim-8.2.0814.ebuild367
-rw-r--r--app-editors/gvim/gvim-9999.ebuild367
-rw-r--r--app-editors/gvim/metadata.xml18
-rw-r--r--app-editors/hexcurse/Manifest2
-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.xml15
-rw-r--r--app-editors/hexedit/Manifest1
-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.xml9
-rw-r--r--app-editors/hteditor/Manifest1
-rw-r--r--app-editors/hteditor/files/hteditor-2.1.0-AR.patch14
-rw-r--r--app-editors/hteditor/files/hteditor-2.1.0-format-security.patch57
-rw-r--r--app-editors/hteditor/files/hteditor-2.1.0-gcc-10.patch36
-rw-r--r--app-editors/hteditor/files/hteditor-2.1.0-gcc-6-uchar.patch45
-rw-r--r--app-editors/hteditor/files/hteditor-2.1.0-gcc-7.patch32
-rw-r--r--app-editors/hteditor/files/hteditor-2.1.0-tinfo.patch10
-rw-r--r--app-editors/hteditor/hteditor-2.1.0-r1.ebuild64
-rw-r--r--app-editors/hteditor/metadata.xml14
-rw-r--r--app-editors/jasspa-microemacs/Manifest4
-rw-r--r--app-editors/jasspa-microemacs/files/20091011-cc-detect.patch32
-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-r3.ebuild99
-rw-r--r--app-editors/jasspa-microemacs/metadata.xml26
-rw-r--r--app-editors/jed/Manifest1
-rw-r--r--app-editors/jed/jed-0.99.19-r1.ebuild60
-rw-r--r--app-editors/jed/metadata.xml16
-rw-r--r--app-editors/jedit/Manifest2
-rw-r--r--app-editors/jedit/files/jedit-5.2.0-build-xml.patch24
-rw-r--r--app-editors/jedit/files/jedit-5.4.0-build-xml.patch11
-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.xml12
-rw-r--r--app-editors/jext/Manifest1
-rw-r--r--app-editors/jext/files/jext-5.0-enum-as-keyword.patch173
-rw-r--r--app-editors/jext/files/jext-pre91
-rw-r--r--app-editors/jext/jext-5.0-r2.ebuild65
-rw-r--r--app-editors/jext/metadata.xml12
-rw-r--r--app-editors/joe/Manifest4
-rw-r--r--app-editors/joe/files/joe-4.3-tinfo.patch30
-rw-r--r--app-editors/joe/files/joe-4.6-db.patch11
-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/joe-4.6.ebuild56
-rw-r--r--app-editors/joe/metadata.xml26
-rw-r--r--app-editors/jove/Manifest1
-rw-r--r--app-editors/jove/files/jove-4.16.0.70.3.1-getline.patch81
-rw-r--r--app-editors/jove/files/jove-4.16.0.73-build.patch188
-rw-r--r--app-editors/jove/files/jove-4.16.0.73-doc.patch34
-rw-r--r--app-editors/jove/files/jove-4.16.0.73-sendmail.patch19
-rw-r--r--app-editors/jove/jove-4.16.0.73-r1.ebuild51
-rw-r--r--app-editors/jove/metadata.xml16
-rw-r--r--app-editors/juffed/Manifest1
-rw-r--r--app-editors/juffed/files/FindQtSingleApplication.cmake94
-rw-r--r--app-editors/juffed/files/juffed-0.10_p20160323-qscintilla-2.10.3.patch71
-rw-r--r--app-editors/juffed/files/juffed-0.10_p20160323-qscintilla-2.10.patch11
-rw-r--r--app-editors/juffed/files/juffed-0.10_p20160323-qt-5.11.patch28
-rw-r--r--app-editors/juffed/juffed-0.10_p20160323-r1.ebuild58
-rw-r--r--app-editors/juffed/metadata.xml12
-rw-r--r--app-editors/jupp/Manifest2
-rw-r--r--app-editors/jupp/jupp-3.1_p30.ebuild36
-rw-r--r--app-editors/jupp/jupp-3.1_p38.ebuild32
-rw-r--r--app-editors/jupp/metadata.xml9
-rw-r--r--app-editors/kakoune/Manifest2
-rw-r--r--app-editors/kakoune/files/kakoune-2020.01.16-enable-ebuild-syntax-highlight.patch15
-rw-r--r--app-editors/kakoune/kakoune-2020.01.16-r1.ebuild38
-rw-r--r--app-editors/kakoune/kakoune-2020.01.16_p20200601.ebuild41
-rw-r--r--app-editors/kakoune/metadata.xml9
-rw-r--r--app-editors/kile/Manifest1
-rw-r--r--app-editors/kile/files/kile-2.9.93-cmake.patch20
-rw-r--r--app-editors/kile/kile-2.9.93.ebuild71
-rw-r--r--app-editors/kile/metadata.xml17
-rw-r--r--app-editors/kilo/Manifest1
-rw-r--r--app-editors/kilo/kilo-1.0.ebuild17
-rw-r--r--app-editors/le/Manifest4
-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/le-1.16.5.ebuild22
-rw-r--r--app-editors/le/metadata.xml13
-rw-r--r--app-editors/leafpad/Manifest1
-rw-r--r--app-editors/leafpad/files/leafpad-0.8.18.1-fdo.patch21
-rw-r--r--app-editors/leafpad/files/leafpad-0.8.18.1-format-security.patch30
-rw-r--r--app-editors/leafpad/files/leafpad-0.8.18.1-truncate.patch20
-rw-r--r--app-editors/leafpad/leafpad-0.8.18.1-r1.ebuild41
-rw-r--r--app-editors/leafpad/metadata.xml9
-rw-r--r--app-editors/leo/Manifest1
-rw-r--r--app-editors/leo/leo-5.6.ebuild36
-rw-r--r--app-editors/leo/metadata.xml10
-rw-r--r--app-editors/levee/Manifest1
-rw-r--r--app-editors/levee/files/levee-3.4o-darwin.patch16
-rw-r--r--app-editors/levee/files/levee-3.5-glibc210.patch80
-rw-r--r--app-editors/levee/files/levee-3.5a-QA.patch16
-rw-r--r--app-editors/levee/levee-3.5a.ebuild39
-rw-r--r--app-editors/levee/metadata.xml6
-rw-r--r--app-editors/lime-termbox/Manifest11
-rw-r--r--app-editors/lime-termbox/lime-termbox-20150428.ebuild46
-rw-r--r--app-editors/lime-termbox/metadata.xml10
-rw-r--r--app-editors/lpe/Manifest1
-rw-r--r--app-editors/lpe/files/lpe-1.2.6.13-make-382.patch23
-rw-r--r--app-editors/lpe/lpe-1.2.6.13.ebuild49
-rw-r--r--app-editors/lpe/metadata.xml6
-rw-r--r--app-editors/metadata.xml32
-rw-r--r--app-editors/mg/Manifest3
-rw-r--r--app-editors/mg/metadata.xml13
-rw-r--r--app-editors/mg/mg-20171014.ebuild47
-rw-r--r--app-editors/mg/mg-20180408.ebuild46
-rw-r--r--app-editors/mg/mg-20200215.ebuild46
-rw-r--r--app-editors/micro/Manifest34
-rw-r--r--app-editors/micro/metadata.xml10
-rw-r--r--app-editors/micro/micro-1.4.1-r2.ebuild49
-rw-r--r--app-editors/micro/micro-2.0.1.ebuild57
-rw-r--r--app-editors/micro/micro-2.0.3.ebuild58
-rw-r--r--app-editors/moe/Manifest2
-rw-r--r--app-editors/moe/files/moe-1.6-tinfo.patch11
-rw-r--r--app-editors/moe/metadata.xml9
-rw-r--r--app-editors/moe/moe-1.10.ebuild36
-rw-r--r--app-editors/moe/moe-1.9.ebuild36
-rw-r--r--app-editors/mousepad/Manifest1
-rw-r--r--app-editors/mousepad/metadata.xml12
-rw-r--r--app-editors/mousepad/mousepad-0.4.2.ebuild51
-rw-r--r--app-editors/nano/Manifest3
-rw-r--r--app-editors/nano/files/nano-4.8-justify_keystroke_crash_fix.patch34
-rw-r--r--app-editors/nano/metadata.xml43
-rw-r--r--app-editors/nano/nano-4.6-r1.ebuild81
-rw-r--r--app-editors/nano/nano-4.9.2.ebuild80
-rw-r--r--app-editors/nano/nano-4.9.3.ebuild80
-rw-r--r--app-editors/nano/nano-9999.ebuild80
-rw-r--r--app-editors/ne/Manifest1
-rw-r--r--app-editors/ne/metadata.xml9
-rw-r--r--app-editors/ne/ne-3.1.1.ebuild53
-rw-r--r--app-editors/nedit/Manifest3
-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-fix-crash-with-noX.patch118
-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/files/nedit-5.7-doc.patch13
-rw-r--r--app-editors/nedit/files/nedit-5.7-ldflags.patch17
-rw-r--r--app-editors/nedit/metadata.xml11
-rw-r--r--app-editors/nedit/nedit-5.6-r1.ebuild75
-rw-r--r--app-editors/nedit/nedit-5.6-r2.ebuild76
-rw-r--r--app-editors/nedit/nedit-5.7.ebuild79
-rw-r--r--app-editors/neovim/Manifest1
-rw-r--r--app-editors/neovim/files/sysinit.vim104
-rw-r--r--app-editors/neovim/metadata.xml16
-rw-r--r--app-editors/neovim/neovim-0.4.3.ebuild91
-rw-r--r--app-editors/neovim/neovim-9999.ebuild92
-rw-r--r--app-editors/ng/Manifest1
-rw-r--r--app-editors/ng/files/ng-1.5beta1-configure.patch19
-rw-r--r--app-editors/ng/files/ng-1.5beta1-ncurses.patch12
-rw-r--r--app-editors/ng/metadata.xml9
-rw-r--r--app-editors/ng/ng-1.5_beta1-r2.ebuild70
-rw-r--r--app-editors/notepadqq/Manifest1
-rw-r--r--app-editors/notepadqq/metadata.xml12
-rw-r--r--app-editors/notepadqq/notepadqq-2.0.0_beta.ebuild56
-rw-r--r--app-editors/notepadqq/notepadqq-9999.ebuild56
-rw-r--r--app-editors/okteta/Manifest1
-rw-r--r--app-editors/okteta/metadata.xml12
-rw-r--r--app-editors/okteta/okteta-0.26.3.ebuild70
-rw-r--r--app-editors/padre/Manifest1
-rw-r--r--app-editors/padre/files/padre-1.0.0-DBD-Sqlite.patch35
-rw-r--r--app-editors/padre/metadata.xml12
-rw-r--r--app-editors/padre/padre-1.0.0-r1.ebuild113
-rw-r--r--app-editors/pluma/Manifest6
-rw-r--r--app-editors/pluma/metadata.xml12
-rw-r--r--app-editors/pluma/pluma-1.20.2.ebuild77
-rw-r--r--app-editors/pluma/pluma-1.22.1.ebuild78
-rw-r--r--app-editors/pluma/pluma-1.22.2.ebuild78
-rw-r--r--app-editors/pluma/pluma-1.23.2.ebuild78
-rw-r--r--app-editors/pluma/pluma-1.23.3.ebuild76
-rw-r--r--app-editors/pluma/pluma-1.24.0.ebuild76
-rw-r--r--app-editors/pluma/pluma-9999.ebuild77
-rw-r--r--app-editors/qemacs/Manifest1
-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.xml39
-rw-r--r--app-editors/qemacs/qemacs-0.4.1_pre20170225.ebuild64
-rw-r--r--app-editors/qhexedit2/Manifest1
-rw-r--r--app-editors/qhexedit2/files/qhexedit2-0.8.4-setup.py.patch11
-rw-r--r--app-editors/qhexedit2/metadata.xml29
-rw-r--r--app-editors/qhexedit2/qhexedit2-0.8.6_p20190316.ebuild85
-rw-r--r--app-editors/qxmledit/Manifest1
-rw-r--r--app-editors/qxmledit/metadata.xml20
-rw-r--r--app-editors/qxmledit/qxmledit-0.9.12.ebuild73
-rw-r--r--app-editors/retext/Manifest1
-rw-r--r--app-editors/retext/metadata.xml17
-rw-r--r--app-editors/retext/retext-7.0.4-r1.ebuild74
-rw-r--r--app-editors/retext/retext-9999.ebuild74
-rw-r--r--app-editors/sandy/Manifest1
-rw-r--r--app-editors/sandy/files/sandy-0.4-gentoo.patch49
-rw-r--r--app-editors/sandy/metadata.xml8
-rw-r--r--app-editors/sandy/sandy-0.4-r1.ebuild39
-rw-r--r--app-editors/sandy/sandy-0.4.ebuild30
-rw-r--r--app-editors/scite/Manifest5
-rw-r--r--app-editors/scite/metadata.xml16
-rw-r--r--app-editors/scite/scite-4.1.3.ebuild119
-rw-r--r--app-editors/scite/scite-4.2.0.ebuild119
-rw-r--r--app-editors/scite/scite-4.2.1.ebuild118
-rw-r--r--app-editors/scite/scite-4.3.2.ebuild113
-rw-r--r--app-editors/scite/scite-4.3.3.ebuild113
-rw-r--r--app-editors/shed/Manifest1
-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.xml11
-rw-r--r--app-editors/shed/shed-1.15.ebuild31
-rw-r--r--app-editors/srclib/Manifest25
-rw-r--r--app-editors/srclib/metadata.xml19
-rw-r--r--app-editors/srclib/srclib-0.2.5.ebuild46
-rw-r--r--app-editors/sublime-text/Manifest2
-rw-r--r--app-editors/sublime-text/metadata.xml8
-rw-r--r--app-editors/sublime-text/sublime-text-3_p3211-r1.ebuild64
-rw-r--r--app-editors/tea/Manifest1
-rw-r--r--app-editors/tea/metadata.xml19
-rw-r--r--app-editors/tea/tea-47.0.0.ebuild59
-rw-r--r--app-editors/teco/Manifest2
-rw-r--r--app-editors/teco/files/teco-double-free.patch22
-rw-r--r--app-editors/teco/files/teco-gcc4.patch11
-rw-r--r--app-editors/teco/files/teco-no-common.patch13
-rw-r--r--app-editors/teco/files/teco-void-functions.patch536
-rw-r--r--app-editors/teco/files/teco-warnings.patch47
-rw-r--r--app-editors/teco/metadata.xml28
-rw-r--r--app-editors/teco/teco-36_p19940820.ebuild59
-rw-r--r--app-editors/ted/Manifest1
-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.xml6
-rw-r--r--app-editors/ted/ted-2.23.ebuild74
-rw-r--r--app-editors/texworks/Manifest1
-rw-r--r--app-editors/texworks/files/qt5.15-support.patch21
-rw-r--r--app-editors/texworks/metadata.xml9
-rw-r--r--app-editors/texworks/texworks-0.6.5.ebuild73
-rw-r--r--app-editors/uemacs-pk/Manifest2
-rw-r--r--app-editors/uemacs-pk/files/uemacs-pk-4.0.15_p20110825-gentoo.patch15
-rw-r--r--app-editors/uemacs-pk/metadata.xml26
-rw-r--r--app-editors/uemacs-pk/uemacs-pk-4.0.15_p20180117.ebuild39
-rw-r--r--app-editors/uemacs-pk/uemacs-pk-4.0.15_p20180719.ebuild39
-rw-r--r--app-editors/vile/Manifest1
-rw-r--r--app-editors/vile/metadata.xml9
-rw-r--r--app-editors/vile/vile-9.8t.ebuild42
-rw-r--r--app-editors/vim-core/Manifest6
-rw-r--r--app-editors/vim-core/files/gvim.svg94
-rw-r--r--app-editors/vim-core/files/vimrc-r5214
-rw-r--r--app-editors/vim-core/files/xxd-completion25
-rw-r--r--app-editors/vim-core/metadata.xml13
-rw-r--r--app-editors/vim-core/vim-core-8.2.0360.ebuild225
-rw-r--r--app-editors/vim-core/vim-core-8.2.0508.ebuild225
-rw-r--r--app-editors/vim-core/vim-core-8.2.0638.ebuild225
-rw-r--r--app-editors/vim-core/vim-core-8.2.0814.ebuild225
-rw-r--r--app-editors/vim-core/vim-core-9999.ebuild225
-rw-r--r--app-editors/vim/Manifest6
-rw-r--r--app-editors/vim/files/vim-completion36
-rw-r--r--app-editors/vim/metadata.xml21
-rw-r--r--app-editors/vim/vim-8.2.0360.ebuild318
-rw-r--r--app-editors/vim/vim-8.2.0508.ebuild318
-rw-r--r--app-editors/vim/vim-8.2.0638.ebuild318
-rw-r--r--app-editors/vim/vim-8.2.0814.ebuild318
-rw-r--r--app-editors/vim/vim-9999.ebuild318
-rw-r--r--app-editors/vis/Manifest2
-rw-r--r--app-editors/vis/metadata.xml18
-rw-r--r--app-editors/vis/vis-0.5.ebuild69
-rw-r--r--app-editors/vis/vis-9999.ebuild56
-rw-r--r--app-editors/vscodium-bin/Manifest6
-rw-r--r--app-editors/vscodium-bin/files/vscodium-bin.desktop18
-rw-r--r--app-editors/vscodium-bin/metadata.xml21
-rw-r--r--app-editors/vscodium-bin/vscodium-bin-1.46.0.ebuild64
-rw-r--r--app-editors/vscodium-bin/vscodium-bin-1.46.1.ebuild64
-rw-r--r--app-editors/wily/Manifest1
-rw-r--r--app-editors/wily/metadata.xml6
-rw-r--r--app-editors/wily/wily-1.0-r2.ebuild41
-rw-r--r--app-editors/wxhexeditor/Manifest1
-rw-r--r--app-editors/wxhexeditor/files/wxhexeditor-0.24-syslibs.patch76
-rw-r--r--app-editors/wxhexeditor/metadata.xml12
-rw-r--r--app-editors/wxhexeditor/wxhexeditor-0.24.ebuild43
-rw-r--r--app-editors/xemacs/Manifest3
-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.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.34-ar.patch74
-rw-r--r--app-editors/xemacs/files/xemacs-21.5.34-as-needed.patch25
-rw-r--r--app-editors/xemacs/files/xemacs-21.5.34-configure-libc-version.patch24
-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.xml18
-rw-r--r--app-editors/xemacs/xemacs-21.4.24-r1.ebuild243
-rw-r--r--app-editors/xemacs/xemacs-21.4.24-r2.ebuild251
-rw-r--r--app-editors/xemacs/xemacs-21.4.24.ebuild245
-rw-r--r--app-editors/xemacs/xemacs-21.5.34-r4.ebuild256
-rw-r--r--app-editors/xemacs/xemacs-21.5.34-r5.ebuild260
-rw-r--r--app-editors/xmlcopyeditor/Manifest1
-rw-r--r--app-editors/xmlcopyeditor/files/xmlcopyeditor-1.2.1.3-no-automagic-enchant.patch19
-rw-r--r--app-editors/xmlcopyeditor/metadata.xml12
-rw-r--r--app-editors/xmlcopyeditor/xmlcopyeditor-1.2.1.3-r1.ebuild46
-rw-r--r--app-editors/xvile/Manifest1
-rw-r--r--app-editors/xvile/metadata.xml9
-rw-r--r--app-editors/xvile/xvile-9.8t.ebuild42
-rw-r--r--app-editors/yudit/Manifest1
-rw-r--r--app-editors/yudit/metadata.xml6
-rw-r--r--app-editors/yudit/yudit-2.9.6.ebuild26
-rw-r--r--app-editors/zile/Manifest2
-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.xml19
-rw-r--r--app-editors/zile/zile-2.3.24-r2.ebuild52
-rw-r--r--app-editors/zile/zile-2.4.14.ebuild56
450 files changed, 23910 insertions, 0 deletions
diff --git a/app-editors/aee/Manifest b/app-editors/aee/Manifest
new file mode 100644
index 000000000000..11e79c3f7200
--- /dev/null
+++ b/app-editors/aee/Manifest
@@ -0,0 +1 @@
+DIST aee-2.2.21.tar.gz 186304 BLAKE2B 2d41678e07f6590023f428e042686c92377200826f86ebb28fe93ec1e5f07290de6eef765dbae91efcef01d32896127c044f20c204b50ed50894fd743cb1fc19 SHA512 c052ef97b18fa9900e9bf0c5894e05cbbf775d7de4ad4c14cb9e3e7758983c84e4768995a98398c05e30173464e6f7994e7f476522a314bc25dac5a84831155a
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..b4b1aa5d647e
--- /dev/null
+++ b/app-editors/aee/aee-2.2.21.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+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}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-ae-location.patch
+ "${FILESDIR}"/${PN}-Wformat-security.patch
+ "${FILESDIR}"/${PN}-gcc-10.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}//" \
+ -e "s/-lcurses/$($(tc-getPKG_CONFIG) --libs ncurses)/" \
+ 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-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/files/aee-gcc-10.patch b/app-editors/aee/files/aee-gcc-10.patch
new file mode 100644
index 000000000000..c8747099e588
--- /dev/null
+++ b/app-editors/aee/files/aee-gcc-10.patch
@@ -0,0 +1,44 @@
+--- a/Xcurse.c
++++ b/Xcurse.c
+@@ -37,6 +37,8 @@
+
+ extern int eightbit;
+
++struct _line *top_of_win;
++
+ static WINDOW *virtual_scr;
+ WINDOW *curscr;
+ WINDOW *stdscr;
+--- a/Xcurse.h
++++ b/Xcurse.h
+@@ -132,7 +132,7 @@
+ int number;
+ };
+
+-struct _line *top_of_win;
++extern struct _line *top_of_win;
+
+ typedef struct WIND {
+ int SR; /* starting row */
+--- a/new_curse.c
++++ b/new_curse.c
+@@ -85,6 +85,8 @@
+ #endif
+
+
++struct _line *top_of_win;
++
+ WINDOW *curscr;
+ static WINDOW *virtual_scr;
+ WINDOW *stdscr;
+--- a/new_curse.h
++++ b/new_curse.h
+@@ -161,7 +161,7 @@
+ int number;
+ };
+
+-struct _line *top_of_win;
++extern struct _line *top_of_win;
+
+ typedef struct WIND {
+ int SR; /* starting row */
diff --git a/app-editors/aee/metadata.xml b/app-editors/aee/metadata.xml
new file mode 100644
index 000000000000..63d373a1a9eb
--- /dev/null
+++ b/app-editors/aee/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>hattya@gentoo.org</email>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/amyedit/Manifest b/app-editors/amyedit/Manifest
new file mode 100644
index 000000000000..82fb1ac08132
--- /dev/null
+++ b/app-editors/amyedit/Manifest
@@ -0,0 +1 @@
+DIST amyedit-1.0.tar.bz2 297769 BLAKE2B 9b3640db7f56bc6e5481b46f760e682cedc860e9439a55edcd45b9f1ec0a8dbead3f8f1075c2613da9842a590b56375fde8b3d36c98c813d400960a4d98fdbda SHA512 dce101c5d356cd194703798002c29772b7b7339a97f683ba7459e983988f26722f800a2c36a0c36bdea70a35c8398bc55b5215b4c30779ca22b5f25bbfedbe09
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..376ea527c5c1
--- /dev/null
+++ b/app-editors/amyedit/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>tex@gentoo.org</email>
+ <name>Gentoo TeX Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">amyedit</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/beaver/Manifest b/app-editors/beaver/Manifest
new file mode 100644
index 000000000000..a55c506bc56e
--- /dev/null
+++ b/app-editors/beaver/Manifest
@@ -0,0 +1 @@
+DIST beaver-0.4.1.tar.bz2 436321 BLAKE2B 034829d795b5a0502a2df1e675e01d34cc62efbc482959e2d3e0ecf9eeddf1d8450e92ee9c2f98af3e2778ad4c14fac926291ca935ec79822f8f552a9579363e SHA512 3000bed3aa2a67d6c38a68a7782a9d5423bcec0b8420272b0f0dade604c094a7b52058b43222af38d56313f0aa27998028c984f69340bf28eeaa8b8a93548a1e
diff --git a/app-editors/beaver/beaver-0.4.1-r1.ebuild b/app-editors/beaver/beaver-0.4.1-r1.ebuild
new file mode 100644
index 000000000000..b10106d1207b
--- /dev/null
+++ b/app-editors/beaver/beaver-0.4.1-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit flag-o-matic xdg-utils
+
+DESCRIPTION="Beaver is an Early AdVanced EditoR"
+HOMEPAGE="https://sourceforge.net/projects/beaver-editor/"
+SRC_URI="mirror://sourceforge/beaver-editor/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="
+ >=dev-libs/glib-2.14:2
+ >=x11-libs/gtk+-2.10:2
+"
+DEPEND="
+ ${RDEPEND}
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+"
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.4.1-desktop-file-validate.patch
+)
+
+src_configure() {
+ append-cflags -fgnu89-inline -fcommon
+
+ econf \
+ $(use_enable doc doxygen-doc) \
+ --disable-debug
+}
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_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..f786565ced04
--- /dev/null
+++ b/app-editors/beaver/files/beaver-0.4.1-desktop-file-validate.patch
@@ -0,0 +1,14 @@
+--- a/data/beaver.desktop
++++ b/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..5e2c37bbd0a9
--- /dev/null
+++ b/app-editors/beaver/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>desktop-misc@gentoo.org</email>
+ <name>Gentoo Desktop Miscellaneous Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">beaver-editor</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/bluefish/Manifest b/app-editors/bluefish/Manifest
new file mode 100644
index 000000000000..d87d4ad06be9
--- /dev/null
+++ b/app-editors/bluefish/Manifest
@@ -0,0 +1 @@
+DIST bluefish-2.2.10.tar.bz2 4159964 BLAKE2B 94210df4f9cf0abb46fa26612e1b64550f5970c72584b683779f5bcaf921a8925c6275c647125f73990e99a0175e3c92c0cc286590fbd08e938c6fd1d8c32cef SHA512 ddfad4c595d371dfd7ca5551c1771c2d82dbffcc90acda31bbd2a048730e24e2d1e37fbe847e5005d96acefdf5f38cb93785d23817e59624ecd7ea10bfbc3aeb
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..dba37b3e1c68
--- /dev/null
+++ b/app-editors/bluefish/bluefish-2.2.10.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools gnome2-utils python-single-r1 xdg-utils
+
+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-1.4:0 )"
+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-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
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_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() {
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_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..768cc32fd301
--- /dev/null
+++ b/app-editors/bluefish/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-needed -->
+ <use>
+ <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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/bvi/Manifest b/app-editors/bvi/Manifest
new file mode 100644
index 000000000000..c20356e5e654
--- /dev/null
+++ b/app-editors/bvi/Manifest
@@ -0,0 +1 @@
+DIST bvi-1.4.1.src.tar.gz 143181 BLAKE2B ad4ae885b1b85ebfc4fc842e0b072383b6755eeaf1d8a71ffb461c5caf0c4c97d1906a7762b66ae4a5ede9ac8a204543bc0aed8630a3ea52ca452e8c645ad616 SHA512 f7a3f07e6bcefe566a101c4db85192f0d2e3580be0ab10bc297e6c0192e79d29061a7c9f1a57cf5a628f03962deb8c2ed52e33effc1d5198d458627d70d882e6
diff --git a/app-editors/bvi/bvi-1.4.1.ebuild b/app-editors/bvi/bvi-1.4.1.ebuild
new file mode 100644
index 000000000000..8d2f302a7bcc
--- /dev/null
+++ b/app-editors/bvi/bvi-1.4.1.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Display-oriented editor for binary files, based on the vi texteditor"
+HOMEPAGE="http://bvi.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.src.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE=""
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris"
+
+DEPEND="sys-libs/ncurses:0="
+RDEPEND="${DEPEND}"
diff --git a/app-editors/bvi/metadata.xml b/app-editors/bvi/metadata.xml
new file mode 100644
index 000000000000..04f2e9f0e423
--- /dev/null
+++ b/app-editors/bvi/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>bugs@chead.ca</email>
+ <name>Christopher Head</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">bvi</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/curses-hexedit/Manifest b/app-editors/curses-hexedit/Manifest
new file mode 100644
index 000000000000..4cdac38b5018
--- /dev/null
+++ b/app-editors/curses-hexedit/Manifest
@@ -0,0 +1 @@
+DIST hexedit-0.9.7.tar.gz 165110 BLAKE2B 8adcb2aa8265ef01c475fcefc97c987da26107871ac87e6154b13257cf30283d5be96fb87d67b6b24d79cf0fdcca7c2bfcd1ef642e9bc1655141cada27fd9aab SHA512 b11b28538900f6e66a9efcca14cd8c2a312c29cea98c6ea5018cd3423e12876a9a4d0bf6dc4f94e7cb02e8bc8d3a406e6bccca7fa7dcbab2e4b717ee2fd826da
diff --git a/app-editors/curses-hexedit/curses-hexedit-0.9.7-r1.ebuild b/app-editors/curses-hexedit/curses-hexedit-0.9.7-r1.ebuild
new file mode 100644
index 000000000000..f274d12b8a5b
--- /dev/null
+++ b/app-editors/curses-hexedit/curses-hexedit-0.9.7-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2020 Gentoo Authors
+# 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=7
+inherit autotools toolchain-funcs
+
+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"
+
+RDEPEND="
+ sys-libs/ncurses:=
+"
+DEPEND="
+ ${RDEPEND}
+"
+PATCHES=(
+ "${FILESDIR}"/${P}-fno-common.patch
+ "${FILESDIR}"/${P}-ncurses-pkg-config.patch
+)
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf --program-prefix=curses-
+}
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-fno-common.patch b/app-editors/curses-hexedit/files/curses-hexedit-0.9.7-fno-common.patch
new file mode 100644
index 000000000000..c4fe48bf0224
--- /dev/null
+++ b/app-editors/curses-hexedit/files/curses-hexedit-0.9.7-fno-common.patch
@@ -0,0 +1,53 @@
+--- a/src/hexedit.h
++++ b/src/hexedit.h
+@@ -340,7 +340,7 @@
+
+
+ /* Global structure, keep most global variables here. */
+-struct
++struct Globals_t
+ {
+ WINDOW *wmain, *wstatus, *whelp; /* three windows used throughout. */
+ unsigned long filesize; /* size of the file buffer. */
+@@ -362,7 +362,9 @@
+ /* buf end. */
+ int beeping; /* Allow beeping or not. */
+ int help_msg_count; /* Number of messages in help menu. */
+-} Globals;
++};
++
++extern struct Globals_t Globals;
+
+
+ struct foundit
+@@ -397,7 +399,9 @@
+ int s;
+ struct Change *base;
+ struct Change *top;
+-} UndoStack;
++};
++
++extern struct ChangeLog UndoStack;
+
+
+ struct FileNames
+--- a/src/main.c
++++ b/src/main.c
+@@ -16,6 +16,7 @@
+ #include "hexedit.h"
+ #include <assert.h>
+
++struct Globals_t Globals;
+
+ int
+ main (int argc, char **argv)
+--- a/src/undo.c
++++ b/src/undo.c
+@@ -15,6 +15,7 @@
+ #include <assert.h>
+ #include "hexedit.h"
+
++struct ChangeLog UndoStack;
+
+ void
+ pushUndo (int type, unsigned long offset,
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..d85b4252fc33
--- /dev/null
+++ b/app-editors/curses-hexedit/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/dav/Manifest b/app-editors/dav/Manifest
new file mode 100644
index 000000000000..517d870648d3
--- /dev/null
+++ b/app-editors/dav/Manifest
@@ -0,0 +1 @@
+DIST dav-0.8.5.tar.gz 22824 BLAKE2B 969458aa6b914f9cd624554690a88f4c2999dcc6e89db38d13d9ba98db7881a34ce1575ccbdf74b3ecca34345f2ec639cfc805a350e31f856f7d086cf23752de SHA512 cdedff875df392e8525399b40d45cdf4e984b1b014f03d9f5cd5be270eebe0003fcf48e9738f6ac2789138973970bb9fe6d0b8babd20c1df61e193f84ee066b3
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..b04dad5486e8
--- /dev/null
+++ b/app-editors/dav/dav-0.8.5-r2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2020 Gentoo Authors
+# 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..def00c78a106
--- /dev/null
+++ b/app-editors/dav/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="sourceforge">dav-text</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/dhex/Manifest b/app-editors/dhex/Manifest
new file mode 100644
index 000000000000..f5d1e558e358
--- /dev/null
+++ b/app-editors/dhex/Manifest
@@ -0,0 +1 @@
+DIST dhex_0.68.tar.gz 58602 BLAKE2B c29d5af598b731bc415e2626e945253641ea61c8a744deaeee3f7a2e7b1636ccfb3f8b7696efd33d36fab59d59da408ff4f59b44a88a36a4d7afc27542326c9e SHA512 9397ec0574652022387f4108613f839b9262841c436079249fb325011b0a0e3c5bbd32d323f37b0f30e643f7060c1275337710c237ab68fb0c3f8096651a2421
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..d85b4252fc33
--- /dev/null
+++ b/app-editors/dhex/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/diakonos/Manifest b/app-editors/diakonos/Manifest
new file mode 100644
index 000000000000..045292cca7c5
--- /dev/null
+++ b/app-editors/diakonos/Manifest
@@ -0,0 +1 @@
+DIST diakonos-0.9.4.tar.bz2 102282 BLAKE2B f8625d87924815e816c2f5a07e5c1d35df4df6126531caf5c98a9fdcb20eb9543c028363344a3c20f2f8a0335fa9d071b168640d9bd4738b1d51737bcc548c12 SHA512 8aab6173c40b9a182853977ed7631c391a10d3339918fa96866da8c9fa8e36e40f1c5093465c734a9ce36a69c5d994d6b2d1c0306f1e57bff708fd7a64a62db7
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..d769980e0233
--- /dev/null
+++ b/app-editors/diakonos/diakonos-0.9.4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+USE_RUBY="ruby23 ruby24 ruby25 ruby26"
+
+inherit ruby-ng
+
+DESCRIPTION="A Linux editor for the masses"
+HOMEPAGE="http://diakonos.pist0s.ca"
+SRC_URI="http://diakonos.pist0s.ca/archives/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+ruby_add_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..d85b4252fc33
--- /dev/null
+++ b/app-editors/diakonos/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/e3/Manifest b/app-editors/e3/Manifest
new file mode 100644
index 000000000000..a66a91fd1abc
--- /dev/null
+++ b/app-editors/e3/Manifest
@@ -0,0 +1 @@
+DIST e3-2.82.tgz 115504 BLAKE2B 09edea9063657373cf6d7d9d8290dddf17b8fb516538d89b83462176127b8b43832bd81f326eec5504116f05ab780023832b8b5d41d72e3ab8e726d89e364a36 SHA512 07c7e40d26879871b60d7e89839805d779383dbaabe42a6a3a7047fa8a4c501c4cd0cdc828a9d29d4ac1c5b949bda07946d8e71e1320c6c303ffce88a3038547
diff --git a/app-editors/e3/e3-2.8.2.ebuild b/app-editors/e3/e3-2.8.2.ebuild
new file mode 100644
index 000000000000..b554e85be62a
--- /dev/null
+++ b/app-editors/e3/e3-2.8.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+MY_P="${PN}-$(ver_rs 2 '')"
+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/${MY_P}.tgz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+RESTRICT="strip"
+
+BDEPEND=">=dev-lang/nasm-2.09.04"
+
+S="${WORKDIR}/${MY_P}"
+PATCHES=("${FILESDIR}"/${P}-makefile.patch)
+QA_FLAGS_IGNORED="/usr/bin/e3" #726484
+
+src_compile() {
+ emake -- $(usex amd64 64 32) LD="$(tc-getLD)"
+}
+
+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
+ dodoc ChangeLog README README.v2.7.1
+ docinto html
+ dodoc e3.html
+}
diff --git a/app-editors/e3/files/e3-2.8.2-makefile.patch b/app-editors/e3/files/e3-2.8.2-makefile.patch
new file mode 100644
index 000000000000..b37381ef2e28
--- /dev/null
+++ b/app-editors/e3/files/e3-2.8.2-makefile.patch
@@ -0,0 +1,36 @@
+--- e3-2.82-orig/Makefile
++++ e3-2.82/Makefile
+@@ -17,6 +17,8 @@
+ NASM_OR_YASM=nasm
+ #NASM_OR_YASM=yasm
+
++LD=ld
++
+ EXMODE=SED
+
+ #----------------------do not edit below line-------------------------------
+@@ -41,12 +43,12 @@
+
+ 32: $(ASOURCES) Makefile
+ ifeq ($(OS),LINUX)
+- nasm -O2 -f bin -l e3.lst -o e3 e3.asm -DCRIPLED_ELF=1 -D$(OS) -D$(EXMODE)
++ nasm -O2 -f bin -l e3.lst -o e3 e3.asm -DCRIPLED_ELF=1 -D$(OS)
+ chmod +x e3
+ else
+ echo $(ASVER)
+- nasm -O2 $(AFLAGS) -o e3.o e3.asm -l e3.lst -D$(OS) -D$(EXMODE)
+- ld -s -o e3 e3.o
++ nasm -O2 $(AFLAGS) -o e3.o e3.asm -l e3.lst -D$(OS)
++ $(LD) -s -o e3 e3.o
+ strip --remove-section .comment e3
+ endif
+ ln -sf e3 e3ws
+@@ -60,7 +62,7 @@
+ 64: $(ASOURCES) Makefile
+ cat e3.asm | sed -f e3_32to64.sed >e3.tmp
+ $(ASSEMBLER64)
+- ld -b elf64-x86-64 --oformat elf64-x86-64 -o e3 e3.o
++ $(LD) -o e3 e3.o
+ ifneq ($(DEBUG),true)
+ strip e3
+ endif
diff --git a/app-editors/e3/metadata.xml b/app-editors/e3/metadata.xml
new file mode 100644
index 000000000000..9dc3ab07f44a
--- /dev/null
+++ b/app-editors/e3/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>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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/editra/Manifest b/app-editors/editra/Manifest
new file mode 100644
index 000000000000..e4dbf0ec1afa
--- /dev/null
+++ b/app-editors/editra/Manifest
@@ -0,0 +1 @@
+DIST Editra-0.7.20.tar.gz 4072243 BLAKE2B 3a2d38888ea9d7a12a77d4adb57b7e5c926757791e8b48eedd8413b6712cbfb2c616c3cf26f3f49c3a7ac5acf37d373cff8d37c63e255a1d0a9ec1add3dcbbe6 SHA512 e568ce2a5f04300c33223bf7a0e6fbc52d0a51c3472afb9b613fe21cfbeba0b9b453d87837e52c7c48050fc266ff5ff194a42f797053f21f0a25cd5c4579febe
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..04cfc91b0dfe
--- /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.org/project/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..d77de64040f9
--- /dev/null
+++ b/app-editors/editra/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 type="project">
+ <email>wxwidgets@gentoo.org</email>
+ <name>Gentoo wxWidgets Project</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/ee/Manifest b/app-editors/ee/Manifest
new file mode 100644
index 000000000000..a784e9819820
--- /dev/null
+++ b/app-editors/ee/Manifest
@@ -0,0 +1 @@
+DIST ee-1.5.2.src.tgz 69651 BLAKE2B 2d79b889ad5c97d4f2e134acec235f8f1dfbf0c697936de326be448e0bb193f06cbaeadf5a99050fc47f0526bbeb571522513f363695190c1801c62aee1594f2 SHA512 9ca0e82d65971b0bce38e09c365b6eb8b81ca6ff5b244107ae254322e47e841e7f5345bf242a0a9dd66b731d46cead6f442016b9e070a1298e1a5319b1d7b97a
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..0cf7383a4c7e
--- /dev/null
+++ b/app-editors/ee/ee-1.5.2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+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"
+BDEPEND="virtual/pkgconfig"
+S="${WORKDIR}/easyedit-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-init-location.patch
+ "${FILESDIR}"/${PN}-signal.patch
+ "${FILESDIR}"/${PN}-Wformat-security.patch
+ "${FILESDIR}"/${PN}-gcc-10.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//" \
+ -e "s/-lcurses/$($(tc-getPKG_CONFIG) --libs ncurses)/" \
+ 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-gcc-10.patch b/app-editors/ee/files/ee-gcc-10.patch
new file mode 100644
index 000000000000..2577d76f25f6
--- /dev/null
+++ b/app-editors/ee/files/ee-gcc-10.patch
@@ -0,0 +1,22 @@
+--- a/new_curse.c
++++ b/new_curse.c
+@@ -83,6 +83,8 @@
+ #endif
+
+
++struct _line *top_of_win;
++
+ WINDOW *curscr;
+ static WINDOW *virtual_scr;
+ WINDOW *stdscr;
+--- a/new_curse.h
++++ b/new_curse.h
+@@ -161,7 +161,7 @@
+ int number;
+ };
+
+-struct _line *top_of_win;
++extern struct _line *top_of_win;
+
+ typedef struct WIND {
+ int SR; /* starting row */
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/files/ee-signal.patch b/app-editors/ee/files/ee-signal.patch
new file mode 100644
index 000000000000..41cfa4013068
--- /dev/null
+++ b/app-editors/ee/files/ee-signal.patch
@@ -0,0 +1,11 @@
+--- a/ee.c
++++ b/ee.c
+@@ -552,7 +552,7 @@
+ {
+ int counter;
+
+- for (counter = 1; counter < SIGUNUSED; counter++)
++ for (counter = 1; counter < SIGSYS; counter++)
+ signal(counter, SIG_IGN);
+
+ signal(SIGCHLD, SIG_DFL);
diff --git a/app-editors/ee/metadata.xml b/app-editors/ee/metadata.xml
new file mode 100644
index 000000000000..63d373a1a9eb
--- /dev/null
+++ b/app-editors/ee/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>hattya@gentoo.org</email>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/elvis/Manifest b/app-editors/elvis/Manifest
new file mode 100644
index 000000000000..03ab34d3a5ad
--- /dev/null
+++ b/app-editors/elvis/Manifest
@@ -0,0 +1 @@
+DIST elvis-2.2_0.tar.gz 1439293 BLAKE2B c061370a3a9a9d24bcdba65f1d16b5b8d7dd6a5a9e777949c80862f8e9ce879dac6685f625c0fd86cae26efbbf58277d9626be2f4e513d1b1bed131cc60eb95d SHA512 847cc9ac0af170798abd4725f7dc2ec74d4931fb761b58836d4016d36da5657176bd8cdcdae02bc08438b18e8ce2433eb3340ec2503630fd2992e83ba06adf42
diff --git a/app-editors/elvis/elvis-2.2.0-r6.ebuild b/app-editors/elvis/elvis-2.2.0-r6.ebuild
new file mode 100644
index 000000000000..2317c7acda26
--- /dev/null
+++ b/app-editors/elvis/elvis-2.2.0-r6.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2018 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:0=
+ X? (
+ >=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}
+ X? ( x11-base/xorg-proto )
+ 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-r7.ebuild b/app-editors/elvis/elvis-2.2.0-r7.ebuild
new file mode 100644
index 000000000000..c69d4195dd1b
--- /dev/null
+++ b/app-editors/elvis/elvis-2.2.0-r7.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2018 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-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}
+ X? ( x11-base/xorg-proto )
+ 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/elvis-2.2.0-r8.ebuild b/app-editors/elvis/elvis-2.2.0-r8.ebuild
new file mode 100644
index 000000000000..d5c65e2ef429
--- /dev/null
+++ b/app-editors/elvis/elvis-2.2.0-r8.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2020 Gentoo Authors
+# 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 doc"
+
+RDEPEND="
+ sys-libs/ncurses:0=
+ app-eselect/eselect-vi
+ X? (
+ >=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}
+ X? ( x11-base/xorg-proto )
+ 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() {
+ export CC="$(tc-getCC)"
+ ./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 -e "s#^CFLAGS=\(.*\)#CFLAGS=\1 ${CFLAGS}#g;" -i 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
+
+ local docdir="${ED}/usr/share/doc/${PF}"
+ if ! use doc; then
+ docdir="${T}/doc-discard"
+ fi
+
+ emake install \
+ PREFIX="${ED}"/usr \
+ BINDIR="${ED}"/usr/bin \
+ DATADIR="${ED}"/usr/share/elvis \
+ DOCDIR="${docdir}"
+
+ # 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..3e401807d974
--- /dev/null
+++ b/app-editors/elvis/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 type="project">
+ <email>vim@gentoo.org</email>
+ <name>Gentoo Vim Project</name>
+</maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/emacs/Manifest b/app-editors/emacs/Manifest
new file mode 100644
index 000000000000..f9b02df25574
--- /dev/null
+++ b/app-editors/emacs/Manifest
@@ -0,0 +1,13 @@
+DIST emacs-18.59-linux22x-elf-glibc21.diff.gz 15671 BLAKE2B 0106fe8053b4f65f384d451ca85138991a57afaca16b32035585055bb877c039af826859fa58c4660ec80664d3bfb0ee7a757ad76381c150ebcb22cb333a98d6 SHA512 c6c6ea33850dadf08d68fff56fc6aacc80ad1aa36661260715d50b95438942d56e6244094427d50356cfe716f26559feb885254c436399bff7be639637d605b6
+DIST emacs-18.59-patches-12.tar.xz 22252 BLAKE2B 14cb456f83447b298b280e11920d486c8cbe824f329ed841ceaa3751e68123bc8c7eda1ed4e2070eaf479d0cf8f8319294ab9f2c31cacc7a9a822bab7a2c70d0 SHA512 24a259383b4fd303d267c9c1bce0e7c99ec8838a45b62ff16ea1f37879d240f000844cdd5e1de5ec6f87fee7cb42b23447dc6958e9fb4b2fc83e5f2d5c21a6b2
+DIST emacs-18.59.tar.gz 2962652 BLAKE2B d617636daff41e672af2dcda26ec24b2495cf0a3e6373561ee26a2a922b7252c074dd6b79289d771853a4720c60f084f5726b904bf65989718173232ac874b0b SHA512 03ce565e346e89b7aacb1852f4783e8907f394de7da0c543b475cb038eb89b87f980d0f7ca1841b1d2108b20f211e95113c7214e4a33e5767a1827ff43173f33
+DIST emacs-23.4-patches-23.tar.xz 19932 BLAKE2B 941d939d1a66af162016eb7f4a34a3a6d19736ecbd06e2499ccb0bf8806b2b3583de324308698b00d0b47a3d0b8a046e5d5dcb2d681c2bba90ec40b58b4e9855 SHA512 83e2cef7ebe07fc69806d01946c6e96fa0e92b363e9c6531992593eeb29413518217fef05bba48729356af7d1326c3667748185aad971a625daccb803b2bfe58
+DIST emacs-23.4.tar.bz2 38646508 BLAKE2B 33dac5d27a63b7aab6b4053964a0ecf7f7939c7aea5af15103f2da7bd34fbb18dba7a1bf44cc4fcc2e3fb1439cdf7085d8dfc4b0005f5485748996e75ca6872d SHA512 def7a95ecaefae24d8102b96b1d575a23def1b11a8f0bb17b68f7913bd118e2ea4449a8feee76c1bd649f099b70419f0d494ddd9bb32b26f92720cda842b0296
+DIST emacs-24.5-patches-5.tar.xz 14796 BLAKE2B 3e097f9cdf96a8b0255ce69770f79259ac9bdddbf5aa77c381973e4348d0900ee6dc6ed4af26021811afbb14eff84bc2a370bc8e803d112476554d03b074ce66 SHA512 fe9f9c19ff760e61dcbf1828d4e9e2806c141b47372bdd736be8237183660a28e2ef86a97034d060e244ff81540a2503a1b47655ef84222fddacb3a87f0f34ae
+DIST emacs-24.5.tar.xz 39759804 BLAKE2B aec253528038686822d1f8ed9a52dff276789ef7744053fc9b6176fceba4d4d8684fe979cf97e756b3feaf734d2377baef81f5efaa5450930a4e94d9f3bca355 SHA512 89dee4c3aadb6e505c523f84c65b5e40e5bf28a586cc8a4518a59581c22972f942bb6f3c772df0d5b2685c3e78247c545c6bb2576e981d1ef0f9298c18ad1677
+DIST emacs-25.3-patches-2.tar.xz 2488 BLAKE2B 93c6a18e7f729a5b4d299974581c99835e5f197215888253f75827645e440f6579da16d4cd8340f2732f8bf8a6a15713e29848953033dc62b573a1c1fab455bf SHA512 f171cc5699f06523a007aba5aa1a4274c9a875358a60405aa77cdc96ebb229082cb73453940e8c9e76dd7b86979cefc261883db0c130142543befb7a097475f4
+DIST emacs-25.3.tar.xz 42854740 BLAKE2B 4f4e2572bbef48b75c561497fc22046081e56099b6174725d79b15a5b16d5c886eaf8ff3f75cf561e989ebb092ab9e98ba7503e720a9db7560758b30d5116f23 SHA512 1cce656451b6ca8502ebb229e88bd3ef48b7f9444a10eeac4ea43bd5491b2efacd641dfa35227a33362c3866493d3449cf1df81606563eef44bba0ed668e457f
+DIST emacs-26.3.tar.xz 44415140 BLAKE2B aa8434e6431992ee40402f03a890dd2c49784ee76f437888efe61d66b9aa2bdb816eb0bfe1055e9e154a8bb3ed065fee71623741b474d465a96964618ec775e3 SHA512 4d5a4319253afb081e105a3697eb6eeb8d8a0da18cd41346e376ca5af1e180a26e641f76c64fad1b0253168f14a511f0a4d9d4141524fb1cf4d04f25b05a76e9
+DIST emacs-27.0.50_pre20191223.tar.xz 29160968 BLAKE2B b2fbed7bbd8c5e841231a027bbc04ad7d9b22c5e44ea302656bea63519ec2480e040c67d7ad3b785fd7566bb2c4772d9d0717dede2e740cb0988bfc20e8fa504 SHA512 e582ae29d62371f9afb6ef908976cf6cea6bd6ff7fde66f319f8e96698badcb99aa76df65cfaefb18009e3cf6586f19f64f1611a0d5e2f682bd0a6e4f46cf1d6
+DIST emacs-27.0.90.tar.xz 43706980 BLAKE2B 87f9b621305711d7083307fbf921a32e7a878c6eef7939100511f669fdf052d88d8aea3c46a2c9fb9e9383c47c4066ec580443b2b24e510a6894d59caf9825ec SHA512 1a6f319e964f20ad35574eb2d2e18ae8c86d9d2ab9ae038334f0f468c40602d1f9b20880cfa704ea2067bdd7a3952ea3e6b565d5bb3d6d304922ad1d98c1c76b
+DIST emacs-27.0.91.tar.xz 43730296 BLAKE2B 9ed0f425539cd22b84e3c1e2973d6a66d983e6b6de5fff30c1db2ca3fb1d761cf2c4de566b28dcffff858d032ff996a528e14daaecc45eb71aa07c3f3a6e4a74 SHA512 fcae087c7d153ce45640dc5785e0829e85b14400eec70f833e1f7ee7d3903f1e4adb469d812596fc6e7ff792ccaeda3fde5fa1c37b609ab83e8432d9f63be36a
diff --git a/app-editors/emacs/emacs-18.59-r12.ebuild b/app-editors/emacs/emacs-18.59-r12.ebuild
new file mode 100644
index 000000000000..964b14b1384e
--- /dev/null
+++ b/app-editors/emacs/emacs-18.59-r12.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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-12.tar.xz"
+
+LICENSE="GPL-1+ GPL-2+ BSD HPND"
+SLOT="18"
+KEYWORDS="amd64 x86"
+IUSE="abi_x86_x32 X"
+
+RDEPEND="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 )"
+
+DEPEND="${RDEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-misc/xbitmaps
+ )"
+
+BDEPEND="app-eselect/eselect-emacs
+ virtual/pkgconfig"
+
+RDEPEND="${RDEPEND}
+ app-eselect/eselect-emacs"
+
+PATCHES="../${P}-linux22x-elf-glibc21.diff ../patch"
+
+src_prepare() {
+ default
+
+ # Do not use the sandbox, or the dumped Emacs will be twice as large
+ sed -i -e 's:\./temacs.*dump:SANDBOX_ON=0 LD_PRELOAD= env &:' \
+ src/ymakefile || die
+}
+
+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.
+ # -Wno-implicit will quieten GCC 5; feel free to submit a patch
+ # adding all those missing prototypes.
+ strip-flags
+ filter-flags -finline-functions -fpie
+ append-flags -Wno-implicit
+ append-ldflags $(test-flags -no-pie) #639562
+ replace-flags -O[3-9] -O2
+}
+
+src_compile() {
+ addpredict /var/lib/emacs/lock #nowarn
+ 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-r18.ebuild b/app-editors/emacs/emacs-23.4-r18.ebuild
new file mode 100644
index 000000000000..a84fad2f8d3a
--- /dev/null
+++ b/app-editors/emacs/emacs-23.4-r18.ebuild
@@ -0,0 +1,353 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+WANT_AUTOMAKE="none"
+
+inherit autotools elisp-common flag-o-matic readme.gentoo-r1 toolchain-funcs
+
+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-23.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 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="alsa aqua athena dbus games gconf gif gpm gtk gzip-el jpeg kerberos livecd m17n-lib motif png sound source svg tiff toolkit-scroll-bars X Xaw3d xft +xpm"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND=">=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ net-libs/liblockfile
+ sys-libs/ncurses:0=
+ kerberos? ( virtual/krb5 )
+ alsa? ( media-libs/alsa-lib )
+ games? ( acct-group/gamestat )
+ gpm? ( sys-libs/gpm )
+ dbus? ( sys-apps/dbus )
+ X? (
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ 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
+ x11-libs/libXrender
+ 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
+ x11-libs/libXpm
+ x11-libs/libXext
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !motif? (
+ Xaw3d? (
+ x11-libs/libXaw3d
+ x11-libs/libXext
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !Xaw3d? ( athena? (
+ x11-libs/libXaw
+ x11-libs/libXext
+ x11-libs/libXmu
+ x11-libs/libXt
+ ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+
+BDEPEND="app-eselect/eselect-emacs
+ alsa? ( virtual/pkgconfig )
+ dbus? ( virtual/pkgconfig )
+ X? ( virtual/pkgconfig )
+ gzip-el? ( app-arch/gzip )"
+
+RDEPEND="${RDEPEND}
+ app-eselect/eselect-emacs"
+
+EMACS_SUFFIX="emacs-${SLOT}"
+SITEFILE="20${EMACS_SUFFIX}-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)
+ append-ldflags $(test-flags -no-pie) #639568
+
+ if use ia64; then
+ replace-flags "-O[2-9]" -O1 #325373
+ else
+ replace-flags "-O[3-9]" -O2
+ fi
+
+ # Don't trigger a floating point exception for NaNs on alpha
+ use alpha && append-flags -mieee
+
+ 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
+
+ # 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" \
+ --without-hesiod \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with gpm) \
+ $(use_with dbus) \
+ ${myconf}
+}
+
+src_compile() {
+ # Disable sandbox when dumping. For the unbelievers, see bug #131505
+ emake CC="$(tc-getCC)" \
+ AR="$(tc-getAR) cq" \
+ RANLIB="$(tc-getRANLIB)" \
+ RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
+}
+
+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 || die
+ X
+ ;;; ${EMACS_SUFFIX} 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\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share
+ 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_SUFFIX^}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
+ fi
+
+ local 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\\n${EMACS_SUFFIX^}.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
+ if [[ -d ${ED}/usr/share/info ]]; then
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
+ 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-r7.ebuild b/app-editors/emacs/emacs-24.5-r7.ebuild
new file mode 100644
index 000000000000..e82a60ec1c26
--- /dev/null
+++ b/app-editors/emacs/emacs-24.5-r7.ebuild
@@ -0,0 +1,347 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools elisp-common flag-o-matic 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-5.tar.xz"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="24"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="acl alsa aqua athena dbus games gconf gfile gif gpm gsettings gtk gtk2 gzip-el imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND=">=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ net-libs/liblockfile
+ sys-libs/ncurses:0=
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ games? ( acct-group/gamestat )
+ gpm? ( sys-libs/gpm )
+ !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/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ 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
+ x11-libs/libXrender
+ m17n-lib? (
+ >=dev-libs/libotf-0.9.4
+ >=dev-libs/m17n-lib-1.5.1
+ )
+ )
+ gtk? (
+ gtk2? ( x11-libs/gtk+:2 )
+ !gtk2? ( x11-libs/gtk+:3 )
+ )
+ !gtk? (
+ motif? (
+ >=x11-libs/motif-2.3:0
+ x11-libs/libXpm
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !motif? (
+ Xaw3d? (
+ x11-libs/libXaw3d
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !Xaw3d? ( athena? (
+ x11-libs/libXaw
+ x11-libs/libXmu
+ x11-libs/libXt
+ ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+
+BDEPEND="app-eselect/eselect-emacs
+ virtual/pkgconfig
+ gzip-el? ( app-arch/gzip )"
+
+RDEPEND="${RDEPEND}
+ app-eselect/eselect-emacs"
+
+EMACS_SUFFIX="emacs-${SLOT}"
+SITEFILE="20${EMACS_SUFFIX}-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
+ append-ldflags $(test-flags -no-pie) #639570
+
+ if use ia64; then
+ replace-flags "-O[2-9]" -O1 #325373
+ else
+ replace-flags "-O[3-9]" -O2
+ fi
+
+ # Don't trigger a floating point exception for NaNs on alpha
+ use alpha && append-flags -mieee
+
+ 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 gtk2 gtk2 gtk3)"
+ 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 gtk2 && ewarn \
+ "USE flag \"gtk2\" 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
+
+ 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 \
+ --without-hesiod \
+ --with-file-notification=$(usev inotify || usev gfile || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with gpm) \
+ $(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() {
+ # Disable sandbox when dumping. For the unbelievers, see bug #131505
+ emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
+}
+
+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 || die
+ X
+ ;;; ${EMACS_SUFFIX} 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\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share
+ 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_SUFFIX^}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
+ fi
+
+ local 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\\n${EMACS_SUFFIX^}.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
+ if [[ -d ${ED}/usr/share/info ]]; then
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
+ 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-r6.ebuild b/app-editors/emacs/emacs-25.3-r6.ebuild
new file mode 100644
index 000000000000..18e79d8a04ad
--- /dev/null
+++ b/app-editors/emacs/emacs-25.3-r6.ebuild
@@ -0,0 +1,356 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools elisp-common flag-o-matic 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-2.tar.xz"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="25"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 sparc x86 ~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 gtk2 gzip-el imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND=">=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ net-libs/liblockfile
+ sys-libs/ncurses:0=
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ games? ( acct-group/gamestat )
+ gpm? ( sys-libs/gpm )
+ !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/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libxcb
+ 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
+ x11-libs/libXrender
+ cairo? ( >=x11-libs/cairo-1.12.18 )
+ m17n-lib? (
+ >=dev-libs/libotf-0.9.4
+ >=dev-libs/m17n-lib-1.5.1
+ )
+ )
+ gtk? (
+ gtk2? ( x11-libs/gtk+:2 )
+ !gtk2? ( x11-libs/gtk+:3 )
+ )
+ !gtk? (
+ motif? (
+ >=x11-libs/motif-2.3:0
+ x11-libs/libXpm
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !motif? (
+ Xaw3d? (
+ x11-libs/libXaw3d
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !Xaw3d? ( athena? (
+ x11-libs/libXaw
+ x11-libs/libXmu
+ x11-libs/libXt
+ ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+
+BDEPEND="app-eselect/eselect-emacs
+ virtual/pkgconfig
+ gzip-el? ( app-arch/gzip )"
+
+RDEPEND="${RDEPEND}
+ !<app-editors/emacs-vcs-${PV}
+ app-eselect/eselect-emacs"
+
+EMACS_SUFFIX="emacs-${SLOT}"
+SITEFILE="20${EMACS_SUFFIX}-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 ia64; then
+ replace-flags "-O[2-9]" -O1 #325373
+ else
+ replace-flags "-O[3-9]" -O2
+ fi
+
+ # Don't trigger a floating point exception for NaNs on alpha
+ use alpha && append-flags -mieee
+
+ 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
+ myconf+=" --with-x-toolkit=$(usex gtk2 gtk2 gtk3)"
+ myconf+=" --without-xwidgets"
+ 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 gtk2 && ewarn \
+ "USE flag \"gtk2\" 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
+
+ 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 \
+ --without-hesiod \
+ --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 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() {
+ # Disable sandbox when dumping. For the unbelievers, see bug #131505
+ emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
+}
+
+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 || die
+ X
+ ;;; ${EMACS_SUFFIX} 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\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share
+ 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_SUFFIX^}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
+ fi
+
+ local 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\\n${EMACS_SUFFIX^}.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
+ if [[ -d ${ED}/usr/share/info ]]; then
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
+ 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-26.3-r1.ebuild b/app-editors/emacs/emacs-26.3-r1.ebuild
new file mode 100644
index 000000000000..2d976a0d1f76
--- /dev/null
+++ b/app-editors/emacs/emacs-26.3-r1.ebuild
@@ -0,0 +1,382 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools elisp-common flag-o-matic 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="26"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~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 gtk2 gzip-el imagemagick +inotify jpeg kerberos lcms libxml2 livecd m17n-lib mailutils motif 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=">=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ sys-libs/ncurses:0=
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ games? ( acct-group/gamestat )
+ gpm? ( sys-libs/gpm )
+ !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
+ kerberos? ( virtual/krb5 )
+ lcms? ( media-libs/lcms:2 )
+ 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/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libxcb
+ 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
+ x11-libs/libXrender
+ cairo? ( >=x11-libs/cairo-1.12.18 )
+ m17n-lib? (
+ >=dev-libs/libotf-0.9.4
+ >=dev-libs/m17n-lib-1.5.1
+ )
+ )
+ gtk? (
+ gtk2? ( x11-libs/gtk+:2 )
+ !gtk2? (
+ x11-libs/gtk+:3
+ xwidgets? (
+ net-libs/webkit-gtk:4=
+ x11-libs/libXcomposite
+ )
+ )
+ )
+ !gtk? (
+ motif? (
+ >=x11-libs/motif-2.3:0
+ x11-libs/libXpm
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !motif? (
+ Xaw3d? (
+ x11-libs/libXaw3d
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !Xaw3d? ( athena? (
+ x11-libs/libXaw
+ x11-libs/libXmu
+ x11-libs/libXt
+ ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+
+BDEPEND="app-eselect/eselect-emacs
+ virtual/pkgconfig
+ gzip-el? ( app-arch/gzip )"
+
+RDEPEND="${RDEPEND}
+ !<app-editors/emacs-vcs-${PV}
+ app-eselect/eselect-emacs"
+
+EMACS_SUFFIX="emacs-${SLOT}"
+SITEFILE="20${EMACS_SUFFIX}-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
+
+ #AT_M4DIR=m4 eautoreconf
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -pie #526948
+
+ if 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 gtk2; then
+ myconf+=" --with-x-toolkit=gtk2 --without-xwidgets"
+ use xwidgets && ewarn \
+ "USE flag \"xwidgets\" has no effect if \"gtk2\" is set."
+ else
+ myconf+=" --with-x-toolkit=gtk3 $(use_with 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
+ if ! use gtk; then
+ use gtk2 && ewarn \
+ "USE flag \"gtk2\" has no effect if \"gtk\" is not set."
+ use xwidgets && ewarn \
+ "USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
+ 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
+
+ econf \
+ --program-suffix="-${EMACS_SUFFIX}" \
+ --includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \
+ --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+ --localstatedir="${EPREFIX}"/var \
+ --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+ --without-compress-install \
+ --without-hesiod \
+ --without-pop \
+ --with-file-notification=$(usev inotify || usev gfile || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with dynamic-loading modules) \
+ $(use_with games gameuser ":gamestat") \
+ $(use_with gpm) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with lcms lcms2) \
+ $(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() {
+ # Disable sandbox when dumping. For the unbelievers, see bug #131505
+ emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
+}
+
+src_install() {
+ emake DESTDIR="${D}" NO_BIN_LINK=t install
+
+ mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} || die
+ mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 || die
+ mv "${ED}"/usr/share/metainfo/{emacs-,}${EMACS_SUFFIX}.appdata.xml || die
+
+ # move info dir to avoid collisions with the dir file generated by portage
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} || die
+ 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 systemd; then
+ insinto /usr/lib/systemd/user
+ sed -e "/^##/d" \
+ -e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \
+ -e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \
+ etc/emacs.service | newins - ${EMACS_SUFFIX}.service
+ assert
+ fi
+
+ 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 || die
+ X
+ ;;; ${EMACS_SUFFIX} 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\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share
+ 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_SUFFIX^}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
+ fi
+
+ local 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\\n${EMACS_SUFFIX^}.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
+ if [[ -d ${ED}/usr/share/info ]]; then
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
+ 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-27.0.50_pre20191223.ebuild b/app-editors/emacs/emacs-27.0.50_pre20191223.ebuild
new file mode 100644
index 000000000000..b16211b43e36
--- /dev/null
+++ b/app-editors/emacs/emacs-27.0.50_pre20191223.ebuild
@@ -0,0 +1,412 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools elisp-common flag-o-matic readme.gentoo-r1
+
+if [[ ${PV##*.} = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/emacs.git"
+ EGIT_BRANCH="master"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
+ S="${EGIT_CHECKOUT_DIR}"
+else
+ SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz
+ mirror://gnu-alpha/emacs/pretest/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~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-vcs"
+IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif +gmp gpm gsettings gtk gtk2 gzip-el harfbuzz imagemagick +inotify jpeg json kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm xwidgets zlib"
+REQUIRED_USE="?? ( aqua X )"
+RESTRICT="test"
+
+RDEPEND=">=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ sys-libs/ncurses:0=
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ games? ( acct-group/gamestat )
+ gmp? ( dev-libs/gmp:0= )
+ gpm? ( sys-libs/gpm )
+ !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
+ json? ( dev-libs/jansson )
+ kerberos? ( virtual/krb5 )
+ lcms? ( media-libs/lcms:2 )
+ 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/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libxcb
+ 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
+ x11-libs/libXrender
+ cairo? ( >=x11-libs/cairo-1.12.18 )
+ harfbuzz? ( media-libs/harfbuzz:0= )
+ m17n-lib? (
+ >=dev-libs/libotf-0.9.4
+ >=dev-libs/m17n-lib-1.5.1
+ )
+ )
+ gtk? (
+ gtk2? ( x11-libs/gtk+:2 )
+ !gtk2? (
+ x11-libs/gtk+:3
+ xwidgets? (
+ net-libs/webkit-gtk:4=
+ x11-libs/libXcomposite
+ )
+ )
+ )
+ !gtk? (
+ motif? (
+ >=x11-libs/motif-2.3:0
+ x11-libs/libXpm
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !motif? (
+ Xaw3d? (
+ x11-libs/libXaw3d
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !Xaw3d? ( athena? (
+ x11-libs/libXaw
+ x11-libs/libXmu
+ x11-libs/libXt
+ ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+
+BDEPEND="app-eselect/eselect-emacs
+ sys-apps/texinfo
+ virtual/pkgconfig
+ gzip-el? ( app-arch/gzip )"
+
+RDEPEND="${RDEPEND}
+ !app-editors/emacs-vcs:27
+ app-eselect/eselect-emacs"
+
+EMACS_SUFFIX="emacs-${SLOT}"
+SITEFILE="20${EMACS_SUFFIX}-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
+
+ AT_M4DIR=m4 eautoreconf
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -pie #526948
+
+ if 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 harfbuzz)"
+ 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 gtk2; then
+ myconf+=" --with-x-toolkit=gtk2 --without-xwidgets"
+ use xwidgets && ewarn \
+ "USE flag \"xwidgets\" has no effect if \"gtk2\" is set."
+ else
+ myconf+=" --with-x-toolkit=gtk3 $(use_with 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
+ if ! use gtk; then
+ use gtk2 && ewarn \
+ "USE flag \"gtk2\" has no effect if \"gtk\" is not set."
+ use xwidgets && ewarn \
+ "USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
+ 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
+
+ econf \
+ --program-suffix="-${EMACS_SUFFIX}" \
+ --includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \
+ --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+ --localstatedir="${EPREFIX}"/var \
+ --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+ --without-compress-install \
+ --without-hesiod \
+ --without-pop \
+ --with-dumping=pdumper \
+ --with-file-notification=$(usev inotify || usev gfile || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with dynamic-loading modules) \
+ $(use_with games gameuser ":gamestat") \
+ $(use_with gmp libgmp) \
+ $(use_with gpm) \
+ $(use_with json) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with lcms lcms2) \
+ $(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() {
+# # Disable sandbox when dumping. For the unbelievers, see bug #131505
+# emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
+#}
+
+src_install() {
+ emake DESTDIR="${D}" NO_BIN_LINK=t install
+
+ mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} || die
+ mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 || die
+ mv "${ED}"/usr/share/metainfo/{emacs-,}${EMACS_SUFFIX}.appdata.xml || die
+
+ # move info dir to avoid collisions with the dir file generated by portage
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} || die
+ 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 systemd; then
+ insinto /usr/lib/systemd/user
+ sed -e "/^##/d" \
+ -e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \
+ -e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \
+ etc/emacs.service | newins - ${EMACS_SUFFIX}.service
+ assert
+ fi
+
+ 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 || die
+ X
+ ;;; ${EMACS_SUFFIX} 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\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share
+ 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_SUFFIX^}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
+ fi
+
+ local 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\\n${EMACS_SUFFIX^}.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
+ if [[ -d ${ED}/usr/share/info ]]; then
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
+ 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-27.0.90.ebuild b/app-editors/emacs/emacs-27.0.90.ebuild
new file mode 100644
index 000000000000..6b20eefd9d28
--- /dev/null
+++ b/app-editors/emacs/emacs-27.0.90.ebuild
@@ -0,0 +1,412 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools elisp-common flag-o-matic readme.gentoo-r1
+
+if [[ ${PV##*.} = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/emacs.git"
+ EGIT_BRANCH="emacs-27"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
+ S="${EGIT_CHECKOUT_DIR}"
+else
+ SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz
+ mirror://gnu-alpha/emacs/pretest/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~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-vcs"
+IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif +gmp gpm gsettings gtk gtk2 gzip-el harfbuzz imagemagick +inotify jpeg json kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm xwidgets zlib"
+REQUIRED_USE="?? ( aqua X )"
+RESTRICT="test"
+
+RDEPEND=">=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ sys-libs/ncurses:0=
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ games? ( acct-group/gamestat )
+ gmp? ( dev-libs/gmp:0= )
+ gpm? ( sys-libs/gpm )
+ !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
+ json? ( dev-libs/jansson )
+ kerberos? ( virtual/krb5 )
+ lcms? ( media-libs/lcms:2 )
+ 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/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libxcb
+ 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
+ x11-libs/libXrender
+ cairo? ( >=x11-libs/cairo-1.12.18 )
+ harfbuzz? ( media-libs/harfbuzz:0= )
+ m17n-lib? (
+ >=dev-libs/libotf-0.9.4
+ >=dev-libs/m17n-lib-1.5.1
+ )
+ )
+ gtk? (
+ gtk2? ( x11-libs/gtk+:2 )
+ !gtk2? (
+ x11-libs/gtk+:3
+ xwidgets? (
+ net-libs/webkit-gtk:4=
+ x11-libs/libXcomposite
+ )
+ )
+ )
+ !gtk? (
+ motif? (
+ >=x11-libs/motif-2.3:0
+ x11-libs/libXpm
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !motif? (
+ Xaw3d? (
+ x11-libs/libXaw3d
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !Xaw3d? ( athena? (
+ x11-libs/libXaw
+ x11-libs/libXmu
+ x11-libs/libXt
+ ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+
+BDEPEND="app-eselect/eselect-emacs
+ sys-apps/texinfo
+ virtual/pkgconfig
+ gzip-el? ( app-arch/gzip )"
+
+RDEPEND="${RDEPEND}
+ !app-editors/emacs-vcs:27
+ app-eselect/eselect-emacs"
+
+EMACS_SUFFIX="emacs-${SLOT}"
+SITEFILE="20${EMACS_SUFFIX}-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
+
+ AT_M4DIR=m4 eautoreconf
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -pie #526948
+
+ if 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 harfbuzz)"
+ 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 gtk2; then
+ myconf+=" --with-x-toolkit=gtk2 --without-xwidgets"
+ use xwidgets && ewarn \
+ "USE flag \"xwidgets\" has no effect if \"gtk2\" is set."
+ else
+ myconf+=" --with-x-toolkit=gtk3 $(use_with 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
+ if ! use gtk; then
+ use gtk2 && ewarn \
+ "USE flag \"gtk2\" has no effect if \"gtk\" is not set."
+ use xwidgets && ewarn \
+ "USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
+ 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
+
+ econf \
+ --program-suffix="-${EMACS_SUFFIX}" \
+ --includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \
+ --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+ --localstatedir="${EPREFIX}"/var \
+ --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+ --without-compress-install \
+ --without-hesiod \
+ --without-pop \
+ --with-dumping=pdumper \
+ --with-file-notification=$(usev inotify || usev gfile || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with dynamic-loading modules) \
+ $(use_with games gameuser ":gamestat") \
+ $(use_with gmp libgmp) \
+ $(use_with gpm) \
+ $(use_with json) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with lcms lcms2) \
+ $(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() {
+# # Disable sandbox when dumping. For the unbelievers, see bug #131505
+# emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
+#}
+
+src_install() {
+ emake DESTDIR="${D}" NO_BIN_LINK=t install
+
+ mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} || die
+ mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 || die
+ mv "${ED}"/usr/share/metainfo/{emacs-,}${EMACS_SUFFIX}.appdata.xml || die
+
+ # move info dir to avoid collisions with the dir file generated by portage
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} || die
+ 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 systemd; then
+ insinto /usr/lib/systemd/user
+ sed -e "/^##/d" \
+ -e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \
+ -e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \
+ etc/emacs.service | newins - ${EMACS_SUFFIX}.service
+ assert
+ fi
+
+ 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 || die
+ X
+ ;;; ${EMACS_SUFFIX} 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\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share
+ 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_SUFFIX^}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
+ fi
+
+ local 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\\n${EMACS_SUFFIX^}.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
+ if [[ -d ${ED}/usr/share/info ]]; then
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
+ 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-27.0.91.ebuild b/app-editors/emacs/emacs-27.0.91.ebuild
new file mode 100644
index 000000000000..6b20eefd9d28
--- /dev/null
+++ b/app-editors/emacs/emacs-27.0.91.ebuild
@@ -0,0 +1,412 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools elisp-common flag-o-matic readme.gentoo-r1
+
+if [[ ${PV##*.} = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/emacs.git"
+ EGIT_BRANCH="emacs-27"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
+ S="${EGIT_CHECKOUT_DIR}"
+else
+ SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz
+ mirror://gnu-alpha/emacs/pretest/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~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-vcs"
+IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif +gmp gpm gsettings gtk gtk2 gzip-el harfbuzz imagemagick +inotify jpeg json kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm xwidgets zlib"
+REQUIRED_USE="?? ( aqua X )"
+RESTRICT="test"
+
+RDEPEND=">=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ sys-libs/ncurses:0=
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ games? ( acct-group/gamestat )
+ gmp? ( dev-libs/gmp:0= )
+ gpm? ( sys-libs/gpm )
+ !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
+ json? ( dev-libs/jansson )
+ kerberos? ( virtual/krb5 )
+ lcms? ( media-libs/lcms:2 )
+ 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/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libxcb
+ 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
+ x11-libs/libXrender
+ cairo? ( >=x11-libs/cairo-1.12.18 )
+ harfbuzz? ( media-libs/harfbuzz:0= )
+ m17n-lib? (
+ >=dev-libs/libotf-0.9.4
+ >=dev-libs/m17n-lib-1.5.1
+ )
+ )
+ gtk? (
+ gtk2? ( x11-libs/gtk+:2 )
+ !gtk2? (
+ x11-libs/gtk+:3
+ xwidgets? (
+ net-libs/webkit-gtk:4=
+ x11-libs/libXcomposite
+ )
+ )
+ )
+ !gtk? (
+ motif? (
+ >=x11-libs/motif-2.3:0
+ x11-libs/libXpm
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !motif? (
+ Xaw3d? (
+ x11-libs/libXaw3d
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !Xaw3d? ( athena? (
+ x11-libs/libXaw
+ x11-libs/libXmu
+ x11-libs/libXt
+ ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+
+BDEPEND="app-eselect/eselect-emacs
+ sys-apps/texinfo
+ virtual/pkgconfig
+ gzip-el? ( app-arch/gzip )"
+
+RDEPEND="${RDEPEND}
+ !app-editors/emacs-vcs:27
+ app-eselect/eselect-emacs"
+
+EMACS_SUFFIX="emacs-${SLOT}"
+SITEFILE="20${EMACS_SUFFIX}-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
+
+ AT_M4DIR=m4 eautoreconf
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -pie #526948
+
+ if 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 harfbuzz)"
+ 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 gtk2; then
+ myconf+=" --with-x-toolkit=gtk2 --without-xwidgets"
+ use xwidgets && ewarn \
+ "USE flag \"xwidgets\" has no effect if \"gtk2\" is set."
+ else
+ myconf+=" --with-x-toolkit=gtk3 $(use_with 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
+ if ! use gtk; then
+ use gtk2 && ewarn \
+ "USE flag \"gtk2\" has no effect if \"gtk\" is not set."
+ use xwidgets && ewarn \
+ "USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
+ 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
+
+ econf \
+ --program-suffix="-${EMACS_SUFFIX}" \
+ --includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \
+ --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+ --localstatedir="${EPREFIX}"/var \
+ --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+ --without-compress-install \
+ --without-hesiod \
+ --without-pop \
+ --with-dumping=pdumper \
+ --with-file-notification=$(usev inotify || usev gfile || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with dynamic-loading modules) \
+ $(use_with games gameuser ":gamestat") \
+ $(use_with gmp libgmp) \
+ $(use_with gpm) \
+ $(use_with json) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with lcms lcms2) \
+ $(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() {
+# # Disable sandbox when dumping. For the unbelievers, see bug #131505
+# emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
+#}
+
+src_install() {
+ emake DESTDIR="${D}" NO_BIN_LINK=t install
+
+ mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} || die
+ mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 || die
+ mv "${ED}"/usr/share/metainfo/{emacs-,}${EMACS_SUFFIX}.appdata.xml || die
+
+ # move info dir to avoid collisions with the dir file generated by portage
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} || die
+ 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 systemd; then
+ insinto /usr/lib/systemd/user
+ sed -e "/^##/d" \
+ -e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \
+ -e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \
+ etc/emacs.service | newins - ${EMACS_SUFFIX}.service
+ assert
+ fi
+
+ 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 || die
+ X
+ ;;; ${EMACS_SUFFIX} 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\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share
+ 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_SUFFIX^}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
+ fi
+
+ local 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\\n${EMACS_SUFFIX^}.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
+ if [[ -d ${ED}/usr/share/info ]]; then
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
+ 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-27.0.9999-r1.ebuild b/app-editors/emacs/emacs-27.0.9999-r1.ebuild
new file mode 100644
index 000000000000..6b20eefd9d28
--- /dev/null
+++ b/app-editors/emacs/emacs-27.0.9999-r1.ebuild
@@ -0,0 +1,412 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools elisp-common flag-o-matic readme.gentoo-r1
+
+if [[ ${PV##*.} = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/emacs.git"
+ EGIT_BRANCH="emacs-27"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
+ S="${EGIT_CHECKOUT_DIR}"
+else
+ SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz
+ mirror://gnu-alpha/emacs/pretest/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~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-vcs"
+IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif +gmp gpm gsettings gtk gtk2 gzip-el harfbuzz imagemagick +inotify jpeg json kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm xwidgets zlib"
+REQUIRED_USE="?? ( aqua X )"
+RESTRICT="test"
+
+RDEPEND=">=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ sys-libs/ncurses:0=
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ games? ( acct-group/gamestat )
+ gmp? ( dev-libs/gmp:0= )
+ gpm? ( sys-libs/gpm )
+ !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
+ json? ( dev-libs/jansson )
+ kerberos? ( virtual/krb5 )
+ lcms? ( media-libs/lcms:2 )
+ 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/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libxcb
+ 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
+ x11-libs/libXrender
+ cairo? ( >=x11-libs/cairo-1.12.18 )
+ harfbuzz? ( media-libs/harfbuzz:0= )
+ m17n-lib? (
+ >=dev-libs/libotf-0.9.4
+ >=dev-libs/m17n-lib-1.5.1
+ )
+ )
+ gtk? (
+ gtk2? ( x11-libs/gtk+:2 )
+ !gtk2? (
+ x11-libs/gtk+:3
+ xwidgets? (
+ net-libs/webkit-gtk:4=
+ x11-libs/libXcomposite
+ )
+ )
+ )
+ !gtk? (
+ motif? (
+ >=x11-libs/motif-2.3:0
+ x11-libs/libXpm
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !motif? (
+ Xaw3d? (
+ x11-libs/libXaw3d
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !Xaw3d? ( athena? (
+ x11-libs/libXaw
+ x11-libs/libXmu
+ x11-libs/libXt
+ ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+
+BDEPEND="app-eselect/eselect-emacs
+ sys-apps/texinfo
+ virtual/pkgconfig
+ gzip-el? ( app-arch/gzip )"
+
+RDEPEND="${RDEPEND}
+ !app-editors/emacs-vcs:27
+ app-eselect/eselect-emacs"
+
+EMACS_SUFFIX="emacs-${SLOT}"
+SITEFILE="20${EMACS_SUFFIX}-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
+
+ AT_M4DIR=m4 eautoreconf
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -pie #526948
+
+ if 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 harfbuzz)"
+ 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 gtk2; then
+ myconf+=" --with-x-toolkit=gtk2 --without-xwidgets"
+ use xwidgets && ewarn \
+ "USE flag \"xwidgets\" has no effect if \"gtk2\" is set."
+ else
+ myconf+=" --with-x-toolkit=gtk3 $(use_with 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
+ if ! use gtk; then
+ use gtk2 && ewarn \
+ "USE flag \"gtk2\" has no effect if \"gtk\" is not set."
+ use xwidgets && ewarn \
+ "USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
+ 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
+
+ econf \
+ --program-suffix="-${EMACS_SUFFIX}" \
+ --includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \
+ --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+ --localstatedir="${EPREFIX}"/var \
+ --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+ --without-compress-install \
+ --without-hesiod \
+ --without-pop \
+ --with-dumping=pdumper \
+ --with-file-notification=$(usev inotify || usev gfile || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with dynamic-loading modules) \
+ $(use_with games gameuser ":gamestat") \
+ $(use_with gmp libgmp) \
+ $(use_with gpm) \
+ $(use_with json) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with lcms lcms2) \
+ $(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() {
+# # Disable sandbox when dumping. For the unbelievers, see bug #131505
+# emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
+#}
+
+src_install() {
+ emake DESTDIR="${D}" NO_BIN_LINK=t install
+
+ mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} || die
+ mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 || die
+ mv "${ED}"/usr/share/metainfo/{emacs-,}${EMACS_SUFFIX}.appdata.xml || die
+
+ # move info dir to avoid collisions with the dir file generated by portage
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} || die
+ 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 systemd; then
+ insinto /usr/lib/systemd/user
+ sed -e "/^##/d" \
+ -e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \
+ -e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \
+ etc/emacs.service | newins - ${EMACS_SUFFIX}.service
+ assert
+ fi
+
+ 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 || die
+ X
+ ;;; ${EMACS_SUFFIX} 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\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share
+ 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_SUFFIX^}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
+ fi
+
+ local 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\\n${EMACS_SUFFIX^}.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
+ if [[ -d ${ED}/usr/share/info ]]; then
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
+ 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-28.0.9999.ebuild b/app-editors/emacs/emacs-28.0.9999.ebuild
new file mode 100644
index 000000000000..fbe5d94d188c
--- /dev/null
+++ b/app-editors/emacs/emacs-28.0.9999.ebuild
@@ -0,0 +1,411 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools elisp-common flag-o-matic readme.gentoo-r1
+
+if [[ ${PV##*.} = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/emacs.git"
+ EGIT_BRANCH="master"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
+ S="${EGIT_CHECKOUT_DIR}"
+else
+ SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz
+ mirror://gnu-alpha/emacs/pretest/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~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="28-vcs"
+IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif +gmp gpm gsettings gtk gtk2 gzip-el harfbuzz imagemagick +inotify jpeg json kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm xwidgets zlib"
+REQUIRED_USE="?? ( aqua X )"
+RESTRICT="test"
+
+RDEPEND=">=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ sys-libs/ncurses:0=
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ games? ( acct-group/gamestat )
+ gmp? ( dev-libs/gmp:0= )
+ gpm? ( sys-libs/gpm )
+ !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
+ json? ( dev-libs/jansson )
+ kerberos? ( virtual/krb5 )
+ lcms? ( media-libs/lcms:2 )
+ 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/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libxcb
+ 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
+ x11-libs/libXrender
+ cairo? ( >=x11-libs/cairo-1.12.18 )
+ harfbuzz? ( media-libs/harfbuzz:0= )
+ m17n-lib? (
+ >=dev-libs/libotf-0.9.4
+ >=dev-libs/m17n-lib-1.5.1
+ )
+ )
+ gtk? (
+ gtk2? ( x11-libs/gtk+:2 )
+ !gtk2? (
+ x11-libs/gtk+:3
+ xwidgets? (
+ net-libs/webkit-gtk:4=
+ x11-libs/libXcomposite
+ )
+ )
+ )
+ !gtk? (
+ motif? (
+ >=x11-libs/motif-2.3:0
+ x11-libs/libXpm
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !motif? (
+ Xaw3d? (
+ x11-libs/libXaw3d
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !Xaw3d? ( athena? (
+ x11-libs/libXaw
+ x11-libs/libXmu
+ x11-libs/libXt
+ ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+
+BDEPEND="app-eselect/eselect-emacs
+ sys-apps/texinfo
+ virtual/pkgconfig
+ gzip-el? ( app-arch/gzip )"
+
+RDEPEND="${RDEPEND}
+ app-eselect/eselect-emacs"
+
+EMACS_SUFFIX="emacs-${SLOT}"
+SITEFILE="20${EMACS_SUFFIX}-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
+
+ AT_M4DIR=m4 eautoreconf
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -pie #526948
+
+ if 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 harfbuzz)"
+ 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 gtk2; then
+ myconf+=" --with-x-toolkit=gtk2 --without-xwidgets"
+ use xwidgets && ewarn \
+ "USE flag \"xwidgets\" has no effect if \"gtk2\" is set."
+ else
+ myconf+=" --with-x-toolkit=gtk3 $(use_with 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
+ if ! use gtk; then
+ use gtk2 && ewarn \
+ "USE flag \"gtk2\" has no effect if \"gtk\" is not set."
+ use xwidgets && ewarn \
+ "USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
+ 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
+
+ econf \
+ --program-suffix="-${EMACS_SUFFIX}" \
+ --includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \
+ --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+ --localstatedir="${EPREFIX}"/var \
+ --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+ --without-compress-install \
+ --without-hesiod \
+ --without-pop \
+ --with-dumping=pdumper \
+ --with-file-notification=$(usev inotify || usev gfile || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with dynamic-loading modules) \
+ $(use_with games gameuser ":gamestat") \
+ $(use_with gmp libgmp) \
+ $(use_with gpm) \
+ $(use_with json) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with lcms lcms2) \
+ $(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() {
+# # Disable sandbox when dumping. For the unbelievers, see bug #131505
+# emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
+#}
+
+src_install() {
+ emake DESTDIR="${D}" NO_BIN_LINK=t install
+
+ mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} || die
+ mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 || die
+ mv "${ED}"/usr/share/metainfo/{emacs-,}${EMACS_SUFFIX}.appdata.xml || die
+
+ # move info dir to avoid collisions with the dir file generated by portage
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} || die
+ 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 systemd; then
+ insinto /usr/lib/systemd/user
+ sed -e "/^##/d" \
+ -e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \
+ -e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \
+ etc/emacs.service | newins - ${EMACS_SUFFIX}.service
+ assert
+ fi
+
+ 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 || die
+ X
+ ;;; ${EMACS_SUFFIX} 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\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share
+ 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_SUFFIX^}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
+ fi
+
+ local 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\\n${EMACS_SUFFIX^}.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
+ if [[ -d ${ED}/usr/share/info ]]; then
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
+ 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..eaa2e3469ecb
--- /dev/null
+++ b/app-editors/emacs/metadata.xml
@@ -0,0 +1,59 @@
+<?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="gtk2">Prefer version 2 of the GIMP Toolkit to version 3
+ (<pkg>x11-libs/gtk+</pkg>)</flag>
+ <flag name="gzip-el">Compress bundled Emacs Lisp source</flag>
+ <flag name="harfbuzz">Use <pkg>media-libs/harfbuzz</pkg> as text shaping
+ engine</flag>
+ <flag name="imagemagick">Use <pkg>media-gfx/imagemagick</pkg> for image
+ processing</flag>
+ <flag name="json">Compile with native JSON support using
+ <pkg>dev-libs/jansson</pkg></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="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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/emact/Manifest b/app-editors/emact/Manifest
new file mode 100644
index 000000000000..585ab2d01fb6
--- /dev/null
+++ b/app-editors/emact/Manifest
@@ -0,0 +1 @@
+DIST emact-2.58.0.tar.gz 581248 BLAKE2B 9be43cfc37973d683c5c824bf2f2d60d0ffab2791c46a4082f04d83fc705713d5806608e5802e786be4ced4b008842c5c6dca60b7a30c5483b29736ccc21ffe5 SHA512 43108d0bc1989ba6e11f12e86ad5fa4e0b06dc2cc11f54a8b1ca548bb91d2d201f62ffda5e8c11ff75a724229ca1a2ae3e2f439ebc62e1fe3f484f811a88a2c2
diff --git a/app-editors/emact/emact-2.58.0.ebuild b/app-editors/emact/emact-2.58.0.ebuild
new file mode 100644
index 000000000000..9b91001721d2
--- /dev/null
+++ b/app-editors/emact/emact-2.58.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+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"
+
+RDEPEND="sys-libs/ncurses:0=
+ X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ X? ( x11-base/xorg-proto )"
+
+src_configure() {
+ econf \
+ $(use_with X x) \
+ LIBS="$("$(tc-getPKG_CONFIG)" --libs ncurses)"
+}
+
+src_install() {
+ emake INSTALL="${ED%/}"/usr install
+ #dodoc README
+}
diff --git a/app-editors/emact/metadata.xml b/app-editors/emact/metadata.xml
new file mode 100644
index 000000000000..f6fe3cb59ff7
--- /dev/null
+++ b/app-editors/emact/metadata.xml
@@ -0,0 +1,28 @@
+<?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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/ersatz-emacs/Manifest b/app-editors/ersatz-emacs/Manifest
new file mode 100644
index 000000000000..8f9d80ad6dc7
--- /dev/null
+++ b/app-editors/ersatz-emacs/Manifest
@@ -0,0 +1 @@
+DIST ersatz-emacs-20060515.tar.gz 45581 BLAKE2B 641cad2f5a873b0c70743a6f60ffc31615bb8789d5c6a100a67aaa82c59e7a83d35023eb596303ef0160e3ff561c89e5814b685a7a650aa4625326e86ec4fdf3 SHA512 c30ede63ebb44076762aa430a73c73d3fa3bcd0e3d0016162aab31347257124479f464a1003012f7418e807abfd3c613c81f5196ccf65b0cb3f939b7ad5c989d
diff --git a/app-editors/ersatz-emacs/ersatz-emacs-20060515-r1.ebuild b/app-editors/ersatz-emacs/ersatz-emacs-20060515-r1.ebuild
new file mode 100644
index 000000000000..bd82fcd95ff9
--- /dev/null
+++ b/app-editors/ersatz-emacs/ersatz-emacs-20060515-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="A very minimal imitation of the famous GNU Emacs editor"
+HOMEPAGE="https://web.archive.org/web/20171126221613/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"
+
+DEPEND="sys-libs/ncurses:0="
+RDEPEND="${DEPEND}
+ !app-editors/ee"
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}"
+
+src_prepare() {
+ eapply "${FILESDIR}"/${P}-gentoo.patch
+ sed -i -e "s%/usr/local/share/%/usr/share/doc/${PF}/%" ee.1 \
+ || die "sed failed"
+ eapply_user
+}
+
+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..3a31f2f116ca
--- /dev/null
+++ b/app-editors/ersatz-emacs/files/ersatz-emacs-20060515-gentoo.patch
@@ -0,0 +1,57 @@
+--- a/display.c
++++ b/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) ();
+--- a/line.c
++++ b/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)
+--- a/tcap.c
++++ b/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"
+--- a/termio.c
++++ b/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..c88f9d00d3c2
--- /dev/null
+++ b/app-editors/ersatz-emacs/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>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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/fe/Manifest b/app-editors/fe/Manifest
new file mode 100644
index 000000000000..b6eecacc98f8
--- /dev/null
+++ b/app-editors/fe/Manifest
@@ -0,0 +1 @@
+DIST fe-2.0.tar.gz 217430 BLAKE2B bbc886abdb54d5fe05f031a5e5700907586c4bae8812f4edd5bf6d35fa0ce16edb93a6f988a597e1b4aba69bde4019f3044091ab9285ee6138d913498816453b SHA512 85afa800466376e59aa8de4af06db51c5df8566109a1f632b30a366f944be3237f88a639329d44114360747836ed75c31746c7d6bf1568b7b4ff3e11d595a6e7
diff --git a/app-editors/fe/fe-2.0.ebuild b/app-editors/fe/fe-2.0.ebuild
new file mode 100644
index 000000000000..207e9ec3f773
--- /dev/null
+++ b/app-editors/fe/fe-2.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+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"
+
+RDEPEND="sys-libs/ncurses:0=
+ sendmail? ( virtual/mta )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8-makefile.patch
+ "${FILESDIR}"/${P}-ar.patch
+)
+
+src_configure() {
+ econf \
+ $(use_enable sendmail) \
+ LIBS="$("$(tc-getPKG_CONFIG)" --libs ncurses)"
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ emake \
+ prefix="${D}"/usr \
+ datadir="${D}"/usr/share \
+ MANDIR="${D}"/usr/share/man \
+ install
+
+ dodoc NEWS README
+ docinto html
+ dodoc 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..572a5c924510
--- /dev/null
+++ b/app-editors/fe/files/fe-1.8-makefile.patch
@@ -0,0 +1,15 @@
+--- fe-1.8-orig/Makefile.in
++++ fe-1.8/Makefile.in
+@@ -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/files/fe-2.0-ar.patch b/app-editors/fe/files/fe-2.0-ar.patch
new file mode 100644
index 000000000000..8096400ab01e
--- /dev/null
+++ b/app-editors/fe/files/fe-2.0-ar.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/722036
+
+--- fe-2.0-orig/Makefile.in
++++ fe-2.0/Makefile.in
+@@ -15,6 +15,7 @@
+ CPPFLAGS= @CPPFLAGS@ -DLOCALEDIR=\"$(localedir)\"
+ LDFLAGS= @LDFLAGS@
+ LIBS= @LIBS@
++AR= ar
+
+ CATALOGS= de.mo
+ OBJS= buffer.o complete.o display.o macro.o misc.o msgline.o
+@@ -27,7 +28,7 @@
+ $(CC) -o $@ $(LDFLAGS) fe.o libfe.a $(LIBS)
+
+ libfe.a: $(OBJS)
+- rm -f $@; ar q $@ $(OBJS); @RANLIB@ $@
++ rm -f $@; $(AR) q $@ $(OBJS); @RANLIB@ $@
+
+ install-po: install-po-@USE_NLS@
+ install-po-no:
diff --git a/app-editors/fe/metadata.xml b/app-editors/fe/metadata.xml
new file mode 100644
index 000000000000..6a9f18bdd9bd
--- /dev/null
+++ b/app-editors/fe/metadata.xml
@@ -0,0 +1,34 @@
+<?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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/featherpad/Manifest b/app-editors/featherpad/Manifest
new file mode 100644
index 000000000000..239c8f3172ae
--- /dev/null
+++ b/app-editors/featherpad/Manifest
@@ -0,0 +1 @@
+DIST featherpad-0.9.1.tar.gz 590391 BLAKE2B 2ce743c56b01a8de65d22b00aaefcf3e12848182507d6e5cad682f324675196d1d6bd648f34e8a0683b7bd7d6aaeea240ceccc3b1f4f50fac860c266b4857fbd SHA512 5a301757ed320f3eff157821b0844b86c74322887462c60e1feb79790898ce5b1ba2e80cb5e1440d5cfa350f6dbb390d10e27aa05f953e49bfd6720c89c610ea
diff --git a/app-editors/featherpad/featherpad-0.9.1.ebuild b/app-editors/featherpad/featherpad-0.9.1.ebuild
new file mode 100644
index 000000000000..5779e92bdd13
--- /dev/null
+++ b/app-editors/featherpad/featherpad-0.9.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit qmake-utils
+
+MY_P="${P/featherpad/FeatherPad}"
+
+DESCRIPTION="Lightweight Qt5 Plain-Text Editor for Linux"
+HOMEPAGE="https://github.com/tsujan/FeatherPad"
+SRC_URI="https://codeload.github.com/tsujan/${PN}/tar.gz/V${PV} -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtsvg:5"
+DEPEND="${RDEPEND}
+ dev-qt/linguist-tools:5"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ eqmake5
+}
+
+src_install() {
+ emake INSTALL_ROOT="${ED}" install
+}
diff --git a/app-editors/featherpad/featherpad-9999.ebuild b/app-editors/featherpad/featherpad-9999.ebuild
new file mode 100644
index 000000000000..e166acb51927
--- /dev/null
+++ b/app-editors/featherpad/featherpad-9999.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit qmake-utils git-r3
+
+MY_P="${P/featherpad/FeatherPad}"
+
+DESCRIPTION="Lightweight Qt5 Plain-Text Editor for Linux"
+HOMEPAGE="https://github.com/tsujan/FeatherPad"
+EGIT_REPO_URI="https://github.com/tsujan/${PN}.git"
+
+LICENSE="GPL-3"
+SLOT="0"
+
+RDEPEND="dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtsvg:5"
+DEPEND="${RDEPEND}
+ dev-qt/linguist-tools:5"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ eqmake5
+}
+
+src_install() {
+ emake INSTALL_ROOT="${ED}" install
+}
diff --git a/app-editors/featherpad/metadata.xml b/app-editors/featherpad/metadata.xml
new file mode 100644
index 000000000000..d820991181a9
--- /dev/null
+++ b/app-editors/featherpad/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 type="person">
+ <email>vincent.hardy.be@gmail.com</email>
+ <name>Vincent Hardy</name>
+ </maintainer>
+ <origin>calculatelinux-overlay</origin>
+</pkgmetadata>
diff --git a/app-editors/focuswriter/Manifest b/app-editors/focuswriter/Manifest
new file mode 100644
index 000000000000..f1d1561f5d16
--- /dev/null
+++ b/app-editors/focuswriter/Manifest
@@ -0,0 +1,2 @@
+DIST focuswriter-1.7.2-src.tar.bz2 10310759 BLAKE2B 92f0cd0ec2bb29c41f2c98e52dcb2187a70bc1c0641aed521b3d577302937cf6560f3adf422372019c8726ca29a9978b5b4d9e56e4c0c26a65fdc5d6aa0b7767 SHA512 195ddf6579aa00af120644ef1ddc88a6aaf0a6003feefb7b3dd3ca72c4bb17440553a171ad469f2d25d90416fc0e1a03f1b9d43e3b5790dac180f18b4ed657bf
+DIST focuswriter-1.7.6-src.tar.bz2 10311965 BLAKE2B a1f1627df988d7660f6b90cf984d725ff2366754f01b0ce78e23756a98c716acafa8b4076f4749f117cba6eaabcb6ec61516c032a7ae770eb1b06466a358595e SHA512 45e0bc9b20c73b260aa42dcc9ee79515d3ad95d4c9586f60ab75fb404f73c7443484f238b3705ba3224b852a0d9b8b8db17d9145aebb77513f8597a01ab01d3b
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.7.2.ebuild b/app-editors/focuswriter/focuswriter-1.7.2.ebuild
new file mode 100644
index 000000000000..1a03c4dc455e
--- /dev/null
+++ b/app-editors/focuswriter/focuswriter-1.7.2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit qmake-utils xdg
+
+DESCRIPTION="Fullscreen and distraction-free word processor"
+HOMEPAGE="https://gottcode.org/focuswriter/"
+SRC_URI="https://gottcode.org/${PN}/${P}-src.tar.bz2"
+
+LICENSE="GPL-3 LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+BDEPEND="
+ dev-qt/linguist-tools:5
+ virtual/pkgconfig
+"
+RDEPEND="
+ app-text/hunspell:=
+ >=dev-qt/qtcore-5.11:5
+ >=dev-qt/qtgui-5.11:5
+ >=dev-qt/qtmultimedia-5.11:5
+ >=dev-qt/qtprintsupport-5.11:5
+ dev-qt/qtsingleapplication[qt5(+),X]
+ >=dev-qt/qtwidgets-5.11:5
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}
+ dev-qt/qtconcurrent:5
+"
+
+DOCS=( ChangeLog CREDITS README )
+
+PATCHES=( "${FILESDIR}/${PN}-1.6.0-unbundle-qtsingleapplication.patch" )
+
+src_configure() {
+ eqmake5 PREFIX="${EPREFIX}"/usr
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+ einstalldocs
+}
diff --git a/app-editors/focuswriter/focuswriter-1.7.6.ebuild b/app-editors/focuswriter/focuswriter-1.7.6.ebuild
new file mode 100644
index 000000000000..da9506014d16
--- /dev/null
+++ b/app-editors/focuswriter/focuswriter-1.7.6.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit qmake-utils xdg
+
+DESCRIPTION="Fullscreen and distraction-free word processor"
+HOMEPAGE="https://gottcode.org/focuswriter/"
+SRC_URI="https://gottcode.org/${PN}/${P}-src.tar.bz2"
+
+LICENSE="GPL-3 LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+BDEPEND="
+ dev-qt/linguist-tools:5
+ virtual/pkgconfig
+"
+RDEPEND="
+ app-text/hunspell:=
+ >=dev-qt/qtcore-5.11:5
+ >=dev-qt/qtgui-5.11:5
+ >=dev-qt/qtmultimedia-5.11:5
+ >=dev-qt/qtprintsupport-5.11:5
+ dev-qt/qtsingleapplication[qt5(+),X]
+ >=dev-qt/qtwidgets-5.11:5
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}
+ dev-qt/qtconcurrent:5
+"
+
+DOCS=( ChangeLog CREDITS README )
+
+PATCHES=( "${FILESDIR}/${PN}-1.6.0-unbundle-qtsingleapplication.patch" )
+
+src_configure() {
+ eqmake5 PREFIX="${EPREFIX}"/usr
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+ einstalldocs
+}
diff --git a/app-editors/focuswriter/metadata.xml b/app-editors/focuswriter/metadata.xml
new file mode 100644
index 000000000000..590f3209abcb
--- /dev/null
+++ b/app-editors/focuswriter/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>
+ <bugs-to>https://gottcode.org/focuswriter/bugs/</bugs-to>
+ <remote-id type="github">gottcode/focuswriter</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/fte/Manifest b/app-editors/fte/Manifest
new file mode 100644
index 000000000000..ff4fbf95bc65
--- /dev/null
+++ b/app-editors/fte/Manifest
@@ -0,0 +1,2 @@
+DIST fte-20110708-common.zip 200007 BLAKE2B ce1ac0f2bd68b2bb7ef1d96a46bd9a481cd46f5cde00607c64f752d5e87f6edefd8a92c8210e1ac7629ef8bc5720a8a2d75bd61f292f344e211b88a2462989fa SHA512 0bb59a5b6b4a5ef6c1234dadd8922cd50a13ad1f0c06d6046b74a95592ad55f720b43bbc78a42cab63dfc68c5e073d44d5179bd6ed72f346563f43f3c5c146f1
+DIST fte-20110708-src.zip 504199 BLAKE2B 42bb3cc4ae9be4b64c0b161488d91d4a260a2e6a1574fccb0fc652359e34f7b6b881f170dfd85a8954f2b2fdbe4fecaaf2fc68cd5244f185dde36fe1a694004e SHA512 2d59fadcdd988ee85b87425c343341e1b768a7e9ef838c5f8a1f22c4adc5bf2cc37d547f36354ca1740bce07b33d5ae93d14e24001b9dbd3b1b267986564a089
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/fte-20110708-r1.ebuild b/app-editors/fte/fte-20110708-r1.ebuild
new file mode 100644
index 000000000000..2c849b33f9c6
--- /dev/null
+++ b/app-editors/fte/fte-20110708-r1.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils toolchain-funcs vcs-clean
+
+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..3c8e5ed5b29f
--- /dev/null
+++ b/app-editors/fte/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-needed -->
+ <longdescription>Lightweight text-mode editor.</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">fte</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/gedit-plugins/Manifest b/app-editors/gedit-plugins/Manifest
new file mode 100644
index 000000000000..22e79ba9b58a
--- /dev/null
+++ b/app-editors/gedit-plugins/Manifest
@@ -0,0 +1 @@
+DIST gedit-plugins-3.34.1.tar.xz 978800 BLAKE2B 03225ddc414e172f08179c64fbf12d0282c131b71855ca9dc20ceaa5750a5555c7bdde8c4ff1d95c721177b3d379edbcfc9af19ec22b96942df1913d13560303 SHA512 7fe31c2b0a1381a44362bd6066422d182b2246e3f903f8cd83cde0467b9853620a445bea7878d93e95a0a71ac5d5dd081a1930d602007cf2a6ef00b1a45bebfc
diff --git a/app-editors/gedit-plugins/gedit-plugins-3.34.1.ebuild b/app-editors/gedit-plugins/gedit-plugins-3.34.1.ebuild
new file mode 100644
index 000000000000..e6a56fa52f6d
--- /dev/null
+++ b/app-editors/gedit-plugins/gedit-plugins-3.34.1.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_REQ_USE="xml"
+VALA_MIN_API_VERSION="0.28"
+
+inherit gnome.org gnome2-utils meson python-single-r1 vala xdg
+
+DESCRIPTION="Collection of extra plugins for the gedit Text Editor"
+HOMEPAGE="https://wiki.gnome.org/Apps/Gedit/ShippedPlugins"
+
+LICENSE="GPL-2+"
+KEYWORDS="amd64 x86"
+SLOT="0"
+
+IUSE="charmap git +python terminal vala"
+REQUIRED_USE="
+ charmap? ( python )
+ git? ( python )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ terminal? ( python )
+"
+
+RDEPEND="
+ >=dev-libs/libpeas-1.14.1[gtk]
+ >=app-editors/gedit-3.16
+
+ >=dev-libs/glib-2.32:2
+ >=x11-libs/gtk+-3.9:3
+ >=x11-libs/gtksourceview-4.0.2:4
+
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ >=app-editors/gedit-3.16[introspection,python,${PYTHON_SINGLE_USEDEP}]
+ dev-libs/libpeas[python,${PYTHON_SINGLE_USEDEP}]
+ >=dev-python/dbus-python-0.82[${PYTHON_MULTI_USEDEP}]
+ dev-python/pycairo[${PYTHON_MULTI_USEDEP}]
+ dev-python/pygobject:3[cairo,${PYTHON_MULTI_USEDEP}]
+ ')
+ >=x11-libs/gtk+-3.9:3[introspection]
+ >=x11-libs/gtksourceview-4.0.2:4[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[python] )
+ terminal? ( >=x11-libs/vte-0.52:2.91[introspection] )
+" # vte-0.52+ for feed_child API compatibility
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-libs/libxml2
+ dev-util/itstool
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ vala? ( $(vala_depend) )
+"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ use vala && vala_src_prepare
+ xdg_src_prepare
+}
+
+src_configure() {
+ local emesonargs=(
+ -Dplugin_bookmarks=true
+ $(meson_use python plugin_bracketcompletion)
+ $(meson_use charmap plugin_charmap)
+ $(meson_use python plugin_codecomment)
+ $(meson_use python plugin_colorpicker)
+ $(meson_use python plugin_colorschemer)
+ $(meson_use python plugin_commander)
+ -Dplugin_drawspaces=true
+ $(meson_use vala plugin_findinfiles)
+ $(meson_use git plugin_git)
+ $(meson_use python plugin_joinlines)
+ $(meson_use python plugin_multiedit)
+ $(meson_use python plugin_sessionsaver)
+ $(meson_use python plugin_smartspaces)
+ $(meson_use python plugin_synctex)
+ $(meson_use terminal plugin_terminal)
+ $(meson_use python plugin_textsize)
+ $(meson_use python plugin_translate)
+ -Dplugin_wordcompletion=true
+ -Dplugin_zeitgeist=false
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ python_optimize "${ED}/usr/$(get_libdir)/gedit/plugins/"
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/app-editors/gedit-plugins/metadata.xml b/app-editors/gedit-plugins/metadata.xml
new file mode 100644
index 000000000000..4e0ca8e418bc
--- /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>
+</use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/gedit/Manifest b/app-editors/gedit/Manifest
new file mode 100644
index 000000000000..20b7ca30105d
--- /dev/null
+++ b/app-editors/gedit/Manifest
@@ -0,0 +1 @@
+DIST gedit-3.34.1.tar.xz 14797588 BLAKE2B 8dfaac4660575d67e3f8396dfed675a737fc69bc2b34866ee467a3464a338240133cab8d067db7b87fdc129f06a2450b91f4e0f70a73912d4a274cca980196d6 SHA512 22968c678a2f7ecf062f490d5eedc97aaa53b15932db801ea83eb336f01f41e7a6037a85508a40164f38dee406f8db097b7ef6f1481ab44ea82668766d24966d
diff --git a/app-editors/gedit/files/3.32.2-make-spell-optional.patch b/app-editors/gedit/files/3.32.2-make-spell-optional.patch
new file mode 100644
index 000000000000..1d772590f605
--- /dev/null
+++ b/app-editors/gedit/files/3.32.2-make-spell-optional.patch
@@ -0,0 +1,61 @@
+From 72efa486222cde6094c217efc6085f49af1cca85 Mon Sep 17 00:00:00 2001
+From: Sobhan Mohammadpour <sobhan@gentoo.org>
+Date: Sun, 26 May 2019 14:19:17 -0400
+Subject: [PATCH] make spell optional
+
+---
+ meson.build | 4 +++-
+ meson_options.txt | 4 ++++
+ plugins/meson.build | 4 +++-
+ 3 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 2f4d7e5..f67e320 100644
+--- a/meson.build
++++ b/meson.build
+@@ -86,7 +86,8 @@ libxml_dep = dependency('libxml-2.0', version: libxml_req)
+ libgd_dep = libgd_sp.get_variable('libgd_dep')
+
+ libsoup_dep = dependency('libsoup-2.4', version: libsoup_req, required: true)
+-gspell_dep = dependency('gspell-1', version: gspell_req, required: true)
++with_gspell = get_option('spell')
++gspell_dep = dependency('gspell-1', version: gspell_req, required: false)
+ x11_dep = dependency('x11', required: false)
+
+ introspection_dep = dependency('gobject-introspection-1.0', version: introspection_req, required: false)
+@@ -189,6 +190,7 @@ summary = [
+ ' Introspection: @0@'.format(generate_gir),
+ ' Plugins: @0@'.format(build_plugins),
+ ' Vala API: @0@'.format(generate_vapi),
++ ' Spell: @0@'.format(with_gspell),
+ ' Gvfs metadata: @0@'.format(enable_gvfs_metadata),
+ '',
+ 'Directories:',
+diff --git a/meson_options.txt b/meson_options.txt
+index 90803fa..e1f7349 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -16,3 +16,7 @@ option('documentation',
+ option('enable-gvfs-metadata',
+ type: 'combo', choices : ['yes', 'no', 'auto'], value : 'auto',
+ description: 'Enable using gvfs to store metadata')
++
++option('spell',
++ type:'boolean', value: true,
++ description: 'Build spell support')
+diff --git a/plugins/meson.build b/plugins/meson.build
+index af94ab7..abeeac5 100644
+--- a/plugins/meson.build
++++ b/plugins/meson.build
+@@ -21,5 +21,7 @@ subdir('quickhighlight')
+ subdir('quickopen')
+ subdir('snippets')
+ subdir('sort')
+-subdir('spell')
++if with_gspell
++ subdir('spell')
++endif
+ subdir('time')
+--
+2.21.0
+
diff --git a/app-editors/gedit/gedit-3.34.1.ebuild b/app-editors/gedit/gedit-3.34.1.ebuild
new file mode 100644
index 000000000000..751718b3cf62
--- /dev/null
+++ b/app-editors/gedit/gedit-3.34.1.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8} )
+VALA_MIN_API_VERSION="0.26"
+VALA_USE_DEPEND="vapigen"
+
+inherit gnome.org gnome2-utils meson python-single-r1 vala xdg
+
+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 gtk-doc spell vala"
+REQUIRED_USE="python? ( introspection ${PYTHON_REQUIRED_USE} ) spell? ( python )"
+
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
+
+# X libs are not needed for OSX (aqua)
+DEPEND="
+ >=dev-libs/glib-2.44:2
+ >=x11-libs/gtk+-3.22.0:3[introspection?]
+ >=x11-libs/gtksourceview-4.0.2:4[introspection?]
+ >=dev-libs/libpeas-1.14.1[gtk]
+ >=dev-libs/libxml2-2.5.0:2
+ >=net-libs/libsoup-2.60:2.4
+ x11-libs/libX11
+
+ spell? ( >=app-text/gspell-0.2.5:0= )
+ introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/pycairo[${PYTHON_MULTI_USEDEP}]
+ >=dev-python/pygobject-3:3[cairo,${PYTHON_MULTI_USEDEP}]
+ dev-libs/libpeas[python,${PYTHON_SINGLE_USEDEP}]
+ ')
+ )
+"
+RDEPEND="${DEPEND}
+ x11-themes/adwaita-icon-theme
+ gnome-base/gsettings-desktop-schemas
+ gnome-base/gvfs
+"
+BDEPEND="
+ ${vala_depend}
+ app-text/docbook-xml-dtd:4.1.2
+ dev-util/glib-utils
+ gtk-doc? ( >=dev-util/gtk-doc-1 )
+ dev-util/itstool
+ >=sys-devel/gettext-0.18
+ virtual/pkgconfig
+"
+PATCHES=(
+ "${FILESDIR}"/3.32.2-make-spell-optional.patch
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ use vala && vala_src_prepare
+ xdg_src_prepare
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use introspection)
+ $(meson_use vala vapi)
+ $(meson_use python plugins)
+ $(meson_use gtk-doc documentation)
+ -Denable-gvfs-metadata=yes
+ $(meson_use spell)
+ )
+ meson_src_configure
+}
+
+# Only appdata and desktop file validation in v3.32.2
+src_test() { :; }
+
+src_install() {
+ meson_src_install
+ if use python; then
+ python_optimize
+ python_optimize "${ED}/usr/$(get_libdir)/gedit/plugins/"
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/app-editors/gedit/metadata.xml b/app-editors/gedit/metadata.xml
new file mode 100644
index 000000000000..d074988aeedd
--- /dev/null
+++ b/app-editors/gedit/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 type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/ghex/Manifest b/app-editors/ghex/Manifest
new file mode 100644
index 000000000000..7190209b5e9c
--- /dev/null
+++ b/app-editors/ghex/Manifest
@@ -0,0 +1 @@
+DIST ghex-3.18.4.tar.xz 1420268 BLAKE2B 70a3027a2c228481ecbc6ae44c0a707c9858453e3af7bfc268b6e32a8496722cf117c1b2ce4dd798795a429dccd24e1fa9cb9d1a8c9c8fb5998243369f76ccc4 SHA512 6121a5986ee7d7f96bf7f401e155f8aa37f076af455bc68e43d1b5b02b63bc9aed3eba5209511d1b659eb4c9093ab5d9601c14a5e868d979e92a6d0ca0cf9ce2
diff --git a/app-editors/ghex/ghex-3.18.4-r1.ebuild b/app-editors/ghex/ghex-3.18.4-r1.ebuild
new file mode 100644
index 000000000000..3cd47749cca0
--- /dev/null
+++ b/app-editors/ghex/ghex-3.18.4-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit gnome.org gnome2-utils meson xdg
+DESCRIPTION="GNOME hexadecimal editor"
+HOMEPAGE="https://wiki.gnome.org/Apps/Ghex"
+
+LICENSE="GPL-2+ FDL-1.1+"
+SLOT="2"
+KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ >=dev-libs/atk-1.0.0
+ >=dev-libs/glib-2.31.10:2
+ >=x11-libs/gtk+-3.3.8:3
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-libs/appstream-glib
+ dev-libs/libxml2:2
+ dev-util/itstool
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+"
+
+# Requires unreleased appstream-glib-0.7.16 for tests to pass..
+RESTRICT="test" # https://gitlab.gnome.org/GNOME/ghex/issues/18
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/app-editors/ghex/metadata.xml b/app-editors/ghex/metadata.xml
new file mode 100644
index 000000000000..d074988aeedd
--- /dev/null
+++ b/app-editors/ghex/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 type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/ghostwriter/Manifest b/app-editors/ghostwriter/Manifest
new file mode 100644
index 000000000000..db7161177b35
--- /dev/null
+++ b/app-editors/ghostwriter/Manifest
@@ -0,0 +1 @@
+DIST ghostwriter-1.8.1.tar.gz 1220000 BLAKE2B 3fa3d95ed819bc8f7b76b396e6634658a8bda23e9100cbb298d301fc382db451430a4a31fbd092326af198825c83d2c998172c90a7e318aeb57ef7799751995a SHA512 9f60f81a594cf161edfeac8c75830e186ab4ec2c22859b2bad40768e1ecf64e6842b52a69024a1f014d24a2f1cbb38e15a7799101d7fd54ef7709e245f6ac521
diff --git a/app-editors/ghostwriter/files/ghostwriter-1.8.1-appdata-path.patch b/app-editors/ghostwriter/files/ghostwriter-1.8.1-appdata-path.patch
new file mode 100644
index 000000000000..514ab6262e5a
--- /dev/null
+++ b/app-editors/ghostwriter/files/ghostwriter-1.8.1-appdata-path.patch
@@ -0,0 +1,27 @@
+From 5e63fa9cb6d4020413db071ed68aa85f3e79fd9e Mon Sep 17 00:00:00 2001
+From: David Roman <davidroman96@gmail.com>
+Date: Mon, 9 Mar 2020 21:42:58 +0100
+Subject: [PATCH] update appdata path
+
+The previous location is deprecated
+see https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html
+---
+ ghostwriter.pro | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ghostwriter.pro b/ghostwriter.pro
+index d399fb5..7f5f22c 100644
+--- a/ghostwriter.pro
++++ b/ghostwriter.pro
+@@ -264,7 +264,7 @@ macx {
+ desktop.path = $$DATADIR/applications/
+
+ appdata.files = resources/linux/ghostwriter.appdata.xml
+- appdata.path = $$DATADIR/appdata/
++ appdata.path = $$DATADIR/metainfo/
+
+ man.files = resources/linux/ghostwriter.1
+ man.path = $$PREFIX/share/man/man1
+--
+2.25.1
+
diff --git a/app-editors/ghostwriter/files/ghostwriter-1.8.1-qt-5.15.patch b/app-editors/ghostwriter/files/ghostwriter-1.8.1-qt-5.15.patch
new file mode 100644
index 000000000000..0f7425ff35e7
--- /dev/null
+++ b/app-editors/ghostwriter/files/ghostwriter-1.8.1-qt-5.15.patch
@@ -0,0 +1,21 @@
+From f8f4ec0a1b53d1f3e670817f051c59444851cf7f Mon Sep 17 00:00:00 2001
+From: Jakob Gahde <j5lx@fmail.co.uk>
+Date: Tue, 9 Jun 2020 10:30:44 +0200
+Subject: [PATCH] Fix build error with Qt 5.15
+
+---
+ src/MarkdownEditor.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/MarkdownEditor.cpp b/src/MarkdownEditor.cpp
+index c5e46d5..c103173 100644
+--- a/src/MarkdownEditor.cpp
++++ b/src/MarkdownEditor.cpp
+@@ -30,6 +30,7 @@
+ #include <QUrl>
+ #include <QPixmap>
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QFileInfo>
+ #include <QDir>
+
diff --git a/app-editors/ghostwriter/ghostwriter-1.8.1.ebuild b/app-editors/ghostwriter/ghostwriter-1.8.1.ebuild
new file mode 100644
index 000000000000..eb51f8371cc7
--- /dev/null
+++ b/app-editors/ghostwriter/ghostwriter-1.8.1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit qmake-utils xdg-utils
+
+DESCRIPTION="Cross-platform, aesthetic, distraction-free markdown editor"
+HOMEPAGE="https://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"
+
+BDEPEND="dev-qt/linguist-tools:5"
+
+RDEPEND="
+ app-text/hunspell:=
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwebchannel:5
+ dev-qt/qtwebengine:5[widgets]
+ dev-qt/qtwidgets:5
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( CREDITS.md README.md )
+
+PATCHES=(
+ "${FILESDIR}/${P}-appdata-path.patch"
+ "${FILESDIR}/${P}-qt-5.15.patch" # git master
+)
+
+src_prepare() {
+ default
+
+ sed -i -e "/^VERSION =/s/\$.*/${PV}/" ghostwriter.pro || die "failed to override version"
+}
+
+src_configure() {
+ eqmake5 \
+ CONFIG+=$(usex debug debug release) \
+ PREFIX="${EPREFIX}"/usr
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+ einstalldocs
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/app-editors/ghostwriter/metadata.xml b/app-editors/ghostwriter/metadata.xml
new file mode 100644
index 000000000000..0f7c27b044fe
--- /dev/null
+++ b/app-editors/ghostwriter/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>reagentoo@gmail.com</email>
+ <name>Dmitry Baranov</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>davidroman96@gmail.com</email>
+ <name>David Roman</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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/gnome-latex/Manifest b/app-editors/gnome-latex/Manifest
new file mode 100644
index 000000000000..f22983ef3181
--- /dev/null
+++ b/app-editors/gnome-latex/Manifest
@@ -0,0 +1 @@
+DIST gnome-latex-3.32.0.tar.xz 1145836 BLAKE2B 3ea44981b90fe258abd05c91c6f7425c73159ce0d3d108659c6be38a4612d5dbdd699cf20fa63b8dd2b2727a00baf6ae6a2b4504c0124e0a756ee7de6130750f SHA512 6b67302327318ccd9d307f271fd84e4cd550883f322d4b0e47b6425d9dd509c96dddeb0e690cca4fffddc1d5ebbc3dfd3e38cbe9985eda520110d9a768ef83d0
diff --git a/app-editors/gnome-latex/gnome-latex-3.32.0.ebuild b/app-editors/gnome-latex/gnome-latex-3.32.0.ebuild
new file mode 100644
index 000000000000..61b5330ceff7
--- /dev/null
+++ b/app-editors/gnome-latex/gnome-latex-3.32.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit gnome2
+
+DESCRIPTION="Integrated LaTeX environment for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Apps/GNOME-LaTeX"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+introspection +latexmk rubber"
+
+COMMON_DEPEND="
+ >=app-text/gspell-1.8:0=
+ >=dev-libs/glib-2.56:2
+ >=dev-libs/libgee-0.10:0.8=
+ gnome-base/gsettings-desktop-schemas
+ >=x11-libs/gtk+-3.22:3
+ >=x11-libs/gtksourceview-4.0:4
+ >=gui-libs/tepl-4.2:4
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+ introspection? ( >=dev-libs/gobject-introspection-1.30.0:= )
+ gnome-base/dconf
+"
+RDEPEND="${COMMON_DEPEND}
+ virtual/latex-base
+ x11-themes/hicolor-icon-theme
+ latexmk? ( dev-tex/latexmk )
+ rubber? ( dev-tex/rubber )
+"
+DEPEND="${COMMON_DEPEND}
+ dev-util/gdbus-codegen
+ dev-util/glib-utils
+ >=dev-util/gtk-doc-am-1.14
+ >=dev-util/intltool-0.50.1
+ dev-util/itstool
+ virtual/pkgconfig
+"
+
+src_configure() {
+ gnome2_src_configure \
+ $(use_enable introspection) \
+ --enable-dconf_migration \
+ APPSTREAM_UTIL="$(type -P true)" # Fails strict validation in 3.32.0
+}
diff --git a/app-editors/gnome-latex/metadata.xml b/app-editors/gnome-latex/metadata.xml
new file mode 100644
index 000000000000..5afe7ffd2e8e
--- /dev/null
+++ b/app-editors/gnome-latex/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>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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/gummi/Manifest b/app-editors/gummi/Manifest
new file mode 100644
index 000000000000..7d306f77e9fd
--- /dev/null
+++ b/app-editors/gummi/Manifest
@@ -0,0 +1,2 @@
+DIST gummi-0.6.6.tar.gz 792642 BLAKE2B 4f6096999b06361811a9149fa08eff5d2315f01e55539c5849c4bc86aab5a482ad9a0adfe84de5d093e66a328b294b4d88e1e2e2f0355bab320f0c094581da97 SHA512 3be94927c9aafa4914ed2b6f6f5022dce5bcca315a1f947fafb8a4c8bbc5a2bc57f07f8ceaaacdd0b92a5a30483ea8b00e570faf62479280d2ad874716e4c47d
+DIST gummi-0.8.1.tar.gz 580887 BLAKE2B ce06df4e85e2dfd510e39aeab785d1289335802fd24fa0b25eb9a0b920849d7ab2b89d62509e91ddb41c8f4c601544f3da8819f69ff3e38fc59dbde0aa3e789d SHA512 dccef28f6ceb2743a5a44c5224cce7326e9bb9e6f1baccb51c23d801ce595914d1b960fe11d230dcad5f041d80fe57b46c0e5aa9c6abd881dd2e32db373d329a
diff --git a/app-editors/gummi/gummi-0.6.6-r2.ebuild b/app-editors/gummi/gummi-0.6.6-r2.ebuild
new file mode 100644
index 000000000000..f67449975dee
--- /dev/null
+++ b/app-editors/gummi/gummi-0.6.6-r2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools xdg-utils
+
+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 ~arm64 x86"
+IUSE=""
+
+RDEPEND="
+ app-text/gtkspell:2
+ app-text/poppler[cairo]
+ dev-libs/glib:2
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ x11-libs/gtk+:2
+ x11-libs/gtksourceview:2.0
+ x11-libs/pango"
+
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+
+ 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."
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}
diff --git a/app-editors/gummi/gummi-0.8.1.ebuild b/app-editors/gummi/gummi-0.8.1.ebuild
new file mode 100644
index 000000000000..9c76d97c37cf
--- /dev/null
+++ b/app-editors/gummi/gummi-0.8.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit xdg-utils
+
+DESCRIPTION="Simple LaTeX editor for GTK+ users"
+HOMEPAGE="https://github.com/alexandervdm/gummi"
+SRC_URI="https://github.com/alexandervdm/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+
+RDEPEND="
+ app-text/gtkspell:3
+ app-text/poppler[cairo]
+ dev-libs/glib:2
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ x11-libs/gtk+:3
+ x11-libs/gtksourceview:3.0
+ x11-libs/pango
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+pkg_postinst() {
+ xdg_desktop_database_update
+
+ 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."
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}
diff --git a/app-editors/gummi/metadata.xml b/app-editors/gummi/metadata.xml
new file mode 100644
index 000000000000..f521e4e90393
--- /dev/null
+++ b/app-editors/gummi/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>christian.tietz@mailbox.org</email>
+ <name>Christian Tietz</name>
+ </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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/gvim/Manifest b/app-editors/gvim/Manifest
new file mode 100644
index 000000000000..30bd1b8eb791
--- /dev/null
+++ b/app-editors/gvim/Manifest
@@ -0,0 +1,6 @@
+DIST vim-8.2.0210-gentoo-patches.tar.bz2 2755 BLAKE2B 21f1fb97c95d4f2eb45968783add80e11011be12fd2d701c267644a44da9782214828e022667c1a0a2ed08aedb7c12b6756a8b8adea4db5c7a3cb7dc94b75fd8 SHA512 c942c33dc033d63569e07523fa7652d1c53685aa64f9e7a4bf4e6126012790ec0ec820a7a9209cfe64096679ba8a9f9394ed92696a933e3c8be10658d16b8a7b
+DIST vim-8.2.0360-gentoo-patches.tar.xz 2612 BLAKE2B a9273a686b31dd873b25bfc07f7bc254f11038bde275ae4e6f56513a14e0268fdc1032ae847d1d7f8539f8a657217011770ccb4685998f34722383ec7bfb1a15 SHA512 00bc8eb8b20a4a6f3bbd179bb90d42fa6727c8eaae5b625e95e52c33638d456ef36d06b51c542ecaffb237c0b4f7aa72dc3bae7fe00144d55ab0d2fa51950f3b
+DIST vim-8.2.0360.tar.gz 14842830 BLAKE2B fe3a13cb4bef4ada1bd13cdc80aa9a4ab275d1ff16a7f5308109adc7c5a3459393e1c8153fa32a972141b27cce3aaff50c59416d1ba32e4dca03074be49705a9 SHA512 183bcb5cc73290193de99beb69b56b64efa37db9d905c6e76a51ac727f4447f76346dde632e2dfae9d289abb4b9ca11a14f7e350eaa699fc2c3c7c2e35fc20b2
+DIST vim-8.2.0508.tar.gz 14885937 BLAKE2B 70d9cbaa69fac168e6719ef6ee0fadef21bc0b4c17e3c01d983cfe7d75ec831089845aae2f4ca2b5eba02ea24664dc968b0d472254db45e13a5a1f9cdc62253a SHA512 0cbe7cb8d16ac9ed2e6b2f7031bf3b962bcfa199ef7421dfa549fd53f42eb00fc20a14d0df13fcdb4b5f06c88e659086f8d277797824e628133ebd66c72232b6
+DIST vim-8.2.0638.tar.gz 14922315 BLAKE2B 12a8a272e1167ec845d2a5ab3b884f8d327e7b73a49fad2c7cafcd0bd5690c8c21d6b9e1b6211fd6ef8908ea93019c483ec5de74b50cf1fea8fbfc6f63b751df SHA512 4fc3aca0f3337b35d98281d1c7d5cd733bf14fbd1c3e382208ff950199125b6e4606bb7487310caf793eb6b2d1c6e719bce19b53d4d55a26354649c13b727a92
+DIST vim-8.2.0814.tar.gz 14953478 BLAKE2B fd4155ec749bd9a705e8114ff7f8cc321182c9286733ff2f665e265ec0af830f9e70c730b8d0215f6db1f73a8e2f878d22932a72c8dbfe921591be7adcdaab00 SHA512 4ddd9e2d30719f931cadd1a4de5700736f641f4b074378d9ea1462a90b81975ce8e8c3ca2e3a1e15ac0288824eef5b0f0a3e31482f7637c450c6d7e52c8f40d2
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/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.2.0360.ebuild b/app-editors/gvim/gvim-8.2.0360.ebuild
new file mode 100644
index 000000000000..2176fd3dd89b
--- /dev/null
+++ b/app-editors/gvim/gvim-8.2.0360.ebuild
@@ -0,0 +1,367 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VIM_VERSION="8.2"
+PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_REQ_USE="threads(+)"
+USE_RUBY="ruby24 ruby25 ruby26 ruby27"
+
+inherit vim-doc flag-o-matic xdg-utils bash-completion-r1 prefix python-single-r1 ruby-single
+
+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.2.0210-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~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 gtk gtk2 lua luajit motif neXt netbeans nls perl python racket ruby selinux session sound tcl"
+REQUIRED_USE="
+ 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? (
+ gtk? (
+ x11-libs/gtk+:3
+ x11-libs/libXft
+ )
+ !gtk? (
+ gtk2? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ )
+ !gtk2? (
+ 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? ( ${RUBY_DEPS} )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ sound? ( media-libs/libcanberra )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+# various failures (bugs #630042 and #682320)
+RESTRICT="test"
+
+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 || die
+ 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 -e \
+ '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 || die "echo failed"
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
+ >> "${S}"/src/feature.h || die "echo failed"
+
+ # 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 -e \
+ '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 -e \
+ '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" || die "echo failed"
+ 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 || die
+ fi
+
+ cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ sed -i -e \
+ "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+
+ 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 -e \
+ 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -v src/auto/configure || die "rm failed"
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ local file
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
+ if [[ -e ${file} ]]; then
+ addwrite $file
+ fi
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --with-gnome=no
+ $(use_enable sound canberra)
+ $(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 python3interp)
+ $(use_with python python3-command $(type -P $(eselect python show --python3)))
+ $(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 -e \
+ '/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk GTK3
+ # -aqua -gtk gtk2 GTK2
+ # -aqua -gtk -gtk motif MOTIF
+ # -aqua -gtk -gtk -motif neXt NEXTAW
+ # -aqua -gtk -gtk -motif -neXt ATHENA
+ echo ; echo
+ if use aqua; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk; then
+ myconf+=( --enable-gtk3-check )
+ einfo "Building gvim with the gtk+-3 GUI"
+ myconf+=( --enable-gui=gtk3 )
+ elif use gtk2; then
+ myconf+=( --enable-gtk2-check )
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ 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() {
+ einfo
+ 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."
+ einfo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ einfo
+
+ # 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 -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
+
+ # Don't do additional GUI tests.
+ emake -j1 VIMPROG=../testvim -C src/testdir nongui
+}
+
+# Call eselect vi update with --if-unset
+# to respect user's choice (bug 187449)
+eselect_vi_update() {
+ einfo "Calling eselect vi update..."
+ eselect vi update --if-unset
+ eend $?
+}
+
+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 || die "echo failed"
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
+ die "echo failed"
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # don't install vim desktop file
+ rm -v "${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
+ xdg_icon_cache_update
+
+ # call eselect vi update
+ eselect_vi_update
+}
+
+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
+ xdg_icon_cache_update
+
+ # call eselect vi update
+ eselect_vi_update
+}
diff --git a/app-editors/gvim/gvim-8.2.0508.ebuild b/app-editors/gvim/gvim-8.2.0508.ebuild
new file mode 100644
index 000000000000..3542682bc039
--- /dev/null
+++ b/app-editors/gvim/gvim-8.2.0508.ebuild
@@ -0,0 +1,367 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VIM_VERSION="8.2"
+PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_REQ_USE="threads(+)"
+USE_RUBY="ruby24 ruby25 ruby26 ruby27"
+
+inherit vim-doc flag-o-matic xdg-utils bash-completion-r1 prefix python-single-r1 ruby-single
+
+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/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~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 gtk gtk2 lua luajit motif neXt netbeans nls perl python racket ruby selinux session sound tcl"
+REQUIRED_USE="
+ 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? (
+ gtk? (
+ x11-libs/gtk+:3
+ x11-libs/libXft
+ )
+ !gtk? (
+ gtk2? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ )
+ !gtk2? (
+ 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? ( ${RUBY_DEPS} )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ sound? ( media-libs/libcanberra )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+# various failures (bugs #630042 and #682320)
+RESTRICT="test"
+
+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 || die
+ 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 -e \
+ '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 || die "echo failed"
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
+ >> "${S}"/src/feature.h || die "echo failed"
+
+ # 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 -e \
+ '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 -e \
+ '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" || die "echo failed"
+ 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 || die
+ fi
+
+ cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ sed -i -e \
+ "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+
+ 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 -e \
+ 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -v src/auto/configure || die "rm failed"
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ local file
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
+ if [[ -e ${file} ]]; then
+ addwrite $file
+ fi
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --with-gnome=no
+ $(use_enable sound canberra)
+ $(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 python3interp)
+ $(use_with python python3-command $(type -P $(eselect python show --python3)))
+ $(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 -e \
+ '/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk GTK3
+ # -aqua -gtk gtk2 GTK2
+ # -aqua -gtk -gtk motif MOTIF
+ # -aqua -gtk -gtk -motif neXt NEXTAW
+ # -aqua -gtk -gtk -motif -neXt ATHENA
+ echo ; echo
+ if use aqua; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk; then
+ myconf+=( --enable-gtk3-check )
+ einfo "Building gvim with the gtk+-3 GUI"
+ myconf+=( --enable-gui=gtk3 )
+ elif use gtk2; then
+ myconf+=( --enable-gtk2-check )
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ 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() {
+ einfo
+ 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."
+ einfo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ einfo
+
+ # 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 -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
+
+ # Don't do additional GUI tests.
+ emake -j1 VIMPROG=../testvim -C src/testdir nongui
+}
+
+# Call eselect vi update with --if-unset
+# to respect user's choice (bug 187449)
+eselect_vi_update() {
+ einfo "Calling eselect vi update..."
+ eselect vi update --if-unset
+ eend $?
+}
+
+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 || die "echo failed"
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
+ die "echo failed"
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # don't install vim desktop file
+ rm -v "${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
+ xdg_icon_cache_update
+
+ # call eselect vi update
+ eselect_vi_update
+}
+
+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
+ xdg_icon_cache_update
+
+ # call eselect vi update
+ eselect_vi_update
+}
diff --git a/app-editors/gvim/gvim-8.2.0638.ebuild b/app-editors/gvim/gvim-8.2.0638.ebuild
new file mode 100644
index 000000000000..3542682bc039
--- /dev/null
+++ b/app-editors/gvim/gvim-8.2.0638.ebuild
@@ -0,0 +1,367 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VIM_VERSION="8.2"
+PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_REQ_USE="threads(+)"
+USE_RUBY="ruby24 ruby25 ruby26 ruby27"
+
+inherit vim-doc flag-o-matic xdg-utils bash-completion-r1 prefix python-single-r1 ruby-single
+
+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/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~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 gtk gtk2 lua luajit motif neXt netbeans nls perl python racket ruby selinux session sound tcl"
+REQUIRED_USE="
+ 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? (
+ gtk? (
+ x11-libs/gtk+:3
+ x11-libs/libXft
+ )
+ !gtk? (
+ gtk2? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ )
+ !gtk2? (
+ 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? ( ${RUBY_DEPS} )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ sound? ( media-libs/libcanberra )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+# various failures (bugs #630042 and #682320)
+RESTRICT="test"
+
+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 || die
+ 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 -e \
+ '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 || die "echo failed"
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
+ >> "${S}"/src/feature.h || die "echo failed"
+
+ # 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 -e \
+ '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 -e \
+ '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" || die "echo failed"
+ 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 || die
+ fi
+
+ cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ sed -i -e \
+ "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+
+ 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 -e \
+ 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -v src/auto/configure || die "rm failed"
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ local file
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
+ if [[ -e ${file} ]]; then
+ addwrite $file
+ fi
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --with-gnome=no
+ $(use_enable sound canberra)
+ $(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 python3interp)
+ $(use_with python python3-command $(type -P $(eselect python show --python3)))
+ $(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 -e \
+ '/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk GTK3
+ # -aqua -gtk gtk2 GTK2
+ # -aqua -gtk -gtk motif MOTIF
+ # -aqua -gtk -gtk -motif neXt NEXTAW
+ # -aqua -gtk -gtk -motif -neXt ATHENA
+ echo ; echo
+ if use aqua; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk; then
+ myconf+=( --enable-gtk3-check )
+ einfo "Building gvim with the gtk+-3 GUI"
+ myconf+=( --enable-gui=gtk3 )
+ elif use gtk2; then
+ myconf+=( --enable-gtk2-check )
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ 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() {
+ einfo
+ 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."
+ einfo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ einfo
+
+ # 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 -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
+
+ # Don't do additional GUI tests.
+ emake -j1 VIMPROG=../testvim -C src/testdir nongui
+}
+
+# Call eselect vi update with --if-unset
+# to respect user's choice (bug 187449)
+eselect_vi_update() {
+ einfo "Calling eselect vi update..."
+ eselect vi update --if-unset
+ eend $?
+}
+
+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 || die "echo failed"
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
+ die "echo failed"
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # don't install vim desktop file
+ rm -v "${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
+ xdg_icon_cache_update
+
+ # call eselect vi update
+ eselect_vi_update
+}
+
+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
+ xdg_icon_cache_update
+
+ # call eselect vi update
+ eselect_vi_update
+}
diff --git a/app-editors/gvim/gvim-8.2.0814.ebuild b/app-editors/gvim/gvim-8.2.0814.ebuild
new file mode 100644
index 000000000000..3542682bc039
--- /dev/null
+++ b/app-editors/gvim/gvim-8.2.0814.ebuild
@@ -0,0 +1,367 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VIM_VERSION="8.2"
+PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_REQ_USE="threads(+)"
+USE_RUBY="ruby24 ruby25 ruby26 ruby27"
+
+inherit vim-doc flag-o-matic xdg-utils bash-completion-r1 prefix python-single-r1 ruby-single
+
+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/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~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 gtk gtk2 lua luajit motif neXt netbeans nls perl python racket ruby selinux session sound tcl"
+REQUIRED_USE="
+ 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? (
+ gtk? (
+ x11-libs/gtk+:3
+ x11-libs/libXft
+ )
+ !gtk? (
+ gtk2? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ )
+ !gtk2? (
+ 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? ( ${RUBY_DEPS} )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ sound? ( media-libs/libcanberra )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+# various failures (bugs #630042 and #682320)
+RESTRICT="test"
+
+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 || die
+ 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 -e \
+ '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 || die "echo failed"
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
+ >> "${S}"/src/feature.h || die "echo failed"
+
+ # 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 -e \
+ '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 -e \
+ '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" || die "echo failed"
+ 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 || die
+ fi
+
+ cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ sed -i -e \
+ "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+
+ 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 -e \
+ 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -v src/auto/configure || die "rm failed"
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ local file
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
+ if [[ -e ${file} ]]; then
+ addwrite $file
+ fi
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --with-gnome=no
+ $(use_enable sound canberra)
+ $(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 python3interp)
+ $(use_with python python3-command $(type -P $(eselect python show --python3)))
+ $(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 -e \
+ '/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk GTK3
+ # -aqua -gtk gtk2 GTK2
+ # -aqua -gtk -gtk motif MOTIF
+ # -aqua -gtk -gtk -motif neXt NEXTAW
+ # -aqua -gtk -gtk -motif -neXt ATHENA
+ echo ; echo
+ if use aqua; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk; then
+ myconf+=( --enable-gtk3-check )
+ einfo "Building gvim with the gtk+-3 GUI"
+ myconf+=( --enable-gui=gtk3 )
+ elif use gtk2; then
+ myconf+=( --enable-gtk2-check )
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ 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() {
+ einfo
+ 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."
+ einfo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ einfo
+
+ # 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 -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
+
+ # Don't do additional GUI tests.
+ emake -j1 VIMPROG=../testvim -C src/testdir nongui
+}
+
+# Call eselect vi update with --if-unset
+# to respect user's choice (bug 187449)
+eselect_vi_update() {
+ einfo "Calling eselect vi update..."
+ eselect vi update --if-unset
+ eend $?
+}
+
+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 || die "echo failed"
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
+ die "echo failed"
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # don't install vim desktop file
+ rm -v "${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
+ xdg_icon_cache_update
+
+ # call eselect vi update
+ eselect_vi_update
+}
+
+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
+ xdg_icon_cache_update
+
+ # call eselect vi update
+ eselect_vi_update
+}
diff --git a/app-editors/gvim/gvim-9999.ebuild b/app-editors/gvim/gvim-9999.ebuild
new file mode 100644
index 000000000000..3542682bc039
--- /dev/null
+++ b/app-editors/gvim/gvim-9999.ebuild
@@ -0,0 +1,367 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VIM_VERSION="8.2"
+PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_REQ_USE="threads(+)"
+USE_RUBY="ruby24 ruby25 ruby26 ruby27"
+
+inherit vim-doc flag-o-matic xdg-utils bash-completion-r1 prefix python-single-r1 ruby-single
+
+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/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~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 gtk gtk2 lua luajit motif neXt netbeans nls perl python racket ruby selinux session sound tcl"
+REQUIRED_USE="
+ 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? (
+ gtk? (
+ x11-libs/gtk+:3
+ x11-libs/libXft
+ )
+ !gtk? (
+ gtk2? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ )
+ !gtk2? (
+ 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? ( ${RUBY_DEPS} )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ sound? ( media-libs/libcanberra )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+# various failures (bugs #630042 and #682320)
+RESTRICT="test"
+
+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 || die
+ 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 -e \
+ '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 || die "echo failed"
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
+ >> "${S}"/src/feature.h || die "echo failed"
+
+ # 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 -e \
+ '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 -e \
+ '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" || die "echo failed"
+ 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 || die
+ fi
+
+ cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ sed -i -e \
+ "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+
+ 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 -e \
+ 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -v src/auto/configure || die "rm failed"
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ local file
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
+ if [[ -e ${file} ]]; then
+ addwrite $file
+ fi
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --with-gnome=no
+ $(use_enable sound canberra)
+ $(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 python3interp)
+ $(use_with python python3-command $(type -P $(eselect python show --python3)))
+ $(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 -e \
+ '/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk GTK3
+ # -aqua -gtk gtk2 GTK2
+ # -aqua -gtk -gtk motif MOTIF
+ # -aqua -gtk -gtk -motif neXt NEXTAW
+ # -aqua -gtk -gtk -motif -neXt ATHENA
+ echo ; echo
+ if use aqua; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk; then
+ myconf+=( --enable-gtk3-check )
+ einfo "Building gvim with the gtk+-3 GUI"
+ myconf+=( --enable-gui=gtk3 )
+ elif use gtk2; then
+ myconf+=( --enable-gtk2-check )
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ 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() {
+ einfo
+ 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."
+ einfo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ einfo
+
+ # 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 -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
+
+ # Don't do additional GUI tests.
+ emake -j1 VIMPROG=../testvim -C src/testdir nongui
+}
+
+# Call eselect vi update with --if-unset
+# to respect user's choice (bug 187449)
+eselect_vi_update() {
+ einfo "Calling eselect vi update..."
+ eselect vi update --if-unset
+ eend $?
+}
+
+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 || die "echo failed"
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
+ die "echo failed"
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # don't install vim desktop file
+ rm -v "${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
+ xdg_icon_cache_update
+
+ # call eselect vi update
+ eselect_vi_update
+}
+
+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
+ xdg_icon_cache_update
+
+ # call eselect vi update
+ eselect_vi_update
+}
diff --git a/app-editors/gvim/metadata.xml b/app-editors/gvim/metadata.xml
new file mode 100644
index 000000000000..d910b36655ff
--- /dev/null
+++ b/app-editors/gvim/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>vim@gentoo.org</email>
+ <name>Gentoo Vim Project</name>
+ </maintainer>
+ <use>
+ <flag name="cscope">Enable cscope interface</flag>
+ <flag name="gtk2">Enable GTK+2 interface</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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/hexcurse/Manifest b/app-editors/hexcurse/Manifest
new file mode 100644
index 000000000000..bcf065254b45
--- /dev/null
+++ b/app-editors/hexcurse/Manifest
@@ -0,0 +1,2 @@
+DIST hexcurse-1.55.tar.gz 113512 BLAKE2B 68dbb21e0c8830256f51a477a968449d86da174ca3cc7d29232c6d2a2f909339a0555ff459ed373e62e35b3d1d8abfbbd32a9462006b20bfa1f4f641f4eba825 SHA512 39f9eae0bb891bdfb702fb871b75c53d15acf6e74b3272b616f00303f444bfddced6fbe3041eb3769fa90fbc226dd584f5d84f7427b659e63f3b74511938a4a7
+DIST hexcurse-1.60.0.tar.gz 171904 BLAKE2B f591469a859e71e0ada99975c3632f29b293f5bcf65dece9fb047908c860e11ee5b5d5f78e636d3163497acf396de64e568e560427cf0ee7f2c752e0fc5a2b72 SHA512 2301f10e9190922fc61cbbe3a834826ebf87bc5ece9191d368181e2336af240e68cbe46e3a60dee3e0e42281b2f05ae4a7060ee1083b37f4906eacc66e58a094
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..cc3483748d0f
--- /dev/null
+++ b/app-editors/hexcurse/hexcurse-1.55.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2020 Gentoo Authors
+# 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 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+RDEPEND=">=sys-libs/ncurses-5.2:0="
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PV}-gcc.patch \
+ "${FILESDIR}"/${PV}-tinfo.patch
+
+ eautoreconf
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+ 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..95d897125147
--- /dev/null
+++ b/app-editors/hexcurse/hexcurse-1.60.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2020 Gentoo Authors
+# 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 ~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..6a28873a7368
--- /dev/null
+++ b/app-editors/hexcurse/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>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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/hexedit/Manifest b/app-editors/hexedit/Manifest
new file mode 100644
index 000000000000..792220b96ded
--- /dev/null
+++ b/app-editors/hexedit/Manifest
@@ -0,0 +1 @@
+DIST hexedit-1.2.13.src.tgz 68778 BLAKE2B 377c4f0008f6e3b54e4cf2e0249fa344b684b11a6acea9daf7d8e6585524f9d11a4eb199d5289a57a72be5efbdf3060cc47269aad1d218784e7679a469ca4f50 SHA512 df9afb0b9b965e20ea8c427c1986b0200216601b157862199c35bae9e201ccc478ab0bfecd39d0dfaa85bf582f1cf372b0134fadcfeacf4734805a6e6dcaa2bb
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..f06e9e63f500
--- /dev/null
+++ b/app-editors/hexedit/hexedit-1.2.13.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2020 Gentoo Authors
+# 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 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..96fbc8ba3fed
--- /dev/null
+++ b/app-editors/hexedit/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 type="person">
+ <email>tomjbe@gentoo.org</email>
+ <name>Thomas Beierlein</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/hteditor/Manifest b/app-editors/hteditor/Manifest
new file mode 100644
index 000000000000..282dfd9fd8c9
--- /dev/null
+++ b/app-editors/hteditor/Manifest
@@ -0,0 +1 @@
+DIST ht-2.1.0.tar.bz2 884139 BLAKE2B c979563cbfc4df7e14f587b250fbf099d9f4683afddb3afc88693284c378c45466dfa3c47555fc69e83e2972cfabab63f3cdd42fd85602842854372131e4063d SHA512 6b5fc5fcbc63b9b7c85721158e044e4578ebfdc38618c760c0e6de06a276bccd3a960ab8bed172de788934515ad94d86349c4abd3228da66b1601deaaa2ce410
diff --git a/app-editors/hteditor/files/hteditor-2.1.0-AR.patch b/app-editors/hteditor/files/hteditor-2.1.0-AR.patch
new file mode 100644
index 000000000000..60a0427a2125
--- /dev/null
+++ b/app-editors/hteditor/files/hteditor-2.1.0-AR.patch
@@ -0,0 +1,14 @@
+https://bugs.gentoo.org/722040
+--- a/configure.ac
++++ b/configure.ac
+@@ -104,8 +104,8 @@ AC_PROG_CPP
+ AC_PROG_CXX
+ AC_PROG_YACC
+ AM_PROG_LEX
+-AC_PATH_PROG(AR, ar)
+-AC_PATH_PROG(AR, gar)
++AC_CHECK_TOOL(AR, ar)
++AC_CHECK_TOOL(AR, gar)
+
+ if test "x$AR" = "x"; then
+ AC_MSG_ERROR([*** 'ar' and 'gar' missing, please install one of them or fix your \$PATH ***])
diff --git a/app-editors/hteditor/files/hteditor-2.1.0-format-security.patch b/app-editors/hteditor/files/hteditor-2.1.0-format-security.patch
new file mode 100644
index 000000000000..408d1b9b1be3
--- /dev/null
+++ b/app-editors/hteditor/files/hteditor-2.1.0-format-security.patch
@@ -0,0 +1,57 @@
+https://bugs.gentoo.org/521018
+
+From 5839355d67ff822593190473a41512ca19e4280a Mon Sep 17 00:00:00 2001
+From: Anton Gladky <gladk@debian.org>
+Date: Wed, 18 Feb 2015 21:20:39 +0100
+Subject: [PATCH] Fix "format not a string" compilation failure
+
+Compilation with the flag -Werror=format-security fails with
+the message:
+
+error: format not a string literal and no format arguments
+
+This patch solves the issue.
+---
+ asm/x86dis.cc | 6 +++---
+ htpal.cc | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/asm/x86dis.cc b/asm/x86dis.cc
+index 0830d9c..bb9028f 100644
+--- a/asm/x86dis.cc
++++ b/asm/x86dis.cc
+@@ -1218,15 +1218,15 @@ void x86dis::str_op(char *opstr, int *opstrlen, x86dis_insn *insn, x86_insn_op *
+ default: {assert(0);}
+ }
+ if (!insn->rexprefix) {
+- sprintf(opstr, x86_regs[j][op->reg]);
++ sprintf(opstr, "%s", x86_regs[j][op->reg]);
+ } else {
+- sprintf(opstr, x86_64regs[j][op->reg]);
++ sprintf(opstr, "%s", x86_64regs[j][op->reg]);
+ }
+ break;
+ }
+ case X86_OPTYPE_SEG:
+ if (x86_segs[op->seg]) {
+- sprintf(opstr, x86_segs[op->seg]);
++ sprintf(opstr, "%s", x86_segs[op->seg]);
+ }
+ break;
+ case X86_OPTYPE_CRX:
+diff --git a/htpal.cc b/htpal.cc
+index 03dea18..3d5f51e 100644
+--- a/htpal.cc
++++ b/htpal.cc
+@@ -307,7 +307,7 @@ void palette_entry::strvalue(char *buf32bytes)
+ text = "normal";
+ }
+ p = tag_make_color(p, 32, VCP(fg, bg));
+- p += sprintf(p, text);
++ p += sprintf(p, "%s", text);
+ p = tag_make_default_color(p, 32);
+ *p = 0;
+ }
+--
+2.16.2
+
diff --git a/app-editors/hteditor/files/hteditor-2.1.0-gcc-10.patch b/app-editors/hteditor/files/hteditor-2.1.0-gcc-10.patch
new file mode 100644
index 000000000000..3516efd2871b
--- /dev/null
+++ b/app-editors/hteditor/files/hteditor-2.1.0-gcc-10.patch
@@ -0,0 +1,36 @@
+Backport a subset of upstream c++11 fixes.
+--- a/htmacho.cc
++++ b/htmacho.cc
+@@ -146,7 +146,7 @@ void ht_macho::init(Bounds *b, File *f, format_viewer_if **ifs, ht_format_group
+ break;
+ case MACHO_CPU_TYPE_I386:
+ switch (c->flavor) {
+- case -1:
++ default:
+ createHostStruct(&c->state, MACHO_I386_THREAD_STATE_struct, image_endianess);
+ break;
+ }
+--- a/htmachohd.cc
++++ b/htmachohd.cc
+@@ -313,7 +313,7 @@ static ht_view *htmachoheader_init(Bounds *b, File *file, ht_format_group *group
+ switch (macho_shared->header.cputype) {
+ case MACHO_CPU_TYPE_I386:
+ switch (c->flavor) {
+- case -1:
++ default:
+ m->add_staticmask_ptable(macho_i386_thread_state, ofs+4*4/*4 32bit words in thread_header*/, isbigendian);
+ break;
+ }
+--- a/io/types.h
++++ b/io/types.h
+@@ -87,8 +87,8 @@ union htmsg_param {
+ };
+
+ struct htmsg {
+- int msg;
+- int type;
++ unsigned int msg;
++ unsigned int type;
+ htmsg_param data1;
+ htmsg_param data2;
+ };
diff --git a/app-editors/hteditor/files/hteditor-2.1.0-gcc-6-uchar.patch b/app-editors/hteditor/files/hteditor-2.1.0-gcc-6-uchar.patch
new file mode 100644
index 000000000000..67eaa6e01491
--- /dev/null
+++ b/app-editors/hteditor/files/hteditor-2.1.0-gcc-6-uchar.patch
@@ -0,0 +1,45 @@
+https://github.com/sebastianbiallas/ht/pull/21
+
+From 7ce68c4bca7fd64c0073f1770c6b5761c03174f0 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Wed, 21 Mar 2018 21:30:31 +0000
+Subject: [PATCH] ht: fix build failure on -funsigned-char platforms
+
+powerpc (and arm) have 'char' == 'unsigned char' by default.
+This causes build failures on c++11:
+
+```
+$ ./configure CFLAGS=-funsigned-char CXXFLAGS=-funsigned-char
+$ make
+
+g++ -DHAVE_CONFIG_H -I. -I./analyser -I./asm -I./info -I./io/posix -I./io -I./output -I./eval -I. -DNOMACROS -pipe -O3 -fomit-frame-pointer -Wall -fsigned-char -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c++14 -Woverloaded-virtual -Wnon-virtual-dtor -funsigned-char -MT htcoffhd.o -MD -MP -MF .deps/htcoffhd.Tpo -c -o htcoffhd.o htcoffhd.cc
+htcoffhd.cc:93:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
+ };
+ ^
+htcoffhd.cc:131:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
+ };
+```
+
+Use 'signed char' explicitly to maintain existing behavior.
+
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+---
+ httag.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/httag.h b/httag.h
+index 7f5da1c..83e5c22 100644
+--- a/httag.h
++++ b/httag.h
+@@ -69,7 +69,7 @@ struct ht_tag_flags {
+ } PACKED;
+
+ struct ht_tag_flags_s {
+- char bitidx;
++ signed char bitidx;
+ const char *desc;
+ } PACKED;
+
+--
+2.16.2
+
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/files/hteditor-2.1.0-tinfo.patch b/app-editors/hteditor/files/hteditor-2.1.0-tinfo.patch
new file mode 100644
index 000000000000..556cb93569d4
--- /dev/null
+++ b/app-editors/hteditor/files/hteditor-2.1.0-tinfo.patch
@@ -0,0 +1,10 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -198,6 +198,7 @@
+ fi
+ HT_LIBS="$HT_LIBS -l$CURSES_LIB"
+ fi
++AC_SEARCH_LIBS(stdscr,tinfo)
+
+ dnl Makefile vars.
+ AC_SUBST(IO_DIR)
diff --git a/app-editors/hteditor/hteditor-2.1.0-r1.ebuild b/app-editors/hteditor/hteditor-2.1.0-r1.ebuild
new file mode 100644
index 000000000000..5b912857bc6f
--- /dev/null
+++ b/app-editors/hteditor/hteditor-2.1.0-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic 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-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
+ "${FILESDIR}"/${P}-tinfo.patch
+ "${FILESDIR}"/${P}-gcc-6-uchar.patch
+ "${FILESDIR}"/${P}-format-security.patch
+ "${FILESDIR}"/${P}-gcc-10.patch
+ "${FILESDIR}"/${P}-AR.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # Many literals are concatenated with macro definitions.
+ # Instead of patching them all let's pick old c++ standard
+ # and port to c++11 upstream.
+ # https://bugs.gentoo.org/729252
+ append-cxxflags -std=c++98
+}
+
+src_configure() {
+ econf \
+ $(use_enable X x11-textmode) \
+ --enable-maintainermode
+}
+
+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..dab77eb4bd44
--- /dev/null
+++ b/app-editors/hteditor/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="person">
+ <email>slyfox@gentoo.org</email>
+ <name>Sergei Trofimovich</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">hte</remote-id>
+ <bugs-to>https://github.com/sebastianbiallas/ht/issues</bugs-to>
+ <remote-id type="github">sebastianbiallas/ht</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/jasspa-microemacs/Manifest b/app-editors/jasspa-microemacs/Manifest
new file mode 100644
index 000000000000..6d13d7ac036b
--- /dev/null
+++ b/app-editors/jasspa-microemacs/Manifest
@@ -0,0 +1,4 @@
+DIST jasspa-mehtml-20091011.tar.gz 628008 BLAKE2B 97c8326e7acfdc4bc4ddd2ef6bbcf0384f114cfe1487d1ab5f456b0b64ea87a2410ce644860a33c863224e4dc66a476a63881d865455a62a5ce5a0877d03bfc4 SHA512 0328ad7af88b98840c76003c15461f45cba9f54b7935330ec881c588cdd02ee937684ce42c1889f7ca311cc80bd027ae6cb6b088c5ed5105107b22b384780a4e
+DIST jasspa-memacros-20091017.tar.gz 1105437 BLAKE2B 0a74715db55498fed646f209a9121a96c673cb34c487968c4f838bacf6404db717fbd8392d26f8fa120174923724af91e4a14bda088bf229765d1e99c785d8ba SHA512 08908acac4dbe56695362172dabe621b8cca77a35da599c6cf5b4e87700c03f4ee190ca12d5c69b2d88c623cec527daac0980dec2ed713ff563e88ebe636a725
+DIST jasspa-mesrc-20091011.tar.gz 810128 BLAKE2B ce627dab7cf4ec09b099e755c3eb17e773c64fbff60741244cdb134ee1555ffff592ef3684eecae72d5da36c10cd7caa23a03112154c616ad3c7667d913354b4 SHA512 60cc5a83b3cafd8e517f88732dc94feb0329b962bc714eaa5616ba89776fbfac41833be88fd3a666443291184086494434fb8763747c1dc5e216ce793b694b68
+DIST meicons-extra.tar.gz 43345 BLAKE2B 5b3d6e8a76604364d8e5464ba764aec96d822054c02bffed4cd763f7691f78bc3455904cd06d89ddcf8a0861134ada3c7d228751d4f3685e6700ebfc3dda2354 SHA512 bb6879fb12ec1c7b346bc1df2412a837ffdd0569f6be2800a433307a7736bb31798b3c2a71e02cebdce39c59d93d1a986f80c92184604e4292606c98285fe02a
diff --git a/app-editors/jasspa-microemacs/files/20091011-cc-detect.patch b/app-editors/jasspa-microemacs/files/20091011-cc-detect.patch
new file mode 100644
index 000000000000..123d78c895ff
--- /dev/null
+++ b/app-editors/jasspa-microemacs/files/20091011-cc-detect.patch
@@ -0,0 +1,32 @@
+https://bugs.gentoo.org/729258
+
+--- me091011-orig/src/build
++++ me091011/src/build
+@@ -158,12 +158,8 @@
+ exit 1
+ fi
+
+- # use cc by default if available
+ if [ -r $MAKEBAS.mak ] ; then
+- # try to detect cc, if found use it in preference
+- if [ "`type cc | cut -b 1-5`" = "cc is" ] ; then
+- MAKEFILE=$MAKEBAS.mak
+- fi
++ MAKEFILE=$MAKEBAS.mak
+ # Special rules for sun, if cc is /usr/ucb then this is a dummy.
+ if [ $PLATFORM = "SunOS" ] ; then
+ WHATCC=`/usr/bin/which cc`
+@@ -173,12 +169,8 @@
+ fi
+ fi
+ if [ -z "$MAKEFILE" ] ; then
+- # failed to find cc, try gcc
+ if [ -r $MAKEBAS.gmk ] ; then
+- # try to detect gcc, if found use it in preference
+- if [ "`type gcc | cut -b 1-6`" = "gcc is" ] ; then
+- MAKEFILE=$MAKEBAS.gmk
+- fi
++ MAKEFILE=$MAKEBAS.gmk
+ fi
+ fi
+ if [ -z "$MAKEFILE" ] ; then
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-r3.ebuild b/app-editors/jasspa-microemacs/jasspa-microemacs-20091011-r3.ebuild
new file mode 100644
index 000000000000..e41568ee3659
--- /dev/null
+++ b/app-editors/jasspa-microemacs/jasspa-microemacs-20091011-r3.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit desktop toolchain-funcs xdg-utils
+
+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:0=
+ X? (
+ x11-libs/libX11
+ xpm? ( x11-libs/libXpm )
+ )
+ nanoemacs? ( !app-editors/ne )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libXt
+ )"
+
+S="${WORKDIR}/me${PV:2}"
+PATCHES=(
+ "${FILESDIR}"/${PV}-ncurses.patch
+ "${FILESDIR}"/${PV}-linux3.patch
+ "${FILESDIR}"/${PV}-cc-detect.patch
+)
+
+src_unpack() {
+ unpack jasspa-mesrc-${PV}.tar.gz
+ if ! use nanoemacs; then
+ mkdir "${WORKDIR}"/jasspa || die
+ cd "${WORKDIR}"/jasspa || die
+ # everything except jasspa-mesrc
+ unpack ${A/jasspa-mesrc-${PV}.tar.gz/}
+ fi
+}
+
+src_prepare() {
+ default
+ # 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/' \
+ src/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
+
+ cd src || die
+ 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 src/${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
+}
+
+pkg_postinst() {
+ use X && xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ use X && xdg_desktop_database_update
+}
diff --git a/app-editors/jasspa-microemacs/metadata.xml b/app-editors/jasspa-microemacs/metadata.xml
new file mode 100644
index 000000000000..e7e1ae1325d6
--- /dev/null
+++ b/app-editors/jasspa-microemacs/metadata.xml
@@ -0,0 +1,26 @@
+<?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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/jed/Manifest b/app-editors/jed/Manifest
new file mode 100644
index 000000000000..10b2c6d07374
--- /dev/null
+++ b/app-editors/jed/Manifest
@@ -0,0 +1 @@
+DIST jed-0.99-19.tar.bz2 884198 BLAKE2B c3d967e59b909a39d0f7fb49c8ce9aef70585ba433bc5c6bebf5db1b6b88de0c41b35059a242a38be91a97a5296a279bdc85ac30ec9d4ae221d94e50e41d8995 SHA512 db8a30284f9b8e3e2c5d1a600eeb7af29c9f943a5c23d7c74fce926e0b0252f54805e214670e7c9357ce0e6918ad67cba2769a523979bfbd285328f94fff747c
diff --git a/app-editors/jed/jed-0.99.19-r1.ebuild b/app-editors/jed/jed-0.99.19-r1.ebuild
new file mode 100644
index 000000000000..b6609a508346
--- /dev/null
+++ b/app-editors/jed/jed-0.99.19-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_P="${PN}-$(ver_rs 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-base/xorg-proto
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ # replace IDE mode with EMACS mode
+ sed -i -e 's/\(_Jed_Default_Emulation = \).*/\1"emacs";/' \
+ lib/jed.conf || die
+ eapply_user
+}
+
+src_configure() {
+ econf \
+ $(use_enable gpm) \
+ $(use_enable xft) \
+ JED_ROOT="${EPREFIX}"/usr/share/jed
+}
+
+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
+}
diff --git a/app-editors/jed/metadata.xml b/app-editors/jed/metadata.xml
new file mode 100644
index 000000000000..dddc90ecac90
--- /dev/null
+++ b/app-editors/jed/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>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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/jedit/Manifest b/app-editors/jedit/Manifest
new file mode 100644
index 000000000000..e18bb3da8221
--- /dev/null
+++ b/app-editors/jedit/Manifest
@@ -0,0 +1,2 @@
+DIST jedit5.2.0source.tar.bz2 2456541 BLAKE2B 82723b5e5670324fe3acff6d6958a83331bf67ab5453eaa1109de192586e4bcce3832456fdfd493e233f30ccbbf256e48b60398f256d9cf4c0cc366816d8b23f SHA512 5af99ac864dd70701f24435840e26f73077ba02d155319965122bd24871e6825b82383054d29dfec72bbbedaac72bfb2d86097de6a0c79341f0a279dacd60126
+DIST jedit5.4.0source.tar.bz2 2535992 BLAKE2B 1560f680437e89cea789f2b0540225b0cbf92bc22f975c6d1850a7b3aa06a2b95d61a254fd0d4c0e7da916ee9de3a095ab5190ae5df3ad27e55c2f0ccef57db2 SHA512 2120370c54f8bd415f90b979c42bfca6101f76ba33f0ec6a8172adeb33173ba9c73cbd7f06b5dc8c12aa3eedf51f007752cdbf0c7423d77a1ac591beb5493112
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..6a686a6f4a72
--- /dev/null
+++ b/app-editors/jedit/files/jedit-5.4.0-build-xml.patch
@@ -0,0 +1,11 @@
+--- a/build.xml
++++ b/build.xml
+@@ -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..3d842a2ef6be
--- /dev/null
+++ b/app-editors/jedit/jedit-5.2.0-r1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+JAVA_PKG_IUSE="doc test"
+
+inherit eutils java-pkg-2 java-ant-2 xdg-utils
+
+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() {
+ xdg_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
+ xdg_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..42744cd248a8
--- /dev/null
+++ b/app-editors/jedit/jedit-5.4.0.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+JAVA_PKG_IUSE="doc test"
+
+inherit eutils java-pkg-2 java-ant-2 xdg-utils
+
+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
+
+ eapply "${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() {
+ xdg_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
+ xdg_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..ca2f80a5cd76
--- /dev/null
+++ b/app-editors/jedit/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>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">jedit</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/jext/Manifest b/app-editors/jext/Manifest
new file mode 100644
index 000000000000..8780b631e4c9
--- /dev/null
+++ b/app-editors/jext/Manifest
@@ -0,0 +1 @@
+DIST jext-sources-5.0.tar.gz 1029772 BLAKE2B 632fca6aa3ff55979f1dee9fefd1505e0e19b38ca1ee0530472edd9fee95157df9cba56abb4ce4790807766d318a6d0ce29decb9b4a73d103bfe8127886fdf9d SHA512 ac66babfca05d112541e40b0aa8ebde33a69a3a97f42966be24a28232d3c100b9fe8007e26618909fd78111d3eb4ddecc2258599bff40e0e1959ea6632f43682
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..bec3821aed57
--- /dev/null
+++ b/app-editors/jext/jext-5.0-r2.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2020 Gentoo Authors
+# 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..3e8235162fad
--- /dev/null
+++ b/app-editors/jext/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>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">jext</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/joe/Manifest b/app-editors/joe/Manifest
new file mode 100644
index 000000000000..15f8bc779608
--- /dev/null
+++ b/app-editors/joe/Manifest
@@ -0,0 +1,4 @@
+DIST joe-4.2.tar.gz 1341048 BLAKE2B 112163e67311051dad8714e19cdee1a11ff3bbe297341c89a4023f7d68fac7eecde57d1d522f72407b0a77c227c7af424ce20567c0c47dea6c14ac41f2f2301b SHA512 7c34f4467d89330ac195cfa76481d9ede4ee3764d0b1b24d091d1e6325bff451d2a9bc9f86a73404c9909587bcbe3e0c14511b739ec121edb7595ea1fcba028f
+DIST joe-4.3.tar.gz 1270523 BLAKE2B 442e05dd29a0a8d4a26500c89a2cafee88bf2d1ed00a4cb539d940e2e849456e6c4c5bf347b4803ee02ab38311b225cc8034177a1e0b7a1967a2629fd283b7e2 SHA512 a711ce129518863856b8f581ac7acdd7661f5e571cb77c5411317e0db0344c9ba44e73ec2ca9a307e639170a7914d53352eebcd00a33c9270809551f12376e69
+DIST joe-4.4.tar.gz 1350062 BLAKE2B eb58117e313ef4abc31026a2800f2b9258c12d0d865c768138ec42a97c1f7fedcd8e397f7aaf13f8bb3776f2571d5a85e27ea7f9a6fbd6710d935a2b80afcd1f SHA512 ef31443dda30569c5193cd1907e06f1caba349f746dedf3611b5527080e49a4026001d3d06629f3c9c712ae9265866efbdbba6f51d110c0e6ee95f39f0e3059d
+DIST joe-4.6.tar.gz 1895046 BLAKE2B fbf53d3b5b066cb32bb26b08d7d314a3bb89ac5ae22db498cdf3597bf8cb322bd9aa05543debd47ac7380a33982c388e13f38c60747503494c582393ae8eb13d SHA512 3dd64a994fb3d352a12bf027ef16d57d14ac2577fd63fb6b6e25cae46052befaa7c15dc029bff2f8c3275df90f0343bd46313601055d97277ea4540e109fbe82
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/files/joe-4.6-db.patch b/app-editors/joe/files/joe-4.6-db.patch
new file mode 100644
index 000000000000..6270e9045cd8
--- /dev/null
+++ b/app-editors/joe/files/joe-4.6-db.patch
@@ -0,0 +1,11 @@
+--- a/desktop/Makefile.am 2018-01-15 12:01:12.624449958 +0100
++++ b/desktop/Makefile.am 2018-01-15 12:01:38.964448343 +0100
+@@ -1,8 +1,2 @@
+ desktopdir = $(datarootdir)/applications
+ dist_desktop_DATA = joe.desktop jmacs.desktop jstar.desktop jpico.desktop
+-
+-update-databases:
+- -update-desktop-database $(desktopdir)
+-
+-install-data-hook: update-databases
+-uninstall-hook: update-databases
diff --git a/app-editors/joe/joe-4.2.ebuild b/app-editors/joe/joe-4.2.ebuild
new file mode 100644
index 000000000000..913080d78e83
--- /dev/null
+++ b/app-editors/joe/joe-4.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2020 Gentoo Authors
+# 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 ~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..59e1e2d38a2c
--- /dev/null
+++ b/app-editors/joe/joe-4.3-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2020 Gentoo Authors
+# 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 ~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..59e1e2d38a2c
--- /dev/null
+++ b/app-editors/joe/joe-4.4.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2020 Gentoo Authors
+# 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 ~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.6.ebuild b/app-editors/joe/joe-4.6.ebuild
new file mode 100644
index 000000000000..dcd75491611a
--- /dev/null
+++ b/app-editors/joe/joe-4.6.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools gnome2-utils
+
+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 ~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 )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.3-tinfo.patch"
+ "${FILESDIR}/${P}-db.patch"
+)
+
+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
+ 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() {
+ xdg_desktop_database_update
+ gnome2_icon_cache_update
+ 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
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ gnome2_icon_cache_update
+}
diff --git a/app-editors/joe/metadata.xml b/app-editors/joe/metadata.xml
new file mode 100644
index 000000000000..0e916bc499ba
--- /dev/null
+++ b/app-editors/joe/metadata.xml
@@ -0,0 +1,26 @@
+<?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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/jove/Manifest b/app-editors/jove/Manifest
new file mode 100644
index 000000000000..f8f0ce69df7f
--- /dev/null
+++ b/app-editors/jove/Manifest
@@ -0,0 +1 @@
+DIST jove4.16.0.73.tgz 465214 BLAKE2B cc1eeca2cdbd7ca98a5deaf27c37bfcdc529f2b388361e0cd5fd6278b72740a06283abd1f60212e6dc0d1e540e4dc4d99edb99b781645b13e1675644db0f38eb SHA512 2198504f9a23590710acba7f27661fa5649fdbed559a4c6bde9d2c1d673c22ce7d99a690be45a4602d37cf6e70399230c4ae3a251d8451af0c5252bdca61b09d
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-r1.ebuild b/app-editors/jove/jove-4.16.0.73-r1.ebuild
new file mode 100644
index 000000000000..c6f1bdcef2e3
--- /dev/null
+++ b/app-editors/jove/jove-4.16.0.73-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit 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:0="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.16.0.70.3.1-getline.patch
+ "${FILESDIR}"/${P}-build.patch
+ "${FILESDIR}"/${P}-sendmail.patch
+ "${FILESDIR}"/${P}-doc.patch
+)
+
+src_compile() {
+ tc-export CC
+
+ emake OPTFLAGS="${CFLAGS}" \
+ SYSDEFS="-DSYSVR4 -D_XOPEN_SOURCE=500 -D_XOPEN_STREAMS=-1" \
+ 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..97dbdfae59f3
--- /dev/null
+++ b/app-editors/jove/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>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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/juffed/Manifest b/app-editors/juffed/Manifest
new file mode 100644
index 000000000000..b159d5aa78fc
--- /dev/null
+++ b/app-editors/juffed/Manifest
@@ -0,0 +1 @@
+DIST juffed-0.10_p20160323.tar.gz 1617451 BLAKE2B 497a117d587fb1d6eb819bdc1cc403a660b808fa07d03fbfa74362c195aafc98733653fa5d7e28803df2bd4d8acb34a3c0d979395c1a6122631cee40d37e2239 SHA512 a49837b199db35c5e7a7580aa4025a2c056b55cef6e98e22f239fc9e455cde3a451d6a0971fb02697c63f3f156d85aaf8021ea13ea3a9e6867ae419f772484b5
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.3.patch b/app-editors/juffed/files/juffed-0.10_p20160323-qscintilla-2.10.3.patch
new file mode 100644
index 000000000000..f4a22957480d
--- /dev/null
+++ b/app-editors/juffed/files/juffed-0.10_p20160323-qscintilla-2.10.3.patch
@@ -0,0 +1,71 @@
+From 49b6982336ad127b2b780d2ae7c1be1104d9dae5 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Tue, 10 Apr 2018 20:31:38 +0200
+Subject: [PATCH] Fix build with QScintilla-2.10.3
+
+---
+ src/app/qsci/lexers/qscilexerada.h | 3 ---
+ src/app/qsci/lexers/qscilexerhaskell.h | 3 ---
+ src/app/qsci/lexers/qscilexerlisp.h | 3 ---
+ src/app/qsci/lexers/qscilexernsis.h | 3 ---
+ 4 files changed, 12 deletions(-)
+
+diff --git a/src/app/qsci/lexers/qscilexerada.h b/src/app/qsci/lexers/qscilexerada.h
+index 984f97e..30c6646 100644
+--- a/src/app/qsci/lexers/qscilexerada.h
++++ b/src/app/qsci/lexers/qscilexerada.h
+@@ -3,9 +3,6 @@
+
+ #include <Qsci/qscilexer.h>
+
+-// located in SciLexer.h
+-#define SCLEX_ADA 20
+-
+ #define SCE_ADA_DEFAULT 0
+ #define SCE_ADA_WORD 1
+ #define SCE_ADA_IDENTIFIER 2
+diff --git a/src/app/qsci/lexers/qscilexerhaskell.h b/src/app/qsci/lexers/qscilexerhaskell.h
+index 78c8978..56a3614 100644
+--- a/src/app/qsci/lexers/qscilexerhaskell.h
++++ b/src/app/qsci/lexers/qscilexerhaskell.h
+@@ -3,9 +3,6 @@
+
+ #include <Qsci/qscilexer.h>
+
+-// located in SciLexer.h
+-#define SCLEX_HASKELL 68
+-
+ #define SCE_HA_DEFAULT 0
+ #define SCE_HA_IDENTIFIER 1
+ #define SCE_HA_KEYWORD 2
+diff --git a/src/app/qsci/lexers/qscilexerlisp.h b/src/app/qsci/lexers/qscilexerlisp.h
+index 5b43d74..6e5dc32 100644
+--- a/src/app/qsci/lexers/qscilexerlisp.h
++++ b/src/app/qsci/lexers/qscilexerlisp.h
+@@ -3,9 +3,6 @@
+
+ #include <Qsci/qscilexer.h>
+
+-// located in SciLexer.h
+-#define SCLEX_LISP 21
+-
+ #define SCE_LISP_DEFAULT 0
+ #define SCE_LISP_COMMENT 1
+ #define SCE_LISP_NUMBER 2
+diff --git a/src/app/qsci/lexers/qscilexernsis.h b/src/app/qsci/lexers/qscilexernsis.h
+index 8b009ec..06efc40 100644
+--- a/src/app/qsci/lexers/qscilexernsis.h
++++ b/src/app/qsci/lexers/qscilexernsis.h
+@@ -3,9 +3,6 @@
+
+ #include <Qsci/qscilexer.h>
+
+-// located in SciLexer.h
+-#define SCLEX_NSIS 43
+-
+ #define SCE_NSIS_DEFAULT 0
+ #define SCE_NSIS_COMMENT 1
+ #define SCE_NSIS_STRINGDQ 2
+--
+2.17.0
+
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/files/juffed-0.10_p20160323-qt-5.11.patch b/app-editors/juffed/files/juffed-0.10_p20160323-qt-5.11.patch
new file mode 100644
index 000000000000..4dfa7fae31f7
--- /dev/null
+++ b/app-editors/juffed/files/juffed-0.10_p20160323-qt-5.11.patch
@@ -0,0 +1,28 @@
+From cb10c88a091c62c29054138a2da69d05cbf1e406 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Tue, 10 Apr 2018 19:43:17 +0200
+Subject: [PATCH] Fix build with Qt 5.11
+
+---
+ plugins/keybindings/KeysPage.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/plugins/keybindings/KeysPage.cpp b/plugins/keybindings/KeysPage.cpp
+index 6579e3e..e68b039 100644
+--- a/plugins/keybindings/KeysPage.cpp
++++ b/plugins/keybindings/KeysPage.cpp
+@@ -1,9 +1,10 @@
+ #include "KeysPage.h"
+
+-#include <QPushButton>
++#include <QAction>
+ #include <QHeaderView>
+ #include <QKeyEvent>
+ #include <QMessageBox>
++#include <QPushButton>
+
+ #include "KeySettings.h"
+ #include "Log.h"
+--
+2.17.0
+
diff --git a/app-editors/juffed/juffed-0.10_p20160323-r1.ebuild b/app-editors/juffed/juffed-0.10_p20160323-r1.ebuild
new file mode 100644
index 000000000000..955c950bbf9e
--- /dev/null
+++ b/app-editors/juffed/juffed-0.10_p20160323-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+COMMIT=5ba17f90ec173e773470bc80ea26bca9a3f093fd
+inherit cmake xdg
+
+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 )
+
+S="${WORKDIR}/Mezomish-${PN}-5ba17f9"
+
+PATCHES=(
+ "${FILESDIR}/${P}-qscintilla-2.10.patch"
+ "${FILESDIR}/${P}-qt-5.11.patch"
+ "${FILESDIR}/${P}-qscintilla-2.10.3.patch"
+)
+
+src_prepare() {
+ # Upstream version outdated/dysfunctional and CRLF terminated
+ cp "${FILESDIR}"/FindQtSingleApplication.cmake cmake/ || die
+
+ cmake_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_src_configure
+}
diff --git a/app-editors/juffed/metadata.xml b/app-editors/juffed/metadata.xml
new file mode 100644
index 000000000000..7e0b5444a013
--- /dev/null
+++ b/app-editors/juffed/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>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">juffed</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/jupp/Manifest b/app-editors/jupp/Manifest
new file mode 100644
index 000000000000..b64114a80130
--- /dev/null
+++ b/app-editors/jupp/Manifest
@@ -0,0 +1,2 @@
+DIST joe-3.1jupp30.tgz 468421 BLAKE2B 630ef1cd3f3c73060b331126ec8e6a24d7277b3f2bfb293eb6110d1dade34ffe6efc502d0985e603b2c86a10bf27faa6151e28b777189332b805e387b756dea6 SHA512 673d48da41f61797d6aeb548e62720d1a60e3e000445558be88fb0d7ca8a1a7ce7c8bdd5b5bd58ac2c16d46dd4541da7922999256669f693a570a11562d6550f
+DIST joe-3.1jupp38.tgz 498068 BLAKE2B 46909c5f0f14b1d0ec30219b8ddfe9c0ad76b726f7178f7527ad5fad0cec40b7ac663e93645187220280572fa3bbde9bcb621f8816672e69c36587410fd98c7f SHA512 1d21ee5bbd1a042c58a89dd2bed8ec711c59fc383ff0dfd94d3a0eaccb999734915abc202e2112c5d573d8073e748b8024cd710b21803fed7422f5a8bccbc0c5
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/jupp-3.1_p38.ebuild b/app-editors/jupp/jupp-3.1_p38.ebuild
new file mode 100644
index 000000000000..d8bdab27bf57
--- /dev/null
+++ b/app-editors/jupp/jupp-3.1_p38.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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}"
+DOCS="HINTS INFO LIST NEWS README TODO"
+
+src_prepare() {
+ default
+ chmod +x configure || die
+}
+
+src_configure() {
+ econf \
+ --enable-search_libs \
+ --enable-termcap \
+ $(use_enable ncurses curses)
+}
diff --git a/app-editors/jupp/metadata.xml b/app-editors/jupp/metadata.xml
new file mode 100644
index 000000000000..8f81f25de523
--- /dev/null
+++ b/app-editors/jupp/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 type="project">
+ <email>emacs@gentoo.org</email>
+ <name>Gentoo Emacs project</name>
+</maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/kakoune/Manifest b/app-editors/kakoune/Manifest
new file mode 100644
index 000000000000..0db2cd0fc5e8
--- /dev/null
+++ b/app-editors/kakoune/Manifest
@@ -0,0 +1,2 @@
+DIST kakoune-2020.01.16.tar.gz 579837 BLAKE2B 46abfd7f2bf2db6f9755a5b4f547e63e72ac7eef46ad0903dac08d0f422774632ac5aa3dc1e6c69aa6f0527bdff0ea1792574933ceb35b2495927f747be94aaf SHA512 81a0fb522fd7f289ede36f966e815d03550df389b05d27fa430474dd55a90cc0e1c5231e660328040f3bd79d155d37b7b135b52b93cee536c15d13fc9d06baa0
+DIST kakoune-2020.01.16_p20200601.tar.gz 597946 BLAKE2B c3d831132e29ea46c4c92a942eae1b9eeaa30c68e17e7178b00277f45fdf76784386801627125c653b50507ebebcad282512446c0cff94f7234013aa8a17efd1 SHA512 b137fa71a151e80da50bfd980a264d1d0aa98d48e585794eb1429196a6c81ef51277cc15d5db015ce8550c1cf0d6fa29f5cdeefd3930e90e2a0480dd7bbe5bf8
diff --git a/app-editors/kakoune/files/kakoune-2020.01.16-enable-ebuild-syntax-highlight.patch b/app-editors/kakoune/files/kakoune-2020.01.16-enable-ebuild-syntax-highlight.patch
new file mode 100644
index 000000000000..726968e0e8c6
--- /dev/null
+++ b/app-editors/kakoune/files/kakoune-2020.01.16-enable-ebuild-syntax-highlight.patch
@@ -0,0 +1,15 @@
+diff -Naur a/rc/filetype/sh.kak b/rc/filetype/sh.kak
+--- a/rc/filetype/sh.kak 2020-01-16 11:52:20.000000000 +0200
++++ b/rc/filetype/sh.kak 2020-05-25 15:50:20.417809942 +0300
+@@ -2,6 +2,11 @@
+ set-option buffer filetype sh
+ }
+
++hook global BufCreate .*\.ebuild %{
++ set-option buffer filetype sh
++}
++
++
+ hook global WinSetOption filetype=sh %{
+ require-module sh
+ set-option window static_words %opt{sh_static_words}
diff --git a/app-editors/kakoune/kakoune-2020.01.16-r1.ebuild b/app-editors/kakoune/kakoune-2020.01.16-r1.ebuild
new file mode 100644
index 000000000000..26d369bdf441
--- /dev/null
+++ b/app-editors/kakoune/kakoune-2020.01.16-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Modal editor inspired by vim"
+HOMEPAGE="http://kakoune.org/ https://github.com/mawww/kakoune"
+SRC_URI="https://github.com/mawww/kakoune/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+
+DEPEND="sys-libs/ncurses:0=[unicode]"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/kakoune-2020.01.16-enable-ebuild-syntax-highlight.patch )
+
+src_configure() { :; }
+
+src_compile() {
+ cd src/ || die
+
+ emake all
+}
+
+src_test() {
+ cd src/ || die
+ emake test
+}
+
+src_install() {
+ emake PREFIX="${D}"/usr docdir="${D}/usr/share/doc/${PF}" install
+
+ rm "${D}/usr/share/man/man1/kak.1.gz" || die
+ doman doc/kak.1
+}
diff --git a/app-editors/kakoune/kakoune-2020.01.16_p20200601.ebuild b/app-editors/kakoune/kakoune-2020.01.16_p20200601.ebuild
new file mode 100644
index 000000000000..bcbba4882812
--- /dev/null
+++ b/app-editors/kakoune/kakoune-2020.01.16_p20200601.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_COMMIT="6fa26b8dd2ac0931fe688370728c47086277d883"
+
+DESCRIPTION="Modal editor inspired by vim"
+HOMEPAGE="http://kakoune.org/ https://github.com/mawww/kakoune"
+SRC_URI="https://github.com/mawww/kakoune/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+
+DEPEND="sys-libs/ncurses:0=[unicode]"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/kakoune-2020.01.16-enable-ebuild-syntax-highlight.patch )
+
+S="${WORKDIR}/kakoune-${MY_COMMIT}"
+
+src_configure() { :; }
+
+src_compile() {
+ cd src/ || die
+ emake all
+}
+
+src_test() {
+ cd src/ || die
+ emake test
+}
+
+src_install() {
+ emake PREFIX="${D}"/usr docdir="${D}/usr/share/doc/${PF}" install
+
+ rm "${D}/usr/share/man/man1/kak.1.gz" || die
+ doman doc/kak.1
+}
diff --git a/app-editors/kakoune/metadata.xml b/app-editors/kakoune/metadata.xml
new file mode 100644
index 000000000000..d394b53304bb
--- /dev/null
+++ b/app-editors/kakoune/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">mawww/kakoune</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/kile/Manifest b/app-editors/kile/Manifest
new file mode 100644
index 000000000000..83e824de2f59
--- /dev/null
+++ b/app-editors/kile/Manifest
@@ -0,0 +1 @@
+DIST kile-2.9.93.tar.bz2 8580239 BLAKE2B a43f160240dfdffc23c6898385994ee4e49e1f3d793915d1f392e41f606350269f2b9e80592c373680adb56454510abdd0b7e69131f20737fb5efa54d4eaa111 SHA512 d87277b8ef16c82cfd415dd191916641fa1a25e316e1eb2c463b275d3654dcfe180bea03027589ab30cd8b769d92d97005846a78aff8058bcfb20eed76287504
diff --git a/app-editors/kile/files/kile-2.9.93-cmake.patch b/app-editors/kile/files/kile-2.9.93-cmake.patch
new file mode 100644
index 000000000000..94e39c463517
--- /dev/null
+++ b/app-editors/kile/files/kile-2.9.93-cmake.patch
@@ -0,0 +1,20 @@
+I know upstream wants to help us but it doesn't work...
+
+--- a/CMakeLists.txt 2019-10-19 14:23:41.000000000 +0200
++++ b/CMakeLists.txt 2019-10-20 15:50:52.606325681 +0200
+@@ -116,15 +116,6 @@
+ kile2.0-5_upd.pl
+ DESTINATION ${KDE_INSTALL_DATAROOTDIR}/kconf_update)
+
+-install(FILES
+- AUTHORS
+- ChangeLog
+- README
+- README.cwl
+- kile-remote-control.txt
+- README.MacOSX
+- DESTINATION ${KDE_INSTALL_DATAROOTDIR}/doc/kile)
+-
+ feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
+ find_package(KF5I18n CONFIG REQUIRED)
+ ki18n_install(po)
diff --git a/app-editors/kile/kile-2.9.93.ebuild b/app-editors/kile/kile-2.9.93.ebuild
new file mode 100644
index 000000000000..e13393daca2f
--- /dev/null
+++ b/app-editors/kile/kile-2.9.93.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ECM_HANDBOOK="forceoptional"
+KFMIN=5.60.0
+QTMIN=5.12.3
+inherit ecm kde.org
+
+DESCRIPTION="Latex Editor and TeX shell based on KDE Frameworks"
+HOMEPAGE="https://kile.sourceforge.io/"
+
+if [[ ${KDE_BUILD_TYPE} == release ]]; then
+ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+ KEYWORDS="amd64 x86"
+fi
+
+LICENSE="FDL-1.2 GPL-2"
+SLOT="5"
+IUSE="+pdf +png"
+
+DEPEND="
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtscript-${QTMIN}:5
+ >=dev-qt/qttest-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=kde-apps/okular-19.04.3:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kcrash-${KFMIN}:5
+ >=kde-frameworks/kdbusaddons-${KFMIN}:5
+ >=kde-frameworks/kdoctools-${KFMIN}:5
+ >=kde-frameworks/kguiaddons-${KFMIN}:5
+ >=kde-frameworks/khtml-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kiconthemes-${KFMIN}:5
+ >=kde-frameworks/kinit-${KFMIN}:5
+ >=kde-frameworks/kio-${KFMIN}:5
+ >=kde-frameworks/kparts-${KFMIN}:5
+ >=kde-frameworks/ktexteditor-${KFMIN}:5
+ >=kde-frameworks/kwindowsystem-${KFMIN}:5
+ >=kde-frameworks/kxmlgui-${KFMIN}:5
+ pdf? ( app-text/poppler[qt5] )
+"
+RDEPEND="${DEPEND}
+ !app-editors/kile:4
+ >=kde-apps/konsole-19.04.3:5
+ >=kde-apps/okular-19.04.3:5[pdf?]
+ virtual/latex-base
+ virtual/tex-base
+ pdf? (
+ >=app-text/texlive-core-2014
+ app-text/ghostscript-gpl
+ )
+ png? (
+ app-text/dvipng
+ virtual/imagemagick-tools[png?]
+ )
+"
+
+DOCS=( AUTHORS ChangeLog kile-remote-control.txt README{,.cwl} )
+
+PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package pdf Poppler)
+ )
+ ecm_src_configure
+}
diff --git a/app-editors/kile/metadata.xml b/app-editors/kile/metadata.xml
new file mode 100644
index 000000000000..2a3d3778cbec
--- /dev/null
+++ b/app-editors/kile/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>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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/kilo/Manifest b/app-editors/kilo/Manifest
new file mode 100644
index 000000000000..b0c677d0d022
--- /dev/null
+++ b/app-editors/kilo/Manifest
@@ -0,0 +1 @@
+DIST 62b099af00b542bdb08471058d527af258a349cf.tar.gz 12949 BLAKE2B fd98469291e59b4acbdb87b7db62d2d2ee0a7501a153ee4ddb31b1ed7cc1bb6188d8621a9ff1dcb808fb44be4a93486f03f6c1a0a411999b25a470023622ce6e SHA512 37af5e2bed4abec63ee44413853b25cc35a467cb68b8c30c7e5eea0d8108023a61c1023e2bac9b05f90707007d90a746950baf14d016d3ce260f3e84471b09df
diff --git a/app-editors/kilo/kilo-1.0.ebuild b/app-editors/kilo/kilo-1.0.ebuild
new file mode 100644
index 000000000000..023cf1732cd0
--- /dev/null
+++ b/app-editors/kilo/kilo-1.0.ebuild
@@ -0,0 +1,17 @@
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="A text editor in less than 1000 LOC with syntax highlight and search."
+HOMEPAGE="https://github.com/antirez/kilo"
+SRC_URI="https://github.com/antirez/kilo/archive/62b099af00b542bdb08471058d527af258a349cf.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S=${WORKDIR}/kilo-62b099af00b542bdb08471058d527af258a349cf
+
+src_install() {
+ dobin kilo
+}
diff --git a/app-editors/le/Manifest b/app-editors/le/Manifest
new file mode 100644
index 000000000000..8af4fd9621b0
--- /dev/null
+++ b/app-editors/le/Manifest
@@ -0,0 +1,4 @@
+DIST le-1.14.3.tar.lzma 392205 BLAKE2B 81dca0bbfa2b23a7bc66103dae3aaecdb50651ab9305d812ad3e838953a60494b4b562219d2fb4a03c9737f96f5f75277c8d0e96ff01448b739c12e44e62a0e8 SHA512 5f09680ba365d80a71dcb09975d2347c0dcb725b8db6c08588fadd82a3a844bd370c3de597b644c57ecfed1c4557d22544a6e9aee6323b1e43f6d8c423843339
+DIST le-1.16.1.tar.gz 977143 BLAKE2B 4dcba27bd3c0add2ced4209da618070e201bedfe333fa99951720144048c5a26d3d691ff244b64d3e8dfa4f42a598767b78ff601a7f2f0ce0e069a316d6ee0e0 SHA512 77dda0a3c9cf98d9775937373eed2489f22b641ed870f3152cd59dacff373844f5d8d85f4df864c396b812995625bcdb8f5444de93336495ecb1ea7df27e464e
+DIST le-1.16.3.tar.gz 985541 BLAKE2B 9b205f14fae619a7ef355eeacd91a3fd3e093f2f53db607b0b71b16805536780fce4f932173987332924c1e392eba6e5e338d986459502c7eaa0223a70a63db3 SHA512 b1ee5440fb71f4214170bc0a1654b68671bac5f08b38e62fdeeaeab2710365aff7cb7c3d13aecbc052b8596c95d7caadd6b3347f9bcb8cc5272a4639856ae46d
+DIST le-1.16.5.tar.gz 1012934 BLAKE2B c3e037f701e5e8916258fd55a02550f0bae42f56a0a464c7e45e5365e89475bd76ee74aae48cbdb7f5c8d7a665279a63a885007a88a556e86bec875584438f0a SHA512 2c74267f9d02944e0c72f109d9be024d1ec1de84dd6f381f7f8667be1d68b8ebd107ac970f1901f2c77e3150897562d42b9b10ec321356ca1e1ee45728941660
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/le-1.16.5.ebuild b/app-editors/le/le-1.16.5.ebuild
new file mode 100644
index 000000000000..1ae40439e62c
--- /dev/null
+++ b/app-editors/le/le-1.16.5.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2019 Gentoo Authors
+# 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"
+
+DOCS="AUTHORS ChangeLog FEATURES HISTORY INSTALL NEWS README THANKS TODO"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+
+RDEPEND="sys-libs/ncurses:0="
+DEPEND="${RDEPEND}"
+
+src_install() {
+ emake DESTDIR="${D}" install
+ einstalldocs
+}
diff --git a/app-editors/le/metadata.xml b/app-editors/le/metadata.xml
new file mode 100644
index 000000000000..497636451b2c
--- /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>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/leafpad/Manifest b/app-editors/leafpad/Manifest
new file mode 100644
index 000000000000..ceb7534b547e
--- /dev/null
+++ b/app-editors/leafpad/Manifest
@@ -0,0 +1 @@
+DIST leafpad-0.8.18.1.tar.gz 289117 BLAKE2B 41f01f9b9e031c749a4b1a06d32edbcf9b0f0a694141c79bb462fce29d59f87efa52bc4a7faf270ce28f04697deb6350fe4e26317d28450d7d785a01007c06c2 SHA512 1caad712967f634f585ab32e406534b5ce2c5621008c1eb5b2b48f17ca0f48cd834ea2ea1c67eda4053fa84e8727ff0e708e99d3b5dad838dcf0701389788257
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..6aaf4352632b
--- /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
+
+--- a/data/leafpad.desktop.in
++++ b/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..4ea3b39fde02
--- /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]
+
+--- a/src/dialog.c
++++ b/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),
+--- a/src/gtkprint.c
++++ b/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/files/leafpad-0.8.18.1-truncate.patch b/app-editors/leafpad/files/leafpad-0.8.18.1-truncate.patch
new file mode 100644
index 000000000000..872792199c80
--- /dev/null
+++ b/app-editors/leafpad/files/leafpad-0.8.18.1-truncate.patch
@@ -0,0 +1,20 @@
+diff --git a/src/file.c b/src/file.c
+index 5e44a43..4c90a37 100644
+--- a/src/file.c
++++ b/src/file.c
+@@ -190,6 +190,7 @@ gint file_save_real(GtkWidget *view, FileInfo *fi)
+ gtk_text_buffer_get_start_iter(buffer, &start);
+ gtk_text_buffer_get_end_iter(buffer, &end);
+ str = gtk_text_buffer_get_text(buffer, &start, &end, FALSE);
++ gtk_text_buffer_set_modified(buffer, FALSE);
+
+ switch (fi->lineend) {
+ case CR:
+@@ -229,7 +230,6 @@ gint file_save_real(GtkWidget *view, FileInfo *fi)
+ return -1;
+ }
+
+- gtk_text_buffer_set_modified(buffer, FALSE);
+ fclose(fp);
+ g_free(cstr);
+
diff --git a/app-editors/leafpad/leafpad-0.8.18.1-r1.ebuild b/app-editors/leafpad/leafpad-0.8.18.1-r1.ebuild
new file mode 100644
index 000000000000..c53c582660ba
--- /dev/null
+++ b/app-editors/leafpad/leafpad-0.8.18.1-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit xdg
+
+DESCRIPTION="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"
+
+BDEPEND="
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+DEPEND="
+ virtual/libintl
+ x11-libs/gtk+:2
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fdo.patch
+ "${FILESDIR}"/${P}-format-security.patch
+
+ # https://bugs.gentoo.org/657462
+ "${FILESDIR}"/${P}-truncate.patch
+)
+
+src_configure() {
+ econf \
+ --enable-chooser \
+ --enable-print \
+ $(use_enable emacs)
+}
diff --git a/app-editors/leafpad/metadata.xml b/app-editors/leafpad/metadata.xml
new file mode 100644
index 000000000000..2a801625ef81
--- /dev/null
+++ b/app-editors/leafpad/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-->
+ <use>
+ <flag name="emacs">Enable Emacs key theme</flag>
+ </use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/leo/Manifest b/app-editors/leo/Manifest
new file mode 100644
index 000000000000..db9ba9583b85
--- /dev/null
+++ b/app-editors/leo/Manifest
@@ -0,0 +1 @@
+DIST leo-5.6.tar.gz 9255687 BLAKE2B 46a9aa1d90a1663ece57731b3685def3bf050f2c398310aca9d24c07256d23e40a94e505c43bd90c6c5a58fda2021409d3e6510eddd5a1bc0533273c45495475 SHA512 c9f6583be4f6a76d781adccc4076782c6f136b1057796228a398cd31c92d61e1b7a86d151f36352c6b1f677bb3d298b6f347c9874e3782c645fdb6ee38747955
diff --git a/app-editors/leo/leo-5.6.ebuild b/app-editors/leo/leo-5.6.ebuild
new file mode 100644
index 000000000000..2ee3cdc76dc0
--- /dev/null
+++ b/app-editors/leo/leo-5.6.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_P="${PN}-editor-${PV}"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQUIRED_USE="tk"
+inherit distutils-r1
+
+DESCRIPTION="Leo: Literate Editor with Outlines"
+HOMEPAGE="https://github.com/leo-editor/leo-editor/"
+SRC_URI="https://github.com/leo-editor/leo-editor/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+RDEPEND="
+ app-text/silvercity[${PYTHON_USEDEP}]
+ dev-python/PyQt5[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ cp leo/dist/setup.py leo/dist/leo-install.py . || die
+}
+
+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..c26f503a694a
--- /dev/null
+++ b/app-editors/leo/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-needed -->
+ <upstream>
+ <remote-id type="github">leo-editor/leo-editor</remote-id>
+ <remote-id type="sourceforge">leo</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/levee/Manifest b/app-editors/levee/Manifest
new file mode 100644
index 000000000000..4374662abc16
--- /dev/null
+++ b/app-editors/levee/Manifest
@@ -0,0 +1 @@
+DIST levee-3.5a.tar.gz 67733 BLAKE2B 291b502a8c9581c2c0f2ca6714c17c86692067d5de66e987f8a7b506965a21ff149c6fe445532e9b065e40dd7e519d1ebc6b5ff69c5b4a4129138df224f71dfd SHA512 e95b4fc6370903dda07aff0a612c7f34425ab0b854d05a08f42b7e339d1a86a436316d31f3667748943e2ce2e68be7f2369e4a3b36c0715b00d31b8ab50cdaf1
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..965d248fd053
--- /dev/null
+++ b/app-editors/levee/levee-3.5a.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2017 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:0="
+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..d85b4252fc33
--- /dev/null
+++ b/app-editors/levee/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/lime-termbox/Manifest b/app-editors/lime-termbox/Manifest
new file mode 100644
index 000000000000..dc575ff16c4d
--- /dev/null
+++ b/app-editors/lime-termbox/Manifest
@@ -0,0 +1,11 @@
+DIST github.com-atotto-clipboard-dfde2702d6.tar.gz 3556 BLAKE2B 87dabf76d0c69cb59ea32539d8cdfe633ef699933bd65661beaae8b20483f9b11e19508fe352de62c926c4d8dfbee17f5d4d49552d7c11d278aa6c9dd719a6f6 SHA512 e02e3462dbc151b22d1a6c27deae236ba60a59bfa201185b590f57204abc02bd680bc705a3657f746db0ae0fa021f28d3f9980dbdc4d8475781954252f27e2ff
+DIST github.com-go-fsnotify-fsnotify-96c060f6a6.tar.gz 25658 BLAKE2B 5cf2668e2960746d1024e9adde9d2d224b7258fa688504be2727352c11a99cbe20e9d52cbc242d2efe4fe2f8b8869da62bd090d10505d40c9d04ff2c2d05181b SHA512 a8482a5fdbcfd0b7694f47891df97b8e270b2541b721e97536e3939174e49a78e54619f774007950fd58a99fd94482143cd57a1d7344fb679f15fb0f2d208aee
+DIST github.com-limetext-gopy-92b1bf5ab8.tar.gz 41986 BLAKE2B 404db89f8f720a113c687ab3dfcc1f478fa0464c49c95cbaebde215ccca9b7cba307d355ba16dcdba4442e705ae63e530a35f564ab4e9184546613a420bd99b7 SHA512 ffa0ff384168e73b20b02586cd1710a251bf55b5d83825d7425f95815da05c21ea61c5c9260c56760b62b57a5795a7ce2e9abbb209b56464c5be727b6e447327
+DIST github.com-limetext-lime-backend-57d076bbb9.tar.gz 277977 BLAKE2B 9ae8499bb0fe9bf96b53070aac244291d1fce0ad9f755bff0edae5dc9f6208f86ec29375369314631c4b3546e102838cd696786369614ef70f23f8d7d55ff251 SHA512 c1c0b7232d22c1bca91292b63cb8c37f4ff3359256bc4a5b77ef06e5e115408fd41e4e89356e882291cb80653c2141ffb2290af3a4249c57dc3e355576ab15a9
+DIST github.com-limetext-log4go-2aba105a60.tar.gz 16082 BLAKE2B de55234bcdca9f0869098d899f3ac0dce8c92dc5bdc8324f3bd7d0e6d93f49478431a07a69151341414c1cf7dca39e7335a0a3e61bd09279dbf383e36631dda3 SHA512 4db9de345d920ad840b0734a661848e594094e71202d0ce36ae69ff5173fdb4528630923391358361dce09e5ab20a5b878ed00151c47498084a60b297720e0ac
+DIST github.com-limetext-rubex-3fc130e580.tar.gz 14461 BLAKE2B c08223a999ec8cacbf69b299689e14ebf642ebb6d941dd7a61e808d333af61ab7939d1f49ec58ad2d415f3699fb73a30bab23163b9b49684906be0a57b431bad SHA512 38ee31a369491d0c4649985c620139b54c96bed637be92ee84d0f9a3b06a37f336989519ca5ef157cce6f7266913ff6bf2c1bf94ea07a290aba8c5e6425965c9
+DIST github.com-limetext-termbox-go-4eff9880a7.tar.gz 25798 BLAKE2B 1e0aa93af6761262c883e5e6f688f3ccb5ae047c7bd3aca90e6a680a87d382d5c14ff0051c8c75f835cfeb35703930bfdfcebe994a7d2148b59fee22636fafe7 SHA512 168ef9a7ed18efde902569c7f68c0a5b41c29c5a68c4035e06460275706f8ff20dabedcca3f372a033066a6e92d9c80456e0d6f184c9516447d70c0daa8945e0
+DIST github.com-limetext-text-d6b8f8c60f.tar.gz 87478 BLAKE2B 56eabf747eaa93545dde0ad20f1997aee41979f79825bf3a493769aac5abd2465a5e71cbdeb943b039d5254a9c0cf90097002974ca8a43c0b470cc7d90153a0b SHA512 11cca305f277f3a06cff8927f9bf961552af029a43b2f66a973cc02ec4c0591d992852e8498adc46154a58cf02af5b6a1a043d220dd17eb5e6030dfbe1eeb37d
+DIST github.com-mattn-go-runewidth-5890272cd4.tar.gz 5347 BLAKE2B 54140344ee1fb2680b9f3beed3d616afa9f05beb5613be3d57e14ebf8817524bdd81c8fcf37d51fa4dfb6e46e67d4b05da968c6e729f4aa17f3e4053a5e05a74 SHA512 445ef3bf154b5cbc672fddaf5842dd613077ebac52cc43ef81d52f898917556b41e3405006e2ad0a688f51b94ae213661fdfbc773b28bb4566cd275ba3d1dbac
+DIST github.com-quarnster-parser-ea90feb37b.tar.gz 38818 BLAKE2B e762b3ee5893303f5f524d5866aac61959ffe6f7167bb39b6c7bca99fb55746d891acb9355be83e7459f4129df9bc2261bd3c2ce4ebe6a20ed1c6eff4f8dd2f7 SHA512 7989f862290ff66ccc1cbec7722d51a7eac109d3994294bd001a00d835d386b63311035ef0081a6d1a21c9ef74af41e7087b0087edde1e3e5b5ade4fc097d699
+DIST lime-termbox-20150428.tar.gz 10220 BLAKE2B f21943c81a1438398d9f4aa0fdc0a2a8e7801f3f734d57a4da5f6f8bbc1c7882184409a618e18ec4773bc8753075feec3b5c48a490e1afe49ce628b9163c4cdb SHA512 e094e673b401bed960bab59c40b0114c18ccf657bb10b3143264f7cabe706aa3b3cb9f58f1956e3f20bcc632f4cf2159947cd349e51255ae177a3a483d37488c
diff --git a/app-editors/lime-termbox/lime-termbox-20150428.ebuild b/app-editors/lime-termbox/lime-termbox-20150428.ebuild
new file mode 100644
index 000000000000..ffbe5c03470f
--- /dev/null
+++ b/app-editors/lime-termbox/lime-termbox-20150428.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2020 Go Overlay Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+GOLANG_PKG_IMPORTPATH="github.com/limetext"
+GOLANG_PKG_VERSION="30af493eccd4f13442a5f22bdf87b0bf1787430b"
+GOLANG_PKG_BUILDPATH="/main"
+GOLANG_PKG_HAVE_TEST=1
+GOLANG_PKG_USE_CGO=1
+
+GOLANG_PKG_DEPENDENCIES=(
+ "github.com/limetext/lime-backend:57d076bbb9"
+ "github.com/limetext/termbox-go:4eff9880a7"
+ "github.com/atotto/clipboard:dfde2702d6"
+ "github.com/limetext/log4go:2aba105a60"
+ "github.com/limetext/rubex:3fc130e580"
+ "github.com/limetext/text:d6b8f8c60f"
+ "github.com/limetext/gopy:92b1bf5ab8"
+ "github.com/quarnster/parser:ea90feb37b"
+ "github.com/go-fsnotify/fsnotify:96c060f6a6 -> gopkg.in/fsnotify.v1"
+ "github.com/mattn/go-runewidth:5890272cd4"
+)
+
+inherit git-r3 golang-single
+
+GOLANG_PKG_VENDOR=(
+ "${S}/packages/GoSublime/"
+)
+
+EGIT_REPO_URI="git://github.com/limetext/lime-packages"
+EGIT_COMMIT="4fffef018f"
+EGIT_CHECKOUT_DIR="${S}/packages/"
+
+DESCRIPTION="Termbox frontend for Lime text editor."
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~arm"
+
+src_unpack() {
+ golang-single_src_unpack
+
+ # third-party dependencies
+ git-r3_src_unpack
+}
diff --git a/app-editors/lime-termbox/metadata.xml b/app-editors/lime-termbox/metadata.xml
new file mode 100644
index 000000000000..2727c597869e
--- /dev/null
+++ b/app-editors/lime-termbox/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>toffanin.mauro@gmail.com</email>
+ <name>Mauro Toffanin</name>
+ <description>Maintainer. Assign bugs to him</description>
+ </maintainer>
+ <origin>go-overlay</origin>
+</pkgmetadata>
diff --git a/app-editors/lpe/Manifest b/app-editors/lpe/Manifest
new file mode 100644
index 000000000000..36553d794ec2
--- /dev/null
+++ b/app-editors/lpe/Manifest
@@ -0,0 +1 @@
+DIST lpe_1.2.6.13-0.1.tar.gz 600523 BLAKE2B 8866aff63276d5e39ed48b4d9e8b9a23d541c13e196815c29586df83f8c6b5895a8dde8fb16b0929bffc49416907d74d48fdbc5ce736a855f2d2daad6472fb96 SHA512 f02769baca396285fe8f98c934f6274185d2bf8b08f3b007cbfa4e6aadb455abfb7cab13d53a3d1fa71ea0c29c4222784dcbc9a7508501c7d1839671503758ed
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..463f48e14e24
--- /dev/null
+++ b/app-editors/lpe/lpe-1.2.6.13.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils ltprune 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:0="
+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..d85b4252fc33
--- /dev/null
+++ b/app-editors/lpe/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</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..146459d9c677
--- /dev/null
+++ b/app-editors/mg/Manifest
@@ -0,0 +1,3 @@
+DIST mg-20171014.tar.gz 141045 BLAKE2B a5b3bda6ff3b6416093069b471762687c2279737aa05b297ccd3077aff195cf52831566768613a81dcc977a27ac5ffd6e8a1874aa1010b6d90f4c678b6825cee SHA512 d55818308421aa523fb30b6e4725bb122f37637a822fabafeba9f9da3b97fd7f6af6431fce3015c969d0e656a48e89ed49b790deefc69fbdbb7e257f8a1aeb56
+DIST mg-20180408.tar.gz 141988 BLAKE2B db7da46fb0160acf8695f05234ed0c8e9a45e4239dc3abd433ddfb8b66e2b1aa550ffc4b409486a8990881d791ed73269a8ab78f6846cd4f0bee67761c11d281 SHA512 25fceb18fcbe63010e7a2e107aa5c30356938be2e04ff48869a12b5018dbb83bcf4dc70b03674713516616037247952a51454a28ca418cdc7b020d1f415f8701
+DIST mg-20200215.tar.gz 152254 BLAKE2B 89e47aaa94fd95b9409a53b09c9017e26d3f1cc73ce616e1c29ed22fbaed42cb78e7c9fbcd2424d98f86725fb00cee5160be4fe40abc97a927201557b684f800 SHA512 c6cda5544210bc3d3fa3cbb8494e60949e10ed3716d96b76d0c9e7f5671c7a85f6e7e7a860cfd05466f1bf52112053c722441ff338210c0ada89f10515ac170a
diff --git a/app-editors/mg/metadata.xml b/app-editors/mg/metadata.xml
new file mode 100644
index 000000000000..618bacec1ac2
--- /dev/null
+++ b/app-editors/mg/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>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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/mg/mg-20171014.ebuild b/app-editors/mg/mg-20171014.ebuild
new file mode 100644
index 000000000000..da406b5556a2
--- /dev/null
+++ b/app-editors/mg/mg-20171014.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="MicroGnuEmacs, a port from the BSDs"
+HOMEPAGE="https://homepage.boetes.org/software/mg/"
+SRC_URI="https://homepage.boetes.org/software/mg/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~hppa ppc ~ppc64 sparc x86"
+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-20180408.ebuild b/app-editors/mg/mg-20180408.ebuild
new file mode 100644
index 000000000000..c1f6b5cda47e
--- /dev/null
+++ b/app-editors/mg/mg-20180408.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="MicroGnuEmacs, a port from the BSDs"
+HOMEPAGE="https://homepage.boetes.org/software/mg/"
+SRC_URI="https://github.com/hboetes/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~hppa ppc ~ppc64 sparc x86"
+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-20200215.ebuild b/app-editors/mg/mg-20200215.ebuild
new file mode 100644
index 000000000000..c1f6b5cda47e
--- /dev/null
+++ b/app-editors/mg/mg-20200215.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="MicroGnuEmacs, a port from the BSDs"
+HOMEPAGE="https://homepage.boetes.org/software/mg/"
+SRC_URI="https://github.com/hboetes/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~hppa ppc ~ppc64 sparc x86"
+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/micro/Manifest b/app-editors/micro/Manifest
new file mode 100644
index 000000000000..b327f29b3a3e
--- /dev/null
+++ b/app-editors/micro/Manifest
@@ -0,0 +1,34 @@
+DIST github.com-blang-semver-ba2c2dd.tar.gz 15411 BLAKE2B 3c564086e6c46b3bc5aba4955622bdd8e01f2aac0522eeb2638c3bb59a2d8f1d80eddb19370c4f50b814ba0ff29a0eb3e2d24b60d10e08f4d6692d5b57fbb0a8 SHA512 dbdc31e93ac74fe6a2482d690304cc1828c7d3ad93a83e8e62fd8efbe20684d0c21814673dd4c5b1103adf6b40d3cb9e2f11804a50acf07f937ec4bb5ba96b2a
+DIST github.com-dustin-go-humanize-9f541cc.tar.gz 17263 BLAKE2B 6915367735a060d873947d805b49b1a6900080019cd5c21183c11850a0fb5292ea6c93576d7bbc8939e6b0f1e31501c44b38e5c97c09fb5685053b50142de092 SHA512 713ed1188affab7954efd4a6656d0bc82368b2c71e5604afbdcf9ea1ead401b821c443d5cd1c634964139d76fcf69d9a4b0efec4079f0b2335b1c15ca042d0b2
+DIST github.com-flynn-json5-7620272.tar.gz 40289 BLAKE2B 860b475fdf12618d537ab090acd242c7737b9f8594aab0a305701eab1b38be54faf77344e5daf4a7ba3f395249d821ea860c0474288c1f56ffcb9cfdfa3e91e0 SHA512 c958cf3e14d40fe18c683306fa4c309a50eb635444d4251a32472d72a590ee9cf554b8871310b2aa49e83c6f349977fa54e2212eac3e8ade076864cb1bbf3915
+DIST github.com-gdamore-encoding-6289cdc.tar.gz 10900 BLAKE2B 5c0a1674f82b43c301b104b443e4489f5f09eecba0182ccd6aff13a3f52e5c06a5933fdbfe06d8e55af8431b979bf73b04669153ca3da39c64890823c7fca092 SHA512 42085412cbad25fc1da8e7352856847638ffb3609abfa295714868f849037d7c9a09e6b8f65f7f5dd8314aa50a2dc6abc07dec9aefb10a1cbe586c95aaf8a6bd
+DIST github.com-go-errors-errors-a6af135.tar.gz 8646 BLAKE2B 3f71c47434bf1997dbf7816321d34861d4beeb8234f3e09d5448be5e631cca9be7b65e218511080feaae2c17c4ef5d25b08095dae386a00c7682f1496e7ab667 SHA512 41911fe425fa59f28d7d5507bd2917e3c47cc736c5ea7f090a619a9bcf5658472f72941e54da71d3880f43ee779ad3bc80f273d95b0b41c9de33fb61c01f5095
+DIST github.com-go-yaml-yaml-53403b5.tar.gz 72861 BLAKE2B 919445f18a0219550b77904f4ee13c44a809d9a38a02156a1846e97628333d8078c2d1526fb00003810f6445a83e0f1b44df907d35323f2eab66b67fd2cf2d70 SHA512 3f4c94a0aa4c185cdb80835d8624b3e97ac0b8c25cd08e7ba7070649513ba3e2332176d8adf7dccbde8944ac6980ff82b4da7343d00570227f5d3d87c2862b0b
+DIST github.com-golang-net-1617124.tar.gz 1174269 BLAKE2B 53dcbb725a9fe1b76a03d44ba74a74d640c1a39788b703c3f3d243482a484adbe4733c8535b6e894ed12455502012521f00a2c81f359c1fb5bb008a8412c84a6 SHA512 2f90bdf49cd4658994418a1b050c7fa446fc9b3ad491b28fd9f5d3539b61c3c27537531cedd90f79a4d82c81808a55f45fe77c86397f602aa4d3dbf77b91122b
+DIST github.com-golang-sys-d101bd2.tar.gz 1539300 BLAKE2B 79500ce54a69aeaceac4510aa9f67d8376b28bfc810e975a8a67f50f48e8471f112fb2588166687a68f91d0b122a8751ae3463992053e4d2f990dbf2a8c58361 SHA512 0d9b69c7c7b0d525d359d70e75a243ee109fd1bcadd535a6c7704b7bdbeb1bd0f3140c09fcbd9c22ff777b7a54a4c9dfb4036dc837ad703fcbbb2cda1858326a
+DIST github.com-golang-text-342b2e1.tar.gz 7162530 BLAKE2B 1d78d13317a79c01d032b10fab72f1217cd8cd9b60a7ec5e817a2ba5540fc2cab562053140ad34b79286013571b83f888a366b742a497e7b3a97f177ddb3a6f3 SHA512 f8b0444110f81116a5f5463ca42f08c2841302a8703eab9b3496888acc6fe467850910582013df5171e9140834bb7eff72e2da4e70f914a522386a256bbcd1a5
+DIST github.com-jtolds-gls-b4936e0.tar.gz 7308 BLAKE2B 56dfebb99121638104aff7c91be1ae393229457987b80c60d425d84932fbe56b34b18be025b19da6dee61ada50aad2baf9a8808b73702df5abf89a67f18d4865 SHA512 c8e7c766b8c9c8e4a85a146d5cc8f9eee93eef9b26a5d62137e4aedcfe6850421a65d0b6a0d61d1371e037efff6fe973c28c26787a9ec8f0b3071da77c7d584e
+DIST github.com-kballard-go-shellquote-95032a8.tar.gz 4327 BLAKE2B ca31068aeb60ebea4568901fe91de1aedb6842533c98a9b2cfe2a989d6f0a3dc76cb113989c84acae934150f599173af186b7886661ba94a549dedd3508b3cf5 SHA512 6fc381005c055aff7e451145bd2dd5a20591481b416d2d94c1c05ddcfac84c76e3915046d86073f3ace97ddb38eeb6e8a925825ca4629f1687b7f274809d9c83
+DIST github.com-layeh-gopher-luar-bb67d56.tar.gz 24018 BLAKE2B a46a4ca27ca7e8aa2b4b4825d7e8cbf91eeb59a67e3188c326a3c11543ecb1a48edfc6493056b8082b2e8ebad1bcf7d7e1b2c0d715a3f22fb13a7285c0c5ac95 SHA512 0bf01f050638be5ff8932179314d525d1613d409a9965cba5fb4561dae6a6a37bb3efcbe8301753717712436cd18fbd9be1f88742cc0e688b852312198097375
+DIST github.com-lucasb-eyer-go-colorful-fadcb7c.tar.gz 430241 BLAKE2B d2d1022cb118a567ed094f1ed0ce8bac88f7bc5f59cd91a85d678a57d1f0bbe370c376f4c080815f26d4956dda1c3eef2ced954bdb53bc0f8704399165869b57 SHA512 c35437eb691644d4bef2335e5a188ae872cfce40672a3fab6f58121c79a8e7e5d5ea47da5f93a69cc1f5e0bf81cb786673027daa198dcd63622be58b83ec2a2b
+DIST github.com-mattn-go-isatty-7b513a9.tar.gz 4544 BLAKE2B 6b8a11ce52397597ab65d8bc5382169c7d64dd716e0d97cbd46620c64f5a24de4b5874c1f71aa79a4046e8bfe2b5899d4685d3b5c7b8a8dbf2baa03bb1a2cdc8 SHA512 74b775ee71bac2d3d4bcdb60664b02e785a58e8d8bd8516b5c90c1e21c36832fdd673a8342b2a9857ab7aac61e66dca8fac373938c6de848e51641d5bfa96bff
+DIST github.com-mattn-go-runewidth-a4df4dd.tar.gz 16494 BLAKE2B 6f4f6f6ccc16243d5c8c3171cfd84a204049aad8151ce32d12f9b0a3091a33624a25f001bbe4fd4350b5bf0c1b7cb834182b87e04fc328681a6cbde016e15a5c SHA512 c9049771420939af4e13715c18235e4c73ff7b4b4dc065d788818fd8930ef9267ee9928ea1fde97550adb42a3809092dd495736060e401adeb6160f758a389cd
+DIST github.com-mitchellh-go-homedir-af06845.tar.gz 3362 BLAKE2B 6b6381ba8b7bfa05b0ca04b8492d9f66d0a5c76c41db3476fd0f1fac01ff38f50465953b64f48b00859e28a5725feb056f3c1bfe1234376d00e2e37fd2d71a73 SHA512 049d31e1ebe03ad0f7312819414aefac9958cce3ef14704af32104af6140f31a62a23579a12bed80e8514147ec4a93bec8eaf0f8cba8cceaeecd05d577273b3a
+DIST github.com-robertkrimen-otto-c382bd3.tar.gz 251973 BLAKE2B eca6ccef0bbf23d91848609bf4b49585df6f02eff17e0749bf769a39d627544c55d46a0be9b40b1d06230552462eadd6ab75080d7a42c790707ce0fd4419b3c4 SHA512 b3c42ae340ed1b110fa6f80ce08dc1ba7f663865f9ea02915f76d538de8f9cc374e5cf8c87cdbb566771acab017fbeb74b4fb422d548e7980af68f42f5a795d2
+DIST github.com-sergi-go-diff-58c5cb1.tar.gz 43616 BLAKE2B abedd98838860809b9267292ea8c33632df70f39dc00da6043f025db175ef1fc0a54742a4e6e1b107338ef4246635001161471941806d55b0c1003da4d43b326 SHA512 de0b9e360654a0d35cb46f093dedd6e6f648afdb6db15ab7fffb2331a11e97e25951ffcd762e3ac711b3777128979cf9b76d5117d4746fa8d8ff9a12136f143f
+DIST github.com-smartystreets-assertions-8374cff.tar.gz 84603 BLAKE2B 671a839c9db8fb40b5c4ac23b10b78da4fcb27c27f05ac8c8959dc56f1d756476b28102923b57b507f3d74d94d28896a524c6baaca49636d9b6e4b3764764392 SHA512 1d8b296c6d38758986c8ac56f1db0dba22facd0b0a8515ca1604ee7bcc210ad1562edf81a755718fef05d5ee2caa0889ec2939531d0831db269a2bf980f2cdbb
+DIST github.com-smartystreets-goconvey-505e419.tar.gz 1479113 BLAKE2B e8a53ca7c19f864d73dc4c70a99e1b768065faac02b09ab119e3961c53525deadaa71badd2cc1386ab891b6fd76c6d97579c2ffb2b2a395b9d495340582e9f65 SHA512 947b5bd59f26336f8a9a70aea8e530c32dce35be734d16abcb24c3967426c6405ab1f1b89001ae3226a9475527e921cc75adcbbcd9d7071a80c23c98114efa1a
+DIST github.com-stretchr-testify-221dbe5.tar.gz 110297 BLAKE2B a6a1c70b581414244f0b861a69e2905e0b1aaf45fc5f7d9b053f3ae5c0c48dd7a13087e43b913d34a1c78e8ebb5f11468e81fef1dd4bb5e51f33ef060979c2f4 SHA512 2af69098b3a5e5741c2fa92a7cb395f610a2a37635b26fea670ace1c38dcf9519ae2470a00dfddca7776cd2cac06f4abe39ea71f510cf01f14ecefc1d3fca52b
+DIST github.com-yuin-gopher-lua-ab39c60.tar.gz 161618 BLAKE2B 38f40c96946670485608ddd8e488c33ac71985d8a32ad89c1d6e83459c7874e52c0f29b088e0226c90e2e53d782f868e092e202a266d8d02e36ca91363410bfe SHA512 c2c28e324aefcd27f1693cac33daebdbb5d3d971203e2edb9b00c71c72d14be9d6ce0b17b574cb276dea8ee13f2b707d2c34743d79e5d291618beb3fdd5e7475
+DIST github.com-zyedidia-clipboard-241f98e.tar.gz 4405 BLAKE2B 19b6298842dcae392c4bc07e2f7dea952b9cef1e737cbc9e2fa4d7c95e9989ea5e4e4acd126d49f9e67218250fd7c5b2f9d7dc802bed3a877e78d6fb3dc2f9ba SHA512 b98cddd5a0ace7bf0b68b8229d6c7149947723ffff6bcaa2933b9890c42010e458edd141733ba718d39388f044a53602042f2a6d626f335cd69f81d64e1bf1b3
+DIST github.com-zyedidia-glob-dd4023a.tar.gz 2699 BLAKE2B 7f574d20c0e9cb9f7f4bdb4a8d740f1fc0f2d606cd5c7d74db45a9afa844d9df3fa596cd90607efa9e5b2cb1bacca6d9e8b102eb7e6e065a184bd53317c3a14d SHA512 9f99fd37ee51ffb700939d0421da27bd3b1a25be23ffa0126e714c6bd470d81d0e7ee4b76c1235b8e0c275d8ebe0b7c7f100f46abef578c2551d241acdb2b81d
+DIST github.com-zyedidia-highlight-201131c.tar.gz 59749 BLAKE2B 56028c3bd644c19eda83e5b1a5b4f7dfed0fa840f27a59f42675ec2ddbe0c2ee7f1879613b2f6c6a295d768d7355cc28d9b65110bb1bf9ff78657ecf759d2c36 SHA512 76869da1f8137b2fdd0d1afc2d0f26af110737bac9f8a03f77ab2a8cc12e6bec383b1baade5ddf3a279544241e07391d3ee7e5d1ae179d435804b9da11d31271
+DIST github.com-zyedidia-json5-2da050b.tar.gz 40108 BLAKE2B 0f8de09a37164eeb3e14177a2895540daa8c1b0916c3c2bf20a70b00f4f889964aa3b4ff8579815fa298be3aa0bb9033322d83549e5ed78af861f70b26934c38 SHA512 b31086d90d92b811199dd968a3efc4cdd3e828aaf73503249a9e823c959543f7ebbf5f17b3c7b7e2f72e96f63e6c3218fc0ff6d58aff7df1476c5cbfa6542d3a
+DIST github.com-zyedidia-poller-03c5c28.tar.gz 15931 BLAKE2B e26327e21ee66ae58b21d7f2cce7ae1ef534ac1845eaa94f79e6e338aa2b66715026a717fced9a7391680b5a4c6b75450393ffb49d87baa737bd8ca8d341831c SHA512 bc47bb15c0738670680051fe644b181230d4cdc8123582c2b46bc03183b353e1a4ddaa7d909ed0451e2a08ff687784670723da5081453ccba0e59576420e932f
+DIST github.com-zyedidia-pty-3036466.tar.gz 5753 BLAKE2B ec91f6d8c0283b1b392aabd29e15278a2d99b2addc4eaa4b89c1805ad8b36e66f3841ad167792675215aa8bcb9bb37be559629e60583016c53669933671762bb SHA512 542104afae29b39ae35725e50a5560a06c0d883e3297e50c8473f07e87730a2649577cdcf9c4de21340f30583614513048866798bd39135afe431429e38c162b
+DIST github.com-zyedidia-tcell-208b6e8.tar.gz 167508 BLAKE2B 20fb81aaae1a4981c8092079e3aced4538173ddfc4c873386f919176868a0b8e78e33e27fcf3991ae50082f0d70c6469f768947cefb7007f88cdf69cf19b17d4 SHA512 7eb90217ca1931724c273ffbbe734e387fb99e96490ebc369d32bbecba26ced3f10ef26c8eca114c1e3ad4269146b410505a03e564a6a6af1a5aabbd09835dda
+DIST github.com-zyedidia-tcell-37fef3e.tar.gz 132366 BLAKE2B b46e707f3b80de268bcc1a7235b8e54e7bc0fdd50e41b057921369f06ead5e625b0286ee8f7f9062687e30bc17e21956e809f37543e1108c054ba00205360680 SHA512 61235ec6bf6b4c19131fdaee8271dc5c5c966ca34a0007e6f71d6df087ab8156d765dfb961344f31b1dd084120d6307a8772ebb438dfac2d39ed28aeb0c130d3
+DIST github.com-zyedidia-terminal-533c623.tar.gz 12896 BLAKE2B 6b24bc622dc54c4b7371a122eccbace5ddda8c00efad3af5e6d3ec2cf062986d562cf29aa208e4f724390866bd8cf285656c5431ecc66e4a2c9621e1c753b6d5 SHA512 1eb50280bb1fd8302de928b0e39b76cdb479260d6b702985c7905772ad677968fe8e25662554cbe9c7c01462095ee8316136e5f9a1556b06e93278a85845206c
+DIST micro-1.4.1.tar.gz 520409 BLAKE2B bb2ded4e6943452f3edaeb109c695d9bb9b8d0479b5d3c3fa8d054b1f22516f0f834633e6d26747254c8e558a80471aded858f00396f9d9c7de73af52bb399a2 SHA512 771e1c2dfd675efa84019ac9b3535d01d82afb31f55323316908ee9b4f7836bf60c8a97583f46009a48d252b99e62df5cd02d68cbb601004fe2b56512bed8a4c
+DIST micro-2.0.1.tar.gz 757747 BLAKE2B ddda261d4c3993de5dbce1605befd1f8df2ac0640c531b6e06d87134a9e337ebf6a2d7a0d44bd0ef432b19d303cfae00a4e038e2047c89aab9d697dcb211b62f SHA512 81a4f6b350d29252c8de9774965a27d63c1cb2043064f1e2bfd88c7093985bc674dc1d67d7a37e3f56bc4e7ef939dac0b43023ef25b689e17ab19d402b2454b3
+DIST micro-2.0.3.tar.gz 771983 BLAKE2B 0622b2765850dc5a0dc112f0bbc758b5466d939ab5abdeade32fb37fb323b5981094ba3248b5ca9e5c592d4bb95d552ca943ec83212fe093d272b8adb424e5fc SHA512 df146d8e1c73d149be420fa7869f4f6ae10a21d2be171db1c3bf52e308e41c73d9e84b47a7cd47941aaa2decc331706f1343b920dd649065071edd1dd19835dd
diff --git a/app-editors/micro/metadata.xml b/app-editors/micro/metadata.xml
new file mode 100644
index 000000000000..2727c597869e
--- /dev/null
+++ b/app-editors/micro/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>toffanin.mauro@gmail.com</email>
+ <name>Mauro Toffanin</name>
+ <description>Maintainer. Assign bugs to him</description>
+ </maintainer>
+ <origin>go-overlay</origin>
+</pkgmetadata>
diff --git a/app-editors/micro/micro-1.4.1-r2.ebuild b/app-editors/micro/micro-1.4.1-r2.ebuild
new file mode 100644
index 000000000000..6844415cce42
--- /dev/null
+++ b/app-editors/micro/micro-1.4.1-r2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2020 Go Overlay Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+GOLANG_PKG_IMPORTPATH="github.com/zyedidia"
+GOLANG_PKG_ARCHIVEPREFIX="v"
+GOLANG_PKG_BUILDPATH="/cmd/${PN}"
+GOLANG_PKG_LDFLAGS="-X main.Version=${PV} -X main.CommitHash=af520cf"
+GOLANG_PKG_HAVE_TEST=1
+
+GOLANG_PKG_DEPENDENCIES=(
+ "github.com/blang/semver:ba2c2dd" #v3.6.1
+ "github.com/dustin/go-humanize:9f541cc" #v1.0.0
+ "github.com/flynn/json5:7620272"
+ "github.com/go-errors/errors:a6af135" #v1.0.1
+ "github.com/jtolds/gls:b4936e0" #v4.20.0
+ "github.com/smartystreets/assertions:8374cff" #v1.0.1
+ "github.com/smartystreets/goconvey:505e419" #v1.6.4
+ "github.com/mattn/go-isatty:7b513a9" #v0.0.12
+ "github.com/mattn/go-runewidth:a4df4dd" #v0.0.8
+ "github.com/mitchellh/go-homedir:af06845" #v1.1.0
+ "github.com/sergi/go-diff:58c5cb1" #v1.1.0
+ "github.com/yuin/gopher-lua:ab39c60"
+ "github.com/layeh/gopher-luar:bb67d56 -> layeh.com" #v1.0.7
+ "github.com/zyedidia/clipboard:241f98e"
+ "github.com/zyedidia/glob:dd4023a"
+ "github.com/zyedidia/poller:03c5c28" #v1.0.1
+ "github.com/zyedidia/tcell:208b6e8"
+ "github.com/zyedidia/terminal:533c623"
+ "github.com/zyedidia/pty:3036466" #v2.0.0
+ "github.com/gdamore/encoding:6289cdc" #v1.0.0
+ "github.com/lucasb-eyer/go-colorful:fadcb7c" #v1.0.3
+ "github.com/golang/text:342b2e1 -> golang.org/x" #v0.3.2
+ "github.com/golang/sys:d101bd2 -> golang.org/x"
+ "github.com/golang/net:1617124 -> golang.org/x"
+ "github.com/go-yaml/yaml:53403b5 -> gopkg.in/yaml.v2" #v2.2.8
+)
+
+inherit golang-single
+
+DESCRIPTION="A modern and intuitive terminal-based text editor"
+HOMEPAGE="https://micro-editor.github.io"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+
+DOCS=( "${S}"/runtime/help/ )
diff --git a/app-editors/micro/micro-2.0.1.ebuild b/app-editors/micro/micro-2.0.1.ebuild
new file mode 100644
index 000000000000..485074ba4548
--- /dev/null
+++ b/app-editors/micro/micro-2.0.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2020 Go Overlay Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+GOLANG_PKG_IMPORTPATH="github.com/zyedidia"
+GOLANG_PKG_ARCHIVEPREFIX="v"
+GOLANG_PKG_HAVE_TEST=1
+
+GOLANG_PKG_DEPENDENCIES=(
+ "github.com/blang/semver:ba2c2dd" #v3.6.1
+ "github.com/dustin/go-humanize:9f541cc" #v1.0.0
+ "github.com/go-errors/errors:a6af135" #v1.0.1
+ "github.com/kballard/go-shellquote:95032a8"
+ "github.com/mattn/go-isatty:7b513a9" #v0.0.12
+ "github.com/mattn/go-runewidth:a4df4dd" #v0.0.8
+ "github.com/mitchellh/go-homedir:af06845" #v1.1.0
+ "github.com/sergi/go-diff:58c5cb1" #v1.1.0
+ "github.com/yuin/gopher-lua:ab39c60"
+ "github.com/zyedidia/clipboard:241f98e"
+ "github.com/zyedidia/glob:dd4023a"
+ "github.com/zyedidia/highlight:201131c"
+ "github.com/zyedidia/json5:2da050b"
+ "github.com/zyedidia/pty:3036466" #v2.0.0
+ "github.com/zyedidia/tcell:37fef3e" #v1.4.4
+ "github.com/zyedidia/terminal:533c623"
+ "github.com/layeh/gopher-luar:bb67d56 -> layeh.com" #v1.0.7
+ "github.com/gdamore/encoding:6289cdc" #v1.0.0
+ "github.com/lucasb-eyer/go-colorful:fadcb7c" #v1.0.3
+
+ "github.com/golang/text:342b2e1 -> golang.org/x" #v0.3.2
+ "github.com/golang/sys:d101bd2 -> golang.org/x"
+ "github.com/go-yaml/yaml:53403b5 -> gopkg.in/yaml.v2" #v2.2.8
+
+ "github.com/stretchr/testify:221dbe5" #v1.4.0
+)
+
+inherit golang-single
+
+DESCRIPTION="A modern and intuitive terminal-based text editor"
+HOMEPAGE="https://micro-editor.github.io https://github.com/zyedidia/micro"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+
+DOCS=( "${S}"/runtime/help/ )
+
+src_compile() {
+ rm "${S}"/go.mod || die
+ rm "${S}"/go.sum || die
+ emake install-quick GOBIN="${GOBIN}" HASH="7c71995" VERSION="${GOLANG_PKG_VERSION}" || die
+}
+
+src_test() {
+ emake test || die
+}
diff --git a/app-editors/micro/micro-2.0.3.ebuild b/app-editors/micro/micro-2.0.3.ebuild
new file mode 100644
index 000000000000..900bea5096c3
--- /dev/null
+++ b/app-editors/micro/micro-2.0.3.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2020 Go Overlay Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+GOLANG_PKG_IMPORTPATH="github.com/zyedidia"
+GOLANG_PKG_ARCHIVEPREFIX="v"
+GOLANG_PKG_HAVE_TEST=1
+
+GOLANG_PKG_DEPENDENCIES=(
+ "github.com/blang/semver:ba2c2dd" #v3.6.1
+ "github.com/dustin/go-humanize:9f541cc" #v1.0.0
+ "github.com/go-errors/errors:a6af135" #v1.0.1
+ "github.com/kballard/go-shellquote:95032a8"
+ "github.com/mattn/go-isatty:7b513a9" #v0.0.12
+ "github.com/mattn/go-runewidth:a4df4dd" #v0.0.8
+ "github.com/mitchellh/go-homedir:af06845" #v1.1.0
+ "github.com/robertkrimen/otto:c382bd3"
+ "github.com/sergi/go-diff:58c5cb1" #v1.1.0
+ "github.com/yuin/gopher-lua:ab39c60"
+ "github.com/zyedidia/clipboard:241f98e"
+ "github.com/zyedidia/glob:dd4023a"
+ "github.com/zyedidia/highlight:201131c"
+ "github.com/zyedidia/json5:2da050b"
+ "github.com/zyedidia/pty:3036466" #v2.0.0
+ "github.com/zyedidia/tcell:37fef3e" #v1.4.4
+ "github.com/zyedidia/terminal:533c623"
+ "github.com/layeh/gopher-luar:bb67d56 -> layeh.com" #v1.0.7
+ "github.com/gdamore/encoding:6289cdc" #v1.0.0
+ "github.com/lucasb-eyer/go-colorful:fadcb7c" #v1.0.3
+
+ "github.com/golang/text:342b2e1 -> golang.org/x" #v0.3.2
+ "github.com/golang/sys:d101bd2 -> golang.org/x"
+ "github.com/go-yaml/yaml:53403b5 -> gopkg.in/yaml.v2" #v2.2.8
+
+ "github.com/stretchr/testify:221dbe5" #v1.4.0
+)
+
+inherit golang-single
+
+DESCRIPTION="A modern and intuitive terminal-based text editor"
+HOMEPAGE="https://micro-editor.github.io https://github.com/zyedidia/micro"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+
+DOCS=( "${S}"/runtime/help/ )
+
+src_compile() {
+ rm "${S}"/go.mod || die
+ rm "${S}"/go.sum || die
+ emake install-quick GOBIN="${GOBIN}" HASH="f594686" VERSION="${GOLANG_PKG_VERSION}" || die
+}
+
+src_test() {
+ emake test || die
+}
diff --git a/app-editors/moe/Manifest b/app-editors/moe/Manifest
new file mode 100644
index 000000000000..3ffcdddd6762
--- /dev/null
+++ b/app-editors/moe/Manifest
@@ -0,0 +1,2 @@
+DIST moe-1.10.tar.lz 84050 BLAKE2B 2e49aba27cdd603fbc9a4eb0fef5e086a527087d72f30f68beb4e3389de0ccdd85fec5bf753b3187d64cd6549ac5738c89e94c543c141f88896c580e7c33ad42 SHA512 3908d7906aa7dcb8bd4a5d340fe94b06fc91814098c20e8939906c2b0e03e1a8a3c95847b5f8111a5d9f37636a2fafa52f9105e0e8fa0ad8b16c2f9e9dede748
+DIST moe-1.9.tar.lz 82046 BLAKE2B 9144dfc4ce17bc04f3ad9aa9ec271f173df6c581705e5d922a346f94c086a97af9429478c016d7081c1fd38787055666504f04d25a8b9f5c1020dc147aaafdb0 SHA512 277700e4a796e1a7aee42de55ba4599a350a612f95a1a2eca5078d85f6f9a7db190fb5611eb2f286c98580af847a2934bf38a4bce10176db4c5cddc2d257f929
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..5a94ec599e89
--- /dev/null
+++ b/app-editors/moe/files/moe-1.6-tinfo.patch
@@ -0,0 +1,11 @@
+--- a/Makefile.in.orig 2014-11-03 00:33:57.152593136 +0300
++++ b/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..ec2a492aff2b
--- /dev/null
+++ b/app-editors/moe/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 type="person">
+ <email>zlogene@gentoo.org</email>
+ <name>Mikle Kolyada</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/moe/moe-1.10.ebuild b/app-editors/moe/moe-1.10.ebuild
new file mode 100644
index 000000000000..f530b53537f9
--- /dev/null
+++ b/app-editors/moe/moe-1.10.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit 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:0=
+"
+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"
+
+ eapply_user
+
+ eapply "${FILESDIR}/${PN}-1.6-tinfo.patch"
+}
diff --git a/app-editors/moe/moe-1.9.ebuild b/app-editors/moe/moe-1.9.ebuild
new file mode 100644
index 000000000000..0e627addb662
--- /dev/null
+++ b/app-editors/moe/moe-1.9.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit 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:0=
+"
+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"
+
+ eapply_user
+
+ eapply "${FILESDIR}/${PN}-1.6-tinfo.patch"
+}
diff --git a/app-editors/mousepad/Manifest b/app-editors/mousepad/Manifest
new file mode 100644
index 000000000000..9da862b189c6
--- /dev/null
+++ b/app-editors/mousepad/Manifest
@@ -0,0 +1 @@
+DIST mousepad-0.4.2.tar.bz2 696014 BLAKE2B 2591f177b59147e01502329939365c5f18031f3dc9100baa29cb1da04afbff26cc91cc612ea1e5ebbc2d15754375da6afbd4ae9d96399f41cf06191d7d8d7082 SHA512 f3266018ce61683dc62b6866649f3674cc363ea652de04d3f087341c61cf24fb5eb730411948e354d085792f88b59e3dba7e7712715d92711f750b33d8bfb69a
diff --git a/app-editors/mousepad/metadata.xml b/app-editors/mousepad/metadata.xml
new file mode 100644
index 000000000000..231050f7cdcf
--- /dev/null
+++ b/app-editors/mousepad/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>xfce@gentoo.org</email>
+ <name>XFCE Team</name>
+ </maintainer>
+ <use>
+ <flag name="gtk3">Use GTK+3 instead of GTK+2</flag>
+ </use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/mousepad/mousepad-0.4.2.ebuild b/app-editors/mousepad/mousepad-0.4.2.ebuild
new file mode 100644
index 000000000000..de411259d531
--- /dev/null
+++ b/app-editors/mousepad/mousepad-0.4.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit gnome2-utils xdg-utils
+
+DESCRIPTION="GTK+-based editor for the Xfce Desktop Environment"
+HOMEPAGE="https://git.xfce.org/apps/mousepad/about/"
+SRC_URI="https://archive.xfce.org/src/apps/${PN}/${PV%.*}/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="dbus +gtk3"
+# D-Bus code fails to build against GTK+2
+# https://bugzilla.xfce.org/show_bug.cgi?id=15755
+REQUIRED_USE="dbus? ( gtk3 )"
+
+RDEPEND=">=dev-libs/glib-2.42:2=
+ >=xfce-base/xfconf-4.12:=
+ !gtk3? ( >=x11-libs/gtk+-2.24:2=
+ x11-libs/gtksourceview:2.0= )
+ gtk3? ( >=x11-libs/gtk+-3.20:3=
+ x11-libs/gtksourceview:3.0= )"
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig
+ dbus? ( dev-util/gdbus-codegen )"
+
+src_configure() {
+ local myconf=(
+ $(use_enable dbus)
+ $(use_enable gtk3)
+ )
+
+ econf "${myconf[@]}"
+}
+
+pkg_postinst() {
+ gnome2_schemas_update
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_schemas_update
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/app-editors/nano/Manifest b/app-editors/nano/Manifest
new file mode 100644
index 000000000000..c52bb2c23abf
--- /dev/null
+++ b/app-editors/nano/Manifest
@@ -0,0 +1,3 @@
+DIST nano-4.6.tar.gz 2970798 BLAKE2B d6dfc702d374d1cbcd61080c8e0082b7931dc8c593c97eb705d878d25487a78dc1ebcb8004f742f5ecc3af1b5a31abcf6577e87aba96fb95d16029ff55e7af58 SHA512 76fb43495ca1f88ee8864eee5d023b6cd86bc35fba00151b4c6af53ae06e6b3828379e7d52a16c7df0956e9e04602a86ff8e8a7c1997320507ca041195bf004b
+DIST nano-4.9.2.tar.gz 2996106 BLAKE2B f3de611022f72de050f96b254a10fb9587014e4e239e34024d1941f9bd5d6abef17dbd1da95bba7cd328237137be1c79421ef7423cf40bab6a5577f9ae8ba587 SHA512 bbb43b63e03d104f168394c00778b5674249285c2400bb4664738a5badc7e5320b5a96f6b0275aa4e6f34f8127830564e87a8658442e358e5261116c595155b6
+DIST nano-4.9.3.tar.gz 2999198 BLAKE2B a96f707936934a965a9a41dfe13ac1ebbe1a5e38db714df6d219b2c6539f24924d4c4f0451508718f66259854806032b84dc89850a7fd55d157f28ae23531d0e SHA512 233e6ed103441bd2c85ed21c50547f85dc0838cc750a5e9b16ecfb393e3b7b978e971af4a4164062c7c267c98895ecb696c02cbd2e4c2eb1ceee657fd026c30a
diff --git a/app-editors/nano/files/nano-4.8-justify_keystroke_crash_fix.patch b/app-editors/nano/files/nano-4.8-justify_keystroke_crash_fix.patch
new file mode 100644
index 000000000000..e18425a6b802
--- /dev/null
+++ b/app-editors/nano/files/nano-4.8-justify_keystroke_crash_fix.patch
@@ -0,0 +1,34 @@
+From 2d05ce37c60a157760f386badc387e2d53b2fa75 Mon Sep 17 00:00:00 2001
+From: Benno Schulenberg <bensberg@telfort.nl>
+Date: Thu, 5 Mar 2020 16:57:16 +0100
+Subject: [PATCH] justify: do not crash when the user attempts to justify an
+ empty region
+
+This fixes https://savannah.gnu.org/bugs/?57959.
+
+Bug existed since version 4.0, since the justifying
+of a marked region was introduced.
+---
+ src/text.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/text.c b/src/text.c
+index 957938f4..4fe7eb96 100644
+--- a/src/text.c
++++ b/src/text.c
+@@ -1930,6 +1930,12 @@ void do_justify(bool full_justify)
+ get_region((const linestruct **)&first_par_line, &top_x,
+ (const linestruct **)&last_par_line, &bot_x, &right_side_up);
+
++ /* When the marked region is empty, do nothing. */
++ if (first_par_line == last_par_line && top_x == bot_x) {
++ statusline(NOTICE, _("Nothing changed"));
++ return;
++ }
++
+ /* Save the starting point of the marked region. */
+ was_top_lineno = first_par_line->lineno;
+ was_top_x = top_x;
+--
+2.25.2
+
diff --git a/app-editors/nano/metadata.xml b/app-editors/nano/metadata.xml
new file mode 100644
index 000000000000..219f9c51f643
--- /dev/null
+++ b/app-editors/nano/metadata.xml
@@ -0,0 +1,43 @@
+<?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>
+<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>
+ <flag name="split-usr">
+ Enable this if /bin and /usr/bin are separate directories
+ </flag>
+</use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/nano/nano-4.6-r1.ebuild b/app-editors/nano/nano-4.6-r1.ebuild
new file mode 100644
index 000000000000..28d67f86b940
--- /dev/null
+++ b/app-editors/nano/nano-4.6-r1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit 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:1}/${MY_P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~amd64-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 +split-usr 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}
+ static? ( ${LIB_DEPEND} )"
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig
+"
+PATCHES=( "${FILESDIR}/${PN}-4.8-justify_keystroke_crash_fix.patch" )
+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)
+ $(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))
+ )
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ # don't use "${ED}" here or things break (#654534)
+ rm -r "${D}"/trash || die
+
+ 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
+
+ use split-usr && dosym ../../bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-4.9.2.ebuild b/app-editors/nano/nano-4.9.2.ebuild
new file mode 100644
index 000000000000..e27dda0e78d7
--- /dev/null
+++ b/app-editors/nano/nano-4.9.2.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit 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:1}/${MY_P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~amd64-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 +split-usr 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}
+ static? ( ${LIB_DEPEND} )"
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig
+"
+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)
+ $(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))
+ )
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ # don't use "${ED}" here or things break (#654534)
+ rm -r "${D}"/trash || die
+
+ 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
+
+ use split-usr && dosym ../../bin/nano /usr/bin/nano
+}
diff --git a/app-editors/nano/nano-4.9.3.ebuild b/app-editors/nano/nano-4.9.3.ebuild
new file mode 100644
index 000000000000..e27dda0e78d7
--- /dev/null
+++ b/app-editors/nano/nano-4.9.3.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit 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:1}/${MY_P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~amd64-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 +split-usr 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}
+ static? ( ${LIB_DEPEND} )"
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig
+"
+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)
+ $(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))
+ )
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ # don't use "${ED}" here or things break (#654534)
+ rm -r "${D}"/trash || die
+
+ 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
+
+ use split-usr && 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..e27dda0e78d7
--- /dev/null
+++ b/app-editors/nano/nano-9999.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit 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:1}/${MY_P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~amd64-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 +split-usr 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}
+ static? ( ${LIB_DEPEND} )"
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig
+"
+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)
+ $(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))
+ )
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ # don't use "${ED}" here or things break (#654534)
+ rm -r "${D}"/trash || die
+
+ 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
+
+ use split-usr && dosym ../../bin/nano /usr/bin/nano
+}
diff --git a/app-editors/ne/Manifest b/app-editors/ne/Manifest
new file mode 100644
index 000000000000..e47314c3bf58
--- /dev/null
+++ b/app-editors/ne/Manifest
@@ -0,0 +1 @@
+DIST ne-3.1.1.tar.gz 1219488 BLAKE2B 6d778c1b2e9e18154322a6b327cc4a2711619c353eb82073ad00f3e40b3b8e61f7ee7ce6fee3f0e02b38d001dc26365f44b63f70ddd6089f186a52bdf4c69a17 SHA512 e572ca2a0cd39a59adaea911c80e083872103d90a586117efcabbc3881cf1a48d0c3d06f20eebcd9254177afafef15fd581778cd251b1b25b64ad68a5f8afc37
diff --git a/app-editors/ne/metadata.xml b/app-editors/ne/metadata.xml
new file mode 100644
index 000000000000..3017d0e494fe
--- /dev/null
+++ b/app-editors/ne/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 -->
+<use>
+<flag name="tinfo">Link against libtinfo from sys-libs/ncurses</flag>
+</use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/ne/ne-3.1.1.ebuild b/app-editors/ne/ne-3.1.1.ebuild
new file mode 100644
index 000000000000..e65e7733fbc3
--- /dev/null
+++ b/app-editors/ne/ne-3.1.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2019 Gentoo Authors
+# 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="http://ne.di.unimi.it/${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/nedit/Manifest b/app-editors/nedit/Manifest
new file mode 100644
index 000000000000..305b73468695
--- /dev/null
+++ b/app-editors/nedit/Manifest
@@ -0,0 +1,3 @@
+DIST nedit-5.6a-src.tar.gz 1353454 BLAKE2B e3e8ed86b12a4c3673513b65c7ca08c11b22dcac4816287be680f112c5c8de0c59510f26605a7f288846fb4bb8c28dd958c534a52450a905f7639712d832e69a SHA512 4d4dcd661f67a4a40549f26774c0ffb90f9059d2e06b0db2becef6848273fe76b7b68fae42319c0badd3c637d96c8dae129b4d0dfa7adccc00ee76f9366e27d0
+DIST nedit-5.7-src.tar.gz 1344754 BLAKE2B 595b652050569cc480e29931088d8780a1d815b3e5d79529bf60a83142f9ce5e11cd5b59bead42baf032b8530388081f10f054230b0bd181ba59d9179b59c49a SHA512 cf242d2f8eea4c78649dbeb741f545a3dc8ffaf5bb36239794a4b2635420e5445fa1c77472add79c05ec081d71a0b9df4431f48db365a71692e43869fd4e7932
+DIST nedit.png.xz 14000 BLAKE2B dd50757a52fe3a2c57490cd0783f323877dc23733acc28b2c303d73724b6b66ed73dc819827ea52b96410fd7264a991040f00d609070bd87945d406328567ca0 SHA512 69d5dbea98a5b4065e73cc5c846125c5059e3a50ee1fa3ec4ef99f8f868cf3729ffe73510729534289a91d1a54683b84b6a37bc640c60205be709732dfcb01e3
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-fix-crash-with-noX.patch b/app-editors/nedit/files/nedit-5.6-fix-crash-with-noX.patch
new file mode 100644
index 000000000000..92b0778e2ab2
--- /dev/null
+++ b/app-editors/nedit/files/nedit-5.6-fix-crash-with-noX.patch
@@ -0,0 +1,118 @@
+diff -urN a/source/highlightData.c b/source/highlightData.c
+--- a/source/highlightData.c 2018-03-13 08:42:40.930188154 +0100
++++ b/source/highlightData.c 2018-03-13 08:44:59.651196431 +0100
+@@ -1280,7 +1280,7 @@
+ XFontStruct *font;
+
+ if (styleNo<0)
+- return GetDefaultFontStruct(window->fontList);
++ return GetDefaultFontStruct(TheDisplay, window->fontList);
+ fontNum = HighlightStyles[styleNo]->font;
+ if (fontNum == BOLD_FONT)
+ font = window->boldFontStruct;
+@@ -1289,10 +1289,10 @@
+ else if (fontNum == BOLD_ITALIC_FONT)
+ font = window->boldItalicFontStruct;
+ else /* fontNum == PLAIN_FONT */
+- font = GetDefaultFontStruct(window->fontList);
++ font = GetDefaultFontStruct(TheDisplay, window->fontList);
+
+ /* If font isn't loaded, silently substitute primary font */
+- return font == NULL ? GetDefaultFontStruct(window->fontList) : font;
++ return font == NULL ? GetDefaultFontStruct(TheDisplay, window->fontList) : font;
+ }
+
+ int FontOfNamedStyleIsBold(char *styleName)
+diff -urN a/source/text.c b/source/text.c
+--- a/source/text.c 2018-03-13 08:42:40.931188154 +0100
++++ b/source/text.c 2018-03-13 08:46:37.785202286 +0100
+@@ -778,9 +778,13 @@
+ textBuffer *buf;
+ Pixel white, black;
+ int textLeft;
+- int charWidth = fs->max_bounds.width;
+- int marginWidth = new->text.marginWidth;
+- int lineNumCols = new->text.lineNumCols;
++ int charWidth;
++ int marginWidth;
++ int lineNumCols;
++
++ charWidth = fs->max_bounds.width;
++ marginWidth = new->text.marginWidth;
++ lineNumCols = new->text.lineNumCols;
+
+ /* Set the initial window size based on the rows and columns resources */
+ if (request->core.width == 0)
+diff -urN a/source/window.c b/source/window.c
+--- a/source/window.c 2018-03-13 08:42:40.937188155 +0100
++++ b/source/window.c 2018-03-13 08:48:07.727207652 +0100
+@@ -1839,7 +1839,7 @@
+
+ /* Change the primary font in all the widgets */
+ if (primaryChanged) {
+- font = GetDefaultFontStruct(window->fontList);
++ font = GetDefaultFontStruct(TheDisplay, window->fontList);
+ XtVaSetValues(window->textArea, textNfont, font, NULL);
+ for (i=0; i<window->nPanes; i++)
+ XtVaSetValues(window->textPanes[i], textNfont, font, NULL);
+@@ -1861,7 +1861,7 @@
+ size appropriate for the new font, but only do so if there's only
+ _one_ document in the window, in order to avoid growing-window bug */
+ if (NDocuments(window) == 1) {
+- fontWidth = GetDefaultFontStruct(window->fontList)->max_bounds.width;
++ fontWidth = GetDefaultFontStruct(TheDisplay, window->fontList)->max_bounds.width;
+ fontHeight = textD->ascent + textD->descent;
+ newWindowWidth = (oldTextWidth*fontWidth) / oldFontWidth + borderWidth;
+ newWindowHeight = (oldTextHeight*fontHeight) / oldFontHeight +
+@@ -2244,7 +2244,7 @@
+ textNrows, rows, textNcolumns, cols,
+ textNlineNumCols, lineNumCols,
+ textNemulateTabs, emTabDist,
+- textNfont, GetDefaultFontStruct(window->fontList),
++ textNfont, GetDefaultFontStruct(TheDisplay, window->fontList),
+ textNhScrollBar, hScrollBar, textNvScrollBar, vScrollBar,
+ textNreadOnly, IS_ANY_LOCKED(window->lockReasons),
+ textNwordDelimiters, delimiters,
+
+--- a/util/misc.c 2018-03-13 08:50:54.892217626 +0100
++++ b/util/misc.c 2018-03-13 08:56:50.346238834 +0100
+@@ -1018,7 +1018,7 @@
+ ** a Motif font list. Since Motif stores this, it saves us from storing
+ ** it or querying it from the X server.
+ */
+-XFontStruct *GetDefaultFontStruct(XmFontList font)
++XFontStruct *GetDefaultFontStruct(Display *d, XmFontList font)
+ {
+ XFontStruct *fs;
+ XmFontContext context;
+@@ -1028,6 +1028,17 @@
+ XmFontListGetNextFont(context, &charset, &fs);
+ XmFontListFreeFontContext(context);
+ XtFree(charset);
++
++ /* FontList might be a render table with no only XFT fonts */
++ if (fs == NULL) {
++ fs = XLoadQueryFont(d, "fixed");
++ }
++
++ if (fs == NULL) {
++ fprintf(stderr, "Unabled to load any fallback fonts.\n");
++ exit(EXIT_FAILURE);
++ }
++
+ return fs;
+ }
+
+diff -urN a/util/misc.h b/util/misc.h
+--- a/util/misc.h 2018-03-13 08:50:54.890217626 +0100
++++ b/util/misc.h 2018-03-13 08:55:52.790235400 +0100
+@@ -65,7 +65,7 @@
+ void AccelLockBugPatch(Widget topWidget, Widget topMenuContainer);
+ void UpdateAccelLockPatch(Widget topWidget, Widget newButton);
+ char *GetXmStringText(XmString fromString);
+-XFontStruct *GetDefaultFontStruct(XmFontList font);
++XFontStruct *GetDefaultFontStruct(Display *d, XmFontList font);
+ XmString* StringTable(int count, ...);
+ void FreeStringTable(XmString *table);
+ void SimulateButtonPress(Widget widget);
+
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..a549b02490c0
--- /dev/null
+++ b/app-editors/nedit/files/nedit-5.6-ldflags.patch
@@ -0,0 +1,17 @@
+--- a/source/Makefile.common 2004-03-21 15:25:56.000000000 +0100
++++ b/source/Makefile.common 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/files/nedit-5.7-doc.patch b/app-editors/nedit/files/nedit-5.7-doc.patch
new file mode 100644
index 000000000000..fceb9e1773c8
--- /dev/null
+++ b/app-editors/nedit/files/nedit-5.7-doc.patch
@@ -0,0 +1,13 @@
+--- a/doc/Makefile 2019-05-03 13:18:33.343246393 +0200
++++ b/doc/Makefile 2019-05-03 13:19:33.110902639 +0200
+@@ -48,8 +48,8 @@
+ ../source/help_topic.h ../source/help_data.h: .version help.etx setext
+ @ echo "Creating NEdit help code `cat .version`"
+ @ ./setext -m -v version="`cat .version`" help.etx
+- @ mv -f help_topic.h ../source
+- @ mv -f help_data.h ../source
++ @ cp -f help_topic.h ../source
++ @ cp -f help_data.h ../source
+
+ nedit.html: .version help.etx setext
+ @ echo "Creating NEdit HTML documentation..."
diff --git a/app-editors/nedit/files/nedit-5.7-ldflags.patch b/app-editors/nedit/files/nedit-5.7-ldflags.patch
new file mode 100644
index 000000000000..b529d3327dd2
--- /dev/null
+++ b/app-editors/nedit/files/nedit-5.7-ldflags.patch
@@ -0,0 +1,17 @@
+--- a/source/Makefile.common 2019-01-19 14:27:14.927734607 +0100
++++ b/source/Makefile.common 2019-01-19 14:28:46.186729890 +0100
+@@ -20,12 +20,12 @@
+ # we only want natural rebuilds to regenerate the link date.
+ nedit: $(OBJS) ../util/libNUtil.a $(XMLLIB) $(XLTLIB)
+ $(CC) $(CFLAGS) -c linkdate.c -o linkdate.o
+- $(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/metadata.xml b/app-editors/nedit/metadata.xml
new file mode 100644
index 000000000000..a3137568c23f
--- /dev/null
+++ b/app-editors/nedit/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>amynka@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">nedit</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</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..53a8b6f139cf
--- /dev/null
+++ b/app-editors/nedit/nedit-5.6-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2020 Gentoo Authors
+# 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 ~amd64-linux ~x86-linux ~ppc-macos"
+
+RDEPEND=">=x11-libs/motif-2.3:0
+ 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/nedit/nedit-5.6-r2.ebuild b/app-editors/nedit/nedit-5.6-r2.ebuild
new file mode 100644
index 000000000000..018a58628a32
--- /dev/null
+++ b/app-editors/nedit/nedit-5.6-r2.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit desktop 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 ~amd64-linux ~x86-linux ~ppc-macos"
+
+RDEPEND=">=x11-libs/motif-2.3:0
+ x11-libs/libXt
+ x11-libs/libX11"
+DEPEND="${RDEPEND}
+ || ( dev-util/yacc sys-devel/bison )
+ dev-lang/perl"
+
+S="${WORKDIR}/${PN}-${PV}"
+
+PATCHES=( "${FILESDIR}/${P}-format.patch"
+ "${FILESDIR}/${P}-ldflags.patch"
+ "${FILESDIR}/${P}-40_Pointer_to_Integer.patch"
+ "${FILESDIR}/${P}-security.patch"
+ "${FILESDIR}/${P}-fix-crash-with-noX.patch"
+)
+
+src_prepare() {
+ #respecting LDFLAGS, bug #208189
+ default
+ 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
+}
+
+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/nedit/nedit-5.7.ebuild b/app-editors/nedit/nedit-5.7.ebuild
new file mode 100644
index 000000000000..25f9ab97f1db
--- /dev/null
+++ b/app-editors/nedit/nedit-5.7.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop 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}-src.tar.gz
+ https://dev.gentoo.org/~jlec/distfiles/${PN}.png.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~mips ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc"
+
+RDEPEND=">=x11-libs/motif-2.3:0
+ x11-libs/libXt
+ x11-libs/libX11"
+DEPEND="${RDEPEND}
+ || ( dev-util/yacc sys-devel/bison )
+ dev-lang/perl"
+
+S="${WORKDIR}/${PN}-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-ldflags.patch"
+ "${FILESDIR}/${PN}-5.6-security.patch"
+ "${FILESDIR}/${P}-doc.patch"
+)
+
+src_prepare() {
+ #respecting LDFLAGS, bug #208189
+ default
+ 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
+}
+
+src_compile() {
+ case "${CHOST}" in
+ *-darwin*)
+ emake CC="$(tc-getCC)" AR="$(tc-getAR)" macosx
+ ;;
+ *-linux*)
+ emake CC="$(tc-getCC)" AR="$(tc-getAR)" linux
+ ;;
+ esac
+ if use doc; then
+ emake VERSION="NEdit ${PV}" -C doc all
+ fi
+}
+
+src_install() {
+ dobin source/nedit
+ newbin source/nc neditc
+
+ make_desktop_entry "${PN}"
+ doicon "${WORKDIR}/${PN}.png"
+
+ if use doc; then
+ 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 doc/nedit.html
+ fi
+}
diff --git a/app-editors/neovim/Manifest b/app-editors/neovim/Manifest
new file mode 100644
index 000000000000..d94440938b40
--- /dev/null
+++ b/app-editors/neovim/Manifest
@@ -0,0 +1 @@
+DIST neovim-0.4.3.tar.gz 9556199 BLAKE2B 831f4d4950f4fa2cd9c7393824bbb5eb571ae5759d13af9f320e0fa351fa155413a5be580f010f2c7ab43ca7bc10c569ccf6e3ba29efc7f5a035576b030b216d SHA512 e13853fa296eda8618f389c71b6cbbd6f01d561615e80cc92959131dd10e395b1c6732a7d9ef6dbb9fe3ea9da4c11485b464547e2d46b22e59b8a20214e861f5
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..ba268407b3df
--- /dev/null
+++ b/app-editors/neovim/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>vim@gentoo.org</email>
+ <name>Gentoo Vim Project</name>
+ </maintainer>
+ <use>
+ <flag name="nvimpager">Install nvimpager symlink to less.sh macro</flag>
+ <flag name="tui">Build the neovim unix tui</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">neovim/neovim</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/neovim/neovim-0.4.3.ebuild b/app-editors/neovim/neovim-0.4.3.ebuild
new file mode 100644
index 000000000000..7891fa27662b
--- /dev/null
+++ b/app-editors/neovim/neovim-0.4.3.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake eutils xdg
+
+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 ~arm x86"
+fi
+
+LICENSE="Apache-2.0 vim"
+SLOT="0"
+IUSE="+luajit +nvimpager +tui"
+
+BDEPEND="
+ dev-util/gperf
+ virtual/libiconv
+ virtual/libintl
+ virtual/pkgconfig
+"
+
+DEPEND="
+ dev-libs/libuv:0=
+ >=dev-libs/libvterm-0.1.2
+ dev-libs/msgpack:0=
+ dev-lua/lpeg[luajit=]
+ dev-lua/luv[luajit=]
+ dev-lua/mpack[luajit=]
+ net-libs/libnsl
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? (
+ dev-lang/lua:=
+ dev-lua/LuaBitOp
+ )
+ tui? (
+ dev-libs/libtermkey
+ >=dev-libs/unibilium-2.0.0:0=
+ )
+"
+
+RDEPEND="
+ ${DEPEND}
+ app-eselect/eselect-vi
+"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ # use our system vim dir
+ sed -e "/^# define SYS_VIMRC_FILE/s|\$VIM|${EPREFIX}/etc/vim|" \
+ -i src/nvim/globals.h || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFEAT_TUI=$(usex tui)
+ -DPREFER_LUA=$(usex luajit no yes)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_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
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ optfeature "clipboard support" x11-misc/xsel x11-misc/xclip gui-apps/wl-clipboard
+ optfeature "Python plugin support" dev-python/pynvim
+ optfeature "Ruby plugin support" dev-ruby/neovim-ruby-client
+ optfeature "remote/nvr support" dev-python/neovim-remote
+}
diff --git a/app-editors/neovim/neovim-9999.ebuild b/app-editors/neovim/neovim-9999.ebuild
new file mode 100644
index 000000000000..3855e2b02929
--- /dev/null
+++ b/app-editors/neovim/neovim-9999.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake eutils xdg
+
+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 ~arm ~x86"
+fi
+
+LICENSE="Apache-2.0 vim"
+SLOT="0"
+IUSE="+luajit +nvimpager +tui"
+
+BDEPEND="
+ dev-util/gperf
+ virtual/libiconv
+ virtual/libintl
+ virtual/pkgconfig
+"
+
+DEPEND="
+ dev-libs/libutf8proc:=
+ dev-libs/libuv:0=
+ >=dev-libs/libvterm-0.1
+ dev-libs/msgpack:0=
+ dev-lua/lpeg[luajit=]
+ dev-lua/luv[luajit=]
+ dev-lua/mpack[luajit=]
+ net-libs/libnsl
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? (
+ dev-lang/lua:=
+ dev-lua/LuaBitOp
+ )
+ tui? (
+ dev-libs/libtermkey
+ >=dev-libs/unibilium-2.0.0:0=
+ )
+"
+
+RDEPEND="
+ ${DEPEND}
+ app-eselect/eselect-vi
+"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ # use our system vim dir
+ sed -e "/^# define SYS_VIMRC_FILE/s|\$VIM|${EPREFIX}/etc/vim|" \
+ -i src/nvim/globals.h || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFEAT_TUI=$(usex tui)
+ -DPREFER_LUA=$(usex luajit no yes)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_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
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ optfeature "clipboard support" x11-misc/xsel x11-misc/xclip gui-apps/wl-clipboard
+ optfeature "Python plugin support" dev-python/pynvim
+ optfeature "Ruby plugin support" dev-ruby/neovim-ruby-client
+ optfeature "remote/nvr support" dev-python/neovim-remote
+}
diff --git a/app-editors/ng/Manifest b/app-editors/ng/Manifest
new file mode 100644
index 000000000000..ba263ea71008
--- /dev/null
+++ b/app-editors/ng/Manifest
@@ -0,0 +1 @@
+DIST ng-1.5beta1.tar.gz 662557 BLAKE2B 02f1f5277aaba279226d732351eb604205e8bfc030678551a5f2439bde61651bf5aa4e02e06f3283fdab710cc5a1ed9a3eae1e42fd4fa8a8145699b425c4e61e SHA512 eaf3ee067cd98aebc757def9880c5a324975e9f5d0f1db030b11853e86631bca892bf344358ca21b778f5e10ae0d2ed97553221a368326f7a4d9d41f6867abcd
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..566d1b3596ac
--- /dev/null
+++ b/app-editors/ng/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 type="project">
+ <email>cjk@gentoo.org</email>
+ <name>Cjk</name>
+</maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
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..f7b2c66ceb44
--- /dev/null
+++ b/app-editors/ng/ng-1.5_beta1-r2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools 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: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/notepadqq/Manifest b/app-editors/notepadqq/Manifest
new file mode 100644
index 000000000000..a401586ab2e0
--- /dev/null
+++ b/app-editors/notepadqq/Manifest
@@ -0,0 +1 @@
+DIST notepadqq-2.0.0_beta.tar.gz 4516680 BLAKE2B 9a16ab64134ab0d33a68cc528db6a50b8860c391130667a9213e3aa941e115b1e3acae5833ce4b8b52fc81aa8997c5389f5920cde86171cf5d960a7f58dbea99 SHA512 b2ae3493da1512f5f2e42ffc90529f3acfe81d75b7dd6e476f41b94e9b39e02c6fe355ea5ad40460d644ed76bca695d451721e19738c251c8ecb8acc0c0fb061
diff --git a/app-editors/notepadqq/metadata.xml b/app-editors/notepadqq/metadata.xml
new file mode 100644
index 000000000000..e8f2aacb3442
--- /dev/null
+++ b/app-editors/notepadqq/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>polynomial-c@gentoo.org</email>
+ <name>Lars Wendler</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">notepadqq/notepadqq</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/notepadqq/notepadqq-2.0.0_beta.ebuild b/app-editors/notepadqq/notepadqq-2.0.0_beta.ebuild
new file mode 100644
index 000000000000..2da7d1d0936a
--- /dev/null
+++ b/app-editors/notepadqq/notepadqq-2.0.0_beta.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit qmake-utils xdg
+
+DESCRIPTION="Notepad++-like editor for Linux"
+HOMEPAGE="http://notepadqq.altervista.org"
+if [[ "${PV}" == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/notepadqq/notepadqq.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${P/_/-}"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE=""
+
+RDEPEND="
+ app-i18n/uchardet
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwebchannel:5
+ dev-qt/qtwebengine:5
+ dev-qt/qtwidgets:5
+"
+DEPEND="
+ ${RDEPEND}
+ dev-qt/linguist-tools:5
+ dev-qt/qttest:5
+ dev-qt/qtwebsockets:5
+"
+
+src_prepare() {
+ default
+
+ # 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 INSTALL_ROOT="${D}" install
+}
diff --git a/app-editors/notepadqq/notepadqq-9999.ebuild b/app-editors/notepadqq/notepadqq-9999.ebuild
new file mode 100644
index 000000000000..2da7d1d0936a
--- /dev/null
+++ b/app-editors/notepadqq/notepadqq-9999.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit qmake-utils xdg
+
+DESCRIPTION="Notepad++-like editor for Linux"
+HOMEPAGE="http://notepadqq.altervista.org"
+if [[ "${PV}" == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/notepadqq/notepadqq.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${P/_/-}"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE=""
+
+RDEPEND="
+ app-i18n/uchardet
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwebchannel:5
+ dev-qt/qtwebengine:5
+ dev-qt/qtwidgets:5
+"
+DEPEND="
+ ${RDEPEND}
+ dev-qt/linguist-tools:5
+ dev-qt/qttest:5
+ dev-qt/qtwebsockets:5
+"
+
+src_prepare() {
+ default
+
+ # 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 INSTALL_ROOT="${D}" install
+}
diff --git a/app-editors/okteta/Manifest b/app-editors/okteta/Manifest
new file mode 100644
index 000000000000..64034c02aa82
--- /dev/null
+++ b/app-editors/okteta/Manifest
@@ -0,0 +1 @@
+DIST okteta-0.26.3.tar.xz 947272 BLAKE2B c4502315a3713aebfb6f19adb92b01268346b0f71f1f59007b7f0dc06aa1ad71993a7b022669f7912ad10cec6c7d2eed9b552d66294f6b6657e664c3b1ba95bd SHA512 345e6ebb339a046e66e0d5b056ee487d881afa21d1ed29db2fb213200e431ba6936b1bf75a49733c14c96bdbee2482ed860257b0666b19f701c5ad0fd57e58c6
diff --git a/app-editors/okteta/metadata.xml b/app-editors/okteta/metadata.xml
new file mode 100644
index 000000000000..71ed0bdcba8b
--- /dev/null
+++ b/app-editors/okteta/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>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <use>
+ <flag name="designer">Build plugins for <pkg>dev-qt/designer</pkg></flag>
+ </use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/okteta/okteta-0.26.3.ebuild b/app-editors/okteta/okteta-0.26.3.ebuild
new file mode 100644
index 000000000000..d7762d4f7757
--- /dev/null
+++ b/app-editors/okteta/okteta-0.26.3.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ECM_DESIGNERPLUGIN="true"
+ECM_HANDBOOK="forceoptional"
+ECM_TEST="true"
+KFMIN=5.60.0
+QTMIN=5.12.3
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org
+
+DESCRIPTION="Hex editor by KDE"
+HOMEPAGE="https://kde.org/applications/utilities/org.kde.okteta
+https://utils.kde.org/projects/okteta/"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
+ KEYWORDS="amd64 ~arm64 x86"
+fi
+
+LICENSE="GPL-2 handbook? ( FDL-1.2 )"
+SLOT="5"
+IUSE="crypt"
+
+DEPEND="
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtnetwork-${QTMIN}:5
+ >=dev-qt/qtprintsupport-${QTMIN}:5
+ >=dev-qt/qtscript-${QTMIN}:5[scripttools]
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=dev-qt/qtxml-${QTMIN}:5
+ >=kde-frameworks/kbookmarks-${KFMIN}:5
+ >=kde-frameworks/kcmutils-${KFMIN}:5
+ >=kde-frameworks/kcodecs-${KFMIN}:5
+ >=kde-frameworks/kcompletion-${KFMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kcrash-${KFMIN}:5
+ >=kde-frameworks/kdbusaddons-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kiconthemes-${KFMIN}:5
+ >=kde-frameworks/kio-${KFMIN}:5
+ >=kde-frameworks/kjobwidgets-${KFMIN}:5
+ >=kde-frameworks/knewstuff-${KFMIN}:5
+ >=kde-frameworks/kparts-${KFMIN}:5
+ >=kde-frameworks/kservice-${KFMIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+ >=kde-frameworks/kxmlgui-${KFMIN}:5
+ crypt? ( app-crypt/qca:2[qt5(+)] )
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DOMIT_EXAMPLES=ON
+ $(cmake_use_find_package crypt Qca-qt5)
+ )
+
+ ecm_src_configure
+}
+
+src_test() {
+ local myctestargs=( -j1 )
+
+ ecm_src_test
+}
diff --git a/app-editors/padre/Manifest b/app-editors/padre/Manifest
new file mode 100644
index 000000000000..29daf6dd9f31
--- /dev/null
+++ b/app-editors/padre/Manifest
@@ -0,0 +1 @@
+DIST Padre-1.00.tar.gz 1969274 BLAKE2B 2c0a982b2addaaa8c2cf994c2aeed7985779b3c9663b3022c83a67ebc4a3d0c35fa7f5e6d0f7649cf9e47c51e1a01df42a977e03366f0f2b75c76964b4bf1dde SHA512 8a2630eb54944b85ec77eaf90595fe6bb482b88ae87622b9e54973fbc1cc5f7ccf83d7b2481a9a66886310db9678569d23b18de033f7759db71ac73fd3151856
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..ef8a5609e963
--- /dev/null
+++ b/app-editors/padre/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>perl@gentoo.org</email>
+ <name>Gentoo Perl Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpan">Padre</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</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/pluma/Manifest b/app-editors/pluma/Manifest
new file mode 100644
index 000000000000..0c5c7a1181dc
--- /dev/null
+++ b/app-editors/pluma/Manifest
@@ -0,0 +1,6 @@
+DIST pluma-1.20.2.tar.xz 3504720 BLAKE2B 350f14f2c2d75bdc51d79079907fc792746327adb9bf87cbccdbac67774e8d7102a7bb525d59f3c2aed98606aae5f72f49474382a6b9023bb7773face691c0f8 SHA512 36ac5aca6661c8f273fd9ff1a981fdc6138296ed9b6ba280a2f97ca3f925cdb1bdfda890a35f028816b3c076f18f1fc2d0a02b7101e53af8b494f723fc0afeb7
+DIST pluma-1.22.1.tar.xz 3236724 BLAKE2B f571ccb79ffac11122dad1888a9804fdb1671f2c73b28c216e0ec593ffc4dac3fec3053b83fd1503e0c951e032f6e4c22fb4f3d6a1d23477a54e06de2659222e SHA512 0d3f07b2e8c736c9e1ad64ed5cb749db6088868e9bc27aa786cbb0c3fe72715f0fd4dd53999502a4333ec82110148b772c0dde81433d0936d2d3c2d04804026a
+DIST pluma-1.22.2.tar.xz 3262288 BLAKE2B 0a7af4318ec11aa6a01dd14ed071975b6a961747c1abda9120912244f3fd530c5c06e2fc9dad6ad23175c119e35c1380e88be4b9bc1e331485b646dee87af8e1 SHA512 a68b79713f649def15ea29e58e041d70bb6d756a356743f6e06d8dd680f7b39e8bcdd90c68cbe5c517bead7f9263d7596954bc595c3a2501edf0d0ea421c9992
+DIST pluma-1.23.2.tar.xz 3264232 BLAKE2B 3be52d96eece50a2f407d0d07b45e61fa4d87c6d3971d8b263330b07c761eddfb479edf22b048482db3dda18498414ef9f31cce1db8484f13f7d133891e40018 SHA512 fbe6873b905434d17ce63e0f6d607f98f82f9588abca3ff21c85ddec121e00d20f90757d98a599cb940239c9eaab2ce9db59367fb3428bf2f7e208894b9a6f3f
+DIST pluma-1.23.3.tar.xz 3715640 BLAKE2B d5afc891204bd40fa05149aa14351967f3991d5b66db5331cd4ec07088ecfbf557f826491be9eebc87063dbe78a199910beed35070914b66725ecffaa592ab2c SHA512 fcc312b181029bc3e9fd7bcb5186fc457d1bc902a950a940b96b9f49b934ed47316f5d74992d991c74fef4b0056df3f49ec36eed9204c1c2385845551e928057
+DIST pluma-1.24.0.tar.xz 3717544 BLAKE2B fd9375fd05566c11c24d5bdf55ab0d4619143127a5e48c4e91d18421f50340775d58c3e2264382aa3bbd8aad0569c559e87381a9ece07ce1592d1bc1a5315db1 SHA512 390bf2949549baa0e3dc706526217fbc1513e2f9778917710da806e58cdfb0b7a36e95ed2186442490996cf76783acd4e0f4b8f1fedacee9ba356c0d466510be
diff --git a/app-editors/pluma/metadata.xml b/app-editors/pluma/metadata.xml
new file mode 100644
index 000000000000..7421ed9a0c84
--- /dev/null
+++ b/app-editors/pluma/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>mate@gentoo.org</email>
+ <name>Gentoo MATE Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">mate-desktop/pluma</remote-id>
+ </upstream>
+ <origin>mate-overlay</origin>
+</pkgmetadata>
diff --git a/app-editors/pluma/pluma-1.20.2.ebuild b/app-editors/pluma/pluma-1.20.2.ebuild
new file mode 100644
index 000000000000..2dc76637fa47
--- /dev/null
+++ b/app-editors/pluma/pluma-1.20.2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2018 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 ~arm64 ~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/pluma/pluma-1.22.1.ebuild b/app-editors/pluma/pluma-1.22.1.ebuild
new file mode 100644
index 000000000000..aa932ba522f3
--- /dev/null
+++ b/app-editors/pluma/pluma-1.22.1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MATE_LA_PUNT="yes"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit mate python-single-r1 virtualx
+
+if [[ ${PV} != 9999 ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~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
+ >=dev-libs/glib-2.50:2
+ >=dev-libs/libpeas-1.2.0[gtk]
+ >=dev-libs/libxml2-2.5:2
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.22:3[introspection?]
+ >=x11-libs/gtksourceview-3.0.0:3.0
+ x11-libs/libICE
+ x11-libs/libX11
+ >=x11-libs/libSM-1.0
+ x11-libs/pango
+ virtual/libintl
+ introspection? ( >=dev-libs/gobject-introspection-0.9.3:= )
+ spell? (
+ >=app-text/enchant-1.6
+ >=app-text/iso-codes-0.35
+ )
+ !!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
+ >=app-text/scrollkeeper-dtd-1:1.0
+ app-text/yelp-tools
+ dev-util/glib-utils
+ 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/pluma/pluma-1.22.2.ebuild b/app-editors/pluma/pluma-1.22.2.ebuild
new file mode 100644
index 000000000000..aa932ba522f3
--- /dev/null
+++ b/app-editors/pluma/pluma-1.22.2.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MATE_LA_PUNT="yes"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit mate python-single-r1 virtualx
+
+if [[ ${PV} != 9999 ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~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
+ >=dev-libs/glib-2.50:2
+ >=dev-libs/libpeas-1.2.0[gtk]
+ >=dev-libs/libxml2-2.5:2
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.22:3[introspection?]
+ >=x11-libs/gtksourceview-3.0.0:3.0
+ x11-libs/libICE
+ x11-libs/libX11
+ >=x11-libs/libSM-1.0
+ x11-libs/pango
+ virtual/libintl
+ introspection? ( >=dev-libs/gobject-introspection-0.9.3:= )
+ spell? (
+ >=app-text/enchant-1.6
+ >=app-text/iso-codes-0.35
+ )
+ !!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
+ >=app-text/scrollkeeper-dtd-1:1.0
+ app-text/yelp-tools
+ dev-util/glib-utils
+ 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/pluma/pluma-1.23.2.ebuild b/app-editors/pluma/pluma-1.23.2.ebuild
new file mode 100644
index 000000000000..003bdde3ee0e
--- /dev/null
+++ b/app-editors/pluma/pluma-1.23.2.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MATE_LA_PUNT="yes"
+
+PYTHON_COMPAT=( python3_{5,6,7} )
+
+inherit mate python-single-r1 virtualx
+
+if [[ ${PV} != 9999 ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~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
+ >=dev-libs/glib-2.50:2
+ >=dev-libs/libpeas-1.2.0[gtk]
+ >=dev-libs/libxml2-2.5:2
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.22:3[introspection?]
+ >=x11-libs/gtksourceview-3.0.0:3.0
+ x11-libs/libICE
+ x11-libs/libX11
+ >=x11-libs/libSM-1.0
+ x11-libs/pango
+ virtual/libintl
+ introspection? ( >=dev-libs/gobject-introspection-0.9.3:= )
+ spell? (
+ >=app-text/enchant-1.6
+ >=app-text/iso-codes-0.35
+ )
+ !!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
+ >=app-text/scrollkeeper-dtd-1:1.0
+ app-text/yelp-tools
+ dev-util/glib-utils
+ 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/pluma/pluma-1.23.3.ebuild b/app-editors/pluma/pluma-1.23.3.ebuild
new file mode 100644
index 000000000000..419f79735cc0
--- /dev/null
+++ b/app-editors/pluma/pluma-1.23.3.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MATE_LA_PUNT="yes"
+
+PYTHON_COMPAT=( python3_{5,6,7} )
+
+inherit mate python-single-r1 virtualx
+
+if [[ ${PV} != 9999 ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~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
+ >=dev-libs/glib-2.50:2
+ >=dev-libs/libpeas-1.2.0[gtk]
+ >=dev-libs/libxml2-2.5:2
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.22:3[introspection?]
+ >=x11-libs/gtksourceview-3.0.0:3.0
+ x11-libs/libICE
+ x11-libs/libX11
+ >=x11-libs/libSM-1.0
+ x11-libs/pango
+ sys-devel/gettext
+ introspection? ( >=dev-libs/gobject-introspection-0.9.3:= )
+ spell? (
+ >=app-text/enchant-1.6
+ >=app-text/iso-codes-0.35
+ )
+ !!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
+ >=app-text/scrollkeeper-dtd-1:1.0
+ app-text/yelp-tools
+ dev-util/glib-utils
+ dev-util/gtk-doc
+ dev-util/gtk-doc-am
+ >=sys-devel/libtool-2.2.6:2
+ 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/pluma/pluma-1.24.0.ebuild b/app-editors/pluma/pluma-1.24.0.ebuild
new file mode 100644
index 000000000000..419f79735cc0
--- /dev/null
+++ b/app-editors/pluma/pluma-1.24.0.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MATE_LA_PUNT="yes"
+
+PYTHON_COMPAT=( python3_{5,6,7} )
+
+inherit mate python-single-r1 virtualx
+
+if [[ ${PV} != 9999 ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~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
+ >=dev-libs/glib-2.50:2
+ >=dev-libs/libpeas-1.2.0[gtk]
+ >=dev-libs/libxml2-2.5:2
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.22:3[introspection?]
+ >=x11-libs/gtksourceview-3.0.0:3.0
+ x11-libs/libICE
+ x11-libs/libX11
+ >=x11-libs/libSM-1.0
+ x11-libs/pango
+ sys-devel/gettext
+ introspection? ( >=dev-libs/gobject-introspection-0.9.3:= )
+ spell? (
+ >=app-text/enchant-1.6
+ >=app-text/iso-codes-0.35
+ )
+ !!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
+ >=app-text/scrollkeeper-dtd-1:1.0
+ app-text/yelp-tools
+ dev-util/glib-utils
+ dev-util/gtk-doc
+ dev-util/gtk-doc-am
+ >=sys-devel/libtool-2.2.6:2
+ 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/pluma/pluma-9999.ebuild b/app-editors/pluma/pluma-9999.ebuild
new file mode 100644
index 000000000000..65d4d2f88bc0
--- /dev/null
+++ b/app-editors/pluma/pluma-9999.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..f68473883259
--- /dev/null
+++ b/app-editors/qemacs/Manifest
@@ -0,0 +1 @@
+DIST qemacs-0.4.1_pre20170225.tar.xz 1147408 BLAKE2B 369f3c5ff1b1f7b22bbd1f70f0c150e425a5b68828e62db427e4b41c58c8ee9ae0449a83693e9354d88fc482691d7a5f3661360ef602aeaba963776c4725b894 SHA512 a17c8901c917f91401e16b4f857735957ab0d3533d9dcc7a0decf768f453b68023f45e1241225a84d35ba793beb69754e0f2caa857165f8223882d5041d56c99
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..f726db4097d1
--- /dev/null
+++ b/app-editors/qemacs/metadata.xml
@@ -0,0 +1,39 @@
+<?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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
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..33bd0f7ba89a
--- /dev/null
+++ b/app-editors/qemacs/qemacs-0.4.1_pre20170225.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2018 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
+ X? ( x11-base/xorg-proto )"
+
+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/qhexedit2/Manifest b/app-editors/qhexedit2/Manifest
new file mode 100644
index 000000000000..31427cf34c3b
--- /dev/null
+++ b/app-editors/qhexedit2/Manifest
@@ -0,0 +1 @@
+DIST qhexedit2-0.8.6_p20190316.tar.gz 355512 BLAKE2B a7edc8d05a7788f3a3f2202762ca3dc436cafbde1b1216ff1bb342055600a2e9d53c27fe324380331b8182904545c698106129238065cd2416d244fdfa176446 SHA512 4ef288c8a220c308d38c41fee83fe962e213cdfa448445ef73c3d2fe1952b68f2096732e78d2aa0a87eddd3cf2f47bed3e77807e12d2b7616c1447b3bf1b0e7d
diff --git a/app-editors/qhexedit2/files/qhexedit2-0.8.4-setup.py.patch b/app-editors/qhexedit2/files/qhexedit2-0.8.4-setup.py.patch
new file mode 100644
index 000000000000..83d9183fcdbe
--- /dev/null
+++ b/app-editors/qhexedit2/files/qhexedit2-0.8.4-setup.py.patch
@@ -0,0 +1,11 @@
+--- qhexedit2-0.8.4/setup.py- 2018-01-02 19:40:57.542961661 +0300
++++ qhexedit2-0.8.4/setup.py 2017-01-17 02:32:54.000000000 +0300
+@@ -98,7 +98,7 @@
+ lib + ".framework", "Headers")]
+ else:
+ if PyQt_Version == 'PyQt5':
+- for qt_inc_dir in ('/usr/include/qt', '/usr/include/x86_64-linux-gnu/qt5'):
++ for qt_inc_dir in ('/usr/include/qt', '/usr/include/qt5'):
+ include_dirs.append(qt_inc_dir)
+ include_dirs += [os.path.join(qt_inc_dir, lib) for lib in qt_libs]
+ libraries = ["Qt5" + lib[2:] for lib in qt_libs]
diff --git a/app-editors/qhexedit2/metadata.xml b/app-editors/qhexedit2/metadata.xml
new file mode 100644
index 000000000000..2e990c56c979
--- /dev/null
+++ b/app-editors/qhexedit2/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ktrace@yandex.ru</email>
+ <name>Victor Kustov</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="gui">Install Qt5 hex editor</flag>
+ </use>
+ <longdescription lang="en">
+ QHexEdit is a hex editor widget written in C++ for the Qt5 framework.
+ It is a simple editor for binary data, and has bindings to PyQt
+ with python 2 and 3.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">lancos/qhexedit2</remote-id>
+ <remote-id type="github">Simsys/qhexedit2</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/qhexedit2/qhexedit2-0.8.6_p20190316.ebuild b/app-editors/qhexedit2/qhexedit2-0.8.6_p20190316.ebuild
new file mode 100644
index 000000000000..2378ef10d4d9
--- /dev/null
+++ b/app-editors/qhexedit2/qhexedit2-0.8.6_p20190316.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7} )
+
+DISTUTILS_OPTIONAL=1
+
+inherit distutils-r1 qmake-utils
+
+EGIT_COMMIT="ba5af8616b3a6c916e718914225a483267c01356"
+DESCRIPTION="Hex editor library, Qt application written in C++ with Python bindings"
+HOMEPAGE="https://github.com/lancos/qhexedit2/"
+SRC_URI="https://github.com/lancos/${PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc +gui python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.8.4-setup.py.patch"
+)
+
+RDEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ python? (
+ dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+ dev-python/sip[${PYTHON_USEDEP}]
+ ${PYTHON_DEPS}
+ )
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
+
+src_prepare() {
+ default
+ sed -i -e '/^unix:DESTDIR/ d' -e "\$atarget.path = /usr/$(get_libdir)" \
+ -e "\$aINSTALLS += target" src/qhexedit.pro \
+ || die "src/qhexedit.pro: sed failed"
+ use python && distutils-r1_src_prepare
+}
+
+src_configure() {
+ eqmake5 src/qhexedit.pro
+ if use gui; then
+ cd example || die "can't cd example"
+ eqmake5 qhexedit.pro
+ fi
+}
+
+src_compile() {
+ default
+ use python && distutils-r1_src_compile
+ use gui && emake -C example
+}
+
+python_compile() {
+ use python && distutils-r1_python_compile build_ext --library-dirs="${S}"
+}
+
+src_test() {
+ cd test || die "can't cd test"
+ mkdir logs || die "can't create logs dir"
+ eqmake5 chunks.pro
+ emake
+ ./chunks || die "test run failed"
+ grep -q "^NOK" logs/Summary.log && die "test failed"
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+ doheader src/*.h
+ use python && distutils-r1_src_install
+ use gui && dobin example/qhexedit
+ if use doc; then
+ dodoc -r doc/html
+ dodoc doc/release.txt
+ fi
+}
diff --git a/app-editors/qxmledit/Manifest b/app-editors/qxmledit/Manifest
new file mode 100644
index 000000000000..8f6ea74897be
--- /dev/null
+++ b/app-editors/qxmledit/Manifest
@@ -0,0 +1 @@
+DIST qxmledit-0.9.12-src.tgz 22582822 BLAKE2B 66cf57e8cd1cbf712c28e55ee39685ea907216ff397b9f6ad5307e768bbd22a16b1f32dbbd309ae186479c35bd57d0aa1a1d5b4e174d1230c3b52f844be7e9f7 SHA512 996f1a656c6191950eb18bd3df13574f6bd85ad58132b5662cce5b6538fe81597359d3a7f69cff5c252c2efceb749ee079bed7165b3c142d33e0c4cb500231cc
diff --git a/app-editors/qxmledit/metadata.xml b/app-editors/qxmledit/metadata.xml
new file mode 100644
index 000000000000..18dfae71b1f0
--- /dev/null
+++ b/app-editors/qxmledit/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>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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/qxmledit/qxmledit-0.9.12.ebuild b/app-editors/qxmledit/qxmledit-0.9.12.ebuild
new file mode 100644
index 000000000000..88123d4bf620
--- /dev/null
+++ b/app-editors/qxmledit/qxmledit-0.9.12.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop qmake-utils xdg-utils
+
+DESCRIPTION="Simple Qt-based XML editor"
+HOMEPAGE="https://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
+}
+
+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..41d1bf735cf3
--- /dev/null
+++ b/app-editors/retext/Manifest
@@ -0,0 +1 @@
+DIST ReText-7.0.4.tar.gz 402934 BLAKE2B bae66a5fb8e81192d692d1a239706e2feee6ee940685cffdf3498880b2c9bd67cc85c6150e372a383e4bad13da210426fff95c06b2861b58020c2c6d298cf5d2 SHA512 cb12666b15414f4bf83f3b07c94d3bcba13dd3e6c3832c66520bfe8caafeeb87cc083a1e74530d98d6e00a00363add55fdf873e6de385e637876454130deebb3
diff --git a/app-editors/retext/metadata.xml b/app-editors/retext/metadata.xml
new file mode 100644
index 000000000000..c4c749b2f6f1
--- /dev/null
+++ b/app-editors/retext/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>holgersson@posteo.de</email>
+ <name>Nils Freydank</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">retext-project/retext</remote-id>
+ <remote-id type="pypi">ReText</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/retext/retext-7.0.4-r1.ebuild b/app-editors/retext/retext-7.0.4-r1.ebuild
new file mode 100644
index 000000000000..d0afdd8c5c66
--- /dev/null
+++ b/app-editors/retext/retext-7.0.4-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# no pypy{,3} support as PyQt5 does not support it at 2019-05-15
+# https://bitbucket.org/pypy/compatibility/wiki/Home#!gui-library-bindings
+PYTHON_COMPAT=( python3_{6,7} )
+
+inherit distutils-r1 virtualx xdg-utils
+
+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"
+
+if [[ ${PV} == *9999 ]]
+ then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/retext-project/retext.git"
+ else
+ SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+ KEYWORDS="amd64 x86"
+ S="${WORKDIR}"/${MY_P}
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="+spell"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ dev-python/markups[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/python-markdown-math[${PYTHON_USEDEP}]
+ dev-python/PyQt5[gui,network,printsupport,widgets,${PYTHON_USEDEP}]
+ || (
+ dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
+ <dev-python/PyQt5-5.12[webengine]
+ )
+ spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ esetup.py test
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+
+ einfo "Starting with retext-7.0.4 the markdown-math plugin is installed."
+ einfo "Note that you can use different math delimiters, e.g. \(...\) for inline math."
+ einfo "For more details take a look at:"
+ einfo "https://github.com/mitya57/python-markdown-math#math-delimiters"
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/app-editors/retext/retext-9999.ebuild b/app-editors/retext/retext-9999.ebuild
new file mode 100644
index 000000000000..44d48af58513
--- /dev/null
+++ b/app-editors/retext/retext-9999.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# no pypy{,3} support as PyQt5 does not support it at 2019-05-15
+# https://bitbucket.org/pypy/compatibility/wiki/Home#!gui-library-bindings
+PYTHON_COMPAT=( python3_{6,7} )
+
+inherit distutils-r1 virtualx xdg-utils
+
+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"
+
+if [[ ${PV} == *9999 ]]
+ then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/retext-project/retext.git"
+ else
+ SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}"/${MY_P}
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="+spell"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ dev-python/markups[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/python-markdown-math[${PYTHON_USEDEP}]
+ dev-python/PyQt5[gui,network,printsupport,widgets,${PYTHON_USEDEP}]
+ || (
+ dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
+ <dev-python/PyQt5-5.12[webengine]
+ )
+ spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ esetup.py test
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+
+ einfo "Starting with retext-7.0.4 the markdown-math plugin is installed."
+ einfo "Note that you can use different math delimiters, e.g. \(...\) for inline math."
+ einfo "For more details take a look at:"
+ einfo "https://github.com/mitya57/python-markdown-math#math-delimiters"
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/app-editors/sandy/Manifest b/app-editors/sandy/Manifest
new file mode 100644
index 000000000000..164d812917fb
--- /dev/null
+++ b/app-editors/sandy/Manifest
@@ -0,0 +1 @@
+DIST sandy-0.4.tar.bz2 18409 BLAKE2B bb10bc7def440d436ffa0304c8f009d722b23159fdd8f2b559f768476391ba2ddda9083ef6fd7e0cec32b231d3c6fa9578214e5027b8a4cd490d338b384ea83a SHA512 6f28588e15ccdc467dd9d0de8b221508333defefe5866005d82292583db9f296284f233271af5e85b648c194dff117f94752cc364ed6c1409dae5c3af755b530
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..1dbc1c1cf523
--- /dev/null
+++ b/app-editors/sandy/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>jer@gentoo.org</email>
+</maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/sandy/sandy-0.4-r1.ebuild b/app-editors/sandy/sandy-0.4-r1.ebuild
new file mode 100644
index 000000000000..d6f94b34f70f
--- /dev/null
+++ b/app-editors/sandy/sandy-0.4-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit flag-o-matic savedconfig 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:0=
+"
+RDEPEND="
+ ${DEPEND}
+"
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.4-gentoo.patch
+)
+
+src_prepare() {
+ default
+ restore_config config.h
+}
+
+src_compile() {
+ tc-export CC PKG_CONFIG
+ append-cflags -D_DEFAULT_SOURCE
+ emake PREFIX=/usr ${PN}
+}
+
+src_install() {
+ emake PREFIX=/usr DESTDIR="${D}" install
+ save_config config.h
+}
diff --git a/app-editors/sandy/sandy-0.4.ebuild b/app-editors/sandy/sandy-0.4.ebuild
new file mode 100644
index 000000000000..d401639ce641
--- /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:0="
+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..212ac9a7c225
--- /dev/null
+++ b/app-editors/scite/Manifest
@@ -0,0 +1,5 @@
+DIST scite-4.1.3.tgz 2546247 BLAKE2B 9c0cd767e6aff861bb706500eebf5fa431d5ce608f37a9b19d2af7d558698eb3073a33fcdd0900abb549aa9ed65981a9f217dc1dae4b21be919c380d20d4ee8f SHA512 875dd44785e9c96a264df9061830c7ab51296061da7765084ec4445d7f529dabecebcfadc5a1d8cab9074ffd588903ca056ed5de0ae974d60a5c57b13d61550d
+DIST scite-4.2.0.tgz 2629884 BLAKE2B f9801146a086faefb38b72d28e00da055191c44254e5a6d34ade06462febd6a2b596aa572dd7e16c7541b0fcc23ff5f97f462b8869440782fd51f71ddd16d4c9 SHA512 d0a46ed2a21057a4fa866ae9305c9893360376d8591a9414eab96f9cb91991a43f3bf824bbb9a00c606555686aafdc0dc4b4bb41bcc94fe5dc90064342914c5a
+DIST scite-4.2.1.tgz 2633438 BLAKE2B cddf23f60eb1791266e38eba03ed8708aa02e0d91470344b19bfad7519930691a4b6a79b1eed3ac06234509b20fbd6b299c13c48a6990e0d8ced1a99a1d01220 SHA512 b2ad499f1c4d1a15b009516d24186c7d84f48ccdd40d2e9ca614de3cf36725a710523beaacda499186f040869e87339c2292e23eec959c2cdaa5fedfbb94d565
+DIST scite-4.3.2.tgz 2710026 BLAKE2B dd53eb2c3214033976ae4c5f63f75ea19d691ac9362e9d8ed527aff6b34d16e029d404d9731e3097cdf36d4c4594b427aa26bc9b83cb6a6ed05741e61fe4dfd4 SHA512 fd29369787f16c8357ae4bfd82b7f621ebb399e93e77c7540296c2a3c8b4e403071359f67f59bb5bd59216ae7e9cfa8aabfc38e200d59bea2c13e96991a3c9b8
+DIST scite-4.3.3.tgz 2714086 BLAKE2B f31db7147c102ea19317d5a0bfb64e2ccd34914a8b615cd6c02f2e79f1788433dd3ecd6a565599d43a0c4da34ac30e9434037a042d77170f14969d3b008a742f SHA512 85bc76bc9bb817fb0f7ddecad5e01d83d7090e788c2f74b9b23a86284f452a62c2fed64d0cf7c24cb57043228b8c91212742b644756d2ab185b10ead8785b82b
diff --git a/app-editors/scite/metadata.xml b/app-editors/scite/metadata.xml
new file mode 100644
index 000000000000..9639d78abb16
--- /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>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">scintilla</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/scite/scite-4.1.3.ebuild b/app-editors/scite/scite-4.1.3.ebuild
new file mode 100644
index 000000000000..01cbf1b36376
--- /dev/null
+++ b/app-editors/scite/scite-4.1.3.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2-utils toolchain-funcs xdg-utils
+
+MY_PV=${PV//./}
+DESCRIPTION="A very powerful, highly configurable, small editor with syntax coloring"
+HOMEPAGE="https://www.scintilla.org/SciTE.html"
+SRC_URI="https://www.scintilla.org/${PN}${MY_PV}.tgz -> ${P}.tgz"
+
+LICENSE="HPND lua? ( MIT )"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="lua"
+
+RDEPEND="
+ dev-libs/glib:=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3=
+ x11-libs/pango
+ lua? ( >=dev-lang/lua-5:= )
+"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}/gtk"
+
+pkg_pretend() {
+ if tc-is-clang ; then
+ # need c++17 features
+ [[ "${MERGE_TYPE}" != "binary" &&
+ $(clang-major-version) -lt 5 ]] &&
+ die "Sorry, SCiTE uses C++17 Features and needs >sys-devel/clang-5
+ ($(clang-major-version))."
+
+ elif tc-is-gcc; then
+ # older gcc is not supported
+ [[ "${MERGE_TYPE}" != "binary" &&
+ $(gcc-major-version) -lt 7 ]] &&
+ die "Sorry, Scite uses C++17 Features, need >sys-devel/gcc-7."
+ else
+ die "Either gcc or clang should be configured for building scite"
+ fi
+}
+
+src_prepare() {
+ # remove hardcoded CC, Optimizations and clang unknown flags
+ sed -i "${WORKDIR}/scintilla/gtk/makefile" \
+ -e "s#^CC = gcc#CC = ${CC}#" \
+ -e "s#^CC = clang#CC = ${CC}#" \
+ -e "s#^CXX = clang++#CC = ${CXX}#" \
+ -e "s#-Os##" \
+ -e "s#-Wno-misleading-indentation##" \
+ || die "error patching /scintilla/gtk/makefile"
+
+ sed -i "${S}/makefile" \
+ -e "s#^CC = clang#CC = ${CC}#" \
+ -e "s#^CXX = clang++#CC = ${CXX}#" \
+ -e "s#-rdynamic#-rdynamic ${LDFLAGS}#" \
+ -e "s#-Os##" \
+ || die "error patching gtk/makefile"
+
+ # repair and enhance the .desktop file
+ sed -i "${S}/SciTE.desktop" \
+ -e "s#text/plain#text/\*;application/xhtml+xml#" \
+ -e "s#^Categories=\(.*\)#Categories=Development;#" \
+ || die "error patching /scite/gtk/SciTe.desktop"
+
+ # add the ebuild suffix as shell type for working with ebuilds
+ sed -i "${WORKDIR}/scite/src/perl.properties" \
+ -e "s#\*.sh;\*.bsh;#\*.ebuild;\*.sh;\*.bsh;#" \
+ || die "error patching /scite/src/perl.prperties"
+
+ # it seems that pwd here is ${S}, but user patches are relative to ${workdir}
+ # Bug #576162
+
+ cd "${WORKDIR}" || die "couldn't cd into ${WORKDIR}"
+ eapply_user
+}
+
+src_compile() {
+ # prepare make options
+ local emake_pars="GTK3=1"
+
+ if tc-is-clang ; then
+ emake_pars+=" CLANG=1"
+ fi
+
+ if ! use lua; then
+ emake_pars+=" NO_LUA=1"
+ fi
+
+ emake -C "${WORKDIR}/scintilla/gtk" "${emake_pars}"
+ emake "${emake_pars}"
+}
+
+src_install() {
+ 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
+}
+
+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/scite/scite-4.2.0.ebuild b/app-editors/scite/scite-4.2.0.ebuild
new file mode 100644
index 000000000000..fecd4f286206
--- /dev/null
+++ b/app-editors/scite/scite-4.2.0.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2-utils toolchain-funcs xdg-utils
+
+MY_PV=${PV//./}
+DESCRIPTION="A very powerful, highly configurable, small editor with syntax coloring"
+HOMEPAGE="https://www.scintilla.org/SciTE.html"
+SRC_URI="https://www.scintilla.org/${PN}${MY_PV}.tgz -> ${P}.tgz"
+
+LICENSE="HPND lua? ( MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="lua"
+
+RDEPEND="
+ dev-libs/glib:=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3=
+ x11-libs/pango
+ lua? ( >=dev-lang/lua-5:= )
+"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}/gtk"
+
+pkg_pretend() {
+ if tc-is-clang ; then
+ # need c++17 features
+ [[ "${MERGE_TYPE}" != "binary" &&
+ $(clang-major-version) -lt 5 ]] &&
+ die "Sorry, SCiTE uses C++17 Features and needs >sys-devel/clang-5
+ ($(clang-major-version))."
+
+ elif tc-is-gcc; then
+ # older gcc is not supported
+ [[ "${MERGE_TYPE}" != "binary" &&
+ $(gcc-major-version) -lt 7 ]] &&
+ die "Sorry, Scite uses C++17 Features, need >sys-devel/gcc-7."
+ else
+ die "Either gcc or clang should be configured for building scite"
+ fi
+}
+
+src_prepare() {
+ # remove hardcoded CC, Optimizations and clang unknown flags
+ sed -i "${WORKDIR}/scintilla/gtk/makefile" \
+ -e "s#^CC = gcc#CC = ${CC}#" \
+ -e "s#^CC = clang#CC = ${CC}#" \
+ -e "s#^CXX = clang++#CC = ${CXX}#" \
+ -e "s#-Os##" \
+ -e "s#-Wno-misleading-indentation##" \
+ || die "error patching /scintilla/gtk/makefile"
+
+ sed -i "${S}/makefile" \
+ -e "s#^CC = clang#CC = ${CC}#" \
+ -e "s#^CXX = clang++#CC = ${CXX}#" \
+ -e "s#-rdynamic#-rdynamic ${LDFLAGS}#" \
+ -e "s#-Os##" \
+ || die "error patching gtk/makefile"
+
+ # repair and enhance the .desktop file
+ sed -i "${S}/SciTE.desktop" \
+ -e "s#text/plain#text/\*;application/xhtml+xml#" \
+ -e "s#^Categories=\(.*\)#Categories=Development;#" \
+ || die "error patching /scite/gtk/SciTe.desktop"
+
+ # add the ebuild suffix as shell type for working with ebuilds
+ sed -i "${WORKDIR}/scite/src/perl.properties" \
+ -e "s#\*.sh;\*.bsh;#\*.ebuild;\*.sh;\*.bsh;#" \
+ || die "error patching /scite/src/perl.prperties"
+
+ # it seems that pwd here is ${S}, but user patches are relative to ${workdir}
+ # Bug #576162
+
+ cd "${WORKDIR}" || die "couldn't cd into ${WORKDIR}"
+ eapply_user
+}
+
+src_compile() {
+ # prepare make options
+ local emake_pars="GTK3=1"
+
+ if tc-is-clang ; then
+ emake_pars+=" CLANG=1"
+ fi
+
+ if ! use lua; then
+ emake_pars+=" NO_LUA=1"
+ fi
+
+ emake -C "${WORKDIR}/scintilla/gtk" "${emake_pars}"
+ emake "${emake_pars}"
+}
+
+src_install() {
+ 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
+}
+
+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/scite/scite-4.2.1.ebuild b/app-editors/scite/scite-4.2.1.ebuild
new file mode 100644
index 000000000000..6b9aa913c832
--- /dev/null
+++ b/app-editors/scite/scite-4.2.1.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs xdg-utils
+
+MY_PV=${PV//./}
+DESCRIPTION="A very powerful, highly configurable, small editor with syntax coloring"
+HOMEPAGE="https://www.scintilla.org/SciTE.html"
+SRC_URI="https://www.scintilla.org/${PN}${MY_PV}.tgz -> ${P}.tgz"
+
+LICENSE="HPND lua? ( MIT )"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="lua"
+
+RDEPEND="
+ dev-libs/glib:=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3=
+ x11-libs/pango
+ lua? ( >=dev-lang/lua-5:= )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}/gtk"
+
+pkg_pretend() {
+ if tc-is-clang ; then
+ # need c++17 features
+ [[ "${MERGE_TYPE}" != "binary" &&
+ $(clang-major-version) -lt 5 ]] &&
+ die "Sorry, SCiTE uses C++17 Features and needs >sys-devel/clang-5
+ ($(clang-major-version))."
+
+ elif tc-is-gcc; then
+ # older gcc is not supported
+ [[ "${MERGE_TYPE}" != "binary" &&
+ $(gcc-major-version) -lt 7 ]] &&
+ die "Sorry, Scite uses C++17 Features, need >sys-devel/gcc-7."
+ else
+ die "Either gcc or clang should be configured for building scite"
+ fi
+}
+
+src_prepare() {
+ # remove hardcoded CC, Optimizations and clang unknown flags
+ sed -i "${WORKDIR}/scintilla/gtk/makefile" \
+ -e "s#^CC = gcc#CC = ${CC}#" \
+ -e "s#^CC = clang#CC = ${CC}#" \
+ -e "s#^CXX = clang++#CC = ${CXX}#" \
+ -e "s#-Os##" \
+ -e "s#-Wno-misleading-indentation##" \
+ || die "error patching /scintilla/gtk/makefile"
+
+ sed -i "${S}/makefile" \
+ -e "s#^CC = clang#CC = ${CC}#" \
+ -e "s#^CXX = clang++#CC = ${CXX}#" \
+ -e "s#-rdynamic#-rdynamic ${LDFLAGS}#" \
+ -e "s#-Os##" \
+ || die "error patching gtk/makefile"
+
+ # repair and enhance the .desktop file
+ sed -i "${S}/SciTE.desktop" \
+ -e "s#text/plain#text/\*;application/xhtml+xml#" \
+ -e "s#^Categories=\(.*\)#Categories=Development;#" \
+ || die "error patching /scite/gtk/SciTe.desktop"
+
+ # add the ebuild suffix as shell type for working with ebuilds
+ sed -i "${WORKDIR}/scite/src/perl.properties" \
+ -e "s#\*.sh;\*.bsh;#\*.ebuild;\*.sh;\*.bsh;#" \
+ || die "error patching /scite/src/perl.prperties"
+
+ # it seems that pwd here is ${S}, but user patches are relative to ${workdir}
+ # Bug #576162
+
+ cd "${WORKDIR}" || die "couldn't cd into ${WORKDIR}"
+ eapply_user
+}
+
+src_compile() {
+ # prepare make options
+ local emake_pars="GTK3=1"
+
+ if tc-is-clang ; then
+ emake_pars+=" CLANG=1"
+ fi
+
+ if ! use lua; then
+ emake_pars+=" NO_LUA=1"
+ fi
+
+ emake -C "${WORKDIR}/scintilla/gtk" "${emake_pars}"
+ emake "${emake_pars}"
+}
+
+src_install() {
+ 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
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/app-editors/scite/scite-4.3.2.ebuild b/app-editors/scite/scite-4.3.2.ebuild
new file mode 100644
index 000000000000..186e3d50d591
--- /dev/null
+++ b/app-editors/scite/scite-4.3.2.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs xdg-utils
+
+DESCRIPTION="A very powerful, highly configurable, small editor with syntax coloring"
+HOMEPAGE="https://www.scintilla.org/SciTE.html"
+SRC_URI="https://www.scintilla.org/${PN}${PV//./}.tgz -> ${P}.tgz"
+
+LICENSE="HPND lua? ( MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="lua"
+
+RDEPEND="
+ dev-libs/glib:2
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ x11-libs/pango
+ lua? ( >=dev-lang/lua-5:= )"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ virtual/pkgconfig"
+
+DOCS=("../README")
+
+S="${WORKDIR}/${PN}/gtk"
+
+pkg_pretend() {
+ if tc-is-clang ; then
+ # need c++17 features
+ [[ "${MERGE_TYPE}" != "binary" &&
+ $(clang-major-version) -lt 5 ]] &&
+ die "Sorry, SCiTE uses C++17 Features and needs >sys-devel/clang-5
+ ($(clang-major-version))."
+
+ elif tc-is-gcc; then
+ # older gcc is not supported
+ [[ "${MERGE_TYPE}" != "binary" &&
+ $(gcc-major-version) -lt 7 ]] &&
+ die "Sorry, Scite uses C++17 Features, need >sys-devel/gcc-7."
+ else
+ die "Either gcc or clang should be configured for building scite"
+ fi
+}
+
+src_prepare() {
+ # remove hardcoded CC, Optimizations and clang unknown flags
+ sed -i "${WORKDIR}/scintilla/gtk/makefile" \
+ -e "s#^CC = gcc#CC = ${CC}#" \
+ -e "s#^CC = clang#CC = ${CC}#" \
+ -e "s#^CXX = clang++#CC = ${CXX}#" \
+ -e "s#-Os##" \
+ -e "s#-Wno-misleading-indentation##" \
+ || die "error patching /scintilla/gtk/makefile"
+
+ sed -i "${S}/makefile" \
+ -e "s#^CC = clang#CC = ${CC}#" \
+ -e "s#^CXX = clang++#CC = ${CXX}#" \
+ -e "s#-rdynamic#-rdynamic ${LDFLAGS}#" \
+ -e "s#-Os##" \
+ || die "error patching gtk/makefile"
+
+ # repair and enhance the .desktop file
+ sed -i "${S}/SciTE.desktop" \
+ -e "s#text/plain#text/\*;application/xhtml+xml#" \
+ -e "s#^Categories=\(.*\)#Categories=Development;#" \
+ || die "error patching /scite/gtk/SciTe.desktop"
+
+ # add the ebuild suffix as shell type for working with ebuilds
+ sed -i "${WORKDIR}/scite/src/perl.properties" \
+ -e "s#\*.sh;\*.bsh;#\*.ebuild;\*.sh;\*.bsh;#" \
+ || die "error patching /scite/src/perl.prperties"
+
+ # it seems that pwd here is ${S}, but user patches are relative to ${workdir}
+ # Bug #576162
+
+ cd "${WORKDIR}" || die "couldn't cd into ${WORKDIR}"
+ eapply_user
+}
+
+src_compile() {
+ # prepare make options
+ local emake_pars=("GTK3=1")
+
+ tc-is-clang && emake_pars+=("CLANG=1")
+ use !lua && emake_pars+=("NO_LUA=1")
+
+ emake -C "${WORKDIR}/scintilla/gtk" "${emake_pars[@]}"
+ emake "${emake_pars[@]}"
+}
+
+# want to use the base src_install() as base_src_install()
+
+src_install() {
+ default
+ dosym SciTE /usr/bin/scite
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/app-editors/scite/scite-4.3.3.ebuild b/app-editors/scite/scite-4.3.3.ebuild
new file mode 100644
index 000000000000..186e3d50d591
--- /dev/null
+++ b/app-editors/scite/scite-4.3.3.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs xdg-utils
+
+DESCRIPTION="A very powerful, highly configurable, small editor with syntax coloring"
+HOMEPAGE="https://www.scintilla.org/SciTE.html"
+SRC_URI="https://www.scintilla.org/${PN}${PV//./}.tgz -> ${P}.tgz"
+
+LICENSE="HPND lua? ( MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="lua"
+
+RDEPEND="
+ dev-libs/glib:2
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ x11-libs/pango
+ lua? ( >=dev-lang/lua-5:= )"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ virtual/pkgconfig"
+
+DOCS=("../README")
+
+S="${WORKDIR}/${PN}/gtk"
+
+pkg_pretend() {
+ if tc-is-clang ; then
+ # need c++17 features
+ [[ "${MERGE_TYPE}" != "binary" &&
+ $(clang-major-version) -lt 5 ]] &&
+ die "Sorry, SCiTE uses C++17 Features and needs >sys-devel/clang-5
+ ($(clang-major-version))."
+
+ elif tc-is-gcc; then
+ # older gcc is not supported
+ [[ "${MERGE_TYPE}" != "binary" &&
+ $(gcc-major-version) -lt 7 ]] &&
+ die "Sorry, Scite uses C++17 Features, need >sys-devel/gcc-7."
+ else
+ die "Either gcc or clang should be configured for building scite"
+ fi
+}
+
+src_prepare() {
+ # remove hardcoded CC, Optimizations and clang unknown flags
+ sed -i "${WORKDIR}/scintilla/gtk/makefile" \
+ -e "s#^CC = gcc#CC = ${CC}#" \
+ -e "s#^CC = clang#CC = ${CC}#" \
+ -e "s#^CXX = clang++#CC = ${CXX}#" \
+ -e "s#-Os##" \
+ -e "s#-Wno-misleading-indentation##" \
+ || die "error patching /scintilla/gtk/makefile"
+
+ sed -i "${S}/makefile" \
+ -e "s#^CC = clang#CC = ${CC}#" \
+ -e "s#^CXX = clang++#CC = ${CXX}#" \
+ -e "s#-rdynamic#-rdynamic ${LDFLAGS}#" \
+ -e "s#-Os##" \
+ || die "error patching gtk/makefile"
+
+ # repair and enhance the .desktop file
+ sed -i "${S}/SciTE.desktop" \
+ -e "s#text/plain#text/\*;application/xhtml+xml#" \
+ -e "s#^Categories=\(.*\)#Categories=Development;#" \
+ || die "error patching /scite/gtk/SciTe.desktop"
+
+ # add the ebuild suffix as shell type for working with ebuilds
+ sed -i "${WORKDIR}/scite/src/perl.properties" \
+ -e "s#\*.sh;\*.bsh;#\*.ebuild;\*.sh;\*.bsh;#" \
+ || die "error patching /scite/src/perl.prperties"
+
+ # it seems that pwd here is ${S}, but user patches are relative to ${workdir}
+ # Bug #576162
+
+ cd "${WORKDIR}" || die "couldn't cd into ${WORKDIR}"
+ eapply_user
+}
+
+src_compile() {
+ # prepare make options
+ local emake_pars=("GTK3=1")
+
+ tc-is-clang && emake_pars+=("CLANG=1")
+ use !lua && emake_pars+=("NO_LUA=1")
+
+ emake -C "${WORKDIR}/scintilla/gtk" "${emake_pars[@]}"
+ emake "${emake_pars[@]}"
+}
+
+# want to use the base src_install() as base_src_install()
+
+src_install() {
+ default
+ dosym SciTE /usr/bin/scite
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/app-editors/shed/Manifest b/app-editors/shed/Manifest
new file mode 100644
index 000000000000..5250ae6ee2e8
--- /dev/null
+++ b/app-editors/shed/Manifest
@@ -0,0 +1 @@
+DIST shed-1.15.tar.gz 87777 BLAKE2B 7c23f01e649de6ad15b870ef3786bd1747b6ab765f19a748d08bad878325f11e38483b957ed6a791ae4a7de752e96cca2057fd69838625c3fe660d2ba3fbc984 SHA512 fe401303e686fb11975b71de0f84d0cdb84dc5a48e1094356d012f95d8c956ed05bd6b39bf65af924212e83c1db45bbfe556342489150bb0e10fb4c832fb6c78
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..392724272842
--- /dev/null
+++ b/app-editors/shed/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>hattya@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">shed</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/shed/shed-1.15.ebuild b/app-editors/shed/shed-1.15.ebuild
new file mode 100644
index 000000000000..8609122c355e
--- /dev/null
+++ b/app-editors/shed/shed-1.15.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit autotools
+
+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:0="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cflags.patch
+ "${FILESDIR}"/${P}-interix.patch
+ "${FILESDIR}"/${P}-tinfo.patch
+)
+
+src_prepare() {
+ default
+
+ mv configure.{in,ac} || die
+ eautoreconf
+}
diff --git a/app-editors/srclib/Manifest b/app-editors/srclib/Manifest
new file mode 100644
index 000000000000..f6e9e847d4ea
--- /dev/null
+++ b/app-editors/srclib/Manifest
@@ -0,0 +1,25 @@
+DIST github.com-alecthomas-binary-21c37b5.tar.gz 3507 BLAKE2B fa5e91f86db153150f5a0317f1dea6f8eb252ebfc15e9d94550ad086aadd8585ed667b8468c95ad5c98ecc26cc591c377329b4679eb74eb36659f70eba1507aa SHA512 b2411ebb5d7b8bd2038804bd2d4f12af3466963e071bc35cb2e05a24d878995b8d39150cd6a06653f3acba56bc6d0682af2dddb4ab3bcf4b3f5a210f9b0ad30c
+DIST github.com-alecthomas-unsafeslice-a2ace32.tar.gz 1709 BLAKE2B 1732f57009a456821ae2872f16405c277c80967942fbf0bf62a5378feb73ccd76b2dea5c0feeb93f451165800628bfff525b650cef346da65ed2c8922c8dce23 SHA512 9516927d741aeba74ca724f405cb8a42a68e1d05df0b125e1c54a28eb7b5238873f25c37d016dafe73d5902d95d6b580ebe64da983bf9acf908b4e4b3990ce4b
+DIST github.com-alexsaveliev-go-colorable-wrapper-32a2486.tar.gz 1478 BLAKE2B ace8e320358c60796c4f2befeff598903419af3d1bafcad7a3de835583b74dc0c4d9c63c25b198f3ec5d31ad1bd60b548def180e7316a735564252a2ff0ed846 SHA512 1210b049d9e413945ef1ebf2c9213732a22a22ebe78fa98e94447f88d85fbb935333ee374351cd7f651c74e2acc649338989579dbc7b0c2cbd7a8f5fdbcb9876
+DIST github.com-fsouza-go-dockerclient-4ebe9fc.tar.gz 265176 BLAKE2B afbca3271af8f07f99c552fb19e34fb3c16d7ff315422107856e2923d8a8579d842fc1e50a72f3b07b0298b7565c886602913ea8224e10c325ed1867532adfcd SHA512 72e2bcdbb0a05e588d16e7b9b6ca0af9a75e5888b0f0c8135360281dc653e44a6350744e7c9f94695c5cb6fdaf73f4879385ea2f12eddbf18c2dbb96ab670836
+DIST github.com-gogo-protobuf-2008751.tar.gz 1448658 BLAKE2B 5935e606718e02dfb1ce097d2de28ba6b5aad980a89090b56bd956ddf07b86de23525eaa1eaa89db5fed2caca127e853d0073f0a4818d79c9a46cf2eb07111ac SHA512 7a7589e56f4d7f893676fa09a19011053b8b8c40653bc272f1516d91acc5735b87b4b6d9a6a560c2caf1b8674e998dd8e462d5d9b13eb29c30db571c9f90abbd
+DIST github.com-golang-net-6c89489.tar.gz 722634 BLAKE2B c47d9fe8d7416ede5175798c35cc9091df88fb8d1b82efeafd2889923685ba2198e4891e5b9c82406f5ce03c1ca546abaa2147dd3520fd70c1aea1deeb05d7d0 SHA512 402061012e3c36a6873039e73efe7d7bc45c7c95fd6b6158151267de301638ab547cced6db25aad595a0de928d246de73130e14d0e4ff64ff2dd49ccf46373b8
+DIST github.com-golang-protobuf-3d2510a.tar.gz 163581 BLAKE2B 7e81340ec4addd9319f1a7a47c8c44468cc048c00339b499ffb49efecad8f0a550cfcf436544345389e3650906413e8edc30244a7aea63c3a12368b2ec2d47ca SHA512 af9836c3c31bf8aeed655eb08f6efd633ee262ca0c37badc283aeb3790e41a6532757761a021db758f0f7ce6a434a8e03959c49154030883295eb069cd63bbeb
+DIST github.com-golang-sys-b4e2899.tar.gz 528463 BLAKE2B e3a64b994c2104121cca5e006cf9abcfcb35633579bda7c4a57cde148aa10b4c9d2abe2fc49b2ee580ce1a0ef43c1d34de7018351b7ec18a0acca3289f745ad7 SHA512 d68a72e13f70d5a5e4777d560e91c9d2a682690d7a6769beaf3eee85d397c9589839f813b84b67118a8e86fa5c804e6320876bc6fffa1d52ae78a85a53a39fc2
+DIST github.com-golang-tools-5a22c00.tar.gz 1821608 BLAKE2B 58859f0df38d1e6b601052190cb21d1977d923afeb0b60dfb3bbe6cb62edeb2ffc5c1170cc9538eb12ea0ccbeeea291b1ccd4c683ca40e752e8a11ca99b37233 SHA512 318e3119b623138425e5c0190698e6dac2f495cee44577e67612c9861cb1730ea638f43f7f3884288507ec9750c7ceb3d8abb35efb0085b8d142589bd8058b69
+DIST github.com-grpc-grpc-go-f7d1653.tar.gz 115955 BLAKE2B 769fd282c6b724bca7a6d5309028498b54f417b4cc422d7fab1ede2b94753c8a14a7461196f472649ee266df87efd9f44397065e24313f23a004238634db0a9b SHA512 86177048799d9d9e0e6f9d3588630bff93ea2491b5a33779776ad31c639e4595c4149ec78fc003f848d296d5dbb26b2b875f68e3d54364c759c22d8c3ace125d
+DIST github.com-inconshreveable-go-update-d8b0b1d.tar.gz 13925 BLAKE2B 1577869d133c6f8c70dda8effcc0e6724aa87a4596f3a03aeb9e495c723277d7ab0ea4feb7c533d07dc3674e7cb7e5425c13b30111fa360ea412759f94d4251e SHA512 cf5e1adb45b5e3d9831b73c7b5842a76e1c01034f84dbb273dbe02d04fba3eb80c05287371780e45cd055370520a6dcf25fe56979e34f9665d6997e4e99ad25c
+DIST github.com-kardianos-osext-6e7f843.tar.gz 4224 BLAKE2B cadea3bafdb68337a0c828f631e3faae2db3fc5170ad4661ccb1bbaf9bffa9d15f11cd571fba4b2b371ff61320e8bbf880f2281d1992d8851097f71c7b9e6a8a SHA512 b7a8095068b43c42a7e71252ebaf1ea1230ab9b01735830559d8741d23e83ed2c5f9c8dc1fcb482c35a8398be523bc1fe3c5a2041b42d2f8b3d1f302abf80213
+DIST github.com-kr-binarydist-9955b0a.tar.gz 12242 BLAKE2B 6404d2445c3505b44ab57da820b9db7952ad32d006ea0c0e53699fe6306607a52694d1d7cd085393400f38261ce631147c68292dcbfa5b6fa6c48be702175d7e SHA512 0d48959a8defdb22292b0bcdcd7d33c41bae5cb025ecd7cefda4117dc70e4feaa3b1fa33961040751455991c16da64a131ede576ccf708406b37f76faa3beb96
+DIST github.com-kr-fs-2788f0d.tar.gz 4366 BLAKE2B afdeeee158b0004dd3b7cf4d41447710c078b80776db37f4785c6c002662efed831828357c9d12e58a95642cad1d23c51ea3ee052ff6ddf5fcc718d58a181ca3 SHA512 1d1687513caf338a82e5b15624fe7b3702fd42326c433cbf4100551a2f5aa587814201166946739a2dadfecf861661b0ed31934e13bfbe3aac6221ff2624733f
+DIST github.com-mattn-go-colorable-40e4aed.tar.gz 4041 BLAKE2B be975d9acbe8f4bf217714d50ed93afbcda3a7fe4326d5ca44b9b24942744a0fe051a7639c5708146eacf9f5969721b6ba7b523074e118f91daf922bf2425063 SHA512 85fc8f0c1b0cb818546b0652162e7fccd773ddee5993a203ad9759f75e1f4fc1304fade20955b42a6f91fdce983962e8d6e010fc2b61201587b51a297dd3c667
+DIST github.com-mattn-go-isatty-7fcbc72.tar.gz 1607 BLAKE2B 7e3ead96c3e198af119167b3b98a23624ebaaedcb38b0ba690080c316e397d61832b5e60b36ed5fe30956b20ec26f9f651cc9eb3edf8c77bb29fd7544dd32faa SHA512 a1e426be9c015ba10ab13db1856f6f61ea0a9551d4baa7f393cb80702e30b568b20a3320316242bea123c1b34ebd05b3bbdfe49044908279acbb0c3c26745c1e
+DIST github.com-rogpeppe-rog-go-f57ad5e.tar.gz 354957 BLAKE2B 03cfb551db02d3f998845f120f5e6221daeb26760a713ddf387a78661db5a6e27e6e0b5471667d75dbd06aa31697b28cc94ff82fa4998169a0e591c5d45f66e4 SHA512 6254e2d45860c127089d9be492c1d959df0827b464a3309b1ca4fc3b53f2d95c7a8995680c34477cb60f0a98df2aefddcf4b06d30c38fa71ff8f82ae52faeebd
+DIST github.com-smartystreets-mafsa-ab6b5ab.tar.gz 16770 BLAKE2B f5c9ed94dd2117bd849d97eb44232973738400d4265a1b39c11f7a95d0b11a335c601cb2dcd429e4b0bf1a5f15292181e8de00235413ea7c578115ede067985b SHA512 f9feb178e0c84faee2de812fb38fa3aa1e03d019771e8c7795fac61057b7e4c8cfe072df6e9da06592194d45bc484f4d1d846c9b98b1774597a013891a0a253f
+DIST github.com-sourcegraph-go-flags-6042383.tar.gz 51584 BLAKE2B 33ea935e59cba5f3142166e683ca56641ec0915f12b70ff41757ae988b5ced45545b723e4397d017f0a7dfd37ff1d3e88c9eb238553047c8e621ddcbe4c910fe SHA512 224536c7dabba5869cbe5759f847a4407a31a41e65715c0b0c82ead36230627494838f4e531be87eba9125b163cae4f1aed1ad4564ed19e421df7b210cb5c48d
+DIST github.com-sourcegraph-makex-9a03b09.tar.gz 12548 BLAKE2B 3107de8f27dc80ff440295d54f7b3bbe6713a8115587601798328968687b7c76717158afc3d75dcaec5dd6ca5937b8c770ee6f19433dd9c7f6073c6785bb7369 SHA512 95b19d923a7d3cf9272d9f26a1675f4209d275856890df76dae9211476ab40b08430c925a7026dd9f4f06750c7835838e0424b7ae0f4a0bd488b665d7796894f
+DIST github.com-sourcegraph-rwvfs-530b504.tar.gz 17963 BLAKE2B a3c9f845316cae68da70538e7607ca7f688c0bbae9e58d27a262b2a6faf8b33d14c28b7c8165c7cb9924d6551c2929eacdba4f21b0c9fdb7a33ff6d348390751 SHA512 188d9996c4010c867d4324eba89836cb3c3e58a55b4ada572601ee52b97a53eaa32b6c185f921c2f050d96cf973235672cba7479473f6c62c5c243e45c5bf076
+DIST github.com-sqs-fileset-af79d58.tar.gz 7069 BLAKE2B 897c57a063d8b74d3b6d78e63b7540bca76ca4a9d1571081728e8f658379ad998924751b8f7d0b4df5aa4424e93f97756be61dc82309bde7e55c36ba8d5a7f14 SHA512 a944b63482e344a5eddf1d2719e34fd6b1a7030ec75685631a82c498b15358cc1cc1def9f9008042a5a78498e15a47ed58e495380a24ed800fbea6bd27dcac24
+DIST github.com-sqs-go-selfupdate-d36f0a9.tar.gz 35136 BLAKE2B c4842e9189705a499f0d6b0f5176d674eae07608b09040c0fb3fe7d581cd0b47368d5f269c33c3c9a63d4ffad964aa9fabf0698eaa02f3aab7efde02d73870d5 SHA512 5b4bd161724668c23b7f33e12f2edbb41cc1dd6ed4d06c933c1da914137e83aae5c988d472e1244ff125892a25a10fceffe2166067cea61cd058d02ae148bf86
+DIST github.com-sqs-pbtypes-f9723c8.tar.gz 3392 BLAKE2B 49942c60088ccf3b0863cf6f17c51a6f2f41f6536c133a54d9a231068a743b16e495ef33abe2eebfa031b56cc4544b1cfb77025d1a58dc19ecd1f667fc9d4aa9 SHA512 71c5a55c46b9f6c21ec482ad0b14926d461134cac9c96b7947f94373921b751c52ff7cf5e6c22e44df7df20d22a4fb2a3b5b9c0d0c9486424335dd53f522257a
+DIST srclib-0.2.5.tar.gz 983540 BLAKE2B b341946d1665e379fb2ddaa083ab4a7f4df2909f631acd788ed39eba1b8869bce5ab834261dc3f342150f192d7e4720ade52ac712b7274d9bec990db173de380 SHA512 0b5cbab4dc618e981644922277c5c9eba6d5bcad66eb1431b3efbf515aa7e6eabd91692f245e2633638a427aa7dcf1654efcb0d5f8e003a416a6e4399e6f8528
diff --git a/app-editors/srclib/metadata.xml b/app-editors/srclib/metadata.xml
new file mode 100644
index 000000000000..ff09b1d3b699
--- /dev/null
+++ b/app-editors/srclib/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="person">
+ <email>toffanin.mauro@gmail.com</email>
+ <name>Mauro Toffanin</name>
+ <description>Maintainer. Assign bugs to him</description>
+ </maintainer>
+ <upstream>
+ <doc>http://srclib.org/overview</doc>
+ <bugs-to>https://github.com/sourcegraph/srclib/issues</bugs-to>
+ </upstream>
+ <longdescription lang="en">
+ srclib is a source code analisis library. It provides standardized
+ tools, interfaces, and data formats for generating, representing and
+ and querying information about source code in software projects.
+ </longdescription>
+ <origin>go-overlay</origin>
+</pkgmetadata>
diff --git a/app-editors/srclib/srclib-0.2.5.ebuild b/app-editors/srclib/srclib-0.2.5.ebuild
new file mode 100644
index 000000000000..6e77f5513f8a
--- /dev/null
+++ b/app-editors/srclib/srclib-0.2.5.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2020 Go Overlay Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+GOLANG_PKG_IMPORTPATH="github.com/sourcegraph"
+GOLANG_PKG_IMPORTPATH_ALIAS="sourcegraph.com/sourcegraph"
+GOLANG_PKG_ARCHIVEPREFIX="v"
+GOLANG_PKG_BUILDPATH="/cmd/${PN}"
+GOLANG_PKG_HAVE_TEST=1
+
+GOLANG_PKG_DEPENDENCIES=(
+ "github.com/alecthomas/binary:21c37b5"
+ "github.com/alecthomas/unsafeslice:a2ace32"
+ "github.com/alexsaveliev/go-colorable-wrapper:32a2486"
+ "github.com/fsouza/go-dockerclient:4ebe9fc"
+ "github.com/gogo/protobuf:2008751"
+ "github.com/golang/protobuf:3d2510a"
+ "github.com/kardianos/osext:6e7f843"
+ "github.com/kr/binarydist:9955b0a"
+ "github.com/kr/fs:2788f0d"
+ "github.com/mattn/go-colorable:40e4aed"
+ "github.com/mattn/go-isatty:7fcbc72"
+ "github.com/rogpeppe/rog-go:f57ad5e"
+ "github.com/smartystreets/mafsa:ab6b5ab"
+ "github.com/sqs/fileset:af79d58"
+ "github.com/sqs/go-selfupdate:d36f0a9"
+ "github.com/golang/net:6c89489 -> golang.org/x"
+ "github.com/golang/sys:b4e2899 -> golang.org/x"
+ "github.com/golang/tools:5a22c00 -> golang.org/x"
+ "github.com/grpc/grpc-go:f7d1653 -> google.golang.org"
+ "github.com/inconshreveable/go-update:d8b0b1d -> gopkg.in/inconshreveable/go-update.v0"
+ "github.com/sourcegraph/go-flags:6042383 -> sourcegraph.com/sourcegraph"
+ "github.com/sourcegraph/makex:9a03b09 -> sourcegraph.com/sourcegraph"
+ "github.com/sourcegraph/rwvfs:530b504 -> sourcegraph.com/sourcegraph"
+ "github.com/sqs/pbtypes:f9723c8 -> sourcegraph.com/sqs"
+)
+
+inherit golang-single
+
+DESCRIPTION="A hackable, multilange code analysis library for building better software tools"
+HOMEPAGE="http://srclib.org"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86 arm"
diff --git a/app-editors/sublime-text/Manifest b/app-editors/sublime-text/Manifest
new file mode 100644
index 000000000000..173ee9fd6007
--- /dev/null
+++ b/app-editors/sublime-text/Manifest
@@ -0,0 +1,2 @@
+DIST sublime_text_3_build_3211_x32.tar.bz2 13806489 BLAKE2B 1e07df2fc9fb9fb60a6fbfe27a3d657ff80ef46ae91967fa384cfc84bfdc2b5952aea8dbfd9ff015f669b148c1a302cbe01521a72b584abccd51efdab51ac0d8 SHA512 4d19947459046407316382d187ea6fa4cff9b7d3e7ae3c46667d691b6ca425a1f1dfc8599a26cf61b970290a58924a3b605e111ff2802ed124683872c1802803
+DIST sublime_text_3_build_3211_x64.tar.bz2 13677324 BLAKE2B e2ac54c1e8ab90c0fcefb4baf225b02d13a3405e846f08163773ed52c6278f8e89a7b13c15e6c2d6241139d58be9c2c5a1201abb04a3cd68efdffc723075c5af SHA512 a6a068119eff95c5360e9ccbe1d845e7a93e4ad13b3659073752a7bd0e87f4691555820185514875649e677a4e8702e2338f74f5584fc80f69c16b323685d6f1
diff --git a/app-editors/sublime-text/metadata.xml b/app-editors/sublime-text/metadata.xml
new file mode 100644
index 000000000000..25dbfa4bb033
--- /dev/null
+++ b/app-editors/sublime-text/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>soap@gentoo.org</email>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/sublime-text/sublime-text-3_p3211-r1.ebuild b/app-editors/sublime-text/sublime-text-3_p3211-r1.ebuild
new file mode 100644
index 000000000000..97148c436c35
--- /dev/null
+++ b/app-editors/sublime-text/sublime-text-3_p3211-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop xdg-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="https://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+:3
+ 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 16 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 %F" "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() {
+ xdg_icon_cache_update
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+}
diff --git a/app-editors/tea/Manifest b/app-editors/tea/Manifest
new file mode 100644
index 000000000000..f99875f7c8fc
--- /dev/null
+++ b/app-editors/tea/Manifest
@@ -0,0 +1 @@
+DIST tea-47.0.0.tar.bz2 437273 BLAKE2B 8ed36526dedc6df4af74ef0e400c2ee2e19bb533cf2a4fa51df83f21ad78abb0e8e90bce3469e2e8db5f780ba8a900aedf2737c736945431b836ba0a76574b26 SHA512 7136d59383bf43c6a024a31aa29860a3e89893ff091a42f44f9e7088fb318920ab886cd1fdabc8ff6e3c30f8eb3d46d707228d2d45fb085ed7c822a4ffd89d13
diff --git a/app-editors/tea/metadata.xml b/app-editors/tea/metadata.xml
new file mode 100644
index 000000000000..6c4e425e6e7f
--- /dev/null
+++ b/app-editors/tea/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>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>
+ <flag name="qml">Enable support for plugins using QML</flag>
+ </use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/tea/tea-47.0.0.ebuild b/app-editors/tea/tea-47.0.0.ebuild
new file mode 100644
index 000000000000..312522fb992d
--- /dev/null
+++ b/app-editors/tea/tea-47.0.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit qmake-utils xdg
+
+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"
+IUSE="aspell djvu hunspell pdf +qml"
+
+BDEPEND="
+ hunspell? ( virtual/pkgconfig )
+"
+DEPEND="
+ 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] )
+ qml? ( dev-qt/qtdeclarative:5 )
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( AUTHORS ChangeLog NEWS NEWS-RU TODO )
+
+src_configure() {
+ local myqmakeargs=(
+ PREFIX=/usr
+ $(usex aspell '' CONFIG+=noaspell)
+ $(usex djvu CONFIG+=usedjvu '')
+ $(usex hunspell '' CONFIG+=nohunspell)
+ $(usex pdf CONFIG+=usepoppler '')
+ $(usex qml '' CONFIG+=noqml)
+ )
+ eqmake5 tea-qmake.pro "${myqmakeargs[@]}"
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+ einstalldocs
+
+ docinto html
+ dodoc manuals/*.html
+
+ insinto /usr/share/qt5/translations
+ doins translations/${PN}_*.qm
+}
diff --git a/app-editors/teco/Manifest b/app-editors/teco/Manifest
new file mode 100644
index 000000000000..920f9ae50a0c
--- /dev/null
+++ b/app-editors/teco/Manifest
@@ -0,0 +1,2 @@
+DIST teco-36_p19940820.tar.gz 61305 BLAKE2B 9bb15fcb20948dbcac1928e32b4ac69c4861be3b0c01d5be68836138d9478e71cc0dd5198d9ac6816245605c34f8b21fcd4e62c48c097e56cd585579df119939 SHA512 686b3944a82d088a2fce12a9b770f4aa5f58aaadde064b3d3342114f0ece2d7cbae27d0e92fd026def6f62a3ff0dc82b37146e30a93b2ec195dc7f376b45fdf7
+DIST tecodoc.tar.gz 154109 BLAKE2B 70b9cd99281ab6180e4c13845f3fc97ccd6c142b4b9a3454ac9dcf189e2a65bfaf9b033312aeb9773301ff4d2ec166f79d587f79158b2b0f3f985f77b06f86c1 SHA512 1819450a08e296bdd3d4c282d9a9c7c58203acf82a67bdc9713b0cdfa2d0c4aa046c86ee4ee6f3b2d9ef0f3052705a13dd3d8afbf372bd3b1be8d4c5e8e96fef
diff --git a/app-editors/teco/files/teco-double-free.patch b/app-editors/teco/files/teco-double-free.patch
new file mode 100644
index 000000000000..344aa6dd2dff
--- /dev/null
+++ b/app-editors/teco/files/teco-double-free.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/103257
+
+--- teco-orig/te_exec2.c
++++ teco/te_exec2.c
+@@ -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..cc5e8aafb0f1
--- /dev/null
+++ b/app-editors/teco/files/teco-gcc4.patch
@@ -0,0 +1,11 @@
+--- teco-orig/te_subs.c
++++ teco/te_subs.c
+@@ -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-no-common.patch b/app-editors/teco/files/teco-no-common.patch
new file mode 100644
index 000000000000..18880579e370
--- /dev/null
+++ b/app-editors/teco/files/teco-no-common.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/707300
+
+--- teco-orig/te_subs.c
++++ teco/te_subs.c
+@@ -249,8 +249,6 @@
+ /* leaves bb pointing to end of that text */
+ /* insert2() copies rest of buffer */
+
+-struct buffcell *insert_p;
+-
+ insert1()
+ {
+ int nchars; /* number of chars in cell */
diff --git a/app-editors/teco/files/teco-void-functions.patch b/app-editors/teco/files/teco-void-functions.patch
new file mode 100644
index 000000000000..f8a1d7ad346e
--- /dev/null
+++ b/app-editors/teco/files/teco-void-functions.patch
@@ -0,0 +1,536 @@
+https://bugs.gentoo.org/729254
+
+--- teco-orig/te_chario.c
++++ teco/te_chario.c
+@@ -24,6 +24,8 @@
+ #define SIGINTMASK 2
+ #endif
+
++void crlf(), type_char();
++
+ int lf_sw; /* nonzero: make up a LF following an entered CR */
+ int ttyflags; /* flags for (stdin) file descriptor */
+ #ifndef _POSIX_SOURCE
+@@ -44,6 +46,7 @@
+ /* operation; normal mode is none of the above. TTY_OFF and TTY_ON do this */
+ /* absolutely; TTY_SUSP and TTY_RESUME use saved signal status. */
+
++void
+ setup_tty(arg)
+ int arg;
+ {
+@@ -213,6 +216,7 @@
+ #ifdef _POSIX_SOURCE
+ sigset_t oldmask;
+
++void
+ block_inter(func)
+ int func;
+ {
+@@ -313,6 +317,7 @@
+
+ /* type a crlf */
+
++void
+ crlf()
+ {
+ type_char(CR);
+@@ -340,6 +345,7 @@
+
+ /* routine to type one character */
+
++void
+ type_char(c)
+ char c;
+ {
+--- teco-orig/te_defs.h
++++ teco/te_defs.h
+@@ -320,7 +320,7 @@
+ extern char mapch[], mapch_l[]; /* char mapping tables */
+ extern unsigned char spec_chars[]; /* special character table */
+
+-extern char skipto(), find_endcond(), getcmdc(), getcmdc0(); /* routines that return chars */
++extern char skipto(), getcmdc(), getcmdc0(); /* routines that return chars */
+
+ extern FILE *eisw; /* indirect command file pointer */
+ extern FILE *fopen();
+--- teco-orig/te_exec0.c
++++ teco/te_exec0.c
+@@ -8,6 +8,7 @@
+ #include <time.h>
+ #include <sys/time.h>
+
++void
+ exec_cmdstr()
+ {
+ char c;
+--- teco-orig/te_exec1.c
++++ teco/te_exec1.c
+@@ -6,6 +6,7 @@
+ /* version for multiple buffers 04/13/89 15.55 */
+ #include "te_defs.h"
+
++void
+ exec_cmds1()
+ {
+ char command; /* command character */
+--- teco-orig/te_exec2.c
++++ teco/te_exec2.c
+@@ -12,6 +12,9 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+
++void do_en_next(), set_var(), write_file(), write_stream();
++void kill_output(), pop_iteration(), find_enditer(), find_endcond();
++
+ struct qh oldcstring; /* hold command string during ei */
+
+ /* file stuff for input/output files */
+@@ -26,6 +29,7 @@
+
+ /* process E commands */
+
++void
+ do_e()
+ {
+ char c; /* temps */
+@@ -567,6 +571,7 @@
+
+ /* routine to get next file spec from "EN" list into filespec buffer */
+
++void
+ do_en_next()
+ {
+ char c;
+@@ -669,6 +674,7 @@
+
+ /* fetch or set variable */
+
++void
+ set_var(arg)
+ int *arg; /* argument is pointer to variable */
+ {
+@@ -764,6 +770,7 @@
+ /* arguments are qp to start of text, number of characters, */
+ /* and an "append FF" switch */
+
++void
+ write_file(wbuff, nchars, ffsw)
+ struct qp *wbuff;
+ int nchars, ffsw;
+@@ -779,6 +786,7 @@
+ /* Unix processes. Arguments wbuff, nchars as above; file */
+ /* is stream pointer, crlf_sw zero converts CRLF to LF */
+
++void
+ write_stream(file, wbuff, nchars, crlf_sw)
+ FILE *file;
+ struct qp *wbuff;
+@@ -809,6 +817,7 @@
+
+ /* routine to kill output file: argument is pointer to an output file structure */
+
++void
+ kill_output(outptr)
+ struct outfiledata *outptr;
+ {
+@@ -825,6 +834,7 @@
+
+ char panic_name[] = "TECO_SAVED.tmp"; /* name of file created to save buffer */
+
++void
+ panic()
+ {
+ if (!outfile->fd && pbuff->z) outfile->fd = fopen(panic_name, "w"); /* if buffer nonempty and no file open, make one */
+@@ -838,6 +848,7 @@
+
+ /* do "F" commands */
+
++void
+ do_f()
+ {
+ struct buffcell *delete_p;
+@@ -954,6 +965,7 @@
+ /* pop iteration: if arg nonzero, exit unconditionally */
+ /* else check exit conditions and exit or reiterate */
+
++void
+ pop_iteration(arg)
+ int arg;
+ {
+@@ -973,6 +985,7 @@
+
+ /* find end of iteration - read over arbitrary <> and one > */
+
++void
+ find_enditer()
+ {
+ register int icnt;
+@@ -988,7 +1001,8 @@
+
+
+ /* find end of conditional */
+-char find_endcond(arg)
++void
++find_endcond(arg)
+ char arg;
+ {
+ register int icnt;
+--- teco-orig/te_main.c
++++ teco/te_main.c
+@@ -44,6 +44,8 @@
+
+ #include "te_defs.h"
+
++void cleanup(), print_string(), save_args(), read_startup(), get_term_par();
++
+ main(argc, argv)
+ int argc; /* arg count */
+ char *argv[]; /* array of string pointers */
+@@ -103,6 +105,7 @@
+
+ /* reset screen state, keyboard state; remove open output files */
+
++void
+ cleanup()
+ {
+ window(WIN_OFF); /* restore screen */
+@@ -115,6 +118,7 @@
+ /* print string for error message */
+ /* argument is subscript of a qreg qh, prints text from that buffer */
+
++void
+ print_string(arg)
+ int arg;
+ {
+@@ -137,6 +141,7 @@
+
+ /* copy invocation command line to a text buffer */
+
++void
+ save_args(argc, argv, q)
+ int argc;
+ char *argv[];
+@@ -171,6 +176,7 @@
+
+ char startup_name[] = "/.tecorc"; /* name of startup file */
+
++void
+ read_startup()
+ {
+ char *hp, *getenv();
+@@ -192,6 +198,7 @@
+
+ /* routine to get terminal height and width from termcap */
+
++void
+ get_term_par()
+ {
+ char tbuff[1024]; /* termcap buffer */
+--- teco-orig/te_rdcmd.c
++++ teco/te_rdcmd.c
+@@ -6,6 +6,7 @@
+ /* version for multiple buffers 04/13/89 10.22 */
+ #include "te_defs.h"
+
++void retype_cmdstr();
+ int ccount; /* count of chars read in */
+
+ int read_cmdstr()
+@@ -227,6 +228,7 @@
+
+ /* retype command string: entirely (arg = '*') or most recent line (arg = ' ') */
+
++void
+ retype_cmdstr(c)
+ char c;
+ {
+--- teco-orig/te_subs.c
++++ teco/te_subs.c
+@@ -17,6 +17,7 @@
+ /* n is the returned number of chars moved */
+ /* max is the maximum number of chars to move */
+
++void
+ movenchars(from, to, n)
+ struct qp *from, *to; /* address of buffer pointers */
+ register int n; /* number of characters */
+@@ -69,6 +70,7 @@
+ }
+ }
+
++void
+ moveuntil(from, to, c, n, max, trace)
+ struct qp *from, *to; /* address of buffer pointers */
+ register char c; /* match char that ends move */
+@@ -249,6 +251,7 @@
+ /* leaves bb pointing to end of that text */
+ /* insert2() copies rest of buffer */
+
++void
+ insert1()
+ {
+ int nchars; /* number of chars in cell */
+@@ -269,6 +272,7 @@
+
+
+
++void
+ insert2(count) /* count is the number of chars added */
+ int count;
+ {
+@@ -289,6 +293,7 @@
+ /* subroutine to delete n characters starting at dot */
+ /* argument is number of characters */
+
++void
+ delete1(nchars)
+ int nchars;
+ {
+@@ -314,6 +319,7 @@
+
+ struct qh obuff; /* tag string buffer */
+
++void
+ do_o()
+ {
+ int i, j; /* i used as start of tag, j as end */
+@@ -460,6 +466,7 @@
+
+ /* find number of characters to next matching (, [, or { (like '%' in vi) */
+
++void
+ do_ctlp()
+ {
+ int i, l;
+--- teco-orig/te_utils.c
++++ teco/te_utils.c
+@@ -37,6 +37,7 @@
+
+
+ /* free a list of buffcells */
++void
+ free_blist(p)
+ struct buffcell *p;
+ {
+@@ -51,6 +52,7 @@
+ }
+
+ /* free a list of buffcells to the "delayed free" list */
++void
+ dly_free_blist(p)
+ struct buffcell *p;
+ {
+@@ -92,6 +94,7 @@
+
+
+ /* free a list of cells */
++void
+ free_dlist(p)
+ struct qp *p;
+ {
+@@ -107,6 +110,7 @@
+
+ /* build a buffer: called with address of a qh */
+ /* if no buffer there, get a cell and link it in */
++void
+ make_buffer(p)
+ struct qh *p;
+ {
+@@ -178,6 +182,7 @@
+
+ /* set up a pointer to a particular text buffer position */
+
++void
+ set_pointer(pos, ptr) /* first arg is position, 2nd is addr of pointer */
+ int pos;
+ struct qp *ptr;
+--- teco-orig/te_window.c
++++ teco/te_window.c
+@@ -21,6 +21,10 @@
+ #define MAX 0x7fffffff /* maximum positive integer, for "last modified" location */
+ #define W_MARK 0200 /* "this loc is special" in screen image */
+
++void window(), window0(), window1_both(), window1(), window1_abs();
++void window1_inc(), window1_after(), w_rmcurs(), window2(), vtm();
++void w_makecurs(), w_type(), w_init(), w_separators(), w_move();
++void w_scroll(), w_ebol();
+
+ /* image of current window */
+
+@@ -74,6 +78,7 @@
+ /* routine to perform simple scope operations */
+ /* (an attempt to concentrate VT-100 specific things in one place) */
+
++void
+ vt(func)
+ int func;
+ {
+@@ -132,6 +137,7 @@
+ int win_max[] = { 4, W_MAX_H, W_MAX_V, 1, MAX, 12, -1, 20, 20, -1, -1 } ; /* max values */
+ int win_data[] = { 4, 132, 24, 0, 0, 0, 0, 0, 0, 0, 0 } ; /* window parameters */
+
++void
+ do_window(ref_flag)
+ int ref_flag; /* nonzero forces "refresh" operation */
+ {
+@@ -196,6 +202,7 @@
+ /* routine to update screen size with numbers obtained from environment */
+ /* (called by main program's initialization) */
+
++void
+ set_term_par(lines, cols)
+ int lines, cols;
+ {
+@@ -215,6 +222,7 @@
+ /* WIN_LINE: does WIN_REFR unless that wouldn't do anything, in which case */
+ /* it does effective 1EV output */
+
++void
+ window(arg)
+ int arg;
+ {
+@@ -288,6 +296,7 @@
+ /* used for ev, es, and <BS> or <LF> as immediate commands */
+ /* starting char position is in w_p1; argument is number of lines */
+
++void
+ window0(num)
+ int num;
+ {
+@@ -364,6 +373,7 @@
+
+ struct bh *old_pbuff;
+
++void
+ window1_both()
+ {
+ pw0 = &win_1;
+@@ -396,6 +406,7 @@
+ /* if scroll mode is enabled, the VT100 screen is split and only the upper part */
+ /* is used by this routine; else the whole screen is used. */
+
++void
+ window1()
+ {
+ int i, j, m, lflag;
+@@ -500,6 +511,7 @@
+
+ /* routine to redraw screen absolutely */
+
++void
+ window1_abs()
+ {
+ int i, j;
+@@ -531,6 +543,7 @@
+
+ /* redraw screen incrementally */
+
++void
+ window1_inc(wd)
+ int wd; /* argument is earliest change */
+ {
+@@ -559,6 +572,7 @@
+
+ /* routine to move window downwards: scroll up or redraw as appropriate */
+
++void
+ window1_after()
+ {
+ int i, lflag;
+@@ -591,6 +605,7 @@
+
+ /* routine to remove the existing cursor */
+
++void
+ w_rmcurs()
+ {
+ register struct w_data *pw = pw0;
+@@ -609,6 +624,7 @@
+ /* called with w_p1 at starting char, curr_y, curr_x at starting coordinate */
+ /* rewrites to end of screen if arg = 0, or only until line with cursor if arg = 1 */
+
++void
+ window2(arg)
+ int arg;
+ {
+@@ -794,6 +810,7 @@
+
+ /* routine to move cursor to current location and then call vt */
+
++void
+ vtm(arg)
+ int arg;
+ {
+@@ -807,6 +824,7 @@
+ /* routine to set reverse video and save cursor location */
+ /* first argument is char at cursor, 2nd is value for curs_crflag */
+
++void
+ w_makecurs(wc, crflag)
+ char wc;
+ short crflag;
+@@ -851,6 +869,7 @@
+ /* routine to type one character: arguments are char and a */
+ /* "mark" bit. If mark is set, the char is always retyped */
+
++void
+ w_type(c, m)
+ char c;
+ int m;
+@@ -875,6 +894,7 @@
+
+ /* initialize display image */
+
++void
+ w_init()
+ {
+ short i, j;
+@@ -907,6 +927,7 @@
+
+ /* write separator lines between windows on screen */
+
++void
+ w_separators()
+ {
+ int i;
+@@ -929,6 +950,7 @@
+ /* put character followed by appropriate number of nulls for "other control function" */
+ /* if argument is 0, output filler chars only */
+
++void
+ putchar_d(c)
+ char c;
+ {
+@@ -942,6 +964,7 @@
+
+ /* put out appropriate number of filler chars for display function that scrolls (LF, etc.) */
+
++void
+ scroll_dly()
+ {
+ int i;
+@@ -952,6 +975,7 @@
+ /* move terminal cursor to stated y, x position */
+ /* uses incremental moves or absolute cursor position, whichever is shorter */
+
++void
+ w_move(y, x)
+ short y, x;
+ {
+@@ -993,6 +1017,7 @@
+
+ /* scroll screen: argument is count: + up, - down */
+
++void
+ w_scroll(count)
+ int count;
+ {
+@@ -1025,6 +1050,7 @@
+ /* clear line to left of curr_x */
+ /* if some chars nonblank, does erase from start of line */
+
++void
+ w_ebol()
+ {
+ short i, j;
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..ee81a4eb1899
--- /dev/null
+++ b/app-editors/teco/metadata.xml
@@ -0,0 +1,28 @@
+<?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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/teco/teco-36_p19940820.ebuild b/app-editors/teco/teco-36_p19940820.ebuild
new file mode 100644
index 000000000000..cb7d37feb456
--- /dev/null
+++ b/app-editors/teco/teco-36_p19940820.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs flag-o-matic readme.gentoo-r1
+
+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 -> ${P}.tar.gz
+ doc? ( https://dev.gentoo.org/~ulm/distfiles/tecodoc.tar.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}"
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-double-free.patch
+ "${FILESDIR}"/${PN}-gcc4.patch
+ "${FILESDIR}"/${PN}-warnings.patch
+ "${FILESDIR}"/${PN}-no-common.patch
+ "${FILESDIR}"/${PN}-void-functions.patch
+)
+
+src_prepare() {
+ default
+ local pkg_config=$("$(tc-getPKG_CONFIG)" --libs ncurses)
+ sed -i -e "s:\$(CC):& \$(LDFLAGS):;s:-ltermcap:${pkg_config}:" \
+ Makefile || die
+}
+
+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
+ use doc && dodoc doc/*
+
+ DOC_CONTENTS="The TECO binary is called te.
+ \nSample configurations and documentation are available
+ in /usr/share/doc/${PF}/."
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/app-editors/ted/Manifest b/app-editors/ted/Manifest
new file mode 100644
index 000000000000..85a344fa0c8e
--- /dev/null
+++ b/app-editors/ted/Manifest
@@ -0,0 +1 @@
+DIST ted-2.23.src.tar.gz 4672208 BLAKE2B ca5f0e0a6a1d00a50da6986455faedbb20cc1246737233c8a3a161b4f653c53b1647c7fb41c774082116ed3e4a0736f8dd35504a54a92dd8e6a6e9124e6e9850 SHA512 c6541e5a07545a08b30cb9b33429d9a7675f9252df32ccca5cdb4f2ff09978085d28d015a42922baf8c95db1ea6379a9d1088541aafd9ce45b8870212496849f
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..d85b4252fc33
--- /dev/null
+++ b/app-editors/ted/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</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..41d6280abf91
--- /dev/null
+++ b/app-editors/ted/ted-2.23.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2018 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="https://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
+ 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/texworks/Manifest b/app-editors/texworks/Manifest
new file mode 100644
index 000000000000..275991343549
--- /dev/null
+++ b/app-editors/texworks/Manifest
@@ -0,0 +1 @@
+DIST texworks-0.6.5.tar.gz 12140935 BLAKE2B 660606fe2e53d5f2a53e80792efbee368f5f2f402ab974761efc6e11a6f2233fd04672dcc3bf0155a070162616c1d5a9c7313825890e6fb0c6c4dc7af2c62d29 SHA512 d97bb7c3ad7bbb402be80556027ef19076dae91bb9449df2b45d54e89b492e32b8d6f109d1bda9388424af6218866d84a8c296c9bc2ef644cf2fac0d4b24939e
diff --git a/app-editors/texworks/files/qt5.15-support.patch b/app-editors/texworks/files/qt5.15-support.patch
new file mode 100644
index 000000000000..9c77c157e463
--- /dev/null
+++ b/app-editors/texworks/files/qt5.15-support.patch
@@ -0,0 +1,21 @@
+From a5352a3a94e3685125650b65e6197de060326cc2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Stefan=20L=C3=B6ffler?= <st.loeffler@gmail.com>
+Date: Fri, 1 May 2020 08:05:46 +0200
+Subject: [PATCH] <QtPDF> Fix compilation with Qt 5.15
+
+---
+ modules/QtPDF/src/PDFBackend.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules/QtPDF/src/PDFBackend.cpp b/modules/QtPDF/src/PDFBackend.cpp
+index 0305d87a..500d20aa 100644
+--- a/modules/QtPDF/src/PDFBackend.cpp
++++ b/modules/QtPDF/src/PDFBackend.cpp
+@@ -14,6 +14,7 @@
+
+ #include <PDFBackend.h>
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QApplication>
+
+ namespace QtPDF {
diff --git a/app-editors/texworks/metadata.xml b/app-editors/texworks/metadata.xml
new file mode 100644
index 000000000000..f337f485996a
--- /dev/null
+++ b/app-editors/texworks/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 type="person">
+ <email>zlogene@gentoo.org</email>
+ <name>Mikle Kolyada</name>
+</maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/texworks/texworks-0.6.5.ebuild b/app-editors/texworks/texworks-0.6.5.ebuild
new file mode 100644
index 000000000000..f9228f2ac586
--- /dev/null
+++ b/app-editors/texworks/texworks-0.6.5.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{3_6,3_7} )
+
+inherit python-single-r1 cmake virtualx xdg-utils
+
+DESCRIPTION="A simple interface for working with TeX documents"
+HOMEPAGE="http://tug.org/texworks/"
+SRC_URI="https://github.com/TeXworks/texworks/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="lua python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="app-text/hunspell:=
+ app-text/poppler[qt5]
+ dev-qt/designer:5
+ dev-qt/qtcore:5
+ dev-qt/qtconcurrent:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qtscript:5[scripttools]
+ lua? ( dev-lang/lua:0 )
+ python? ( ${PYTHON_DEPS} ) "
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="virtual/pkgconfig"
+
+S=${WORKDIR}/${PN}-release-${PV}
+
+RESTRICT="!test? ( test )"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+ eapply "${FILESDIR}"/qt5.15-support.patch
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -Wno-dev
+ -DPREFER_BUNDLED_SYNCTEX=ON
+ -DWITH_LUA=$(usex lua ON OFF)
+ -DWITH_PYTHON=$(usex python ON OFF)
+ -DTeXworks_PLUGIN_DIR="/usr/$(get_libdir)/texworks"
+ -DTeXworks_DOCS_DIR="/share/doc/${PF}"
+ -DQTPDF_VIEWER=ON
+ -DBUILD_SHARED_LIBS=ON
+ -DBUILD_SHARED_PLUGINS=ON
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ virtx default_src_test
+}
+
+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..dc21550f5685
--- /dev/null
+++ b/app-editors/uemacs-pk/Manifest
@@ -0,0 +1,2 @@
+DIST uemacs-4.0.15_p20180117.tar.xz 151600 BLAKE2B 76a6a3cd3d0abf720721c7c09687c1964958e6c1c05ad8db07e6e561d6714e436d31659d118af85d069ad77da2606b0ac86005824e2ac56db8040a0ea739aabf SHA512 aadf3f9e8ab3f2c9c7bccf305f7a37e75ac1c92c5c388ce35a10b24cedf886f7d9b0ce8b1196c2f96a0d874bd5af130edb3ecb1ccf571d8e8c00753564e38aa7
+DIST uemacs-4.0.15_p20180719.tar.xz 151748 BLAKE2B 66572d3b4eb54310b7468a43fa718faa78aae8070a8675018f8dccc38d2dcb8e93b41942f49ca28b7c8ee5d100b541ecebfa2adc9a84f121a178ade0903029b1 SHA512 0baa273d5f8df75976d01acbe69b2bca7ec803c8a40364ebded39d16874426874af7b7547774c211fbbb96c82fcb69aaf75f8fa5fd3e95422ee105e6be7f9564
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..31752d82a051
--- /dev/null
+++ b/app-editors/uemacs-pk/metadata.xml
@@ -0,0 +1,26 @@
+<?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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20180117.ebuild b/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20180117.ebuild
new file mode 100644
index 000000000000..c526622b9492
--- /dev/null
+++ b/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20180117.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit 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"
+
+RDEPEND="sys-libs/ncurses:0="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/uemacs"
+PATCHES=("${FILESDIR}"/${PN}-4.0.15_p20110825-gentoo.patch)
+
+src_compile() {
+ emake V=1 \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ LIBS="$("$(tc-getPKG_CONFIG)" --libs ncurses)"
+}
+
+src_install() {
+ dobin em
+ insinto /usr/share/${PN}
+ doins emacs.hlp
+ newins emacs.rc .emacsrc
+ dodoc README readme.39e emacs.ps UTF-8-demo.txt
+}
diff --git a/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20180719.ebuild b/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20180719.ebuild
new file mode 100644
index 000000000000..0955ecca90cd
--- /dev/null
+++ b/app-editors/uemacs-pk/uemacs-pk-4.0.15_p20180719.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit 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"
+
+RDEPEND="sys-libs/ncurses:0="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}/uemacs"
+PATCHES=("${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..2d066198a07c
--- /dev/null
+++ b/app-editors/vile/Manifest
@@ -0,0 +1 @@
+DIST vile-9.8t.tgz 2352119 BLAKE2B fc1c75eba09e8be99945ba0d178fd150576d8108f906afb20dba265adaee9e5bea4869415d3ebceabf0b6b56c147add79e9c7e4fe34d7f4744930c3728e4a4a4 SHA512 4be4e37c7231395cae9236796073c2c3e428f1945283785a931c5d4cce94e0f970efa6634b0f9053679a00f4b4577704ea38ded2129e444b26ee9935a1c3d229
diff --git a/app-editors/vile/metadata.xml b/app-editors/vile/metadata.xml
new file mode 100644
index 000000000000..7c2969fa7583
--- /dev/null
+++ b/app-editors/vile/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 type="project">
+ <email>vim@gentoo.org</email>
+ <name>Gentoo Vim Project</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/vile/vile-9.8t.ebuild b/app-editors/vile/vile-9.8t.ebuild
new file mode 100644
index 000000000000..36834959d075
--- /dev/null
+++ b/app-editors/vile/vile-9.8t.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone"
+HOMEPAGE="https://invisible-island.net/vile/"
+SRC_URI="ftp://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..30bd1b8eb791
--- /dev/null
+++ b/app-editors/vim-core/Manifest
@@ -0,0 +1,6 @@
+DIST vim-8.2.0210-gentoo-patches.tar.bz2 2755 BLAKE2B 21f1fb97c95d4f2eb45968783add80e11011be12fd2d701c267644a44da9782214828e022667c1a0a2ed08aedb7c12b6756a8b8adea4db5c7a3cb7dc94b75fd8 SHA512 c942c33dc033d63569e07523fa7652d1c53685aa64f9e7a4bf4e6126012790ec0ec820a7a9209cfe64096679ba8a9f9394ed92696a933e3c8be10658d16b8a7b
+DIST vim-8.2.0360-gentoo-patches.tar.xz 2612 BLAKE2B a9273a686b31dd873b25bfc07f7bc254f11038bde275ae4e6f56513a14e0268fdc1032ae847d1d7f8539f8a657217011770ccb4685998f34722383ec7bfb1a15 SHA512 00bc8eb8b20a4a6f3bbd179bb90d42fa6727c8eaae5b625e95e52c33638d456ef36d06b51c542ecaffb237c0b4f7aa72dc3bae7fe00144d55ab0d2fa51950f3b
+DIST vim-8.2.0360.tar.gz 14842830 BLAKE2B fe3a13cb4bef4ada1bd13cdc80aa9a4ab275d1ff16a7f5308109adc7c5a3459393e1c8153fa32a972141b27cce3aaff50c59416d1ba32e4dca03074be49705a9 SHA512 183bcb5cc73290193de99beb69b56b64efa37db9d905c6e76a51ac727f4447f76346dde632e2dfae9d289abb4b9ca11a14f7e350eaa699fc2c3c7c2e35fc20b2
+DIST vim-8.2.0508.tar.gz 14885937 BLAKE2B 70d9cbaa69fac168e6719ef6ee0fadef21bc0b4c17e3c01d983cfe7d75ec831089845aae2f4ca2b5eba02ea24664dc968b0d472254db45e13a5a1f9cdc62253a SHA512 0cbe7cb8d16ac9ed2e6b2f7031bf3b962bcfa199ef7421dfa549fd53f42eb00fc20a14d0df13fcdb4b5f06c88e659086f8d277797824e628133ebd66c72232b6
+DIST vim-8.2.0638.tar.gz 14922315 BLAKE2B 12a8a272e1167ec845d2a5ab3b884f8d327e7b73a49fad2c7cafcd0bd5690c8c21d6b9e1b6211fd6ef8908ea93019c483ec5de74b50cf1fea8fbfc6f63b751df SHA512 4fc3aca0f3337b35d98281d1c7d5cd733bf14fbd1c3e382208ff950199125b6e4606bb7487310caf793eb6b2d1c6e719bce19b53d4d55a26354649c13b727a92
+DIST vim-8.2.0814.tar.gz 14953478 BLAKE2B fd4155ec749bd9a705e8114ff7f8cc321182c9286733ff2f665e265ec0af830f9e70c730b8d0215f6db1f73a8e2f878d22932a72c8dbfe921591be7adcdaab00 SHA512 4ddd9e2d30719f931cadd1a4de5700736f641f4b074378d9ea1462a90b81975ce8e8c3ca2e3a1e15ac0288824eef5b0f0a3e31482f7637c450c6d7e52c8f40d2
diff --git a/app-editors/vim-core/files/gvim.svg b/app-editors/vim-core/files/gvim.svg
new file mode 100644
index 000000000000..b82742a79012
--- /dev/null
+++ b/app-editors/vim-core/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/vim-core/files/vimrc-r5 b/app-editors/vim-core/files/vimrc-r5
new file mode 100644
index 000000000000..2409822e628c
--- /dev/null
+++ b/app-editors/vim-core/files/vimrc-r5
@@ -0,0 +1,214 @@
+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
+
+" Enable Omni completion when opening a file only if a specific plugin does
+" not already exist for that filetype. This allows Omni completion
+" (Ctrl-x/Ctrl-o) to work with any programming language if and only if a syntax
+" file exists for the said language.
+if exists("+omnifunc")
+ autocmd Filetype *
+ \ if &omnifunc == "" |
+ \ setlocal omnifunc=syntaxcomplete#Complete |
+ \ endif
+endif
+
+" {{{ 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..f3c2e5bd9156
--- /dev/null
+++ b/app-editors/vim-core/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>vim@gentoo.org</email>
+ <name>Gentoo Vim Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">vim/vim</remote-id>
+ <remote-id type="cpe">cpe:/a:vim:vim</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/vim-core/vim-core-8.2.0360.ebuild b/app-editors/vim-core/vim-core-8.2.0360.ebuild
new file mode 100644
index 000000000000..21ea460ef5bd
--- /dev/null
+++ b/app-editors/vim-core/vim-core-8.2.0360.ebuild
@@ -0,0 +1,225 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VIM_VERSION="8.2"
+inherit estack vim-doc flag-o-matic bash-completion-r1 prefix desktop xdg-utils
+
+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.2.0210-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-aix ~x64-cygwin ~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"
+# avoid icon file collision bug #673880
+RDEPEND="!!<app-editors/gvim-8.1.0648"
+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 || die "mkdir -p failed"
+ 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 \
+ -e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
+ "${S}"/runtime/tools/mve.awk || die "sed failed"
+
+ # See #77841. We remove this file after the tarball extraction.
+ rm -v "${S}"/runtime/tools/vimspell.sh || die "rm 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" || die "echo failed"
+ 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 || die "sed failed"
+ fi
+
+ cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ sed -i -e \
+ "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+
+ 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"
+
+ # Remove src/auto/configure file.
+ rm -v src/auto/configure || die "rm configure failed"
+
+ 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
+ if [[ -e "${file}" ]]; then
+ addwrite $file
+ fi
+ 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() {
+ 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 -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die "rm failed"
+ rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die "rm failed"
+ rm -v "${ED}"/usr/bin/vimtutor || die "rm failed"
+
+ 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
+
+ newbashcomp "${FILESDIR}"/xxd-completion xxd
+
+ # install gvim icon since both vim/gvim desktop files reference it
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+}
+
+pkg_postinst() {
+ # update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # update icon cache
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # update icon cache
+ xdg_icon_cache_update
+}
diff --git a/app-editors/vim-core/vim-core-8.2.0508.ebuild b/app-editors/vim-core/vim-core-8.2.0508.ebuild
new file mode 100644
index 000000000000..28ba2d3038ab
--- /dev/null
+++ b/app-editors/vim-core/vim-core-8.2.0508.ebuild
@@ -0,0 +1,225 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VIM_VERSION="8.2"
+inherit estack vim-doc flag-o-matic bash-completion-r1 prefix desktop xdg-utils
+
+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/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~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"
+# avoid icon file collision bug #673880
+RDEPEND="!!<app-editors/gvim-8.1.0648"
+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 || die "mkdir -p failed"
+ 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 \
+ -e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
+ "${S}"/runtime/tools/mve.awk || die "sed failed"
+
+ # See #77841. We remove this file after the tarball extraction.
+ rm -v "${S}"/runtime/tools/vimspell.sh || die "rm 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" || die "echo failed"
+ 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 || die "sed failed"
+ fi
+
+ cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ sed -i -e \
+ "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+
+ 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"
+
+ # Remove src/auto/configure file.
+ rm -v src/auto/configure || die "rm configure failed"
+
+ 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
+ if [[ -e "${file}" ]]; then
+ addwrite $file
+ fi
+ 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() {
+ 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 -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die "rm failed"
+ rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die "rm failed"
+ rm -v "${ED}"/usr/bin/vimtutor || die "rm failed"
+
+ 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
+
+ newbashcomp "${FILESDIR}"/xxd-completion xxd
+
+ # install gvim icon since both vim/gvim desktop files reference it
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+}
+
+pkg_postinst() {
+ # update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # update icon cache
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # update icon cache
+ xdg_icon_cache_update
+}
diff --git a/app-editors/vim-core/vim-core-8.2.0638.ebuild b/app-editors/vim-core/vim-core-8.2.0638.ebuild
new file mode 100644
index 000000000000..28ba2d3038ab
--- /dev/null
+++ b/app-editors/vim-core/vim-core-8.2.0638.ebuild
@@ -0,0 +1,225 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VIM_VERSION="8.2"
+inherit estack vim-doc flag-o-matic bash-completion-r1 prefix desktop xdg-utils
+
+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/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~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"
+# avoid icon file collision bug #673880
+RDEPEND="!!<app-editors/gvim-8.1.0648"
+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 || die "mkdir -p failed"
+ 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 \
+ -e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
+ "${S}"/runtime/tools/mve.awk || die "sed failed"
+
+ # See #77841. We remove this file after the tarball extraction.
+ rm -v "${S}"/runtime/tools/vimspell.sh || die "rm 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" || die "echo failed"
+ 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 || die "sed failed"
+ fi
+
+ cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ sed -i -e \
+ "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+
+ 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"
+
+ # Remove src/auto/configure file.
+ rm -v src/auto/configure || die "rm configure failed"
+
+ 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
+ if [[ -e "${file}" ]]; then
+ addwrite $file
+ fi
+ 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() {
+ 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 -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die "rm failed"
+ rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die "rm failed"
+ rm -v "${ED}"/usr/bin/vimtutor || die "rm failed"
+
+ 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
+
+ newbashcomp "${FILESDIR}"/xxd-completion xxd
+
+ # install gvim icon since both vim/gvim desktop files reference it
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+}
+
+pkg_postinst() {
+ # update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # update icon cache
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # update icon cache
+ xdg_icon_cache_update
+}
diff --git a/app-editors/vim-core/vim-core-8.2.0814.ebuild b/app-editors/vim-core/vim-core-8.2.0814.ebuild
new file mode 100644
index 000000000000..28ba2d3038ab
--- /dev/null
+++ b/app-editors/vim-core/vim-core-8.2.0814.ebuild
@@ -0,0 +1,225 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VIM_VERSION="8.2"
+inherit estack vim-doc flag-o-matic bash-completion-r1 prefix desktop xdg-utils
+
+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/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~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"
+# avoid icon file collision bug #673880
+RDEPEND="!!<app-editors/gvim-8.1.0648"
+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 || die "mkdir -p failed"
+ 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 \
+ -e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
+ "${S}"/runtime/tools/mve.awk || die "sed failed"
+
+ # See #77841. We remove this file after the tarball extraction.
+ rm -v "${S}"/runtime/tools/vimspell.sh || die "rm 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" || die "echo failed"
+ 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 || die "sed failed"
+ fi
+
+ cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ sed -i -e \
+ "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+
+ 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"
+
+ # Remove src/auto/configure file.
+ rm -v src/auto/configure || die "rm configure failed"
+
+ 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
+ if [[ -e "${file}" ]]; then
+ addwrite $file
+ fi
+ 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() {
+ 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 -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die "rm failed"
+ rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die "rm failed"
+ rm -v "${ED}"/usr/bin/vimtutor || die "rm failed"
+
+ 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
+
+ newbashcomp "${FILESDIR}"/xxd-completion xxd
+
+ # install gvim icon since both vim/gvim desktop files reference it
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+}
+
+pkg_postinst() {
+ # update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # update icon cache
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # update icon cache
+ xdg_icon_cache_update
+}
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..d1dbef9e8f10
--- /dev/null
+++ b/app-editors/vim-core/vim-core-9999.ebuild
@@ -0,0 +1,225 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VIM_VERSION="8.2"
+inherit estack vim-doc flag-o-matic bash-completion-r1 prefix desktop xdg-utils
+
+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.2.0210-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~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"
+# avoid icon file collision bug #673880
+RDEPEND="!!<app-editors/gvim-8.1.0648"
+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 || die "mkdir -p failed"
+ 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 \
+ -e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
+ "${S}"/runtime/tools/mve.awk || die "sed failed"
+
+ # See #77841. We remove this file after the tarball extraction.
+ rm -v "${S}"/runtime/tools/vimspell.sh || die "rm 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" || die "echo failed"
+ 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 || die "sed failed"
+ fi
+
+ cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
+
+ # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
+ sed -i -e \
+ "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+
+ 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"
+
+ # Remove src/auto/configure file.
+ rm -v src/auto/configure || die "rm configure failed"
+
+ 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
+ if [[ -e "${file}" ]]; then
+ addwrite $file
+ fi
+ 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() {
+ 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 -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die "rm failed"
+ rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die "rm failed"
+ rm -v "${ED}"/usr/bin/vimtutor || die "rm failed"
+
+ 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
+
+ newbashcomp "${FILESDIR}"/xxd-completion xxd
+
+ # install gvim icon since both vim/gvim desktop files reference it
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+}
+
+pkg_postinst() {
+ # update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # update icon cache
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # update icon cache
+ xdg_icon_cache_update
+}
diff --git a/app-editors/vim/Manifest b/app-editors/vim/Manifest
new file mode 100644
index 000000000000..30bd1b8eb791
--- /dev/null
+++ b/app-editors/vim/Manifest
@@ -0,0 +1,6 @@
+DIST vim-8.2.0210-gentoo-patches.tar.bz2 2755 BLAKE2B 21f1fb97c95d4f2eb45968783add80e11011be12fd2d701c267644a44da9782214828e022667c1a0a2ed08aedb7c12b6756a8b8adea4db5c7a3cb7dc94b75fd8 SHA512 c942c33dc033d63569e07523fa7652d1c53685aa64f9e7a4bf4e6126012790ec0ec820a7a9209cfe64096679ba8a9f9394ed92696a933e3c8be10658d16b8a7b
+DIST vim-8.2.0360-gentoo-patches.tar.xz 2612 BLAKE2B a9273a686b31dd873b25bfc07f7bc254f11038bde275ae4e6f56513a14e0268fdc1032ae847d1d7f8539f8a657217011770ccb4685998f34722383ec7bfb1a15 SHA512 00bc8eb8b20a4a6f3bbd179bb90d42fa6727c8eaae5b625e95e52c33638d456ef36d06b51c542ecaffb237c0b4f7aa72dc3bae7fe00144d55ab0d2fa51950f3b
+DIST vim-8.2.0360.tar.gz 14842830 BLAKE2B fe3a13cb4bef4ada1bd13cdc80aa9a4ab275d1ff16a7f5308109adc7c5a3459393e1c8153fa32a972141b27cce3aaff50c59416d1ba32e4dca03074be49705a9 SHA512 183bcb5cc73290193de99beb69b56b64efa37db9d905c6e76a51ac727f4447f76346dde632e2dfae9d289abb4b9ca11a14f7e350eaa699fc2c3c7c2e35fc20b2
+DIST vim-8.2.0508.tar.gz 14885937 BLAKE2B 70d9cbaa69fac168e6719ef6ee0fadef21bc0b4c17e3c01d983cfe7d75ec831089845aae2f4ca2b5eba02ea24664dc968b0d472254db45e13a5a1f9cdc62253a SHA512 0cbe7cb8d16ac9ed2e6b2f7031bf3b962bcfa199ef7421dfa549fd53f42eb00fc20a14d0df13fcdb4b5f06c88e659086f8d277797824e628133ebd66c72232b6
+DIST vim-8.2.0638.tar.gz 14922315 BLAKE2B 12a8a272e1167ec845d2a5ab3b884f8d327e7b73a49fad2c7cafcd0bd5690c8c21d6b9e1b6211fd6ef8908ea93019c483ec5de74b50cf1fea8fbfc6f63b751df SHA512 4fc3aca0f3337b35d98281d1c7d5cd733bf14fbd1c3e382208ff950199125b6e4606bb7487310caf793eb6b2d1c6e719bce19b53d4d55a26354649c13b727a92
+DIST vim-8.2.0814.tar.gz 14953478 BLAKE2B fd4155ec749bd9a705e8114ff7f8cc321182c9286733ff2f665e265ec0af830f9e70c730b8d0215f6db1f73a8e2f878d22932a72c8dbfe921591be7adcdaab00 SHA512 4ddd9e2d30719f931cadd1a4de5700736f641f4b074378d9ea1462a90b81975ce8e8c3ca2e3a1e15ac0288824eef5b0f0a3e31482f7637c450c6d7e52c8f40d2
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..bb96d167f81b
--- /dev/null
+++ b/app-editors/vim/metadata.xml
@@ -0,0 +1,21 @@
+<?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="cscope">Enable cscope interface</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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/vim/vim-8.2.0360.ebuild b/app-editors/vim/vim-8.2.0360.ebuild
new file mode 100644
index 000000000000..d80d7777de3f
--- /dev/null
+++ b/app-editors/vim/vim-8.2.0360.ebuild
@@ -0,0 +1,318 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VIM_VERSION="8.2"
+PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_REQ_USE="threads(+)"
+USE_RUBY="ruby24 ruby25 ruby26 ruby27"
+
+inherit vim-doc flag-o-matic bash-completion-r1 python-single-r1 ruby-single desktop xdg-utils
+
+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.2.0210-gentoo-patches.tar.bz2"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-aix ~x64-cygwin ~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 sound tcl terminal vim-pager"
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ vim-pager? ( !minimal )
+"
+
+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} )
+ vim-pager? ( app-editors/vim-core[-minimal] )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( ${RUBY_DEPS} )
+ selinux? ( sys-libs/libselinux )
+ sound? ( media-libs/libcanberra )
+ 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 || die "mkdir failed"
+ 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 -e \
+ '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 || die "echo failed"
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
+ >> "${S}"/src/feature.h || die "echo failed"
+
+ # 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 -e \
+ '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 -e \
+ '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" || die "echo failed"
+ done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager; then
+ cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
+ #!/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' -
+ _EOF_
+ fi
+
+ # 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 || die "sed failed"
+ fi
+
+ cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
+
+ sed -i -e \
+ "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+
+ 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 src/auto/configure || die "rm failed"
+ 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
+ if [[ -e "${file}" ]]; then
+ addwrite $file
+ fi
+ done
+
+ if use minimal; then
+ myconf=(
+ --with-features=tiny
+ --disable-nls
+ --disable-canberra
+ --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
+ $(use_enable sound canberra)
+ $(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 python3interp)
+ $(use_with python python3-command $(type -P $(eselect python show --python3)))
+ $(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 -e \
+ '/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
+ 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() {
+ einfo
+ 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."
+ einfo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ einfo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ emake -j1 -C src/testdir nongui
+}
+
+# Call eselect vi update with --if-unset
+# to respect user's choice (bug 187449)
+eselect_vi_update() {
+ einfo "Calling eselect vi update..."
+ eselect vi update --if-unset
+ eend $?
+}
+
+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
+
+ domenu runtime/vim.desktop
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # keep in sync with 'complete ... -F' list
+ bashcomp_alias vim ex vi view rvim rview vimdiff
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Call eselect vi update
+ eselect_vi_update
+
+ # update desktop file mime cache
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Call eselect vi update
+ eselect_vi_update
+
+ # update desktop file mime cache
+ xdg_desktop_database_update
+}
diff --git a/app-editors/vim/vim-8.2.0508.ebuild b/app-editors/vim/vim-8.2.0508.ebuild
new file mode 100644
index 000000000000..5bc04c0d2b05
--- /dev/null
+++ b/app-editors/vim/vim-8.2.0508.ebuild
@@ -0,0 +1,318 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VIM_VERSION="8.2"
+PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_REQ_USE="threads(+)"
+USE_RUBY="ruby24 ruby25 ruby26 ruby27"
+
+inherit vim-doc flag-o-matic bash-completion-r1 python-single-r1 ruby-single desktop xdg-utils
+
+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/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~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 sound tcl terminal vim-pager"
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ vim-pager? ( !minimal )
+"
+
+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} )
+ vim-pager? ( app-editors/vim-core[-minimal] )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( ${RUBY_DEPS} )
+ selinux? ( sys-libs/libselinux )
+ sound? ( media-libs/libcanberra )
+ 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 || die "mkdir failed"
+ 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 -e \
+ '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 || die "echo failed"
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
+ >> "${S}"/src/feature.h || die "echo failed"
+
+ # 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 -e \
+ '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 -e \
+ '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" || die "echo failed"
+ done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager; then
+ cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
+ #!/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' -
+ _EOF_
+ fi
+
+ # 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 || die "sed failed"
+ fi
+
+ cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
+
+ sed -i -e \
+ "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+
+ 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 src/auto/configure || die "rm failed"
+ 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
+ if [[ -e "${file}" ]]; then
+ addwrite $file
+ fi
+ done
+
+ if use minimal; then
+ myconf=(
+ --with-features=tiny
+ --disable-nls
+ --disable-canberra
+ --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
+ $(use_enable sound canberra)
+ $(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 python3interp)
+ $(use_with python python3-command $(type -P $(eselect python show --python3)))
+ $(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 -e \
+ '/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
+ 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() {
+ einfo
+ 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."
+ einfo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ einfo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ emake -j1 -C src/testdir nongui
+}
+
+# Call eselect vi update with --if-unset
+# to respect user's choice (bug 187449)
+eselect_vi_update() {
+ einfo "Calling eselect vi update..."
+ eselect vi update --if-unset
+ eend $?
+}
+
+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
+
+ domenu runtime/vim.desktop
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # keep in sync with 'complete ... -F' list
+ bashcomp_alias vim ex vi view rvim rview vimdiff
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Call eselect vi update
+ eselect_vi_update
+
+ # update desktop file mime cache
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Call eselect vi update
+ eselect_vi_update
+
+ # update desktop file mime cache
+ xdg_desktop_database_update
+}
diff --git a/app-editors/vim/vim-8.2.0638.ebuild b/app-editors/vim/vim-8.2.0638.ebuild
new file mode 100644
index 000000000000..5bc04c0d2b05
--- /dev/null
+++ b/app-editors/vim/vim-8.2.0638.ebuild
@@ -0,0 +1,318 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VIM_VERSION="8.2"
+PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_REQ_USE="threads(+)"
+USE_RUBY="ruby24 ruby25 ruby26 ruby27"
+
+inherit vim-doc flag-o-matic bash-completion-r1 python-single-r1 ruby-single desktop xdg-utils
+
+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/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~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 sound tcl terminal vim-pager"
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ vim-pager? ( !minimal )
+"
+
+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} )
+ vim-pager? ( app-editors/vim-core[-minimal] )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( ${RUBY_DEPS} )
+ selinux? ( sys-libs/libselinux )
+ sound? ( media-libs/libcanberra )
+ 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 || die "mkdir failed"
+ 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 -e \
+ '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 || die "echo failed"
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
+ >> "${S}"/src/feature.h || die "echo failed"
+
+ # 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 -e \
+ '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 -e \
+ '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" || die "echo failed"
+ done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager; then
+ cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
+ #!/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' -
+ _EOF_
+ fi
+
+ # 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 || die "sed failed"
+ fi
+
+ cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
+
+ sed -i -e \
+ "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+
+ 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 src/auto/configure || die "rm failed"
+ 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
+ if [[ -e "${file}" ]]; then
+ addwrite $file
+ fi
+ done
+
+ if use minimal; then
+ myconf=(
+ --with-features=tiny
+ --disable-nls
+ --disable-canberra
+ --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
+ $(use_enable sound canberra)
+ $(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 python3interp)
+ $(use_with python python3-command $(type -P $(eselect python show --python3)))
+ $(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 -e \
+ '/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
+ 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() {
+ einfo
+ 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."
+ einfo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ einfo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ emake -j1 -C src/testdir nongui
+}
+
+# Call eselect vi update with --if-unset
+# to respect user's choice (bug 187449)
+eselect_vi_update() {
+ einfo "Calling eselect vi update..."
+ eselect vi update --if-unset
+ eend $?
+}
+
+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
+
+ domenu runtime/vim.desktop
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # keep in sync with 'complete ... -F' list
+ bashcomp_alias vim ex vi view rvim rview vimdiff
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Call eselect vi update
+ eselect_vi_update
+
+ # update desktop file mime cache
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Call eselect vi update
+ eselect_vi_update
+
+ # update desktop file mime cache
+ xdg_desktop_database_update
+}
diff --git a/app-editors/vim/vim-8.2.0814.ebuild b/app-editors/vim/vim-8.2.0814.ebuild
new file mode 100644
index 000000000000..5bc04c0d2b05
--- /dev/null
+++ b/app-editors/vim/vim-8.2.0814.ebuild
@@ -0,0 +1,318 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VIM_VERSION="8.2"
+PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_REQ_USE="threads(+)"
+USE_RUBY="ruby24 ruby25 ruby26 ruby27"
+
+inherit vim-doc flag-o-matic bash-completion-r1 python-single-r1 ruby-single desktop xdg-utils
+
+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/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~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 sound tcl terminal vim-pager"
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ vim-pager? ( !minimal )
+"
+
+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} )
+ vim-pager? ( app-editors/vim-core[-minimal] )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( ${RUBY_DEPS} )
+ selinux? ( sys-libs/libselinux )
+ sound? ( media-libs/libcanberra )
+ 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 || die "mkdir failed"
+ 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 -e \
+ '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 || die "echo failed"
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
+ >> "${S}"/src/feature.h || die "echo failed"
+
+ # 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 -e \
+ '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 -e \
+ '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" || die "echo failed"
+ done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager; then
+ cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
+ #!/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' -
+ _EOF_
+ fi
+
+ # 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 || die "sed failed"
+ fi
+
+ cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
+
+ sed -i -e \
+ "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+
+ 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 src/auto/configure || die "rm failed"
+ 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
+ if [[ -e "${file}" ]]; then
+ addwrite $file
+ fi
+ done
+
+ if use minimal; then
+ myconf=(
+ --with-features=tiny
+ --disable-nls
+ --disable-canberra
+ --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
+ $(use_enable sound canberra)
+ $(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 python3interp)
+ $(use_with python python3-command $(type -P $(eselect python show --python3)))
+ $(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 -e \
+ '/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
+ 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() {
+ einfo
+ 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."
+ einfo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ einfo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ emake -j1 -C src/testdir nongui
+}
+
+# Call eselect vi update with --if-unset
+# to respect user's choice (bug 187449)
+eselect_vi_update() {
+ einfo "Calling eselect vi update..."
+ eselect vi update --if-unset
+ eend $?
+}
+
+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
+
+ domenu runtime/vim.desktop
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # keep in sync with 'complete ... -F' list
+ bashcomp_alias vim ex vi view rvim rview vimdiff
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Call eselect vi update
+ eselect_vi_update
+
+ # update desktop file mime cache
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Call eselect vi update
+ eselect_vi_update
+
+ # update desktop file mime cache
+ xdg_desktop_database_update
+}
diff --git a/app-editors/vim/vim-9999.ebuild b/app-editors/vim/vim-9999.ebuild
new file mode 100644
index 000000000000..5bc04c0d2b05
--- /dev/null
+++ b/app-editors/vim/vim-9999.ebuild
@@ -0,0 +1,318 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VIM_VERSION="8.2"
+PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_REQ_USE="threads(+)"
+USE_RUBY="ruby24 ruby25 ruby26 ruby27"
+
+inherit vim-doc flag-o-matic bash-completion-r1 python-single-r1 ruby-single desktop xdg-utils
+
+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/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~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 sound tcl terminal vim-pager"
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ vim-pager? ( !minimal )
+"
+
+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} )
+ vim-pager? ( app-editors/vim-core[-minimal] )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( ${RUBY_DEPS} )
+ selinux? ( sys-libs/libselinux )
+ sound? ( media-libs/libcanberra )
+ 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 || die "mkdir failed"
+ 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 -e \
+ '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 || die "echo failed"
+ echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
+ >> "${S}"/src/feature.h || die "echo failed"
+
+ # 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 -e \
+ '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 -e \
+ '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" || die "echo failed"
+ done
+
+ # conditionally make the manpager.sh script
+ if use vim-pager; then
+ cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
+ #!/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' -
+ _EOF_
+ fi
+
+ # 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 || die "sed failed"
+ fi
+
+ cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
+
+ sed -i -e \
+ "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
+ "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
+
+ 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 src/auto/configure || die "rm failed"
+ 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
+ if [[ -e "${file}" ]]; then
+ addwrite $file
+ fi
+ done
+
+ if use minimal; then
+ myconf=(
+ --with-features=tiny
+ --disable-nls
+ --disable-canberra
+ --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
+ $(use_enable sound canberra)
+ $(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 python3interp)
+ $(use_with python python3-command $(type -P $(eselect python show --python3)))
+ $(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 -e \
+ '/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
+ 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() {
+ einfo
+ 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."
+ einfo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ einfo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ emake -j1 -C src/testdir nongui
+}
+
+# Call eselect vi update with --if-unset
+# to respect user's choice (bug 187449)
+eselect_vi_update() {
+ einfo "Calling eselect vi update..."
+ eselect vi update --if-unset
+ eend $?
+}
+
+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
+
+ domenu runtime/vim.desktop
+
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # keep in sync with 'complete ... -F' list
+ bashcomp_alias vim ex vi view rvim rview vimdiff
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Call eselect vi update
+ eselect_vi_update
+
+ # update desktop file mime cache
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Call eselect vi update
+ eselect_vi_update
+
+ # update desktop file mime cache
+ xdg_desktop_database_update
+}
diff --git a/app-editors/vis/Manifest b/app-editors/vis/Manifest
new file mode 100644
index 000000000000..54cce819aac0
--- /dev/null
+++ b/app-editors/vis/Manifest
@@ -0,0 +1,2 @@
+DIST vis-0.5.tar.gz 390461 BLAKE2B e628891c48dbbd11ed706768a3c625ffe9edf4fea3cd77452b4b41ae0d50194a31647e4cc945b69fb3af8fe7fd76ebf5f7afd8c2baa356f5f9fd3cc04be129ca SHA512 fe6b0394006562177efdf06713d7b95cd12fabf90b171c262eb2620d2b0944e73d3d8bb61f4f0d43d32154f0490c338bbc161a89455b14bb8a9d22cd75097780
+DIST vis-test-0.3.tar.gz 97814 BLAKE2B f62b216df3d846bb8bfdb14f6092309b55f6571cbc980e7a9aed46b1672fbaa65c007ac4617266dff3d5ad0293e3f5e7bd8390252817ebcdd6f64edb350f82ee SHA512 5f68a70cf6f1fb64f9b50c1a56940c966f205e51240c7dd1175bc15f3e42b475fb6842a53e36547113955c2efa359de0cc71e0800305b0e45881c319a14564e5
diff --git a/app-editors/vis/metadata.xml b/app-editors/vis/metadata.xml
new file mode 100644
index 000000000000..1c3f621c2d12
--- /dev/null
+++ b/app-editors/vis/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>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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/vis/vis-0.5.ebuild b/app-editors/vis/vis-0.5.ebuild
new file mode 100644
index 000000000000..e7cf08742d4e
--- /dev/null
+++ b/app-editors/vis/vis-0.5.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_PTV=0.3
+
+DESCRIPTION="modern, legacy free, simple yet efficient vim-like editor"
+HOMEPAGE="https://github.com/martanne/vis"
+SRC_URI="https://github.com/martanne/vis/releases/download/v${PV}/vis-v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://github.com/martanne/vis-test/releases/download/v${MY_PTV}/vis-test-${MY_PTV}.tar.gz -> vis-test-${MY_PTV}.tar.gz )"
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE="+ncurses selinux test tre"
+RESTRICT="!test? ( test )"
+
+#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}
+ app-eselect/eselect-vi"
+
+S="${WORKDIR}/vis-v${PV}"
+
+src_prepare() {
+ if use test; then
+ rm -r test || die
+ mv "${WORKDIR}/vis-test-${MY_PTV}" test || die
+ if ! type -P vim &>/dev/null; then
+ sed -i 's/.*vim.*//' test/Makefile || die
+ fi
+
+ # https://bugs.gentoo.org/722014 https://github.com/martanne/vis-test/pull/22
+ sed -i 's;./ccan-config > config.h;./ccan-config "${CC}" ${CFLAGS} > config.h;' test/core/Makefile || die
+ fi
+
+ sed -i 's|STRIP?=.*|STRIP=true|' Makefile || die
+ sed -i 's|${DOCPREFIX}/vis|${DOCPREFIX}|' Makefile || die
+ sed -i 's|DOCUMENTATION = LICENSE|DOCUMENTATION =|' Makefile || die
+
+ default
+}
+
+src_configure() {
+ export CFLAGS="$CFLAGS -fcommon" # https://github.com/martanne/vis-test/issues/21
+
+ ./configure \
+ --prefix="${EPREFIX}"/usr \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ $(use_enable ncurses curses) \
+ $(use_enable selinux) \
+ $(use_enable tre) || die
+}
+
+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..72ff783c8404
--- /dev/null
+++ b/app-editors/vis/vis-9999.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+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 test tre"
+RESTRICT="!test? ( test )"
+
+#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}
+ app-eselect/eselect-vi"
+
+src_prepare() {
+ if use test && ! type -P vim &>/dev/null; then
+ sed -i 's/.*vim.*//' "${S}/test/Makefile" || die
+ fi
+
+ sed -i 's|STRIP?=.*|STRIP=true|' Makefile || die
+ sed -i 's|${DOCPREFIX}/vis|${DOCPREFIX}|' Makefile || die
+ sed -i 's|DOCUMENTATION = LICENSE|DOCUMENTATION =|' Makefile || die
+
+ default
+}
+
+src_configure() {
+ ./configure \
+ --prefix="${EPREFIX}"/usr \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ $(use_enable ncurses curses) \
+ $(use_enable selinux) \
+ $(use_enable tre) || die
+}
+
+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/vscodium-bin/Manifest b/app-editors/vscodium-bin/Manifest
new file mode 100644
index 000000000000..9b962ddde4cc
--- /dev/null
+++ b/app-editors/vscodium-bin/Manifest
@@ -0,0 +1,6 @@
+DIST VSCodium-linux-arm-1.46.0.tar.gz 82511848 BLAKE2B 7f4e7b0cd4ef7a5712c5e6206188aa7f1fc28e1558e276b4a533a0434b08814e0528fc28134f286b6ea065a3d3e87d3688c8d85b9e95f601eb5519496c1678fc SHA512 93698db547f7205afb49a3568c6578f8017af7275594f3f0c69e93ed9882ec2b59d72348c4a904d11a98d264819c32cc743b53e18837ac5871666a337841ba18
+DIST VSCodium-linux-arm-1.46.1.tar.gz 82519600 BLAKE2B bdf23214616f87db6b71095e9db1f00e45249a2d134ecd8764e59e0c45ea08b323f0022f355a4eb9db0891bc371931624106e5e5853b588ace4d37352b31e95d SHA512 931ae024a6ba679f6b02cac339939f3779944ff56270bae49b377c913bcbec9182f354886c3fbc1f0becef29c54997f7f80a1995869235de22aa509badb851fb
+DIST VSCodium-linux-arm64-1.46.0.tar.gz 90612308 BLAKE2B 9da03f7133f958b9f6115e87015e9206a51ce41a1654188886683eb96fe7f9ef5596d5faf73f2d7b1e6e4724067cc19bc150be8b592fe79e0dd364f60d4dca7e SHA512 07a94305a928e7350a6705ca5183bcebf2951af62f795c0f16d93520e02e4e3c6cd07bb73f7ddf5ca13f2d4b4f3ebe777fc90400c49c7ef5533b719bcc6955f6
+DIST VSCodium-linux-arm64-1.46.1.tar.gz 90605256 BLAKE2B 9b59d3c1d3f06ae2d322fca59646744352ab36a09c859a7c845ea793a95a373fdfff383f0e723576cd2888fbbf681ae8f48bbc010869daac268f2a403435df0e SHA512 8621bddea16cf7308eeede1e8e29bbc104d17a6e4e7be199c144fdfa4a0f31d0832c84fbc87a5807057cc98a6afbd2c19b56b505b0927713139d424823488a4d
+DIST VSCodium-linux-x64-1.46.0.tar.gz 92057083 BLAKE2B 29b28beaba8d6c63e911dce1ba9ccd8eb7fcb9f0a14315622e6fc8ac6181f76b7b6ea113e6daede2a9748f8bd5c96064703fc81acdc7c173be9fc0eca0ca11c8 SHA512 409c44f9a68cf2722d0809043d63111becf4ca5d51203f9b2236b1de9a70876335db3713a742d7ed4dc88db9f0c7862cc762a86d322cdc8fbecd9a916589fc8d
+DIST VSCodium-linux-x64-1.46.1.tar.gz 92055802 BLAKE2B 83359dbdc9fea17d05210d29b90000afb55a1e4ffd934d16e4fcf60f53145f2f896e5aec8d913365d6df36a0c23b397ac03a1dff93cc65a7d3e4795496d79f86 SHA512 7503bc93ddab155cadff21806f417cf59d9b63ecf51c054372a02954e5a6d69e2920f57483b6fee42916569597bfc924805eab5d56daeac929debaafab50ac7a
diff --git a/app-editors/vscodium-bin/files/vscodium-bin.desktop b/app-editors/vscodium-bin/files/vscodium-bin.desktop
new file mode 100644
index 000000000000..6e208576aabb
--- /dev/null
+++ b/app-editors/vscodium-bin/files/vscodium-bin.desktop
@@ -0,0 +1,18 @@
+[Desktop Entry]
+Name=VSCodium
+Comment=Code Editing. Redefined.
+GenericName=Text Editor
+Exec=/opt/vscodium/bin/codium --unity-launch %F
+Icon=vscodium
+Type=Application
+StartupNotify=true
+StartupWMClass=VSCodium
+Categories=Utility;Development;IDE;
+MimeType=text/plain;inode/directory;
+Actions=new-empty-window;
+Keywords=vscode;
+
+[Desktop Action new-empty-window]
+Name=New Empty Window
+Exec=/opt/vscodium/bin/codium --new-window %F
+Icon=vscodium
diff --git a/app-editors/vscodium-bin/metadata.xml b/app-editors/vscodium-bin/metadata.xml
new file mode 100644
index 000000000000..8d956846de8c
--- /dev/null
+++ b/app-editors/vscodium-bin/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="github">VSCodium/VSCodium</remote-id>
+ <bugs-to>https://github.com/VSCodium/VSCodium/issues</bugs-to>
+ </upstream>
+ <maintainer type="person">
+ <email>jpizarrocallejas@gmail.com</email>
+ <name>Jorge Pizarro Callejas</name>
+ <description>Jorgicio Gentoo Overlay</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>dev@liguros.net</email>
+ <name>Liguros developers</name>
+ </maintainer>
+ <use>
+ <flag name="pax_kernel">Triggers a paxmarking of the binary</flag>
+ </use>
+ <origin>ports</origin>
+</pkgmetadata>
diff --git a/app-editors/vscodium-bin/vscodium-bin-1.46.0.ebuild b/app-editors/vscodium-bin/vscodium-bin-1.46.0.ebuild
new file mode 100644
index 000000000000..cfa727e93e30
--- /dev/null
+++ b/app-editors/vscodium-bin/vscodium-bin-1.46.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2020 Liguros Authors
+# Distributed under the terms of the GNU General Public License v2
+EAPI=7
+
+inherit desktop pax-utils xdg-utils
+
+MY_PN="${PN/-bin}"
+
+DESCRIPTION="Free/Libre Open Source Software Binaries of VSCode (binary version)"
+HOMEPAGE="https://vscodium.com"
+
+SRC_URI="
+ amd64? ( https://github.com/VSCodium/vscodium/releases/download/${PV}/VSCodium-linux-x64-${PV}.tar.gz )
+ arm? ( https://github.com/VSCodium/vscodium/releases/download/${PV}/VSCodium-linux-arm-${PV}.tar.gz )
+ arm64? ( https://github.com/VSCodium/vscodium/releases/download/${PV}/VSCodium-linux-arm64-${PV}.tar.gz )
+ "
+RESTRICT="mirror strip bindist"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="pax_kernel"
+
+DEPEND="
+ >=media-libs/libpng-1.2.46
+ >=x11-libs/gtk+-2.24.8-r1:2
+ x11-libs/cairo
+ x11-libs/libXtst
+ !app-editors/vscodium
+"
+
+RDEPEND="
+ ${DEPEND}
+ app-accessibility/at-spi2-atk
+ >=net-print/cups-2.0.0
+ x11-libs/libnotify
+ x11-libs/libXScrnSaver
+ dev-libs/nss
+ app-crypt/libsecret[crypt]
+"
+
+QA_PRESTRIPPED="opt/${MY_PN}/codium"
+QA_PREBUILT="opt/${MY_PN}/codium"
+
+S="${WORKDIR}"
+
+src_install(){
+ mkdir -p "${ED}/opt/${MY_PN}"
+ cp -r . "${ED}/opt/${MY_PN}/"
+ dodir /usr/bin
+ dosym ../../opt/${MY_PN}/bin/codium /usr/bin/${MY_PN}
+ dosym ../../opt/${MY_PN}/bin/codium /usr/bin/codium
+ domenu "${FILESDIR}/${PN}.desktop"
+ newicon "resources/app/resources/linux/code.png" ${MY_PN}.png
+ use pax_kernel && pax-mark -m "${ED%/}"/opt/${MY_PN}/codium
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}
diff --git a/app-editors/vscodium-bin/vscodium-bin-1.46.1.ebuild b/app-editors/vscodium-bin/vscodium-bin-1.46.1.ebuild
new file mode 100644
index 000000000000..cfa727e93e30
--- /dev/null
+++ b/app-editors/vscodium-bin/vscodium-bin-1.46.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2020 Liguros Authors
+# Distributed under the terms of the GNU General Public License v2
+EAPI=7
+
+inherit desktop pax-utils xdg-utils
+
+MY_PN="${PN/-bin}"
+
+DESCRIPTION="Free/Libre Open Source Software Binaries of VSCode (binary version)"
+HOMEPAGE="https://vscodium.com"
+
+SRC_URI="
+ amd64? ( https://github.com/VSCodium/vscodium/releases/download/${PV}/VSCodium-linux-x64-${PV}.tar.gz )
+ arm? ( https://github.com/VSCodium/vscodium/releases/download/${PV}/VSCodium-linux-arm-${PV}.tar.gz )
+ arm64? ( https://github.com/VSCodium/vscodium/releases/download/${PV}/VSCodium-linux-arm64-${PV}.tar.gz )
+ "
+RESTRICT="mirror strip bindist"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="pax_kernel"
+
+DEPEND="
+ >=media-libs/libpng-1.2.46
+ >=x11-libs/gtk+-2.24.8-r1:2
+ x11-libs/cairo
+ x11-libs/libXtst
+ !app-editors/vscodium
+"
+
+RDEPEND="
+ ${DEPEND}
+ app-accessibility/at-spi2-atk
+ >=net-print/cups-2.0.0
+ x11-libs/libnotify
+ x11-libs/libXScrnSaver
+ dev-libs/nss
+ app-crypt/libsecret[crypt]
+"
+
+QA_PRESTRIPPED="opt/${MY_PN}/codium"
+QA_PREBUILT="opt/${MY_PN}/codium"
+
+S="${WORKDIR}"
+
+src_install(){
+ mkdir -p "${ED}/opt/${MY_PN}"
+ cp -r . "${ED}/opt/${MY_PN}/"
+ dodir /usr/bin
+ dosym ../../opt/${MY_PN}/bin/codium /usr/bin/${MY_PN}
+ dosym ../../opt/${MY_PN}/bin/codium /usr/bin/codium
+ domenu "${FILESDIR}/${PN}.desktop"
+ newicon "resources/app/resources/linux/code.png" ${MY_PN}.png
+ use pax_kernel && pax-mark -m "${ED%/}"/opt/${MY_PN}/codium
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}
diff --git a/app-editors/wily/Manifest b/app-editors/wily/Manifest
new file mode 100644
index 000000000000..6a116b3e332b
--- /dev/null
+++ b/app-editors/wily/Manifest
@@ -0,0 +1 @@
+DIST wily-9libs.tar.gz 125247 BLAKE2B 94f93d081c90f6543bb26d17f8fe053135be2df983a2280fdd15243c5e448f5f3265666692e0635156217b0e759e0d6f3bbc123cb857f1d7880ee3ee4f913a37 SHA512 3c06ef1d9c6e77a00037570f8b8bdbcdfc7648f691675db679ba83ac0ce092762a4020b0483acd325aa57810e9a386800a94c5e6e2b5002a963b4751a4d30a5b
diff --git a/app-editors/wily/metadata.xml b/app-editors/wily/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/app-editors/wily/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/wily/wily-1.0-r2.ebuild b/app-editors/wily/wily-1.0-r2.ebuild
new file mode 100644
index 000000000000..eafceb60d927
--- /dev/null
+++ b/app-editors/wily/wily-1.0-r2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit multilib toolchain-funcs
+
+MY_P="${P/1.0/9libs}"
+
+DESCRIPTION="An emulation of ACME, Plan9's hybrid window system, shell and editor"
+HOMEPAGE="https://www.netlib.org/research/9libs/"
+SRC_URI="https://www.netlib.org/research/9libs/${MY_P}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="
+ dev-libs/9libs
+"
+RDEPEND="
+ ${DEPEND}
+"
+DOCS=(
+ README
+)
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ tc-export CC
+
+ mhw_cv_mod_9libs_lib_path=/usr/$(get_libdir) \
+ mhw_cv_mod_9libs_inc_path=/usr/include/9libs \
+ econf
+}
+
+src_install() {
+ default
+
+ 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..6599d4e7fbe0
--- /dev/null
+++ b/app-editors/wxhexeditor/Manifest
@@ -0,0 +1 @@
+DIST wxHexEditor-v0.24-src.tar.xz 900868 BLAKE2B 6748249d75e7570197a6c78378a8f3109bfa4c72bf32fe63e2abd31734d97fda3d56ecddb52ac5f9a18cc77b2c727f8277688f1bf75ef8f665a3a9cefd1cb8a6 SHA512 8589da169c90cca5abf6ba957d5c5e17e4211123dbdbaf0e04d31757113e7e302d40df58144ec25d431c7c4ce2fa2721b16621d03630ac8b90478c704a8c5b09
diff --git a/app-editors/wxhexeditor/files/wxhexeditor-0.24-syslibs.patch b/app-editors/wxhexeditor/files/wxhexeditor-0.24-syslibs.patch
new file mode 100644
index 000000000000..af874128eac1
--- /dev/null
+++ b/app-editors/wxhexeditor/files/wxhexeditor-0.24-syslibs.patch
@@ -0,0 +1,76 @@
+Use system copies of mhash and udis86.
+Also pass -fopenmp when linking to avoid build errors.
+Remove -O2 from forced CXXFLAGS.
+
+--- a/Makefile
++++ b/Makefile
+@@ -1,9 +1,9 @@
+ WXCONFIG ?= wx-config
+ HOST=
+-WXCXXFLAGS= `$(WXCONFIG) --cxxflags` -Iudis86 -Imhash/include -MMD -fopenmp -Wall -O2
++WXCXXFLAGS= `$(WXCONFIG) --cxxflags` -MMD -fopenmp -Wall
+ WXLDFLAGS = `$(WXCONFIG) --libs` `$(WXCONFIG) --libs aui` `$(WXCONFIG) --libs core`
+ WXCXXFLAGS += -fopenmp
+-LDFLAGS += -lgomp
++LDFLAGS += -fopenmp -lgomp
+ #add this ldflags for WinConsole "-Wl,--subsystem,console -mconsole" for win-debug
+ #LDFLAGS += -Wl,--subsystem,console -mconsole
+ RC = `$(WXCONFIG) --rescomp`
+@@ -22,7 +22,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;`
+@@ -68,15 +68,6 @@ langs: $(MOBJECTS)
+ %.mo : %.po
+ $(MSGFMT) $< -o $@
+
+-udis86/libudis86/.libs/libudis86.a:
+- cd udis86;./autogen.sh
+- cd udis86;./configure --host=$(HOST) CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS) ${OPTFLAGS}" CXXFLAGS="$(CXXFLAGS) ${OPTFLAGS}" CPPFLAGS="$(CPPFLAGS)"
+- cd udis86/libudis86; $(MAKE) $(MFLAGS)
+-
+-mhash/lib/.libs/libmhash.a:
+- cd mhash; ./configure --host=$(HOST) CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS) ${OPTFLAGS}" CXXFLAGS="$(CXXFLAGS) ${OPTFLAGS}" CPPFLAGS="$(CPPFLAGS)"
+- cd mhash; $(MAKE) $(MFLAGS)
+-
+ src/windrv.o:
+ $(CXX) $(LIBS) ${CXXFLAGS} ${OPTFLAGS} $(WXCXXFLAGS) $(WXLDFLAGS) ${LDFLAGS} -c src/windrv.cpp -o src/windrv.o
+
+--- 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 __SSE2__
+ #include <emmintrin.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..6fa742c8fb38
--- /dev/null
+++ b/app-editors/wxhexeditor/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>wxwidgets@gentoo.org</email>
+ <name>Gentoo wxWidgets Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">wxhexeditor</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/wxhexeditor/wxhexeditor-0.24.ebuild b/app-editors/wxhexeditor/wxhexeditor-0.24.ebuild
new file mode 100644
index 000000000000..517f24a35eb8
--- /dev/null
+++ b/app-editors/wxhexeditor/wxhexeditor-0.24.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+WX_GTK_VER=3.0-gtk3
+
+inherit toolchain-funcs wxwidgets
+
+MY_PN="wxHexEditor"
+
+DESCRIPTION="A cross-platform hex editor designed specially for large files"
+HOMEPAGE="http://www.wxhexeditor.org/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_PN}-v${PV}-src.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ app-crypt/mhash
+ dev-libs/udis86
+ x11-libs/wxGTK:${WX_GTK_VER}[X]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_PN}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-syslibs.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && tc-check-openmp
+}
+
+src_prepare() {
+ setup-wxwidgets
+ default
+}
diff --git a/app-editors/xemacs/Manifest b/app-editors/xemacs/Manifest
new file mode 100644
index 000000000000..793589c73091
--- /dev/null
+++ b/app-editors/xemacs/Manifest
@@ -0,0 +1,3 @@
+DIST NeXT_XEmacs.tar.gz 39571 BLAKE2B 7abf17627ec34e6b0d0edde444028c46dca6d703cfa208a8a1eaf30e2fc2543b953c9a9582c3d55bd5b37e746f45c03ebfc408a0d965606e45d5f4adb9148dea SHA512 611ddbbf5be3d2274e7f76be7f8200c6c7f3cba917efcc24e73685aa5f61c94237e6e48ce66f2d59ee4b74862e686f3ea7a29cf006717d5d0674db24d243d566
+DIST xemacs-21.4.24.tar.gz 8543879 BLAKE2B d7e60e4e053a10bfc4591a5d691c849ef5e5436f6951c801f5a169592b160669d0f6b9dc8f10b6b79889a3210de977ed78a5cea826c02e425495364745ef9e10 SHA512 b7a88d5a4a9f74f74c2067ed60f7ea87ac8ccad5d9c2c1033ecf07f540250191f8fa5f9e6d23d9fedd0f2ab1eb5ea6c29a7665a310ec512d85e2e4f337447213
+DIST xemacs-21.5.34.tar.gz 15816932 BLAKE2B e3be282717b91308c94d3d4bee74527d0b31ea5019e8ac38a62385d2ffd6f684c9e4eaf37c025db5e48a4c8f82d165fcc5258e49934c094cb66e0655d27c3e7d SHA512 b61d88fe530a77b88c2ed0cecd6597ed3c265450bc61f7c6823920f774b2d566ef6fc18a6c33928d846d08d465617d4ccd3c4656606ec8634127a683abbc929a
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.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.34-ar.patch b/app-editors/xemacs/files/xemacs-21.5.34-ar.patch
new file mode 100644
index 000000000000..fff6f5578733
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.34-ar.patch
@@ -0,0 +1,74 @@
+diff -r 3ca291c0f7e3 configure
+--- a/configure Sun Jul 28 10:17:08 2019 +0100
++++ b/configure Sun Apr 19 18:46:45 2020 +0200
+@@ -778,6 +778,5 @@
+ INSTALL_SCRIPT
+ INSTALL_PROGRAM
+ RANLIB
+-AR
+ lib_gcc
+ ld
+@@ -10296,47 +10307,6 @@
+ fi
+
+
+-# Extract the first word of "ar", so it can be a program name with args.
+-set dummy ar; ac_word=$2
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+-$as_echo_n "checking for $ac_word... " >&6; }
+-if ${ac_cv_prog_AR+:} false; then :
+- $as_echo_n "(cached) " >&6
+-else
+- if test -n "$AR"; then
+- ac_cv_prog_AR="$AR" # Let the user override the test.
+-else
+-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_AR="ar"
+- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+- done
+-IFS=$as_save_IFS
+-
+- test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="not_found"
+-fi
+-fi
+-AR=$ac_cv_prog_AR
+-if test -n "$AR"; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+-$as_echo "$AR" >&6; }
+-else
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+-$as_echo "no" >&6; }
+-fi
+-
+-
+-if test "$AR" = "not_found"; then
+- { echo "Error:" "ar not found -- is PATH set correctly?" >&2; exit 1; }
+-fi
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+diff -r 3ca291c0f7e3 configure.ac
+--- a/configure.ac Sun Jul 28 10:17:08 2019 +0100
++++ b/configure.ac Sun Apr 19 18:46:45 2020 +0200
+@@ -2557,12 +2557,6 @@
+ dnl should make an entry in src/config.h, do not forget to add an
+ dnl #undef clause to src/config.h.in for autoconf to modify.
+
+-dnl Sun likes to hide these utilities. Steve Baur asked that we make
+-dnl the failure occur at configure time, not at use time.
+-AC_CHECK_PROG(AR,ar,ar,not_found)
+-if test "$AR" = "not_found"; then
+- XE_DIE(["ar not found -- is PATH set correctly?"])
+-fi
+ dnl These tests don't necessarily check that the program exists.
+ AC_PROG_RANLIB
+ AC_PROG_INSTALL
diff --git a/app-editors/xemacs/files/xemacs-21.5.34-as-needed.patch b/app-editors/xemacs/files/xemacs-21.5.34-as-needed.patch
new file mode 100644
index 000000000000..542ce14c36af
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.34-as-needed.patch
@@ -0,0 +1,25 @@
+diff -r 30910ee1cf8c configure
+--- a/configure Tue Jun 18 10:37:46 2019 +0100
++++ b/configure Mon Jul 08 20:38:49 2019 +0200
+@@ -16668,7 +16668,7 @@
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-l$athena_variant $LIBS"
++LIBS="-l$athena_variant $libs_x $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+diff -r 30910ee1cf8c configure.ac
+--- a/configure.ac Tue Jun 18 10:37:46 2019 +0100
++++ b/configure.ac Mon Jul 08 20:38:49 2019 +0200
+@@ -4068,7 +4068,8 @@
+ athena_lib=Xaw;
+ AC_MSG_WARN([Assuming that libXaw is actually $athena_variant.]);
+ ],
+- [AC_MSG_WARN([Could not find a 3d Athena widget library that looked like $athena_variant.])]))
++ [AC_MSG_WARN([Could not find a 3d Athena widget library that looked like $athena_variant.])]),
++ $libs_x)
+ fi
+
+ dnl Now we locate the Athena headers that we need.
diff --git a/app-editors/xemacs/files/xemacs-21.5.34-configure-libc-version.patch b/app-editors/xemacs/files/xemacs-21.5.34-configure-libc-version.patch
new file mode 100644
index 000000000000..fdea052fba19
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.34-configure-libc-version.patch
@@ -0,0 +1,24 @@
+diff -r 3ca291c0f7e3 configure
+--- a/configure Sun Jul 28 10:17:08 2019 +0100
++++ b/configure Fri Mar 06 21:27:48 2020 +0100
+@@ -9987,7 +9987,7 @@
+ libc_version="GNU libc $libc_version (Debian)"
+ fi
+ if test -z "$libc_version"; then
+- libc_version=`ls /lib/libc-*.so | sed -e 's,/lib/libc-\(.*\)\.so,\1,'`
++ libc_version=`ls /lib{64,}/libc-*.so 2>/dev/null | head -n1 | sed -e 's,/lib\(64\|\)/libc-\(.*\)\.so,\2,'`
+ fi
+ ;;
+
+diff -r 3ca291c0f7e3 configure.ac
+--- a/configure.ac Sun Jul 28 10:17:08 2019 +0100
++++ b/configure.ac Fri Mar 06 21:27:48 2020 +0100
+@@ -2347,7 +2347,7 @@
+ fi
+ dnl #### Tested on Debian, does this actually work elsewhere? ;-)
+ if test -z "$libc_version"; then
+- libc_version=`ls /lib/libc-*.so | sed -e 's,/lib/libc-\(.*\)\.so,\1,'`
++ libc_version=`ls /lib{64,}/libc-*.so 2>/dev/null | head -n1 | sed -e 's,/lib\(64\|\)/libc-\(.*\)\.so,\2,'`
+ fi
+ ;;
+
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..9a961f5cb479
--- /dev/null
+++ b/app-editors/xemacs/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>xemacs@gentoo.org</email>
+ </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="mule">Add multi-language support to XEmacs</flag>
+ <flag name="pop">Support POP for mail retrieval</flag>
+ <flag name="xim">Enable X11 XiM input method</flag>
+ </use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
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..032b668af1e9
--- /dev/null
+++ b/app-editors/xemacs/xemacs-21.4.24-r1.ebuild
@@ -0,0 +1,243 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: xemacs currently does not work with position independent code
+# so the build forces the use of the -no-pie option
+
+EAPI="5"
+
+WANT_AUTOCONF="2.1"
+inherit autotools eutils flag-o-matic toolchain-funcs xdg-utils
+
+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 arm64 ~hppa ppc ppc64 sparc ~x86"
+IUSE="eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xim athena neXt Xaw3d gdbm berkdb"
+
+X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
+
+RDEPEND="
+ berkdb? ( sys-libs/db:= )
+ gdbm? ( >=sys-libs/gdbm-1.8.3[berkdb] )
+ >=sys-libs/zlib-1.1.4
+ >=dev-libs/openssl-0.9.6:0
+ >=media-libs/audiofile-0.2.3
+ gpm? ( >=sys-libs/gpm-1.19.6 )
+ postgres? ( dev-db/postgresql:= )
+ ldap? ( net-nds/openldap )
+ 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=""
+
+ # Can't build with pie. See bug #75028
+ test-flags -no-pie >/dev/null && append-flags -no-pie
+ filter-flags -pie
+
+ 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
+
+ # 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-system-malloc \
+ --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
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+ xdg_desktop_database_update
+}
diff --git a/app-editors/xemacs/xemacs-21.4.24-r2.ebuild b/app-editors/xemacs/xemacs-21.4.24-r2.ebuild
new file mode 100644
index 000000000000..1f2018514edc
--- /dev/null
+++ b/app-editors/xemacs/xemacs-21.4.24-r2.ebuild
@@ -0,0 +1,251 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: xemacs currently does not work with position independent code
+# so the build forces the use of the -no-pie option
+
+EAPI=7
+
+WANT_AUTOCONF="2.1"
+inherit autotools eutils flag-o-matic toolchain-funcs xdg-utils desktop
+
+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 ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE="eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xim athena neXt Xaw3d gdbm berkdb"
+
+X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
+
+RDEPEND="
+ berkdb? ( sys-libs/db:= )
+ gdbm? ( >=sys-libs/gdbm-1.8.3[berkdb] )
+ >=sys-libs/zlib-1.1.4
+ >=dev-libs/openssl-0.9.6:0
+ >=media-libs/audiofile-0.2.3
+ gpm? ( >=sys-libs/gpm-1.19.6 )
+ postgres? ( dev-db/postgresql:= )
+ ldap? ( net-nds/openldap )
+ 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
+ eapply "${FILESDIR}"/xemacs-21.4.19-db.patch
+ # see bug 576512
+ eapply "${FILESDIR}"/xemacs-21.4.24-gcc5.patch
+ eapply "${FILESDIR}"/xemacs-21.4.24-glibc-macro.patch
+ # see bug 615544
+ eapply "${FILESDIR}"/xemacs-21.4.24-ncurses-tinfo.patch
+
+ # Convert to utf-8
+ iconv -f iso-8859-1 -t utf-8 -o man/xemacs-faq.texi.tmp man/xemacs-faq.texi \
+ && mv -f man/xemacs-faq.texi.tmp man/xemacs-faq.texi || die
+ iconv -f iso-8859-1 -t utf-8 -o man/lispref/ldap.texi.tmp man/lispref/ldap.texi \
+ && mv -f man/lispref/ldap.texi.tmp man/lispref/ldap.texi || die
+
+ eapply_user
+
+ # 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=""
+
+ # Can't build with pie. See bug #75028
+ test-flags -no-pie >/dev/null && append-flags -no-pie
+ filter-flags -pie
+
+ 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
+
+ # 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-system-malloc \
+ --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
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+ xdg_desktop_database_update
+}
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..7b39f0f4f265
--- /dev/null
+++ b/app-editors/xemacs/xemacs-21.4.24.ebuild
@@ -0,0 +1,245 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: xemacs currently does not work with position independent code
+# so the build forces the use of the -no-pie option
+
+EAPI="5"
+
+WANT_AUTOCONF="2.1"
+inherit autotools eutils flag-o-matic toolchain-funcs xdg-utils
+
+DESCRIPTION="highly customizable open source text editor and application development system"
+HOMEPAGE="http://www.xemacs.org/"
+SRC_URI="http://ftp.xemacs.org/xemacs-21.4/${P}.tar.gz
+ http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~hppa ppc ppc64 sparc x86"
+IUSE="eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xim athena neXt Xaw3d gdbm berkdb"
+
+X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
+
+RDEPEND="
+ berkdb? ( sys-libs/db:= )
+ gdbm? ( >=sys-libs/gdbm-1.8.3 )
+ >=sys-libs/zlib-1.1.4
+ >=dev-libs/openssl-0.9.6:0
+ >=media-libs/audiofile-0.2.3
+ gpm? ( >=sys-libs/gpm-1.19.6 )
+ postgres? ( dev-db/postgresql:= )
+ ldap? ( net-nds/openldap )
+ nas? ( media-libs/nas )
+ X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) )
+ dnd? ( x11-libs/dnd )
+ motif? ( >=x11-libs/motif-2.3:0 )
+ athena? ( x11-libs/libXaw )
+ Xaw3d? ( x11-libs/libXaw3d )
+ neXt? ( x11-libs/neXtaw )
+ xface? ( media-libs/compface )
+ tiff? ( media-libs/tiff:0 )
+ png? ( >=media-libs/libpng-1.2:0 )
+ jpeg? ( virtual/jpeg:0 )
+ canna? ( app-i18n/canna )
+ !amd64? ( freewnn? ( app-i18n/freewnn ) )
+ >=sys-libs/ncurses-5.2:=
+ >=app-eselect/eselect-emacs-1.15"
+
+DEPEND="${RDEPEND}
+ >=sys-apps/texinfo-5"
+
+PDEPEND="app-xemacs/xemacs-base
+ mule? ( app-xemacs/mule-base )"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ use neXt && unpack NeXT_XEmacs.tar.gz
+}
+
+src_prepare() {
+ # see bug 58350, 102540 and 143580
+ epatch "${FILESDIR}"/xemacs-21.4.19-db.patch
+ # 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=""
+
+ # Can't build with pie. See bug #75028
+ test-flags -no-pie >/dev/null && append-flags -no-pie
+ filter-flags -pie
+
+ 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
+
+ # 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-system-malloc \
+ --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
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+ xdg_desktop_database_update
+}
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..8cf979775cf2
--- /dev/null
+++ b/app-editors/xemacs/xemacs-21.5.34-r4.ebuild
@@ -0,0 +1,256 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: xemacs currently does not work with position independent code
+# so the build forces the use of the -no-pie option
+
+EAPI=5
+
+inherit eutils flag-o-matic multilib xdg-utils
+
+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 ~ppc ~ppc64 ~sparc ~x86"
+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"
+ epatch "${FILESDIR}/${P}-as-needed.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=""
+
+ # bug #639642
+ test-flags -no-pie >/dev/null && append-flags -no-pie
+ filter-flags -pie
+
+ 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
+}
+
+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
+
+ # 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
+ xdg_desktop_database_update
+
+ 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
+ xdg_desktop_database_update
+}
diff --git a/app-editors/xemacs/xemacs-21.5.34-r5.ebuild b/app-editors/xemacs/xemacs-21.5.34-r5.ebuild
new file mode 100644
index 000000000000..6e6d7958c4e1
--- /dev/null
+++ b/app-editors/xemacs/xemacs-21.5.34-r5.ebuild
@@ -0,0 +1,260 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: xemacs currently does not work with position independent code
+# so the build forces the use of the -no-pie option
+
+EAPI=7
+
+inherit autotools eutils flag-o-matic multilib xdg-utils desktop
+
+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 ~ppc ~ppc64 ~sparc ~x86"
+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
+ eapply "${FILESDIR}/${P}-ncurses-tinfo.patch"
+ eapply "${FILESDIR}/${P}-gcc5.patch"
+ eapply "${FILESDIR}/${P}-glibc-macro.patch"
+ eapply "${FILESDIR}/${P}-as-needed.patch"
+ eapply "${FILESDIR}/${P}-configure-libc-version.patch"
+ eapply "${FILESDIR}/${P}-ar.patch"
+
+ eapply_user
+
+ # 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=""
+
+ # bug #639642
+ test-flags -no-pie >/dev/null && append-flags -no-pie
+ filter-flags -pie
+
+ 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
+}
+
+src_compile() {
+ emake EMACSLOADPATH="${S}"/lisp
+}
+
+src_install() {
+ emake prefix="${ED}"/usr \
+ mandir="${ED}"/usr/share/man/man1 \
+ infodir="${ED}"/usr/share/info \
+ libdir="${ED}"/usr/$(get_libdir) \
+ datadir="${ED}"/usr/share \
+ install
+
+ # 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 "${ED}"/usr/bin/${i} "${ED}"/usr/bin/${i}-xemacs || die "mv ${i} failed"
+ done
+
+ # rename man pages
+ for i in ctags etags gnuserv gnuclient gnudoit gnuattach; do
+ mv "${ED}"/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 "${ED}"/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
+ xdg_desktop_database_update
+
+ 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
+ xdg_desktop_database_update
+}
diff --git a/app-editors/xmlcopyeditor/Manifest b/app-editors/xmlcopyeditor/Manifest
new file mode 100644
index 000000000000..56816307e4f8
--- /dev/null
+++ b/app-editors/xmlcopyeditor/Manifest
@@ -0,0 +1 @@
+DIST xmlcopyeditor-1.2.1.3.tar.gz 4266907 BLAKE2B 52e8c27a37edbcc0da46b52443f5b6754252a62f1abb7746e724270dd5cd9a2db4de60e68d495008ef55a18e9c25149825c9b26c5fd6e20d8e3937931de64e74 SHA512 1adda58bc262cd22898ba22eed3cad9f4a51f199e779172af2d51c5d7bf6dac072b9015b90906236de83d7acebe29d0aae6ae73998ec9d9b3c58b02f081e0b4d
diff --git a/app-editors/xmlcopyeditor/files/xmlcopyeditor-1.2.1.3-no-automagic-enchant.patch b/app-editors/xmlcopyeditor/files/xmlcopyeditor-1.2.1.3-no-automagic-enchant.patch
new file mode 100644
index 000000000000..435b777b43d7
--- /dev/null
+++ b/app-editors/xmlcopyeditor/files/xmlcopyeditor-1.2.1.3-no-automagic-enchant.patch
@@ -0,0 +1,19 @@
+--- xmlcopyeditor-1.2.1.3.orig/configure.ac
++++ xmlcopyeditor-1.2.1.3/configure.ac
+@@ -139,13 +139,9 @@
+ AC_CHECK_HEADER(expat.h, ,
+ AC_MSG_ERROR([Expat headers not found]))
+
+-# Check enchant is available
+-PKG_CHECK_MODULES(ENCHANT, [enchant], [CXXFLAGS="$CXXFLAGS -DUSE_ENCHANT"],
+- # otherwise Check ASPELL is available
+- [AC_CHECK_HEADER(aspell.h, [ASPELL_LIBS="-laspell"],
+- AC_MSG_ERROR([Aspell headers not found]))]
+-)
+-
++# Check Aspell is available
++AC_CHECK_HEADER(aspell.h, [ASPELL_LIBS="-laspell"],
++ AC_MSG_ERROR([Aspell headers not found]))
+ AC_SUBST(ASPELL_LIBS)
+
+ # Check gtk
diff --git a/app-editors/xmlcopyeditor/metadata.xml b/app-editors/xmlcopyeditor/metadata.xml
new file mode 100644
index 000000000000..28d3c41f082b
--- /dev/null
+++ b/app-editors/xmlcopyeditor/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-needed-->
+ <longdescription>
+ Fast, free, validating XML editor.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">xml-copy-editor</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.1.3-r1.ebuild b/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.1.3-r1.ebuild
new file mode 100644
index 000000000000..d56c500752b8
--- /dev/null
+++ b/app-editors/xmlcopyeditor/xmlcopyeditor-1.2.1.3-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+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
+"
+
+PATCHES=( "${FILESDIR}"/${P}-no-automagic-enchant.patch )
+
+src_prepare() {
+ default
+
+ # 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..2d066198a07c
--- /dev/null
+++ b/app-editors/xvile/Manifest
@@ -0,0 +1 @@
+DIST vile-9.8t.tgz 2352119 BLAKE2B fc1c75eba09e8be99945ba0d178fd150576d8108f906afb20dba265adaee9e5bea4869415d3ebceabf0b6b56c147add79e9c7e4fe34d7f4744930c3728e4a4a4 SHA512 4be4e37c7231395cae9236796073c2c3e428f1945283785a931c5d4cce94e0f970efa6634b0f9053679a00f4b4577704ea38ded2129e444b26ee9935a1c3d229
diff --git a/app-editors/xvile/metadata.xml b/app-editors/xvile/metadata.xml
new file mode 100644
index 000000000000..3e401807d974
--- /dev/null
+++ b/app-editors/xvile/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 type="project">
+ <email>vim@gentoo.org</email>
+ <name>Gentoo Vim Project</name>
+</maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-editors/xvile/xvile-9.8t.ebuild b/app-editors/xvile/xvile-9.8t.ebuild
new file mode 100644
index 000000000000..a18545b97b79
--- /dev/null
+++ b/app-editors/xvile/xvile-9.8t.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_P="${PN/x/}-${PV}"
+DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone"
+HOMEPAGE="https://invisible-island.net/vile/"
+SRC_URI="ftp://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"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto
+ 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..b5f4f3c24507
--- /dev/null
+++ b/app-editors/yudit/Manifest
@@ -0,0 +1 @@
+DIST yudit-2.9.6.tar.gz 2797142 BLAKE2B 76fb8e0ade65c84389db71b4100e458f5b70aebba27eea4b604bfcee08974060dcd2bab2d86586b5ba729d8d5090c943e825dfe58d71c609f0ca2f2e0c3900c9 SHA512 a9a0b6f6c44451cf2fefc4fc0bb1bbd9ffccd17c4c622dc35b08113245b3bb9f3ca949f3e7b9d2aa919ebf3840295c5e63c0297576e74a5f2d1fb99cfc97c46b
diff --git a/app-editors/yudit/metadata.xml b/app-editors/yudit/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/app-editors/yudit/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
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..e46388fb702c
--- /dev/null
+++ b/app-editors/yudit/yudit-2.9.6.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2018 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..70e83d7e2d8a
--- /dev/null
+++ b/app-editors/zile/Manifest
@@ -0,0 +1,2 @@
+DIST zile-2.3.24.tar.gz 953962 BLAKE2B 242f0f9532a536d5ba36664031cf86eba753239c0f6dcd47c086496628a730bdd0a9112dc1ffd26965068f6d66d35d3ad3c92fc2753e129adf9a5923321e2cdf SHA512 8361f42436ae9ca150f09d830096b7a3fb0089d58bffe5ad7538b5ec5cd4e0e50085213e938db1a95e2922db845d1d2f36841a65fe1b9b72f60cd930dd8f09b9
+DIST zile-2.4.14.tar.gz 1385314 BLAKE2B 43815e87bb037a8de42b00510ce8addd748fe2a639f78e736c7fe6220c972ce600a8db557dd592065bb27e1d35a5d3a42b6a4a8d5d76eefc4274a8ce27b1d9c2 SHA512 0dea56fd13a82015ec73de3139a4b2c27ad4c001ed535f1bae557ee49f9d8a188610a08160998d0a36b95fec42b46a019fd43634ef6502ebd27e162164de98cc
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..37924fc9f984
--- /dev/null
+++ b/app-editors/zile/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>
+ 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>
+ <origin>gentoo-staging</origin>
+</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..c796a61701ff
--- /dev/null
+++ b/app-editors/zile/zile-2.3.24-r2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+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 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="test valgrind"
+RESTRICT="!test? ( test )"
+
+RDEPEND="sys-libs/ncurses:0="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( valgrind? ( dev-util/valgrind ) )"
+
+PATCHES=("${FILESDIR}"/${P}-{userhome,gets}.patch)
+
+src_configure() {
+ # --without-emacs to suppress tests for GNU Emacs #630652
+ econf \
+ --without-emacs \
+ $(use test && use_with valgrind || echo "--without-valgrind") \
+ CURSES_LIB="$("$(tc-getPKG_CONFIG)" --libs ncurses)"
+}
+
+src_test() {
+ if tput cup 0 0 >/dev/null || tput cuu1 >/dev/null; then
+ # We have a sane terminal that can move the cursor
+ emake check
+ else
+ ewarn "Terminal type \"${TERM}\" is too stupid to run zile"
+ ewarn "Running the tests with TERM=vt100 instead"
+ TERM=vt100 emake check
+ fi
+}
+
+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.14.ebuild b/app-editors/zile/zile-2.4.14.ebuild
new file mode 100644
index 000000000000..06dc725535f0
--- /dev/null
+++ b/app-editors/zile/zile-2.4.14.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+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 arm64 ppc sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="acl test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-libs/boehm-gc-7.2:=
+ sys-libs/ncurses:0=
+ acl? ( virtual/acl )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( dev-lang/perl )"
+
+QA_AM_MAINTAINER_MODE=".*help2man.*" #450278
+
+src_configure() {
+ # --without-emacs to suppress tests for GNU Emacs #630652
+ econf \
+ --without-emacs \
+ --disable-valgrind-tests \
+ $(use_enable acl) \
+ CURSES_LIB="$("$(tc-getPKG_CONFIG)" --libs ncurses)"
+}
+
+src_test() {
+ if tput cup 0 0 >/dev/null || tput cuu1 >/dev/null; then
+ # We have a sane terminal that can move the cursor
+ emake check
+ else
+ ewarn "Terminal type \"${TERM}\" is too stupid to run zile"
+ ewarn "Running the tests with unset TERM instead"
+ ( unset TERM; emake check )
+ fi
+}
+
+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
+}