diff options
| author | Palica <palica+gitlab@liguros.net> | 2020-06-23 22:35:08 +0200 |
|---|---|---|
| committer | Palica <palica+gitlab@liguros.net> | 2020-06-23 22:35:08 +0200 |
| commit | ecdac123787b96ce6649f0f91da12ea6458cc2b1 (patch) | |
| tree | b89c74d9e6fe6e8aebc4c77bcbeb4ab73214127d /app-editors | |
| parent | 1be72aa41cf41dedadeecf59dca9f01de6381f5e (diff) | |
| download | baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.gz baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.xz baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.zip | |
Updating liguros repo
Diffstat (limited to 'app-editors')
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 +} |
