diff options
author | 2015-08-08 13:49:04 -0700 | |
---|---|---|
committer | 2015-08-08 17:38:18 -0700 | |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-editors | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-editors')
507 files changed, 30602 insertions, 0 deletions
diff --git a/app-editors/XML-XSH2/Manifest b/app-editors/XML-XSH2/Manifest new file mode 100644 index 000000000000..7d7d68020398 --- /dev/null +++ b/app-editors/XML-XSH2/Manifest @@ -0,0 +1 @@ +DIST XML-XSH2-2.1.6.tar.gz 322506 SHA256 6bd3d520db9b192e9d04b2fdb43ac54ebd945148e03d1e93dc4b9f39fa5dd551 SHA512 2ee992a50378a6f79327938cbd301eb49954d4dbf7c2815bc40f9f74d77eed4060a234f0369215375f34a495871c29ef17f60919f31fc9b192558945a9303b7b WHIRLPOOL 155137cb11204638b3aeedc46444797a0065e341fa29adaac3864b648206e3506561a9175838a61eb28c7b29262db6f6669694be660e2b4348d21e5b68b80f01 diff --git a/app-editors/XML-XSH2/XML-XSH2-2.1.6-r1.ebuild b/app-editors/XML-XSH2/XML-XSH2-2.1.6-r1.ebuild new file mode 100644 index 000000000000..e047bb0f7099 --- /dev/null +++ b/app-editors/XML-XSH2/XML-XSH2-2.1.6-r1.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +MODULE_AUTHOR=PAJAS +MODULE_VERSION=2.1.6 +inherit perl-module + +DESCRIPTION="XML Editing Shell" +HOMEPAGE="http://xsh.sourceforge.net/" + +LICENSE="|| ( Artistic GPL-2 )" # Artistic or GPL-2 +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +RDEPEND=" + >=dev-perl/XML-LibXML-1.61 + >=dev-perl/Parse-RecDescent-1.94 + >=dev-perl/XML-LibXSLT-1.53 + dev-perl/IO-stringy + dev-perl/XML-SAX-Writer + dev-perl/Term-ReadLine-Perl + dev-perl/URI + dev-perl/XML-Filter-DOMFilter-LibXML + >=dev-perl/XML-XUpdate-LibXML-0.4.0 +" +DEPEND="${RDEPEND}" + +SRC_TEST=do diff --git a/app-editors/XML-XSH2/metadata.xml b/app-editors/XML-XSH2/metadata.xml new file mode 100644 index 000000000000..1d0face2e5e4 --- /dev/null +++ b/app-editors/XML-XSH2/metadata.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>maintainer-needed@gentoo.org</email> + </maintainer> + <upstream> + <remote-id type="cpan">XML-XSH2</remote-id> + <remote-id type="cpan-module">Parse::RecDescent::XML::XSH2::Parser</remote-id> + <remote-id type="cpan-module">XML::LibXML::Literal</remote-id> + <remote-id type="cpan-module">XML::LibXML::Namespace</remote-id> + <remote-id type="cpan-module">XML::LibXML::NodeList</remote-id> + <remote-id type="cpan-module">XML::LibXML::Number</remote-id> + <remote-id type="cpan-module">XML::LibXML::SubTreeIterator</remote-id> + <remote-id type="cpan-module">XML::SAX::Writer::XMLEnc</remote-id> + <remote-id type="cpan-module">XML::XSH2</remote-id> + <remote-id type="cpan-module">XML::XSH2::Compile</remote-id> + <remote-id type="cpan-module">XML::XSH2::Completion</remote-id> + <remote-id type="cpan-module">XML::XSH2::CompletionList</remote-id> + <remote-id type="cpan-module">XML::XSH2::DummyXPathContext</remote-id> + <remote-id type="cpan-module">XML::XSH2::FilteredIterator</remote-id> + <remote-id type="cpan-module">XML::XSH2::Functions</remote-id> + <remote-id type="cpan-module">XML::XSH2::Grammar</remote-id> + <remote-id type="cpan-module">XML::XSH2::Help</remote-id> + <remote-id type="cpan-module">XML::XSH2::Inline</remote-id> + <remote-id type="cpan-module">XML::XSH2::Internal::Exception</remote-id> + <remote-id type="cpan-module">XML::XSH2::Internal::LoopTerminatingException</remote-id> + <remote-id type="cpan-module">XML::XSH2::Internal::SubTerminatingException</remote-id> + <remote-id type="cpan-module">XML::XSH2::Internal::UncatchableException</remote-id> + <remote-id type="cpan-module">XML::XSH2::Iterators</remote-id> + <remote-id type="cpan-module">XML::XSH2::LibXMLCompat</remote-id> + <remote-id type="cpan-module">XML::XSH2::Map</remote-id> + <remote-id type="cpan-module">XML::XSH2::Parser</remote-id> + <remote-id type="cpan-module">XML::XSH2::VarAlias</remote-id> + <remote-id type="cpan-module">XML::XSH2::XPathToXML</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/adie/Manifest b/app-editors/adie/Manifest new file mode 100644 index 000000000000..a4319cfd067d --- /dev/null +++ b/app-editors/adie/Manifest @@ -0,0 +1,4 @@ +DIST fox-1.6.49.tar.gz 4383152 SHA256 3679ecd23064958259fbef5898aabb048d63b2dcb796de1d8801fe0b51e5a90e SHA512 cd7dd5fd26bcdde6ed69d547e2b08582f0e88b66b6f1bac9b5cd2279b543edbf5b9a63cc2ed05f1a1fd7e7309ede96404cf7a5d2d8eb8763dc0fb41d613b0ee8 WHIRLPOOL 1592d2560a7967c491dcfeda40e66a45d2811424e222c5f1e768b28c8ce147d7815f46d22006ac9809b967d0c825b7828aad206ab55bcb80cae064f646fd3608 +DIST fox-1.7.45.tar.gz 5254563 SHA256 78f2b5f609a52d21da08e693d45b8eeb9d4ceed52ad86e451ef4485f2375c829 SHA512 ec8acf0eb0b1882254f7df2abdcb87445992fc9fb8165afcc08b8dd52a718cb31953849efc7a530bd682e6265687bdf4dc9fb5c930557b9405235182894684b0 WHIRLPOOL 08808e67e0e31c7389b1d4ac097d7d707fb48a925df233021913bc80363002c0c4ce19c8630f4bd5c87ebb5bc5c010dc7f3260f415dfa5b60390c5aae316de78 +DIST fox-1.7.47.tar.gz 5271135 SHA256 7f1de8566b88b0010137ea1172168d53494d2d14bfa03fe32f7796146a31a2a3 SHA512 8802c7a21ba35b48a638fb87354da3de54c82ebdd3f931a601f55473fe1f7c16bfa2df253e8531af2058665d9b6f31adf52f6973c2d94f435cc90ac112af22ed WHIRLPOOL fbcf4540b268e95fa4d70ed335d8f499ec46e18390cdc090c98c21b4be5ff3ec576439265cfcf8b90c037fed7937c3a5f19f8544db1906cf86a3f255b8092d62 +DIST fox-1.7.49.tar.gz 5336321 SHA256 2435c56cde3ba6617c638af4f3bac39e8f4d5dd5a5c6d0805d274c7ba05c520c SHA512 da6c3478370f1e72091675e49f8458a6722eca4735bf89052b2b7ef02f4e74ee41f10c9fcc39a24a1571dd0bb1cdf779e9dea5bf15be20722ca783c9d59eb6e9 WHIRLPOOL 53ad3d34e57507702fc2ac9bd7b446021a99e3dff5b337cda090a670b06d4733abce2bbca88a7586e8af2d00f16ee84b0bd3c42f66fd6e430cc6d342bb76b1ff diff --git a/app-editors/adie/adie-1.6.49.ebuild b/app-editors/adie/adie-1.6.49.ebuild new file mode 100644 index 000000000000..a9dddef45232 --- /dev/null +++ b/app-editors/adie/adie-1.6.49.ebuild @@ -0,0 +1,18 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit fox + +DESCRIPTION="Text editor based on the FOX Toolkit" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 hppa ppc ppc64 sparc x86" +IUSE="" + +DEPEND="x11-libs/fox:1.6" + +RDEPEND="${DEPEND}" diff --git a/app-editors/adie/adie-1.7.45.ebuild b/app-editors/adie/adie-1.7.45.ebuild new file mode 100644 index 000000000000..823119279453 --- /dev/null +++ b/app-editors/adie/adie-1.7.45.ebuild @@ -0,0 +1,17 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit fox + +DESCRIPTION="Text editor based on the FOX Toolkit" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86" +IUSE="" + +DEPEND="~x11-libs/fox-${PV}" +RDEPEND="${DEPEND}" diff --git a/app-editors/adie/adie-1.7.47.ebuild b/app-editors/adie/adie-1.7.47.ebuild new file mode 100644 index 000000000000..1f4af4a8943e --- /dev/null +++ b/app-editors/adie/adie-1.7.47.ebuild @@ -0,0 +1,19 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit fox + +DESCRIPTION="Text editor based on the FOX Toolkit" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86" +IUSE="" + +DEPEND="~x11-libs/fox-${PV} + x11-libs/libICE + x11-libs/libSM" +RDEPEND="${DEPEND}" diff --git a/app-editors/adie/adie-1.7.49.ebuild b/app-editors/adie/adie-1.7.49.ebuild new file mode 100644 index 000000000000..4b91f8f876cb --- /dev/null +++ b/app-editors/adie/adie-1.7.49.ebuild @@ -0,0 +1,19 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit fox + +DESCRIPTION="Text editor based on the FOX Toolkit" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 ~hppa ppc ~ppc64 ~sparc x86" +IUSE="" + +DEPEND="~x11-libs/fox-${PV} + x11-libs/libICE + x11-libs/libSM" +RDEPEND="${DEPEND}" diff --git a/app-editors/adie/metadata.xml b/app-editors/adie/metadata.xml new file mode 100644 index 000000000000..eefc1bb12791 --- /dev/null +++ b/app-editors/adie/metadata.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>mabi@gentoo.org</email> + </maintainer> +</pkgmetadata> diff --git a/app-editors/aee/Manifest b/app-editors/aee/Manifest new file mode 100644 index 000000000000..ab70d57f9d43 --- /dev/null +++ b/app-editors/aee/Manifest @@ -0,0 +1 @@ +DIST aee-2.2.15b.tar.gz 184218 SHA256 7abbaffe35018f9de87c8685f9bee2ea3f261e88ce60674f1a5a9a3a0f54d752 SHA512 2810cd8f5148edb352fdaefbc823d417b9a83c8083644c8729be8595013ca8ba660bd72120db1e15915e454f5185d2d030c2f0c853b37eb83c213c1d581a640f WHIRLPOOL 3ae452544f8926fda55f3661c9890c39d6ab1dd295acba1a18edf91d010e731d7f356a679e8174f66ce7c8604c148ad1ce61d31c43a67162bdcda400b9de5961 diff --git a/app-editors/aee/aee-2.2.15b.ebuild b/app-editors/aee/aee-2.2.15b.ebuild new file mode 100644 index 000000000000..ca87d753be6f --- /dev/null +++ b/app-editors/aee/aee-2.2.15b.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit eutils toolchain-funcs + +DESCRIPTION="An easy to use text editor" +HOMEPAGE="http://mahon.cwx.net/" +SRC_URI="http://mahon.cwx.net/sources/${P}.tar.gz" + +LICENSE="Artistic" +SLOT="0" +KEYWORDS="amd64 x86 ~amd64-linux" +IUSE="X" + +RDEPEND="X? ( x11-libs/libX11 )" +DEPEND="${RDEPEND}" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-*.diff + + sed -i \ + -e "s/make -/\$(MAKE) -/g" \ + -e "/^buildaee/s/$/ localaee/" \ + -e "/^buildxae/s/$/ localxae/" \ + Makefile || die + + sed -i \ + -e "s/\([\t ]\)cc /\1\\\\\$(CC) /" \ + -e "/CFLAGS =/s/\" >/ \\\\\$(LDFLAGS)\" >/" \ + -e "/other_cflag/s/ \${strip_option}//" \ + create.mk.{aee,xae} || die + + tc-export CC +} + +src_compile() { + local target="aee" + use X && target="both" + + emake ${target} +} + +src_install() { + dobin ${PN} + dosym ${PN} /usr/bin/rae + doman ${PN}.1 + dodoc Changes README.${PN} ${PN}.i18n.guide ${PN}.msg + + insinto /usr/share/${PN} + doins help.ae + + if use X; then + dobin xae + dosym xae /usr/bin/rxae + fi +} diff --git a/app-editors/aee/files/aee-ae-location.diff b/app-editors/aee/files/aee-ae-location.diff new file mode 100644 index 000000000000..9bc6cd5421c0 --- /dev/null +++ b/app-editors/aee/files/aee-ae-location.diff @@ -0,0 +1,89 @@ +--- aee-2.2.15b.orig/aee.1 ++++ aee-2.2.15b/aee.1 +@@ -678,7 +678,7 @@ + .\" + .SS Initializing aee From A File + .PP +-\fIaee\fR checks for a file named \fIinit.ae\fR in \fI/usr/local/lib\fR, ++\fIaee\fR checks for a file named \fIinit.ae\fR in \fI/usr/share/aee\fR, + .I .init.ae + in the user's home directory, then for \fI.init.ae\fR in the + current directory. (This file may be created manually or by using the +@@ -960,7 +960,7 @@ + .PP + On-line help is provided through the 'help' command or menu item. This + command uses a file with help information. By default the help file is +-located in \fB/usr/local/lib/help.ae\fR, but this file may be located ++located in \fB/usr/share/aee/help.ae\fR, but this file may be located + in the user's home directory with the name \fB.help.ae\fR, or in the + current directory with the name \fBhelp.ae\fR. + .\" +@@ -1017,7 +1017,7 @@ + .\" + .SH FILES + .PP +-.I /usr/local/lib/init.ae ++.I /usr/share/aee/init.ae + .br + .I $HOME/.aeeinfo + .br +--- aee-2.2.15b.orig/aee.c ++++ aee-2.2.15b/aee.c +@@ -2612,7 +2612,7 @@ + + char *init_name[4] = { + "/usr/local/aee/init.ae", +- "/usr/local/lib/init.ae", ++ "/usr/share/aee/init.ae", + NULL, + ".init.ae" + }; +--- aee-2.2.15b.orig/aee.msg ++++ aee-2.2.15b/aee.msg +@@ -2,7 +2,7 @@ + $ + $set 1 + $quote " +-1 "/usr/local/lib/help.ae" ++1 "/usr/share/aee/help.ae" + 2 "main" + 3 "modes menu" + 4 "tabs to spaces " +--- aee-2.2.15b.orig/help.ae ++++ aee-2.2.15b/help.ae +@@ -1058,11 +1058,11 @@ + + The file 'init.ae' may be used to set parameters and define keys to + perform certain functions within ae. This file may reside in three +-locations: /usr/local/lib/init.ae, .init.ae in your home directory, and ++locations: /usr/share/aee/init.ae, .init.ae in your home directory, and + .init.ae in the current working directory. + + First, aee checks for a system level initialization file, located in +-/usr/local/lib. Next the user's home directory is checked for a file named ++/usr/share/aee. Next the user's home directory is checked for a file named + .init.ae, then the current directory. The settings from each file are read, + so that the directives from the most recently read file will take precedence + over previously read files. This allows, for example, the .init.ae file in +--- aee-2.2.15b.orig/help.c ++++ aee-2.2.15b/help.c +@@ -12,7 +12,7 @@ + + char *help_file_list[4] = { + "/usr/local/aee/help.ae", +- "/usr/local/lib/help.ae", ++ "/usr/share/aee/help.ae", + "~/.help.ae", + "help.ae" + }; +--- aee-2.2.15b.orig/localize.c ++++ aee-2.2.15b/localize.c +@@ -64,7 +64,7 @@ + catalog = catopen("aee", 0); + #endif /* NO_CATGETS */ + +- ae_help_file = catgetlocal( 1, "/usr/local/lib/help.ae"); ++ ae_help_file = catgetlocal( 1, "/usr/share/aee/help.ae"); + main_buffer_name = catgetlocal( 2, "main"); + + diff --git a/app-editors/aee/metadata.xml b/app-editors/aee/metadata.xml new file mode 100644 index 000000000000..d4a08224d284 --- /dev/null +++ b/app-editors/aee/metadata.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>hattya@gentoo.org</email> + </maintainer> +</pkgmetadata> diff --git a/app-editors/amyedit/Manifest b/app-editors/amyedit/Manifest new file mode 100644 index 000000000000..4314e5aa5e93 --- /dev/null +++ b/app-editors/amyedit/Manifest @@ -0,0 +1 @@ +DIST amyedit-1.0.tar.bz2 297769 SHA256 9aa88340266827bd83715d495b7e1f2c1ca7100ff9f7586877c1b4d3ec67f228 SHA512 dce101c5d356cd194703798002c29772b7b7339a97f683ba7459e983988f26722f800a2c36a0c36bdea70a35c8398bc55b5215b4c30779ca22b5f25bbfedbe09 WHIRLPOOL 1e92efb17c834e37f0400e97910d06470fd363ab8301d3bc11d30d3168ee740dfe87612e17856dc0ffb8e4b47d0761ea2f5225c5a1f40684d78f487c87279724 diff --git a/app-editors/amyedit/amyedit-1.0-r2.ebuild b/app-editors/amyedit/amyedit-1.0-r2.ebuild new file mode 100644 index 000000000000..4e47fcfa4102 --- /dev/null +++ b/app-editors/amyedit/amyedit-1.0-r2.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=3 + +inherit eutils autotools + +DESCRIPTION=" AmyEdit is a LaTeX editor" +HOMEPAGE="http://amyedit.sf.net" +SRC_URI="mirror://sourceforge/amyedit/${P}.tar.bz2" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="" +RDEPEND=">=dev-cpp/gtkmm-2.6:2.4 + >=dev-cpp/glibmm-2.14:2 + >=dev-libs/libsigc++-2.2 + x11-libs/gtksourceview:2.0 + dev-cpp/gtksourceviewmm:2.0 + app-text/aspell" +DEPEND="${RDEPEND} + dev-util/intltool + virtual/pkgconfig" + +src_prepare() { + epatch "${FILESDIR}/${P}-keyfile.patch" + epatch "${FILESDIR}/${P}-signal.patch" + epatch "${FILESDIR}/${P}-gcc45.patch" + epatch "${FILESDIR}/${P}-sourceviewmm2.patch" + rm -rf "${S}/src/gtksourceviewmm" || die + eautoreconf +} + +src_install() { + emake DESTDIR="${D}" install || die + dodoc ChangeLog README TODO || die +} diff --git a/app-editors/amyedit/files/amyedit-1.0-gcc45.patch b/app-editors/amyedit/files/amyedit-1.0-gcc45.patch new file mode 100644 index 000000000000..16db9fd415f5 --- /dev/null +++ b/app-editors/amyedit/files/amyedit-1.0-gcc45.patch @@ -0,0 +1,16 @@ +Fix build with gcc 4.5 +https://bugs.gentoo.org/show_bug.cgi?id=321293 + +Index: amyedit-1.0/src/Preferences.cc +=================================================================== +--- amyedit-1.0.orig/src/Preferences.cc ++++ amyedit-1.0/src/Preferences.cc +@@ -211,7 +211,7 @@ int Preferences::run() + } + + void Preferences::edit_latex_commands(){ +- EditLatexCommands::EditLatexCommands dialog(this); ++ EditLatexCommands dialog(this); + dialog.run(); + Amy::populate_text_list_model_from_list(previewoptionslist->get_model(), PrefStruct::instance()->get_keys("Commands"), true); + previewoptionslist->select(PrefStruct::instance()->get<Glib::ustring>("General", "preview_combo")); diff --git a/app-editors/amyedit/files/amyedit-1.0-keyfile.patch b/app-editors/amyedit/files/amyedit-1.0-keyfile.patch new file mode 100644 index 000000000000..fb9f9ac908fc --- /dev/null +++ b/app-editors/amyedit/files/amyedit-1.0-keyfile.patch @@ -0,0 +1,62 @@ +diff -ur amyedit-1.0/src/main.cc amyedit-1.0.new/src/main.cc +--- amyedit-1.0/src/main.cc 2006-03-14 06:08:32.000000000 +0700 ++++ amyedit-1.0.new/src/main.cc 2008-01-07 20:45:39.000000000 +0700 +@@ -54,7 +54,6 @@ + + #include "AmyEdit.hh" + #include "gtksourceviewmm/init.hh" +-#include "gtkmm_extra/keyfile.h" + #include "Utils.hh" + + int main(int argc, char **argv) +@@ -65,7 +64,6 @@ + + Gtk::Main m(&argc, &argv); + Gtk::SourceViewmm_init(); +- Glib::keyfile_init(); + + /* TODO This should probably be removed and created on demand */ + +Only in amyedit-1.0.new/src: main.o +Only in amyedit-1.0.new/src: Makefile +diff -ur amyedit-1.0/src/Makefile.am amyedit-1.0.new/src/Makefile.am +--- amyedit-1.0/src/Makefile.am 2006-03-08 05:44:53.000000000 +0700 ++++ amyedit-1.0.new/src/Makefile.am 2008-01-07 20:41:46.000000000 +0700 +@@ -30,8 +30,7 @@ + gtksourceviewmm/sourcelanguage.cpp \ + gtksourceviewmm/sourcelanguagesmanager.cpp \ + gtksourceviewmm/sourceview.cpp \ +- gtksourceviewmm/init.cc \ +- gtkmm_extra/keyfile.cc ++ gtksourceviewmm/init.cc + + headers = \ + AboutDialog.hh \ +@@ -54,15 +53,13 @@ + gtksourceviewmm/sourcelanguage.h \ + gtksourceviewmm/sourcelanguagesmanager.h \ + gtksourceviewmm/sourceview.h \ +- gtksourceviewmm/init.hh \ +- gtkmm_extra/keyfile.h ++ gtksourceviewmm/init.hh + + privateheaders= \ + gtksourceviewmm/private/sourcebuffer_p.h \ + gtksourceviewmm/private/sourcelanguage_p.h \ + gtksourceviewmm/private/sourcelanguagesmanager_p.h \ + gtksourceviewmm/private/sourceview_p.h \ +- gtkmm_extra/private/keyfile_p.h \ + Utils_p.hh + + if PRECOMPILE_HEADERS +diff -ur amyedit-1.0/src/PrefStruct.hh amyedit-1.0.new/src/PrefStruct.hh +--- amyedit-1.0/src/PrefStruct.hh 2006-03-09 06:54:41.000000000 +0700 ++++ amyedit-1.0.new/src/PrefStruct.hh 2008-01-07 20:46:32.000000000 +0700 +@@ -24,7 +24,6 @@ + + #include "Preferences.hh" + #include <glibmm/ustring.h> +-#include <gtkmm_extra/keyfile.h> + #include <iostream> + + class PrefStruct diff --git a/app-editors/amyedit/files/amyedit-1.0-signal.patch b/app-editors/amyedit/files/amyedit-1.0-signal.patch new file mode 100644 index 000000000000..d0f4df521cb6 --- /dev/null +++ b/app-editors/amyedit/files/amyedit-1.0-signal.patch @@ -0,0 +1,86 @@ +diff -Naur amyeditbroken/src/AmyEdit.cc amyedit-1.0/src/AmyEdit.cc +--- amyeditbroken/src/AmyEdit.cc 2006-03-13 22:13:08.000000000 +0100 ++++ amyedit-1.0/src/AmyEdit.cc 2008-07-12 05:07:43.965608312 +0200 +@@ -65,9 +65,9 @@ + + /* My Signals */ + // signals when there is a file available +-SigC::Signal1<void,bool> signal_file_open; ++sigc::signal1<void,bool> signal_file_open; + // signals an update to preferences +-SigC::Signal0<void> signal_preferences_update; ++sigc::signal0<void> signal_preferences_update; + /**************/ + + AmyEdit* AmyEdit::smInstance=NULL; +diff -Naur amyeditbroken/src/EditTabs.cc amyedit-1.0/src/EditTabs.cc +--- amyeditbroken/src/EditTabs.cc 2006-03-13 22:25:53.000000000 +0100 ++++ amyedit-1.0/src/EditTabs.cc 2008-07-12 05:08:41.022094749 +0200 +@@ -76,7 +76,7 @@ + set_tab_pos(Gtk::POS_TOP); + set_scrollable(true); + +- extern SigC::Signal0<void> signal_preferences_update; ++ extern sigc::signal0<void> signal_preferences_update; + + signal_switch_page().connect(sigc::mem_fun(*this, &EditTabs::on_switching_page)); + signal_preferences_update.connect(sigc::mem_fun(*this, &EditTabs::on_preferences_update)); +@@ -414,7 +414,7 @@ + + bool EditTabs::CloseTab(int tab) + { +- extern SigC::Signal1<void,bool> signal_file_open; ++ extern sigc::signal1<void,bool> signal_file_open; + + if (tab<0) + tab=get_current_page(); +@@ -686,8 +686,8 @@ + + void EditTabs::on_switching_page(GtkNotebookPage *page, guint number) + { +- extern SigC::Signal1<void, int> signal_line_set; +- extern SigC::Signal1<void, bool> signal_file_open; ++ extern sigc::signal1<void, int> signal_line_set; ++ extern sigc::signal1<void, bool> signal_file_open; + Page *curtab = get_current_tab(); + + if (curtab) +@@ -735,7 +735,7 @@ + + on_preferences_update(); + +- extern SigC::Signal0<void> signal_preferences_update; ++ extern sigc::signal0<void> signal_preferences_update; + get_buffer()->signal_modified_changed().connect(sigc::mem_fun(*this, &EditTabs::Page::on_modified_changed)); + get_buffer()->signal_changed().connect(sigc::mem_fun(*this, &EditTabs::Page::on_changed)); + get_buffer()->signal_mark_set().connect(sigc::mem_fun(*this, &EditTabs::Page::on_mark_changed)); +@@ -815,7 +815,7 @@ + + void EditTabs::Page::on_changed() + { +- extern SigC::Signal1<void, int> signal_line_set; ++ extern sigc::signal1<void, int> signal_line_set; + signal_line_set(get_buffer()->get_insert()->get_iter().get_line()); + + } +@@ -823,7 +823,7 @@ + void EditTabs::Page::on_mark_changed(Gtk::SourceBuffer::iterator iter, Glib::RefPtr<Gtk::SourceBuffer::Mark> mark){ + if (mark->get_name()=="insert") + { +- extern SigC::Signal1<void, int> signal_line_set; ++ extern sigc::signal1<void, int> signal_line_set; + + signal_line_set(get_buffer()->get_insert()->get_iter().get_line()); + +diff -Naur amyeditbroken/src/StatusBar.cc amyedit-1.0/src/StatusBar.cc +--- amyeditbroken/src/StatusBar.cc 2005-12-17 15:56:47.000000000 +0100 ++++ amyedit-1.0/src/StatusBar.cc 2008-07-12 05:09:14.020602906 +0200 +@@ -50,7 +50,7 @@ + #include "StatusBar.hh" + #include "Utils.hh" + +-SigC::Signal1<void, int> signal_line_set; ++sigc::signal1<void, int> signal_line_set; + + StatusBar::StatusBar() + { diff --git a/app-editors/amyedit/files/amyedit-1.0-sourceviewmm2.patch b/app-editors/amyedit/files/amyedit-1.0-sourceviewmm2.patch new file mode 100644 index 000000000000..31b7882b3ba5 --- /dev/null +++ b/app-editors/amyedit/files/amyedit-1.0-sourceviewmm2.patch @@ -0,0 +1,331 @@ +Index: amyedit-1.0/configure.in +=================================================================== +--- amyedit-1.0.orig/configure.in ++++ amyedit-1.0/configure.in +@@ -36,7 +36,7 @@ AC_ARG_ENABLE(precompiled-headers, + AM_CONDITIONAL(PRECOMPILE_HEADERS, test x$enable_precompiled_headers = xyes) + + AC_CHECK_LIB([aspell], [new_aspell_config]) +-PKG_CHECK_MODULES(AMYEDIT, gtkmm-2.4 >= 2.6 gtksourceview-1.0) ++PKG_CHECK_MODULES(AMYEDIT, gtkmm-2.4 >= 2.6 gtksourceview-2.0 gtksourceviewmm-2.0) + AC_SUBST(AMYEDIT_CFLAGS) + AC_SUBST(AMYEDIT_LIBS) + +Index: amyedit-1.0/src/Makefile.am +=================================================================== +--- amyedit-1.0.orig/src/Makefile.am ++++ amyedit-1.0/src/Makefile.am +@@ -25,12 +25,7 @@ sources = \ + TextListViewComboBox.cc \ + TextListViewListBox.cc \ + Utils.cc \ +- main.cc \ +- gtksourceviewmm/sourcebuffer.cpp \ +- gtksourceviewmm/sourcelanguage.cpp \ +- gtksourceviewmm/sourcelanguagesmanager.cpp \ +- gtksourceviewmm/sourceview.cpp \ +- gtksourceviewmm/init.cc ++ main.cc + + headers = \ + AboutDialog.hh \ +@@ -48,18 +43,9 @@ headers = \ + TextListModel.hh \ + TextListViewComboBox.hh \ + TextListViewListBox.hh \ +- Utils.hh \ +- gtksourceviewmm/sourcebuffer.h \ +- gtksourceviewmm/sourcelanguage.h \ +- gtksourceviewmm/sourcelanguagesmanager.h \ +- gtksourceviewmm/sourceview.h \ +- gtksourceviewmm/init.hh ++ Utils.hh + + privateheaders= \ +- gtksourceviewmm/private/sourcebuffer_p.h \ +- gtksourceviewmm/private/sourcelanguage_p.h \ +- gtksourceviewmm/private/sourcelanguagesmanager_p.h \ +- gtksourceviewmm/private/sourceview_p.h \ + Utils_p.hh + + if PRECOMPILE_HEADERS +Index: amyedit-1.0/src/EditTabs.cc +=================================================================== +--- amyedit-1.0.orig/src/EditTabs.cc ++++ amyedit-1.0/src/EditTabs.cc +@@ -57,8 +57,8 @@ Foundation, Inc., 59 Temple Place, Suite + + #include <gtksourceview/gtksourcebuffer.h> + #include <gtksourceviewmm/sourcelanguage.h> +-#include <gtksourceviewmm/sourcelanguagesmanager.h> +-#include <gtksourceview/gtksourcelanguagesmanager.h> ++#include <gtksourceviewmm/sourcelanguagemanager.h> ++#include <gtksourceview/gtksourcelanguagemanager.h> + #include <gtksourceview/gtksourceiter.h> + + #include <gtkmm/stock.h> +@@ -161,7 +161,7 @@ void EditTabs::OpenTab(Glib::ustring fil + { + try + { +- Glib::RefPtr<Gtk::SourceBuffer> buffer = is_buffer_open(filename); ++ Glib::RefPtr<gtksourceview::SourceBuffer> buffer = is_buffer_open(filename); + Page *newpage; + + if (buffer){ +@@ -553,16 +553,15 @@ Glib::ustring EditTabs::GetUntitledTabNa + + void EditTabs::Undo() + { +- Glib::RefPtr<Gtk::SourceBuffer> buffer = get_current_view()->get_buffer(); ++ Glib::RefPtr<gtksourceview::SourceBuffer> buffer = Glib::RefPtr<gtksourceview::SourceBuffer>::cast_static(get_current_view()->get_buffer()); + if (buffer->can_undo ()) + buffer->undo (); + + } + +- + void EditTabs::Redo() + { +- Glib::RefPtr<Gtk::SourceBuffer> buffer = get_current_view()->get_buffer(); ++ Glib::RefPtr<gtksourceview::SourceBuffer> buffer = Glib::RefPtr<gtksourceview::SourceBuffer>::cast_static(get_current_view()->get_buffer()); + if (buffer->can_redo ()) + buffer->redo (); + +@@ -625,10 +624,10 @@ void EditTabs::FindNext() + Page *curtab = get_current_tab(); + if (curtab) + { +- Glib::RefPtr<Gtk::SourceBuffer::Mark> cursor=curtab->get_buffer()->get_insert(); +- Gtk::SourceBuffer::iterator start, end; ++ Glib::RefPtr<gtksourceview::SourceBuffer::Mark> cursor=curtab->get_buffer()->get_insert(); ++ gtksourceview::SourceBuffer::iterator start, end; + GtkTextIter climit; +- Gtk::SourceBuffer::iterator limit(&climit); ++ gtksourceview::SourceBuffer::iterator limit(&climit); + FindDialog fdialog; + int result; + do +@@ -648,7 +647,7 @@ void EditTabs::FindNext() + if(gtk_source_iter_forward_search(cursor->get_iter().gobj(),fdialog.get_text().c_str(),fdialog.get_flags(),start.gobj(),end.gobj(),0)) + { + curtab->get_buffer()->select_range(end, start); +- (static_cast<Gtk::SourceView*>(curtab->get_child()))->scroll_to(end); ++ (static_cast<gtksourceview::SourceView*>(curtab->get_child()))->scroll_to(end); + } + else + { +@@ -701,7 +700,7 @@ void EditTabs::on_switching_page(GtkNote + + } + +-Glib::RefPtr <Gtk::SourceBuffer> EditTabs::is_buffer_open(Glib::ustring filename){ ++Glib::RefPtr <gtksourceview::SourceBuffer> EditTabs::is_buffer_open(Glib::ustring filename){ + int p = get_n_pages(); + + for (int x=0;x<p;x++){ +@@ -711,19 +710,19 @@ Glib::RefPtr <Gtk::SourceBuffer> EditTab + return curtab->get_buffer(); + } + +- return Glib::RefPtr <Gtk::SourceBuffer> (NULL); ++ return Glib::RefPtr <gtksourceview::SourceBuffer> (NULL); + + + } + +-EditTabs::Page::Page(EditTabs *parent, Glib::RefPtr<Gtk::SourceBuffer> buffer){ ++EditTabs::Page::Page(EditTabs *parent, Glib::RefPtr<gtksourceview::SourceBuffer> buffer){ + + /* Note to self! CLEAN THIS UP!!!! */ + + /* Page is actually a ScrollWindow thing */ + set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_ALWAYS); + +- Gtk::SourceView *sourceview=Gtk::manage(new Gtk::SourceView()); ++ gtksourceview::SourceView *sourceview=Gtk::manage(new gtksourceview::SourceView()); + + if (buffer) + sourceview->set_buffer(buffer); +@@ -750,10 +749,10 @@ EditTabs::Page::Page(EditTabs *parent, G + * (ie buffer is null) */ + + if (!buffer){ +- Glib::ustring mime_type("text/x-tex"); ++ Glib::ustring mime_type("latex"); + +- Glib::RefPtr<Gtk::SourceLanguagesManager> lm = buffer->get_languages_manager(); +- Glib::RefPtr<Gtk::SourceLanguage> language = lm->get_language_from_mime_type(mime_type); ++ Glib::RefPtr<gtksourceview::SourceLanguageManager> lm = gtksourceview::SourceLanguageManager::create(); ++ Glib::RefPtr<gtksourceview::SourceLanguage> language = lm->get_language(mime_type); + + + if (language) +@@ -820,7 +819,7 @@ void EditTabs::Page::on_changed() + + } + +-void EditTabs::Page::on_mark_changed(Gtk::SourceBuffer::iterator iter, Glib::RefPtr<Gtk::SourceBuffer::Mark> mark){ ++void EditTabs::Page::on_mark_changed(gtksourceview::SourceBuffer::iterator iter, Glib::RefPtr<gtksourceview::SourceBuffer::Mark> mark){ + if (mark->get_name()=="insert") + { + extern sigc::signal1<void, int> signal_line_set; +@@ -835,14 +834,14 @@ EditTabs *EditTabs::Page::get_parent() + return (static_cast<EditTabs*>(Gtk::Widget::get_parent())); + } + +-Gtk::SourceView* EditTabs::Page::get_child() ++gtksourceview::SourceView* EditTabs::Page::get_child() + { +- return (static_cast<Gtk::SourceView*>(Gtk::Bin::get_child())); ++ return (static_cast<gtksourceview::SourceView*>(Gtk::Bin::get_child())); + } + +-Glib::RefPtr<Gtk::SourceBuffer> EditTabs::Page::get_buffer() ++Glib::RefPtr<gtksourceview::SourceBuffer> EditTabs::Page::get_buffer() + { +- return (get_child()->get_buffer()); ++ return Glib::RefPtr<gtksourceview::SourceBuffer>::cast_static(get_child()->get_buffer()); + } + + EditTabs::Page *EditTabs::get_current_tab() +@@ -850,9 +849,9 @@ EditTabs::Page *EditTabs::get_current_ta + return (static_cast<EditTabs::Page*>(get_nth_page(get_current_page()))); + } + +-Gtk::SourceView *EditTabs::get_current_view() ++gtksourceview::SourceView *EditTabs::get_current_view() + { +- return (static_cast<Gtk::SourceView*>(get_current_tab()->get_child())); ++ return (static_cast<gtksourceview::SourceView*>(get_current_tab()->get_child())); + } + + +@@ -861,8 +860,8 @@ void EditTabs::Page::on_preferences_upda + // For things that need to happen for all pages + PrefStruct *prefs = PrefStruct::instance(); + +- get_child()->set_tabs_width(prefs->get<int>("General", "tab_size")); +- get_buffer()->set_highlight(prefs->get<bool>("General", "syntax_highlighting")); ++ get_child()->set_tab_width(prefs->get<int>("General", "tab_size")); ++ get_buffer()->set_highlight_syntax(prefs->get<bool>("General", "syntax_highlighting")); + + } + +Index: amyedit-1.0/src/EditTabs.hh +=================================================================== +--- amyedit-1.0.orig/src/EditTabs.hh ++++ amyedit-1.0/src/EditTabs.hh +@@ -63,11 +63,11 @@ class EditTabs: public Gtk::Notebook + class Page:public Gtk::ScrolledWindow + { + public: +- Page(EditTabs *parent, Glib::RefPtr<Gtk::SourceBuffer> buffer=Glib::RefPtr<Gtk::SourceBuffer>()); ++ Page(EditTabs *parent, Glib::RefPtr<gtksourceview::SourceBuffer> buffer=Glib::RefPtr<gtksourceview::SourceBuffer>()); + + EditTabs *get_parent(); +- Gtk::SourceView *get_child(); +- Glib::RefPtr<Gtk::SourceBuffer> get_buffer(); ++ gtksourceview::SourceView *get_child(); ++ Glib::RefPtr<gtksourceview::SourceBuffer> get_buffer(); + + Glib::ustring filename; + Gtk::Label *tablabel; +@@ -77,8 +77,8 @@ class EditTabs: public Gtk::Notebook + void on_close_me(); + void on_modified_changed(); + void on_changed(); +- void on_mark_changed(Gtk::SourceBuffer::iterator iter, +- Glib::RefPtr<Gtk::SourceBuffer::Mark> mark); ++ void on_mark_changed(gtksourceview::SourceBuffer::iterator iter, ++ Glib::RefPtr<gtksourceview::SourceBuffer::Mark> mark); + void on_preferences_update(); + + }; +@@ -89,13 +89,13 @@ class EditTabs: public Gtk::Notebook + Glib::ustring GetRootFileName(); + Glib::ustring TabNameFromFile(Glib::ustring start); + Glib::ustring GetUntitledTabName(Glib::ustring start); +- Glib::RefPtr<Gtk::SourceBuffer> is_buffer_open(Glib::ustring filename); ++ Glib::RefPtr<gtksourceview::SourceBuffer> is_buffer_open(Glib::ustring filename); + + void on_switching_page(GtkNotebookPage *page, guint number); + public: + Page *get_current_tab(); + private: +- Gtk::SourceView *get_current_view(); ++ gtksourceview::SourceView *get_current_view(); + + void on_preferences_update(); + +Index: amyedit-1.0/src/SpellDialog.cc +=================================================================== +--- amyedit-1.0.orig/src/SpellDialog.cc ++++ amyedit-1.0/src/SpellDialog.cc +@@ -267,9 +267,9 @@ int SpellDialog::checkDocument(){ + aspell_document_checker_reset(checker); + + view = getCurrentPage()->get_child(); +- buffer = view->get_buffer(); ++ buffer = Glib::RefPtr<gtksourceview::SourceBuffer>::cast_static(view->get_buffer()); + +- buffer->set_check_brackets(false); ++ buffer->set_highlight_matching_brackets(false); + + /* areastart has left gravity, arearight has right gravity, as inserts only + * occur inside them, they should always mark the beginning and ends of the +@@ -315,7 +315,7 @@ int SpellDialog::checkDocument(){ + buffer->delete_mark(areastart); + buffer->delete_mark(areaend); + +- buffer->set_check_brackets(true); ++ buffer->set_highlight_matching_brackets(true); + return 0; + } + +@@ -370,7 +370,7 @@ bool SpellDialog::changeWord(AspellToken + /* Close Clicked */ + + buffer->place_cursor(wordend); +- buffer->set_check_brackets(); ++ buffer->set_highlight_matching_brackets(); + return false; + } + +Index: amyedit-1.0/src/SpellDialog.hh +=================================================================== +--- amyedit-1.0.orig/src/SpellDialog.hh ++++ amyedit-1.0/src/SpellDialog.hh +@@ -49,8 +49,8 @@ class SpellDialog : public Gtk::Dialog, + + void on_preferences_update(); + +- Gtk::SourceView* view; +- Glib::RefPtr<Gtk::SourceBuffer> buffer; ++ gtksourceview::SourceView* view; ++ Glib::RefPtr<gtksourceview::SourceBuffer> buffer; + Gtk::Entry misslabel; + Gtk::Entry replaceentry; + TextListViewListBox listbox; +Index: amyedit-1.0/src/main.cc +=================================================================== +--- amyedit-1.0.orig/src/main.cc ++++ amyedit-1.0/src/main.cc +@@ -53,7 +53,7 @@ + #include <fstream> + + #include "AmyEdit.hh" +-#include "gtksourceviewmm/init.hh" ++#include "gtksourceviewmm/init.h" + #include "Utils.hh" + + int main(int argc, char **argv) +@@ -63,7 +63,7 @@ int main(int argc, char **argv) + textdomain (GETTEXT_PACKAGE); + + Gtk::Main m(&argc, &argv); +- Gtk::SourceViewmm_init(); ++ gtksourceview::init(); + + /* TODO This should probably be removed and created on demand */ + diff --git a/app-editors/amyedit/metadata.xml b/app-editors/amyedit/metadata.xml new file mode 100644 index 000000000000..01c0744c8231 --- /dev/null +++ b/app-editors/amyedit/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>tex</herd> + <upstream> + <remote-id type="sourceforge">amyedit</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/beaver/Manifest b/app-editors/beaver/Manifest new file mode 100644 index 000000000000..a8ef880f8bdc --- /dev/null +++ b/app-editors/beaver/Manifest @@ -0,0 +1 @@ +DIST beaver-0.4.1.tar.bz2 436321 SHA256 844a327a59f2de21e48e55176d45207036837f08935c3341ea963dc62a1531e3 SHA512 3000bed3aa2a67d6c38a68a7782a9d5423bcec0b8420272b0f0dade604c094a7b52058b43222af38d56313f0aa27998028c984f69340bf28eeaa8b8a93548a1e WHIRLPOOL a0ec8b443888380ba4f6923688a0119eef950d5b14d1d91328b3992c962eab1b32546ab65b8047410c114912d34f85b415ed4eed6d636d427453603724fafe80 diff --git a/app-editors/beaver/beaver-0.4.1.ebuild b/app-editors/beaver/beaver-0.4.1.ebuild new file mode 100644 index 000000000000..edcb623a1b9d --- /dev/null +++ b/app-editors/beaver/beaver-0.4.1.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils gnome2-utils + +DESCRIPTION="Beaver is an Early AdVanced EditoR" +HOMEPAGE="http://beaver-editor.sourceforge.net/" +SRC_URI="mirror://sourceforge/beaver-editor/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug doc" + +RDEPEND=">=dev-libs/glib-2.14:2 + >=x11-libs/gtk+-2.10:2" +DEPEND="${RDEPEND} + doc? ( app-doc/doxygen ) + virtual/pkgconfig + dev-util/intltool + sys-devel/gettext" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-0.4.1-desktop-file-validate.patch +} + +src_configure() { + econf \ + $(use_enable doc doxygen-doc) \ + $(use_enable debug) +} + +DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) + +src_install() { + default + prune_libtool_files +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + gnome2_icon_cache_update +} + +pkg_postrm() { + gnome2_icon_cache_update +} diff --git a/app-editors/beaver/files/beaver-0.4.1-desktop-file-validate.patch b/app-editors/beaver/files/beaver-0.4.1-desktop-file-validate.patch new file mode 100644 index 000000000000..b820826e14d6 --- /dev/null +++ b/app-editors/beaver/files/beaver-0.4.1-desktop-file-validate.patch @@ -0,0 +1,14 @@ +--- data/beaver.desktop ++++ data/beaver.desktop +@@ -1,5 +1,4 @@ + [Desktop Entry] +-Encoding=UTF-8 + Name=Beaver + GenericName=Programmer's Text Editor + Comment=Beaver's an Early AdVanced EditoR +@@ -9,4 +8,4 @@ + MimeType=text/plain;application/x-shellscript;text/x-c;text/x-c++;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-makefile;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex; + StartupNotify=false + Type=Application +-Categories=Application;Development;TextEditor;GTK; ++Categories=Development;Utility;TextEditor;GTK; diff --git a/app-editors/beaver/metadata.xml b/app-editors/beaver/metadata.xml new file mode 100644 index 000000000000..756a13c648f5 --- /dev/null +++ b/app-editors/beaver/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>desktop-misc</herd> + <upstream> + <remote-id type="sourceforge">beaver-editor</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/bluefish/Manifest b/app-editors/bluefish/Manifest new file mode 100644 index 000000000000..b3241d5e4f5d --- /dev/null +++ b/app-editors/bluefish/Manifest @@ -0,0 +1,2 @@ +DIST bluefish-2.2.6.tar.bz2 3793018 SHA256 54c2892c317eb2287c9fb0a3e29c3f19bef51d9ab0353bfb158e52a1cdae4216 SHA512 39dee296ec6bbe1a946f9fb1c54e7143363da4bb6ce52aee14c9bef906d2eb82e5e58f78680810357c0bfcb11c21f982756a9199fec2f454c2816005a4d9d83e WHIRLPOOL b0847ea74fdc388e9ddccf1a23e8802379d149b85c5010ff9a64b3e061b0c1999e1f1a5872404b8bad2b0024fcdb09db964dae2177092d770f56aca50628d146 +DIST bluefish-2.2.7.tar.bz2 3836580 SHA256 23534b73b929754e15b86d12904ca3ffc1b069da5dcd4f34a67e842fe9e858df SHA512 8b9eca746062d47d646805b02370eb9529d449d6a6a9f175353022d9df9060a9736430b6579cdd52717caab75661204e4c940c4a78fb8f6e29845e84a65395ce WHIRLPOOL 748c965da307807df6a7ebd2f430b5148bd6b8644f722d1ba5bfe70853a884eae951c35cc0c9f4a82e56b47b098fa7bd364623cc773920b08f1197852c720ee8 diff --git a/app-editors/bluefish/bluefish-2.2.6.ebuild b/app-editors/bluefish/bluefish-2.2.6.ebuild new file mode 100644 index 000000000000..901747e957ff --- /dev/null +++ b/app-editors/bluefish/bluefish-2.2.6.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils fdo-mime python-single-r1 + +MY_P=${P/_/-} + +DESCRIPTION="A GTK HTML editor for the experienced web designer or programmer" +SRC_URI="http://www.bennewitz.com/bluefish/stable/source/${MY_P}.tar.bz2" +HOMEPAGE="http://bluefish.openoffice.nl/" + +LICENSE="GPL-2" +KEYWORDS="~alpha amd64 ~ia64 ~ppc ~ppc64 ~sparc x86" +SLOT="0" +IUSE="nls python spell" + +RDEPEND=" + x11-libs/gtk+:3 + gnome-extra/gucharmap:2.90 + sys-libs/zlib + python? ( ${PYTHON_DEPS} ) + spell? ( app-text/enchant )" +DEPEND="${RDEPEND} + >=dev-libs/glib-2.16:2 + dev-libs/libxml2:2 + virtual/pkgconfig + x11-libs/pango + nls? ( + sys-devel/gettext + dev-util/intltool + )" + +S=${WORKDIR}/${MY_P} + +# there actually is just some broken manpage checkup -> not bother +RESTRICT="test" + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +# Never eautoreconf this package as gettext breaks completely (no translations +# even if it compiles afterwards)! + +src_configure() { + econf \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + --disable-dependency-tracking \ + --disable-update-databases \ + --disable-xml-catalog-update \ + $(use_enable nls) \ + $(use_enable spell spell-check) \ + $(use_enable python) +} + +src_install() { + default + find "${ED}" -name '*.la' -exec rm -f {} + +} + +pkg_postinst() { + fdo-mime_desktop_database_update + fdo-mime_mime_database_update + + einfo "Adding XML catalog entries..." + /usr/bin/xmlcatalog --noout \ + --add 'public' 'Bluefish/DTD/Bflang' 'bflang.dtd' \ + --add 'system' 'http://bluefish.openoffice.nl/DTD/bflang.dtd' 'bflang.dtd' \ + --add 'rewriteURI' 'http://bluefish.openoffice.nl/DTD' '/usr/share/xml/bluefish-unstable' \ + /etc/xml/catalog \ + || ewarn "Failed to add XML catalog entries." +} + +pkg_postrm() { + fdo-mime_desktop_database_update + fdo-mime_mime_database_update + einfo "Removing XML catalog entries..." + /usr/bin/xmlcatalog --noout \ + --del 'Bluefish/DTD/Bflang' \ + --del 'http://bluefish.openoffice.nl/DTD/bflang.dtd' \ + --del 'http://bluefish.openoffice.nl/DTD' \ + /etc/xml/catalog \ + || ewarn "Failed to remove XML catalog entries." +} diff --git a/app-editors/bluefish/bluefish-2.2.7.ebuild b/app-editors/bluefish/bluefish-2.2.7.ebuild new file mode 100644 index 000000000000..6cd600e6e195 --- /dev/null +++ b/app-editors/bluefish/bluefish-2.2.7.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils fdo-mime python-single-r1 + +MY_P=${P/_/-} + +DESCRIPTION="A GTK HTML editor for the experienced web designer or programmer" +SRC_URI="http://www.bennewitz.com/bluefish/stable/source/${MY_P}.tar.bz2" +HOMEPAGE="http://bluefish.openoffice.nl/" + +LICENSE="GPL-2" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" +SLOT="0" +IUSE="gucharmap nls python spell" + +RDEPEND=" + x11-libs/gtk+:3 + sys-libs/zlib + gucharmap? ( gnome-extra/gucharmap:* ) + python? ( ${PYTHON_DEPS} ) + spell? ( app-text/enchant )" +DEPEND="${RDEPEND} + >=dev-libs/glib-2.16:2 + dev-libs/libxml2:2 + virtual/pkgconfig + x11-libs/pango + nls? ( + sys-devel/gettext + dev-util/intltool + )" + +S=${WORKDIR}/${MY_P} + +# there actually is just some broken manpage checkup -> not bother +RESTRICT="test" + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +# Never eautoreconf this package as gettext breaks completely (no translations +# even if it compiles afterwards)! + +src_prepare() { + sed -i 's:gzip -n $< -c:gzip -n -c $<:' data/bflib/Makefile.* || die "Cannot fix makefile" +} + +src_configure() { + econf \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + --disable-dependency-tracking \ + --disable-update-databases \ + --disable-xml-catalog-update \ + $(use_enable nls) \ + $(use_enable spell spell-check) \ + $(use_enable python) +} + +src_install() { + default + find "${ED}" -name '*.la' -exec rm -f {} + +} + +pkg_postinst() { + fdo-mime_desktop_database_update + fdo-mime_mime_database_update + + einfo "Adding XML catalog entries..." + /usr/bin/xmlcatalog --noout \ + --add 'public' 'Bluefish/DTD/Bflang' 'bflang.dtd' \ + --add 'system' 'http://bluefish.openoffice.nl/DTD/bflang.dtd' 'bflang.dtd' \ + --add 'rewriteURI' 'http://bluefish.openoffice.nl/DTD' '/usr/share/xml/bluefish-unstable' \ + /etc/xml/catalog \ + || ewarn "Failed to add XML catalog entries." +} + +pkg_postrm() { + fdo-mime_desktop_database_update + fdo-mime_mime_database_update + einfo "Removing XML catalog entries..." + /usr/bin/xmlcatalog --noout \ + --del 'Bluefish/DTD/Bflang' \ + --del 'http://bluefish.openoffice.nl/DTD/bflang.dtd' \ + --del 'http://bluefish.openoffice.nl/DTD' \ + /etc/xml/catalog \ + || ewarn "Failed to remove XML catalog entries." +} diff --git a/app-editors/bluefish/metadata.xml b/app-editors/bluefish/metadata.xml new file mode 100644 index 000000000000..80fb9b49f00e --- /dev/null +++ b/app-editors/bluefish/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>proxy-maintainers</herd> + <maintainer> + <email>sdnick484@gmail.com</email> + <name>Nick Andrade</name> + <description>Active Maintainer, Assign bugs</description> + </maintainer> +<use> + <flag name="gucharmap">Enable gucharmap dictionary plugin</flag> +</use> +</pkgmetadata> diff --git a/app-editors/bvi/Manifest b/app-editors/bvi/Manifest new file mode 100644 index 000000000000..e5647b2a594b --- /dev/null +++ b/app-editors/bvi/Manifest @@ -0,0 +1,2 @@ +DIST bvi-1.3.2.src.tar.gz 170444 SHA256 ff390af1c474bf870b6171332726b93bad8e716ea378827b55d8aae82dee1c84 SHA512 eb8a01602751b61c471207124c90346375ccf34ba85e661143f6da8f113f48070d132e98213484bd16d0b6b4c8d0fa27776d36f18cac21336076ca35bcfcb58c WHIRLPOOL 5dfa13a5fefe5f6df95e0d0c37961b7998c1eb37296b31771c27c5a71346891d8b2f9dff8ae9b737cfb7df585076ec1efbadac7b492bda706a1d36fbb3d3d6f8 +DIST bvi-1.4.0alpha.src.tar.gz 128821 SHA256 7bd433a9a1e46d79aeabe189899f2c8ff38b321aeeb355c628929c1c9b20779d SHA512 75cf0ff27809e2c4213da72b022e012003d6ef272d734d0c18f03d5cb49bc891b4d3d40a9e6bfff226906062fcd3e319a7503d09409fa2023f5ba1d434e66217 WHIRLPOOL 00ce8428ea4a6a3f268f774d62f1d745bfc39f7eb53171c4778f16b75130502f504f234d754a8b8c8170755c7f69bb9e8704e7a3e66e5a21a1d9a5ec70571b7b diff --git a/app-editors/bvi/bvi-1.3.2-r2.ebuild b/app-editors/bvi/bvi-1.3.2-r2.ebuild new file mode 100644 index 000000000000..c72207b9897d --- /dev/null +++ b/app-editors/bvi/bvi-1.3.2-r2.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +AUTOTOOLS_AUTORECONF="1" +AUTOTOOLS_IN_SOURCE_BUILD="1" + +inherit multilib eutils autotools-utils + +DESCRIPTION="display-oriented editor for binary files, based on the vi texteditor" +HOMEPAGE="http://bvi.sourceforge.net/" +SRC_URI="mirror://sourceforge/bvi/${P}.src.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +IUSE="" +KEYWORDS="amd64 ppc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris" + +DEPEND="sys-libs/ncurses" +RDEPEND="${DEPEND}" + +src_prepare() { + local PATCHES=( + "${FILESDIR}/${P}-fix-buffer-overflow.patch" + "${FILESDIR}/${P}-tinfo.patch" + ) + sed -i -e 's:ncurses/term.h:term.h:g' bmore.h || die "sed failed in bmore.h" + sed -i -e 's:(INSTALL_PROGRAM) -s:(INSTALL_PROGRAM):g' \ + Makefile.in || die "sed failed in Makefile.in" + + autotools-utils_src_prepare +} + +src_configure() { + local myeconfargs=(--with-ncurses="${EPREFIX}"/usr) + autotools-utils_src_configure + +} + +src_install() { + autotools-utils_src_install + rm -rf "${ED}"/usr/$(get_libdir)/bmore.help + dodoc README CHANGES CREDITS bmore.help + dohtml -r html/* +} diff --git a/app-editors/bvi/bvi-1.4.0_alpha.ebuild b/app-editors/bvi/bvi-1.4.0_alpha.ebuild new file mode 100644 index 000000000000..cb6dcd4910c5 --- /dev/null +++ b/app-editors/bvi/bvi-1.4.0_alpha.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit multilib eutils versionator + +MY_P=$(replace_version_separator 4 '' ${P}) + +DESCRIPTION="display-oriented editor for binary files, based on the vi texteditor" +HOMEPAGE="http://bvi.sourceforge.net/" +SRC_URI="mirror://sourceforge/bvi/$(replace_version_separator 4 '' ${P}).src.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +IUSE="" +KEYWORDS="~amd64 ~ppc ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris" + +DEPEND="sys-libs/ncurses" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/$MY_P" + +src_prepare() { + sed -i -e 's:(INSTALL_PROGRAM) -s:(INSTALL_PROGRAM):g' \ + Makefile.in || die "sed failed in Makefile.in" + + epatch_user +} + +src_configure() { + econf --with-ncurses="${EPREFIX}"/usr + + sed -i -e 's:ncurses/term.h:term.h:g' bmore.h || die "sed failed in bmore.h" +} + +src_install() { + emake DESTDIR="${D}" install || die "make install failed" + rm -rf "${D}"/usr/$(get_libdir)/bmore.help + dodoc README CHANGES CREDITS bmore.help +} diff --git a/app-editors/bvi/files/bvi-1.3.2-fix-buffer-overflow.patch b/app-editors/bvi/files/bvi-1.3.2-fix-buffer-overflow.patch new file mode 100644 index 000000000000..e3ebaa3d1295 --- /dev/null +++ b/app-editors/bvi/files/bvi-1.3.2-fix-buffer-overflow.patch @@ -0,0 +1,22 @@ +diff --git a/edit.c b/edit.c +index 328a0cd..3cf6572 100644 +--- a/edit.c ++++ b/edit.c +@@ -42,7 +42,7 @@ char contru[][4] = {"NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "BEL", + "CAN", " EM", "SUB", "ESC", " FS", " GS", " RS", " US", + "DEL" }; + char tmpbuf[10]; +-char linbuf[256]; ++char linbuf[16384]; + + static char getcbuff[BUFFER]; + static char *getcnext = NULL; +@@ -492,7 +492,7 @@ printline(mempos, scpos) + *(string + print_pos) = '.'; + } + *(string + Anzahl) = '\0'; +- strcat(linbuf, string); ++ strncat(linbuf, string, sizeof(linbuf) - strlen(linbuf) - 1); + mvaddstr(scpos, 0, linbuf); + } + diff --git a/app-editors/bvi/files/bvi-1.3.2-tinfo.patch b/app-editors/bvi/files/bvi-1.3.2-tinfo.patch new file mode 100644 index 000000000000..b00c88811507 --- /dev/null +++ b/app-editors/bvi/files/bvi-1.3.2-tinfo.patch @@ -0,0 +1,35 @@ +diff --git a/configure.in b/configure.in +index 68076d8..81da696 100644 +--- a/configure.in ++++ b/configure.in +@@ -58,17 +58,19 @@ AC_ARG_WITH(ncurses, + fi + ]) + +-AC_CHECK_HEADER(ncurses.h, +- AC_CHECK_LIB(ncurses, initscr, +- AC_DEFINE(HAVE_NCURSES_H) LIBS="${LIBS} -lncurses", +- AC_CHECK_LIB(curses, initscr, +- AC_DEFINE(HAVE_CURSES_H) LIBS="${LIBS} -lcurses", +- AC_MSG_ERROR([bvi requires the curses library]))), +- AC_CHECK_HEADER(curses.h, +- AC_CHECK_LIB(curses, initscr, +- AC_DEFINE(HAVE_CURSES_H) LIBS="${LIBS} -lcurses", +- AC_MSG_ERROR([bvi requires the curses library])), +- AC_MSG_ERROR([bvi requires the curses library]))) ++AC_CHECK_HEADER([ncurses.h],[ ++ AC_SEARCH_LIBS([initscr], [ncurses],[ ++ AC_DEFINE(HAVE_NCURSES_H) ++ AC_SEARCH_LIBS([tputs], [tinfo])], [ ++ AC_SEARCH_LIBS([initscr], [curses],[ ++ AC_DEFINE(HAVE_CURSES_H) ++ AC_SEARCH_LIBS([tputs], [tinfo])],[ ++ AC_MSG_ERROR([bvi requires the curses library])])])],[ ++ AC_CHECK_HEADER([curses.h],[ ++ AC_SEARCH_LIBS([initscr], [curses], [ ++ AC_DEFINE(HAVE_CURSES_H)],[ ++ AC_MSG_ERROR([bvi requires the curses library])])],[ ++ AC_MSG_ERROR([bvi requires the curses library])])]) + + dnl Checks for typedefs, structures, and compiler characteristics. + dnl AC_TYPE_SIZE_T diff --git a/app-editors/bvi/metadata.xml b/app-editors/bvi/metadata.xml new file mode 100644 index 000000000000..1a525d16aaba --- /dev/null +++ b/app-editors/bvi/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>ryao@gentoo.org</email> + <name>Richard Yao</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">bvi</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/cooledit/Manifest b/app-editors/cooledit/Manifest new file mode 100644 index 000000000000..6405a28348f3 --- /dev/null +++ b/app-editors/cooledit/Manifest @@ -0,0 +1,2 @@ +DIST cooledit-3.17.17-nopython.tar.gz 15835 SHA256 09e140b8b66893fb814db7200d072ee40d5c84989900d94607688c6ab1e78e0d SHA512 acf5c8b6a06a32b9433d4b68c1d9def5c0cc7f479a1dc35e8de1541d9e762c57f36ff48376d633ae7c8cd749d0042889a9febdb825195faa54e3d0a690a4e129 WHIRLPOOL 4fcfeb76c5a2780958837d974b64d2ddda366f03c2f30ab284f95cdadaab3bf2e775d2e6fda467d0394925c282c0625116455fbbc89ae4dc36697d0cb6ea2025 +DIST cooledit-3.17.17.tar.gz 1674273 SHA256 3c0d95d409796e3d92405e8ec317acb040713b432cc9ff9742f8657c092be489 SHA512 1d82ee1ab1e3bfe6477365aaa35084f7504a1503a0c97df997d937c90097c783d4cb90f023499a15f78d278df631310f59a3bd0f7a66620f147e23d7273294e9 WHIRLPOOL 6087cc5770e28f5787abd5e2d14db37ec30e1b9d5e2073e45b84a0db8d9d6fc0e84ea2cc5b2fc9e7fe1721915d4a81dcfcafcdcbd2dba9d235ea828768cf1c94 diff --git a/app-editors/cooledit/cooledit-3.17.17-r1.ebuild b/app-editors/cooledit/cooledit-3.17.17-r1.ebuild new file mode 100644 index 000000000000..cd3dc6fbf9d0 --- /dev/null +++ b/app-editors/cooledit/cooledit-3.17.17-r1.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit autotools eutils + +DESCRIPTION="Cooledit is a full featured multiple window text editor" +HOMEPAGE="http://freshmeat.net/projects/cooledit/" +SRC_URI="ftp://ftp.ibiblio.org/pub/Linux/apps/editors/X/cooledit/${P}.tar.gz + http://dev.gentoo.org/~hwoarang/distfiles/${P}-nopython.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ppc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" +IUSE="nls" + +RDEPEND="x11-libs/libX11 + x11-libs/libXdmcp + x11-libs/libXau" +DEPEND="${RDEPEND} + x11-libs/libXpm" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}-gcc4.patch \ + "${FILESDIR}"/${P}-asneeded.patch \ + "${FILESDIR}"/${P}-implicit_declarations.patch \ + "${FILESDIR}"/${P}-interix.patch \ + "${FILESDIR}"/${P}-interix5.patch \ + "${FILESDIR}"/${P}-copy.patch \ + "${WORKDIR}"/${P}-nopython.patch + sed -i -e "/Python.h/d" "${S}"/editor/_coolpython.c || die + eautoreconf +} + +src_compile() { + [[ ${CHOST} == *-interix* ]] && export ac_cv_header_wchar_h=no + + # Fix for bug 40152 (04 Feb 2004 agriffis) + addwrite /dev/ptym/clone:/dev/ptmx + econf $(use_enable nls) + emake || die "emake failed." +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed." +} diff --git a/app-editors/cooledit/files/cooledit-3.17.17-asneeded.patch b/app-editors/cooledit/files/cooledit-3.17.17-asneeded.patch new file mode 100644 index 000000000000..4cd6331fcd49 --- /dev/null +++ b/app-editors/cooledit/files/cooledit-3.17.17-asneeded.patch @@ -0,0 +1,11 @@ +diff -ur cooledit-3.17.17.orig/widget/Makefile.am cooledit-3.17.17/widget/Makefile.am +--- cooledit-3.17.17.orig/widget/Makefile.am 2005-04-04 23:47:45.000000000 +0300 ++++ cooledit-3.17.17/widget/Makefile.am 2008-12-07 14:47:18.000000000 +0200 +@@ -20,6 +20,7 @@ + look-cool.c look-gtk.c look-next.c + + libCw_la_LDFLAGS = -version-info 1:0:0 ++libCw_la_LIBADD = @X_LIBS@ -lX11 @X_EXTRA_LIBS@ @LIBINTL@ + + DEFS = @X_CFLAGS@ -DLOCALEDIR=\"$(localedir)\" -DLIBDIR=\"${exec_prefix}/share/cooledit\" @DEFS@ + diff --git a/app-editors/cooledit/files/cooledit-3.17.17-copy.patch b/app-editors/cooledit/files/cooledit-3.17.17-copy.patch new file mode 100644 index 000000000000..862b4ec8374c --- /dev/null +++ b/app-editors/cooledit/files/cooledit-3.17.17-copy.patch @@ -0,0 +1,20 @@ +diff -crB cooledit-3.17.17/widget/editcmd.c cooledit-new/widget/editcmd.c +*** cooledit-3.17.17/widget/editcmd.c 2005-04-04 16:47:45.000000000 -0400 +--- cooledit-new/widget/editcmd.c 2009-04-25 21:56:14.000000000 -0400 +*************** +*** 214,220 **** + if (file < 0 && (flags & O_CREAT)) /* must it be created ? */ + return creat ((char *) pathname, mode); + close (file); +! return open ((char *) pathname, flags); + } + + /* "Oleg Yu. Repin" <repin@ssd.sscc.ru> added backup filenames +--- 214,220 ---- + if (file < 0 && (flags & O_CREAT)) /* must it be created ? */ + return creat ((char *) pathname, mode); + close (file); +! return open ((char *) pathname, flags, mode); + } + + /* "Oleg Yu. Repin" <repin@ssd.sscc.ru> added backup filenames diff --git a/app-editors/cooledit/files/cooledit-3.17.17-gcc4.patch b/app-editors/cooledit/files/cooledit-3.17.17-gcc4.patch new file mode 100644 index 000000000000..9ce026146f6a --- /dev/null +++ b/app-editors/cooledit/files/cooledit-3.17.17-gcc4.patch @@ -0,0 +1,10 @@ +--- cooledit-3.17.17/widget/coollocal.h.agriffis 2005-04-04 16:47:45.000000000 -0400 ++++ cooledit-3.17.17/widget/coollocal.h 2006-03-12 15:38:40.000000000 -0500 +@@ -49,7 +49,6 @@ + int eh_picture (struct cool_widget *w, XEvent * xevent, CEvent * cwevent); + void drawstring_xy (Window win, int x, int y, const char *text); + void drawstring_xy_hotkey (Window win, int x, int y, const char *text, int hotkey); +-int run_callbacks (CWidget * w, XEvent * xevent, CEvent * cwevent); + void process_external_focus (Window win, int type); + void focus_window (Window win); + void link_scrollbar_to_textbox (CWidget * w, CWidget * textbox, XEvent * xevent, CEvent * cwevent, int whichscrbutton); diff --git a/app-editors/cooledit/files/cooledit-3.17.17-implicit_declarations.patch b/app-editors/cooledit/files/cooledit-3.17.17-implicit_declarations.patch new file mode 100644 index 000000000000..322c36fde936 --- /dev/null +++ b/app-editors/cooledit/files/cooledit-3.17.17-implicit_declarations.patch @@ -0,0 +1,34 @@ +diff -ur cooledit-3.17.17.orig/editor/postscript.c cooledit-3.17.17/editor/postscript.c +--- cooledit-3.17.17.orig/editor/postscript.c 2005-04-04 23:47:45.000000000 +0300 ++++ cooledit-3.17.17/editor/postscript.c 2008-12-07 14:55:25.000000000 +0200 +@@ -1,5 +1,7 @@ + #include <config.h> ++#include <stdlib.h> + #include <stdio.h> ++#include <string.h> + #ifdef HAVE_SYS_STAT_H + #include <sys/stat.h> + #endif +diff -ur cooledit-3.17.17.orig/widget/aafont.c cooledit-3.17.17/widget/aafont.c +--- cooledit-3.17.17.orig/widget/aafont.c 2005-04-04 23:47:45.000000000 +0300 ++++ cooledit-3.17.17/widget/aafont.c 2008-12-07 14:54:23.000000000 +0200 +@@ -20,6 +20,7 @@ + #include <config.h> + #include <stdlib.h> + #include <stdio.h> ++#include <string.h> + #include <X11/Xlib.h> + #include <X11/Xutil.h> + #include "aafont.h" +diff -ur cooledit-3.17.17.orig/widget/mad.c cooledit-3.17.17/widget/mad.c +--- cooledit-3.17.17.orig/widget/mad.c 2005-04-04 23:47:45.000000000 +0300 ++++ cooledit-3.17.17/widget/mad.c 2008-12-07 14:54:30.000000000 +0200 +@@ -22,6 +22,8 @@ + /* Generation MAD. It is based on the debauch package. */ + /********************************************************************/ + ++#include <stdlib.h> ++#include <string.h> + #include "mad.h" + + #undef malloc diff --git a/app-editors/cooledit/files/cooledit-3.17.17-interix.patch b/app-editors/cooledit/files/cooledit-3.17.17-interix.patch new file mode 100644 index 000000000000..f6599ae8557c --- /dev/null +++ b/app-editors/cooledit/files/cooledit-3.17.17-interix.patch @@ -0,0 +1,31 @@ +diff -ru -x '*.Po' -x '*.Plo' cooledit-3.17.17.orig/editor/_coolpython.c cooledit-3.17.17/editor/_coolpython.c +--- cooledit-3.17.17.orig/editor/_coolpython.c 2008-04-03 10:59:33 +0200 ++++ cooledit-3.17.17/editor/_coolpython.c 2008-04-03 11:02:45 +0200 +@@ -1,4 +1,15 @@ + ++// on interix, need this before config.h to avoid clashes ++// with wchar.h, which cooledit believes is not there, and therefore ++// defines mbstate_t. Python.h includes it, and thus wchar.h messes up. ++#ifdef __cplusplus ++extern "C" { ++#endif ++#include "Python.h" ++#ifdef __cplusplus ++} ++#endif ++ + #include <config.h> + + #ifdef HAVE_PYTHON +diff -ru -x '*.Po' -x '*.Plo' cooledit-3.17.17.orig/rxvt/_rxvtlib.h cooledit-3.17.17/rxvt/_rxvtlib.h +--- cooledit-3.17.17.orig/rxvt/_rxvtlib.h 2008-04-03 11:10:02 +0200 ++++ cooledit-3.17.17/rxvt/_rxvtlib.h 2008-04-03 09:00:13 +0200 +@@ -170,7 +170,7 @@ + #include <netinet/in.h> + #include <arpa/inet.h> + #include <net/if.h> +-#if !defined(__NetBSD__) && !defined(__OpenBSD__) ++#if !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__INTERIX) + #include <net/if_arp.h> + #endif + #include "X11/keysymdef.h" diff --git a/app-editors/cooledit/files/cooledit-3.17.17-interix5.patch b/app-editors/cooledit/files/cooledit-3.17.17-interix5.patch new file mode 100644 index 000000000000..46048c334c98 --- /dev/null +++ b/app-editors/cooledit/files/cooledit-3.17.17-interix5.patch @@ -0,0 +1,13 @@ +diff -ru -x '*.Po' -x '*.Plo' cooledit-3.17.17.orig/rxvt/_rxvtlib.h cooledit-3.17.17/rxvt/_rxvtlib.h +--- cooledit-3.17.17.orig/rxvt/_rxvtlib.h 2008-04-17 12:09:05 +0200 ++++ cooledit-3.17.17/rxvt/_rxvtlib.h 2008-04-17 12:09:31 +0200 +@@ -169,7 +169,9 @@ + #endif + #include <netinet/in.h> + #include <arpa/inet.h> ++#ifndef __INTERIX + #include <net/if.h> ++#endif + #if !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__INTERIX) + #include <net/if_arp.h> + #endif diff --git a/app-editors/cooledit/metadata.xml b/app-editors/cooledit/metadata.xml new file mode 100644 index 000000000000..492f7b635217 --- /dev/null +++ b/app-editors/cooledit/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>maintainer-needed@gentoo.org</email> + </maintainer> + <upstream> + <remote-id type="freshmeat">cooledit</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/curses-hexedit/Manifest b/app-editors/curses-hexedit/Manifest new file mode 100644 index 000000000000..629039d6b292 --- /dev/null +++ b/app-editors/curses-hexedit/Manifest @@ -0,0 +1 @@ +DIST hexedit-0.9.7.tar.gz 165110 SHA256 3d15ab33dae9014180cc3d54636aaab4d9c88257f7a2d1cfda490d1bfa6e043a SHA512 b11b28538900f6e66a9efcca14cd8c2a312c29cea98c6ea5018cd3423e12876a9a4d0bf6dc4f94e7cb02e8bc8d3a406e6bccca7fa7dcbab2e4b717ee2fd826da WHIRLPOOL 24c22d7dc8906610f868c511d524e84dcc64d8900ea845e62d7eb3b26e07966cff6d5008c39f060eab87cfd6ece2f526aad4c375e2eebd25c109d8aafb244b25 diff --git a/app-editors/curses-hexedit/curses-hexedit-0.9.7.ebuild b/app-editors/curses-hexedit/curses-hexedit-0.9.7.ebuild new file mode 100644 index 000000000000..4ba0ace025b7 --- /dev/null +++ b/app-editors/curses-hexedit/curses-hexedit-0.9.7.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# There's already a "hexedit" package in the tree, so name this one differently + +EAPI="4" + +MY_P=${P/curses-} +DESCRIPTION="full screen curses hex editor (with insert/delete support)" +HOMEPAGE="http://www.rogoyski.com/adam/programs/hexedit/" +SRC_URI="http://www.rogoyski.com/adam/programs/hexedit/${MY_P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +RDEPEND="sys-libs/ncurses" +DEPEND="${RDEPEND}" + +S=${WORKDIR}/${MY_P} + +src_configure() { + econf --program-prefix=curses- +} diff --git a/app-editors/curses-hexedit/metadata.xml b/app-editors/curses-hexedit/metadata.xml new file mode 100644 index 000000000000..7123fa8f9ece --- /dev/null +++ b/app-editors/curses-hexedit/metadata.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer> + <email>vapier@gentoo.org</email> +</maintainer> +</pkgmetadata> diff --git a/app-editors/dav/Manifest b/app-editors/dav/Manifest new file mode 100644 index 000000000000..fe7b0391204e --- /dev/null +++ b/app-editors/dav/Manifest @@ -0,0 +1 @@ +DIST dav-0.8.5.tar.gz 22824 SHA256 af3835c31f7fb28815bc9b5fcc76e229d0e389d13b178858d120664af486a9ba SHA512 cdedff875df392e8525399b40d45cdf4e984b1b014f03d9f5cd5be270eebe0003fcf48e9738f6ac2789138973970bb9fe6d0b8babd20c1df61e193f84ee066b3 WHIRLPOOL 049684e2846f9bbbd8b0cab97689f69adfff2067485be59789913272d884c5b07ad47320f2b9dbf1285af01a12cfd2f7f9eca8ac0a7528ba10271b64a767c94c diff --git a/app-editors/dav/dav-0.8.5-r1.ebuild b/app-editors/dav/dav-0.8.5-r1.ebuild new file mode 100644 index 000000000000..7e235f15aa47 --- /dev/null +++ b/app-editors/dav/dav-0.8.5-r1.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils toolchain-funcs + +DESCRIPTION="A minimal console text editor" +HOMEPAGE="http://dav-text.sourceforge.net/" + +# The maintainer does not keep sourceforge's mirrors up-to-date, +# so we point to the website's store of files. +SRC_URI="http://dav-text.sourceforge.net/files/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos" + +RDEPEND="sys-libs/ncurses" +DEPEND=" + ${RDEPEND} + virtual/pkgconfig +" + +src_prepare() { + epatch \ + "${FILESDIR}"/${P}-asneeded.patch \ + "${FILESDIR}"/${P}-davrc-buffer-overflow.patch +} + +# Makefile only +src_configure() { :; } + +src_compile() { + emake \ + CC="$(tc-getCC)" \ + CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS} $( $(tc-getPKG_CONFIG) --libs ncurses)" +} + +DOCS=( README ) diff --git a/app-editors/dav/files/dav-0.8.5-asneeded.patch b/app-editors/dav/files/dav-0.8.5-asneeded.patch new file mode 100644 index 000000000000..75a43c67f43d --- /dev/null +++ b/app-editors/dav/files/dav-0.8.5-asneeded.patch @@ -0,0 +1,12 @@ +diff -u -r a/Makefile b/Makefile +--- a/Makefile 2004-02-22 02:04:07.000000000 +0100 ++++ b/Makefile 2008-12-30 19:31:19.000000000 +0100 +@@ -12,7 +12,7 @@ + LDFLAGS=-lncurses -O3 -Wall + + dav: $(OBJECTS) +- $(CC) $(LDFLAGS) $(OBJECTS) -o dav ++ $(CC) $(OBJECTS) $(LDFLAGS) -o dav + + install: + mkdir -p $(DESTDIR)/usr/bin diff --git a/app-editors/dav/files/dav-0.8.5-davrc-buffer-overflow.patch b/app-editors/dav/files/dav-0.8.5-davrc-buffer-overflow.patch new file mode 100644 index 000000000000..a32e78ebc818 --- /dev/null +++ b/app-editors/dav/files/dav-0.8.5-davrc-buffer-overflow.patch @@ -0,0 +1,11 @@ +--- dav-0.8.5.orig/main.c 2011-01-29 14:16:53.537725568 -0500 ++++ dav-0.8.5/main.c 2011-01-29 14:20:45.139125094 -0500 +@@ -327,7 +327,7 @@ + void loadSettings() + { + int l; +- char s[80]; ++ char s[200]; + char home[80]; + char *r; + char *c; diff --git a/app-editors/dav/metadata.xml b/app-editors/dav/metadata.xml new file mode 100644 index 000000000000..f9d50da18d39 --- /dev/null +++ b/app-editors/dav/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>maintainer-needed@gentoo.org</email> + <description>This package lacks a primary herd or maintainer.</description> + </maintainer> +</pkgmetadata> diff --git a/app-editors/dhex/Manifest b/app-editors/dhex/Manifest new file mode 100644 index 000000000000..4cf22dae20e3 --- /dev/null +++ b/app-editors/dhex/Manifest @@ -0,0 +1 @@ +DIST dhex_0.68.tar.gz 58602 SHA256 126c34745b48a07448cfe36fe5913d37ec562ad72d3f732b99bd40f761f4da08 SHA512 9397ec0574652022387f4108613f839b9262841c436079249fb325011b0a0e3c5bbd32d323f37b0f30e643f7060c1275337710c237ab68fb0c3f8096651a2421 WHIRLPOOL a56bf1952108a97a8c2672e681bce01ef2e5dd99f39373aad168acc6772692aa2d569d3d7fcbb3bfe86960f8f72e74aad2a3ba1053378ad48fc8a6de2d9e5bb8 diff --git a/app-editors/dhex/dhex-0.68.ebuild b/app-editors/dhex/dhex-0.68.ebuild new file mode 100644 index 000000000000..c8f3f05aa651 --- /dev/null +++ b/app-editors/dhex/dhex-0.68.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils toolchain-funcs + +MY_P=${PN}_${PV} + +DESCRIPTION="ncurses-based hex-editor with diff mode" +HOMEPAGE="http://www.dettus.net/dhex/" +SRC_URI="http://www.dettus.net/${PN}/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm ~mips x86" +IUSE="" + +DEPEND="sys-libs/ncurses" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-0.63-Makefile.patch +} + +src_compile() { + emake CC="$(tc-getCC)" +} + +src_install() { + dobin dhex + dodoc README.txt + doman dhex.1 dhex_markers.5 dhex_searchlog.5 dhexrc.5 +} diff --git a/app-editors/dhex/files/dhex-0.63-Makefile.patch b/app-editors/dhex/files/dhex-0.63-Makefile.patch new file mode 100644 index 000000000000..f99c9ff1bf2d --- /dev/null +++ b/app-editors/dhex/files/dhex-0.63-Makefile.patch @@ -0,0 +1,15 @@ +diff -ruN dhex_0.63.orig/Makefile dhex_0.63/Makefile +--- dhex_0.63.orig/Makefile 2011-01-29 00:19:37.000000000 +0100 ++++ dhex_0.63/Makefile 2011-01-30 17:13:51.000000000 +0100 +@@ -1,11 +1,4 @@ +-CC= gcc +-LDFLAGS= -L/usr/lib -L/usr/local/lib -L/usr/lib/ncurses -L/usr/local/lib/ncurses +-CPPFLAGS= -I/usr/include -I/usr/local/include -I/usr/include/ncurses -I/usr/local/include/ncurses +-CFLAGS= -O3 -Wall -std=c99 +-#CFLAGS+= -ffunction-sections -fdata-sections +-#LDFLAGS+= --gc-sections + LIBS= -lncurses +-DESTDIR= /usr/local/ + + OFILES=buffers.o input.o output.o machine_type.o main.o menu.o ui.o hexcalc.o search.o gpl.o configfile.o markers.o + diff --git a/app-editors/dhex/metadata.xml b/app-editors/dhex/metadata.xml new file mode 100644 index 000000000000..91f4e72fb544 --- /dev/null +++ b/app-editors/dhex/metadata.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>maintainer-needed@gentoo.org</email> + </maintainer> +</pkgmetadata> diff --git a/app-editors/diakonos/Manifest b/app-editors/diakonos/Manifest new file mode 100644 index 000000000000..b14a59980b35 --- /dev/null +++ b/app-editors/diakonos/Manifest @@ -0,0 +1 @@ +DIST diakonos-0.9.4.tar.bz2 102282 SHA256 9da8d3846c15f2568a77431bb5fe9ee76a890c982cebb745050f2e864d7916d0 SHA512 8aab6173c40b9a182853977ed7631c391a10d3339918fa96866da8c9fa8e36e40f1c5093465c734a9ce36a69c5d994d6b2d1c0306f1e57bff708fd7a64a62db7 WHIRLPOOL 3dc625942653135a55905f173f566a2627cdaf03ac2c9c00f80bc12cf0947864c3689d9aa3174f779370914d71cc2781984a2de03d1573cac2ff5eaa291179c0 diff --git a/app-editors/diakonos/diakonos-0.9.4.ebuild b/app-editors/diakonos/diakonos-0.9.4.ebuild new file mode 100644 index 000000000000..7ace793dbf96 --- /dev/null +++ b/app-editors/diakonos/diakonos-0.9.4.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +USE_RUBY="ruby20 ruby21" +inherit ruby-ng + +DESCRIPTION="A Linux editor for the masses" +HOMEPAGE="http://diakonos.pist0s.ca" +SRC_URI="http://diakonos.pist0s.ca/archives/${P}.tar.bz2" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc test" + +ruby_add_bdepend "doc? ( dev-ruby/yard ) + test? ( dev-ruby/bacon )" + +each_ruby_install() { + ${RUBY} install.rb --dest-dir "${D}" --doc-dir /usr/share/doc/${P} || die "install failed" +} + +all_ruby_install() { + if use doc; then + rake docs || die + dodoc -r doc/* + fi +} + +each_ruby_test() { + ${RUBY} -S bacon -Ilib spec/*.rb spec/*/*.rb || die +} diff --git a/app-editors/diakonos/metadata.xml b/app-editors/diakonos/metadata.xml new file mode 100644 index 000000000000..bfcb6974f1c4 --- /dev/null +++ b/app-editors/diakonos/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>mrueg@gentoo.org</email> + <name>Manuel Rüger</name> + </maintainer> +</pkgmetadata> diff --git a/app-editors/e3/Manifest b/app-editors/e3/Manifest new file mode 100644 index 000000000000..5c6c02eae1d8 --- /dev/null +++ b/app-editors/e3/Manifest @@ -0,0 +1 @@ +DIST e3-2.8.tgz 119939 SHA256 035737d0cc82b287386fdff8682b2c23ef620d7ef97dff7a1b1fe1777e4c4fb7 SHA512 f3443ac558203b6921458761174ebc060936ae9f8a834670044152b9af52e0919075ac8110ba47b4b6f4e8261afa917e9fe49492b8d40d38d69987353ddd5189 WHIRLPOOL 9531a30229fe78bb2f55621d085d561923cae4b7db6c91f46320c81516936389f765fa0ef8bc65c19fefae40a60e50b5541f1e751a03aabf56d6b57dbf4cb165 diff --git a/app-editors/e3/e3-2.8.ebuild b/app-editors/e3/e3-2.8.ebuild new file mode 100644 index 000000000000..b7ed30080e75 --- /dev/null +++ b/app-editors/e3/e3-2.8.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +DESCRIPTION="Very tiny editor in ASM with emacs, pico, wordstar, and vi keybindings" +HOMEPAGE="http://sites.google.com/site/e3editor/" +SRC_URI="http://sites.google.com/site/e3editor/Home/${P}.tgz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="-* amd64 x86" +RESTRICT="strip" + +DEPEND=">=dev-lang/nasm-2.09.04" +RDEPEND="" + +src_prepare() { + sed -i 's/-D$(EXMODE)//' Makefile || die +} + +src_compile() { + emake -- $(usex amd64 64 32) +} + +src_install() { + dobin e3 + dosym e3 /usr/bin/e3em + dosym e3 /usr/bin/e3ne + dosym e3 /usr/bin/e3pi + dosym e3 /usr/bin/e3vi + dosym e3 /usr/bin/e3ws + + newman e3.man e3.1 + dohtml e3.html + dodoc ChangeLog README README_OLD +} diff --git a/app-editors/e3/metadata.xml b/app-editors/e3/metadata.xml new file mode 100644 index 000000000000..ddec4ff80d90 --- /dev/null +++ b/app-editors/e3/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>emacs</herd> +<longdescription> + e3 is a full-screen, user-friendly text editor with an interface similar to + that of either WordStar, Emacs, Pico, Nedit, or vi. It's heavily optimized + for size and independent of libc or any other libraries, making it useful + for mini-Linux distributions and rescue disks. The assembler version + supports Linux, FreeBSD, OpenBSD, NetBSD, Win9x, QNX, Atheos, BeOS, ELKS, + and DOS. There is also a separately distributed version written in C which + supports some other Unix versions and CygWin. It is also possible to use + regular expressions by using child processes like sed. e3 has a built in + arithmetic calculator. +</longdescription> +</pkgmetadata> diff --git a/app-editors/editra/Manifest b/app-editors/editra/Manifest new file mode 100644 index 000000000000..ed31fdbe257b --- /dev/null +++ b/app-editors/editra/Manifest @@ -0,0 +1 @@ +DIST Editra-0.7.20.tar.gz 4072243 SHA256 ed515bca58d87d9a2b3085f322a9fe7c6d1407a3b05db1434f80ea8f7e42ccc0 SHA512 e568ce2a5f04300c33223bf7a0e6fbc52d0a51c3472afb9b613fe21cfbeba0b9b453d87837e52c7c48050fc266ff5ff194a42f797053f21f0a25cd5c4579febe WHIRLPOOL ecfbc9610ba707aaad4995f9832e0f2bf2d79e56a5fadb27ae6c5b671c0f69a166c3d2d37163141789629a30fe56fbeb59c05c0203ae9201e2447ea479f52c55 diff --git a/app-editors/editra/editra-0.7.20-r1.ebuild b/app-editors/editra/editra-0.7.20-r1.ebuild new file mode 100644 index 000000000000..ee0f358044f4 --- /dev/null +++ b/app-editors/editra/editra-0.7.20-r1.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit distutils-r1 eutils fdo-mime + +MY_PN=${PN/e/E} + +DESCRIPTION="Multi-platform text editor supporting over 50 programming languages" +HOMEPAGE="http://editra.org http://pypi.python.org/pypi/Editra" +SRC_URI="http://editra.org/uploads/src/${MY_PN}-${PV}.tar.gz" + +LICENSE="wxWinLL-3.1" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="spell" + +DEPEND=" + >=dev-python/wxpython-2.8.9.2:2.8[${PYTHON_USEDEP}] + >=dev-python/setuptools-0.6[${PYTHON_USEDEP}]" +# setuptools is RDEPEND because it's used by the runtime for installing plugins +RDEPEND="${DEPEND} + spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] )" + +S="${WORKDIR}"/${MY_PN}-${PV} + +python_compile() { + # http://code.google.com/p/editra/issues/detail?id=481 + distutils-r1_python_compile --no-clean +} + +python_install() { + distutils-r1_python_install --no-clean +} + +python_install_all() { + distutils-r1_python_install_all + + doicon "${S}"/pixmaps/editra.png + make_desktop_entry editra Editra editra "Utility;TextEditor" + dodoc FAQ THANKS +} + +pkg_postinst() { + fdo-mime_desktop_database_update +} + +pkg_postrm() { + fdo-mime_desktop_database_update +} diff --git a/app-editors/editra/editra-0.7.20.ebuild b/app-editors/editra/editra-0.7.20.ebuild new file mode 100644 index 000000000000..86a005ef1bb1 --- /dev/null +++ b/app-editors/editra/editra-0.7.20.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +SUPPORT_PYTHON_ABIS=1 +PYTHON_DEPEND="2:2.6" +RESTRICT_PYTHON_ABIS="2.5 3.* *-jython 2.7-pypy-*" + +inherit distutils eutils fdo-mime python + +MY_PN=${PN/e/E} + +DESCRIPTION="Multi-platform text editor supporting over 50 programming languages" +HOMEPAGE="http://editra.org http://pypi.python.org/pypi/Editra" +SRC_URI="http://editra.org/uploads/src/${MY_PN}-${PV}.tar.gz" + +LICENSE="wxWinLL-3.1" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="spell" + +DEPEND=">=dev-python/wxpython-2.8.9.2:2.8 + >=dev-python/setuptools-0.6" +# setuptools is RDEPEND because it's used by the runtime for installing plugins +RDEPEND="${DEPEND} + spell? ( dev-python/pyenchant )" + +S="${WORKDIR}"/${MY_PN}-${PV} + +src_compile() { + distutils_src_compile --no-clean # http://code.google.com/p/editra/issues/detail?id=481 +} + +src_install() { + distutils_src_install --no-clean + doicon "${S}"/pixmaps/editra.png + make_desktop_entry editra Editra editra "Utility;TextEditor" + dodoc FAQ THANKS +} + +pkg_postinst() { + distutils_pkg_postinst + fdo-mime_desktop_database_update +} + +pkg_postrm() { + distutils_pkg_postrm + fdo-mime_desktop_database_update +} diff --git a/app-editors/editra/metadata.xml b/app-editors/editra/metadata.xml new file mode 100644 index 000000000000..a191ef54b9b3 --- /dev/null +++ b/app-editors/editra/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>wxwidgets</herd> +</pkgmetadata> diff --git a/app-editors/ee/Manifest b/app-editors/ee/Manifest new file mode 100644 index 000000000000..edea0c5ab20d --- /dev/null +++ b/app-editors/ee/Manifest @@ -0,0 +1,2 @@ +DIST ee-1.4.6.src.tgz 70511 SHA256 a85362dbc24c2bd0f675093fb593ba347b471749c0a0dbefdc75b6334a7b6e4c SHA512 e77fd6876886f7bad8b6c8a0cbf5c9d5da524be473e86721082495db3410fc4f2a7fce64bbbf221037e5c7d5e4f8f5b0712703eea8a51cc63926b16e6632f0a7 WHIRLPOOL 093a83d5fc0531b3afa5c49a91133872a0b37a16278300bef0633b625a4a5db7356731266157d2c5af74aaa3d82128fea8e88e1b94cf3004f0ef8ddb97da7a50 +DIST ee-1.5.2.src.tgz 69651 SHA256 e08d7511a48b43ee354042fe3fe7d9cb3431238caedcf4ac729c61a447003918 SHA512 9ca0e82d65971b0bce38e09c365b6eb8b81ca6ff5b244107ae254322e47e841e7f5345bf242a0a9dd66b731d46cead6f442016b9e070a1298e1a5319b1d7b97a WHIRLPOOL 60397b6cde372268d5785b13a3e8e9eddd9c489c0e1981787055d1df52b22f1a7179583a487be4243874b1f9a30a242b630df1a1d3bf6a13d7380b1cb8716b95 diff --git a/app-editors/ee/ee-1.4.6.ebuild b/app-editors/ee/ee-1.4.6.ebuild new file mode 100644 index 000000000000..14abfe287ad3 --- /dev/null +++ b/app-editors/ee/ee-1.4.6.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit toolchain-funcs + +DESCRIPTION="An easy to use text editor. Intended to be usable with little or no instruction" +HOMEPAGE="http://mahon.cwx.net/" +SRC_URI="http://mahon.cwx.net/sources/${P}.src.tgz" + +LICENSE="Artistic" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~mips ppc ppc64 ~sparc x86" +IUSE="" + +RDEPEND="!app-editors/ersatz-emacs" +S="${WORKDIR}/easyedit-${PV}" + +src_prepare() { + sed -i \ + -e "s/\tcc /\t\\\\\$(CC) /" \ + -e "/other_cflag/s/ *-s//" \ + create.make +} + +src_configure() { + emake localmake +} + +src_compile() { + emake -f make.local CC="$(tc-getCC)" +} + +src_install() { + dobin ee + doman ee.1 + dodoc Changes README.ee ee.i18n.guide ee.msg +} diff --git a/app-editors/ee/ee-1.5.2.ebuild b/app-editors/ee/ee-1.5.2.ebuild new file mode 100644 index 000000000000..fe61a0e30d44 --- /dev/null +++ b/app-editors/ee/ee-1.5.2.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit eutils toolchain-funcs + +DESCRIPTION="An easy to use text editor. A subset of aee" +HOMEPAGE="http://mahon.cwx.net/" +SRC_URI="http://mahon.cwx.net/sources/${P}.src.tgz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~alpha amd64 ~ia64 ~mips ppc ppc64 ~sparc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="" + +RDEPEND="!app-editors/ersatz-emacs" +S="${WORKDIR}/easyedit-${PV}" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-*.diff + + sed -i \ + -e "s/make -/\$(MAKE) -/g" \ + -e "/^buildee/s/$/ localmake/" \ + Makefile + + sed -i \ + -e "s/\tcc /\t\\\\\$(CC) /" \ + -e "/CFLAGS =/s/\" >/ \\\\\$(LDFLAGS)\" >/" \ + -e "/other_cflag/s/ *-s//" \ + create.make +} + +src_compile() { + emake CC="$(tc-getCC)" +} + +src_install() { + dobin ee + doman ee.1 + dodoc Changes README.ee ee.i18n.guide ee.msg + keepdir /usr/share/${PN} +} diff --git a/app-editors/ee/files/ee-init-location.diff b/app-editors/ee/files/ee-init-location.diff new file mode 100644 index 000000000000..9d6179a03a59 --- /dev/null +++ b/app-editors/ee/files/ee-init-location.diff @@ -0,0 +1,40 @@ +--- easyedit-1.5.2.orig/ee.1 ++++ easyedit-1.5.2/ee.1 +@@ -406,7 +406,7 @@ + .PP + Since different users have different preferences, \fIee\fR allows some + slight configurability. There are three possible locations for an +-initialization file for ee: the file \fI/usr/local/lib/init.ee\fR, the ++initialization file for ee: the file \fI/usr/share/ee/init.ee\fR, the + file \fI.init.ee\fR in the user's home directory, or the file \fI.init.ee\fR + in the current directory (if different from the home + directory). This allows system administrators to set some preferences for +@@ -414,7 +414,7 @@ + and the user to customize settings for particular directories (like one + for correspondence, and a different directory for programming). + .PP +-The file \fI\/usr/local/lib/init.ee\fR is read first, then ++The file \fI\/usr/share/ee/init.ee\fR is read first, then + \fI$HOME/.init.ee\fR, then \fI.init.ee\fR, with the settings specified by the + most recent file read taking precedence. + .PP +@@ -521,7 +521,7 @@ + may be too slow for slower systems. + .SH FILES + .PP +-.I /usr/local/lib/init.ee ++.I /usr/share/ee/init.ee + .br + .I $HOME/.init.ee + .br +--- easyedit-1.5.2.orig/ee.c ++++ easyedit-1.5.2/ee.c +@@ -4124,7 +4124,7 @@ + } + + unsigned char *init_name[3] = { +- "/usr/local/lib/init.ee", ++ "/usr/share/ee/init.ee", + NULL, + ".init.ee" + }; diff --git a/app-editors/ee/metadata.xml b/app-editors/ee/metadata.xml new file mode 100644 index 000000000000..d4a08224d284 --- /dev/null +++ b/app-editors/ee/metadata.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>hattya@gentoo.org</email> + </maintainer> +</pkgmetadata> diff --git a/app-editors/efte/Manifest b/app-editors/efte/Manifest new file mode 100644 index 000000000000..c1206053d5d1 --- /dev/null +++ b/app-editors/efte/Manifest @@ -0,0 +1 @@ +DIST efte-1.1.tar.bz2 429919 SHA256 b71b9301dc781555bd9f4c73d7d81eb92701ccd5119b17da9b86ede402d31e16 SHA512 4dbfcaaadc56996d1b4659db2a82ec5132cf45b6f65ef545274769aa47f44ba27a8af1488ed57e5ffec2d9f5f1d1ef4cb9ee97514414796f176c2272a6bb6661 WHIRLPOOL 0d14d090767d55fb6d46d183e5ff9b43ecc9aacfe8171c63c1e15f0fc10bc562cde196cd06589515ba97429d195d2927df085b799c793a21dda0fee37d84190f diff --git a/app-editors/efte/efte-1.1-r1.ebuild b/app-editors/efte/efte-1.1-r1.ebuild new file mode 100644 index 000000000000..d5f320cc6179 --- /dev/null +++ b/app-editors/efte/efte-1.1-r1.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils cmake-utils fdo-mime + +DESCRIPTION="A fast text editor supporting folding, syntax highlighting, etc." +HOMEPAGE="http://efte.sourceforge.net" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE="|| ( GPL-2 Artistic )" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="gpm X" + +RDEPEND="sys-libs/ncurses + gpm? ( sys-libs/gpm ) + X? ( + x11-libs/libX11 + x11-libs/libXpm + x11-libs/libXdmcp + x11-libs/libXau + media-fonts/font-misc-misc + )" +DEPEND="${RDEPEND}" + +src_prepare() { + epatch "${FILESDIR}"/${P}-flags.patch \ + "${FILESDIR}"/${P}-desktopfile.patch +} + +src_configure() { + local mycmakeargs=( + $(cmake-utils_use_build gpm) + $(cmake-utils_use_build X) + ) + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + rm -f "${D}"/usr/share/doc/${PN}/{COPYING,Artistic} + mv "${D}/usr/share/doc/${PN}" "${D}/usr/share/doc/${PF}" || die +} + +pkg_postinst() { + fdo-mime_desktop_database_update +} + +pkg_postrm() { + fdo-mime_desktop_database_update +} diff --git a/app-editors/efte/files/efte-1.1-desktopfile.patch b/app-editors/efte/files/efte-1.1-desktopfile.patch new file mode 100644 index 000000000000..79cfc1c0ab34 --- /dev/null +++ b/app-editors/efte/files/efte-1.1-desktopfile.patch @@ -0,0 +1,18 @@ +--- efte-1.1/packaging/shared/efte.desktop ++++ efte-1.1/packaging/shared/efte.desktop +@@ -1,6 +1,5 @@ + [Desktop Entry] + Name=eFTE +-Version=1.1 + GenericName=Text Editor + GenericName[cz]=Textový editor + GenericName[de]=Texteditor +@@ -29,7 +28,7 @@ + Comment[sv]=Snabb, utbyggbar textredigerare för programmerare + MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; + Exec=efte %f +-Icon=efte ++Icon=efte48x48 + Type=Application + Terminal=false + Categories=Development;TextEditor; diff --git a/app-editors/efte/files/efte-1.1-flags.patch b/app-editors/efte/files/efte-1.1-flags.patch new file mode 100644 index 000000000000..10c17cff322c --- /dev/null +++ b/app-editors/efte/files/efte-1.1-flags.patch @@ -0,0 +1,15 @@ +From: Julian Ospald <hasufell@gentoo.org> +Date: Fri Jan 4 20:17:34 UTC 2013 +Subject: respect system CXXFLAGS + +--- efte-1.1/src/CMakeLists.txt ++++ efte-1.1/src/CMakeLists.txt +@@ -86,7 +86,7 @@ + ENDIF( UNIX AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" ) + + IF( CMAKE_COMPILER_IS_GNUCC ) +- SET( CMAKE_CXX_FLAGS "-pedantic -Wall -Wno-long-long -Wpointer-arith -Wconversion -Wwrite-strings -Winline -fno-rtti -fno-exceptions" ) ++ SET( CMAKE_CXX_FLAGS "-pedantic -Wall -Wno-long-long -Wpointer-arith -Wconversion -Wwrite-strings -Winline -fno-rtti -fno-exceptions ${CMAKE_CXX_FLAGS}" ) + ENDIF( CMAKE_COMPILER_IS_GNUCC ) + + IF( CMAKE_SYSTEM_NAME MATCHES "HP/UX" ) diff --git a/app-editors/efte/metadata.xml b/app-editors/efte/metadata.xml new file mode 100644 index 000000000000..1b5c6ecd9460 --- /dev/null +++ b/app-editors/efte/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>maintainer-needed@gentoo.org</email> + </maintainer> + <upstream> + <remote-id type="sourceforge">efte</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/elvis/Manifest b/app-editors/elvis/Manifest new file mode 100644 index 000000000000..b9f855fd559e --- /dev/null +++ b/app-editors/elvis/Manifest @@ -0,0 +1 @@ +DIST elvis-2.2_0.tar.gz 1439293 SHA256 9a8466b2293798441056bc279736af3a616baaba2f11940396cc60ff71924ea0 SHA512 847cc9ac0af170798abd4725f7dc2ec74d4931fb761b58836d4016d36da5657176bd8cdcdae02bc08438b18e8ce2433eb3340ec2503630fd2992e83ba06adf42 WHIRLPOOL be087bc38507900852dbe1f9b59a14c3e135d14bc695f2ec23c6c70284c6f9b7d35b7d25a0dd2b36f32392537421aeb6804df477cfc98a206f101ffee5f2be8f diff --git a/app-editors/elvis/elvis-2.2.0-r4.ebuild b/app-editors/elvis/elvis-2.2.0-r4.ebuild new file mode 100644 index 000000000000..3136054524dc --- /dev/null +++ b/app-editors/elvis/elvis-2.2.0-r4.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils versionator toolchain-funcs + +MY_PV=$(replace_version_separator 2 '_') + +DESCRIPTION="A vi/ex clone" +HOMEPAGE="ftp://ftp.cs.pdx.edu/pub/elvis/" +SRC_URI="ftp://ftp.cs.pdx.edu/pub/elvis/${PN}-${MY_PV}.tar.gz" + +LICENSE="Artistic" +SLOT="0" +KEYWORDS="amd64 ppc ppc64 x86 ~x86-interix ~ppc-macos ~x86-macos ~m68k-mint ~sparc-solaris" +IUSE="X" + +RDEPEND=">=sys-libs/ncurses-5.7-r7 + X? ( >=x11-proto/xproto-7.0.4 + >=x11-libs/libX11-1.0.0 + >=x11-libs/libXt-1.0.0 + >=x11-libs/libXpm-3.5.4.2 + >=x11-libs/libXft-2.1.8.2 ) + app-eselect/eselect-vi" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +S=${WORKDIR}/${PN}-${MY_PV} + +src_prepare() { + epatch \ + "${FILESDIR}"/ft2.3-symbol-collision-fix.patch \ + "${FILESDIR}"/${P}-glibc-2.10.patch \ + "${FILESDIR}"/${P}-interix.patch +} + +src_configure() { + ./configure \ + --libs="$($(tc-getPKG_CONFIG) --libs ncurses)" \ + --prefix="${EPREFIX}"/usr \ + --bindir="${EPREFIX}"/usr/bin \ + --datadir="${EPREFIX}"/usr/share/elvis \ + --docdir="${EPREFIX}"/usr/share/doc/${PF} \ + $(use_with X x) \ + || die + + # Some Makefile fixups (must happen after configure) + # Use our CFLAGS + sed -i -e "s:gcc -O2:$(tc-getCC) ${CFLAGS}:" Makefile || die "sed 1 failed" + + # We'll install the man-pages ourselves + sed -i -e '/^ sh instman.sh/d' Makefile || die "sed 2 failed" + + # Don't try to write to /etc + sed -i -e 's,/etc/elvis,${ED}/etc/elvis,g' Makefile || die "sed 3 failed" + + # Use LDFLAGS + sed -i -e "s#\$(CC) \$(CFLAGS)#\$(CC) \$(CFLAGS) ${LDFLAGS}#" Makefile || \ + die "sed 4 failed" +} + +src_install() { + dodir /usr/bin + dodir /usr/share/man/man1 + dodir /usr/share/elvis + dodir /usr/share/doc/${PF} + dodir /etc + emake install \ + PREFIX="${ED}"/usr \ + BINDIR="${ED}"/usr/bin \ + DATADIR="${ED}"/usr/share/elvis \ + DOCDIR="${ED}"/usr/share/doc/${PF} + + # Install the man-pages + mv doc/elvis.man doc/elvis.1 + mv doc/elvtags.man doc/elvtags.1 + mv doc/ref.man doc/ref.1 + doman doc/*.1 + + # Fixup some READMEs + sed -i -e "s,${ED},,g" "${ED}"/etc/elvis/README \ + || die 'sed /etc/elvis/README failed' + sed -i -e "s,${ED},,g" "${ED}"/usr/share/elvis/README \ + || die 'sed /usr/share/elvis/README failed' +} + +pkg_postinst() { + einfo "Setting /usr/bin/vi symlink" + eselect vi set "${PN}" +} + +pkg_postrm() { + einfo "Updating /usr/bin/vi symlink" + eselect vi update +} diff --git a/app-editors/elvis/files/elvis-2.2.0-glibc-2.10.patch b/app-editors/elvis/files/elvis-2.2.0-glibc-2.10.patch new file mode 100644 index 000000000000..1a3d1affb303 --- /dev/null +++ b/app-editors/elvis/files/elvis-2.2.0-glibc-2.10.patch @@ -0,0 +1,48 @@ +diff -ur elvis-2.2_0.orig/ref.c elvis-2.2_0/ref.c +--- elvis-2.2_0.orig/ref.c 2003-10-21 05:32:25.000000000 +0300 ++++ elvis-2.2_0/ref.c 2009-08-05 21:28:30.000000000 +0300 +@@ -42,7 +42,7 @@ + + #if USE_PROTOTYPES + static void usage(char *argv0); +-static char *getline(FILE *fp); ++static char *get_line(FILE *fp); + static void store(char *line, char **list); + static LINECLS classify(char *line, LINECLS prev); + static void lookup(TAG *tag); +@@ -171,7 +171,7 @@ + /* This function reads a single line, and replaces the terminating newline with + * a '\0' byte. The string will be in a static buffer. Returns NULL at EOF. + */ +-static char *getline(fp) ++static char *get_line(fp) + FILE *fp; + { + int ch; +@@ -348,7 +348,7 @@ + } + + /* for each line... */ +- for (lnum = 1, lc = LC_COMPLETE; (line = getline(fp)) != NULL; lnum++) ++ for (lnum = 1, lc = LC_COMPLETE; (line = get_line(fp)) != NULL; lnum++) + { + /* is this the tag definition? */ + if (taglnum > 0 ? taglnum == lnum : !strncmp(tagline, line, len)) +@@ -377,7 +377,7 @@ + { + if (strchr(line, '(') != NULL) + { +- while ((line = getline(fp)) != NULL ++ while ((line = get_line(fp)) != NULL + && *line + && ((*line != '#' && *line != '{') + || line[strlen(line) - 1] == '\\')) +@@ -387,7 +387,7 @@ + } + else if ((lc = classify(line, lc)) == LC_PARTIAL) + { +- while ((line = getline(fp)) != NULL ++ while ((line = get_line(fp)) != NULL + && (lc = classify(line, lc)) == LC_PARTIAL) + { + puts(line); diff --git a/app-editors/elvis/files/elvis-2.2.0-interix.patch b/app-editors/elvis/files/elvis-2.2.0-interix.patch new file mode 100644 index 000000000000..e16024374716 --- /dev/null +++ b/app-editors/elvis/files/elvis-2.2.0-interix.patch @@ -0,0 +1,11 @@ +diff -ru -x '*.Po' -x '*.Plo' elvis-2.2_0.orig/osunix/osblock.c elvis-2.2_0/osunix/osblock.c +--- elvis-2.2_0.orig/osunix/osblock.c 2008-04-03 12:00:26 +0200 ++++ elvis-2.2_0/osunix/osblock.c 2008-04-03 12:01:53 +0200 +@@ -293,5 +293,7 @@ + return; + #endif + ++#ifndef __INTERIX + sync(); ++#endif + } diff --git a/app-editors/elvis/files/ft2.3-symbol-collision-fix.patch b/app-editors/elvis/files/ft2.3-symbol-collision-fix.patch new file mode 100644 index 000000000000..aac099e56ef7 --- /dev/null +++ b/app-editors/elvis/files/ft2.3-symbol-collision-fix.patch @@ -0,0 +1,73 @@ +diff -ur elvis-2.2_0-orig/guix11/tags elvis-2.2_0/guix11/tags +--- elvis-2.2_0-orig/guix11/tags 2003-10-20 19:32:26.000000000 -0700 ++++ elvis-2.2_0/guix11/tags 2007-08-17 12:56:28.000000000 -0700 +@@ -31,7 +31,7 @@ + DEFAULT_TOOLFG guix11.c 40;" d ln:40 file: + DEFAULT_XENCODING guix11.c 48;" d ln:48 file: + FT_DEFAULT xdialog.h 10;" ln:10 enum:X_FIELDTYPE +-FT_FILE xdialog.h 10;" ln:10 enum:X_FIELDTYPE ++FT_FILEC xdialog.h 10;" ln:10 enum:X_FIELDTYPE + FT_LOCKED xdialog.h 10;" ln:10 enum:X_FIELDTYPE + FT_NUMBER xdialog.h 10;" ln:10 enum:X_FIELDTYPE + FT_ONEOF xdialog.h 10;" ln:10 enum:X_FIELDTYPE +diff -ur elvis-2.2_0-orig/guix11/xdialog.c elvis-2.2_0/guix11/xdialog.c +--- elvis-2.2_0-orig/guix11/xdialog.c 2003-10-20 19:32:26.000000000 -0700 ++++ elvis-2.2_0/guix11/xdialog.c 2007-08-17 12:56:28.000000000 -0700 +@@ -387,7 +387,7 @@ + case 'o': ft = FT_ONEOF, limit = scan; break; + case 'n': ft = FT_NUMBER, limit = scan; break; + case 's': ft = FT_STRING; break; +- case 'f': ft = FT_FILE; break; ++ case 'f': ft = FT_FILEC; break; + case 'l': ft = FT_LOCKED; break; + } + +@@ -556,7 +556,7 @@ + break; + + case FT_STRING: +- case FT_FILE: ++ case FT_FILEC: + button = addbutton(dia, "<", 'l', ELVCTRL('L')); + button->y = dia->y0 + dia->rowh * i; + button->x = dia->x0 + 3; +@@ -1111,7 +1111,7 @@ + newvalue = keystring(dia, key); + break; + +- case FT_FILE: ++ case FT_FILEC: + #ifdef FEATURE_COMPLETE + if (key == '\t') + { +@@ -1179,7 +1179,7 @@ + switch (dia->field[row].ft) + { + case FT_STRING: +- case FT_FILE: ++ case FT_FILEC: + case FT_NUMBER: + case FT_LOCKED: + drawtext(dia, row); +@@ -1207,7 +1207,7 @@ + break; + + case FT_STRING: +- case FT_FILE: ++ case FT_FILEC: + if (button->shape == 'l') + if (row == dia->current + ? dia->shift > 0 +diff -ur elvis-2.2_0-orig/guix11/xdialog.h elvis-2.2_0/guix11/xdialog.h +--- elvis-2.2_0-orig/guix11/xdialog.h 2003-10-20 19:32:26.000000000 -0700 ++++ elvis-2.2_0/guix11/xdialog.h 2007-08-17 12:56:28.000000000 -0700 +@@ -5,7 +5,7 @@ + FT_ONEOF, /* one of a preset list; includes boolean */ + FT_NUMBER, /* numeric field */ + FT_STRING, /* string field */ +- FT_FILE, /* string field where <Tab> does filename completion */ ++ FT_FILEC, /* string field where <Tab> does filename completion */ + FT_LOCKED /* non-editable field */ + } X_FIELDTYPE; + typedef struct + diff --git a/app-editors/elvis/metadata.xml b/app-editors/elvis/metadata.xml new file mode 100644 index 000000000000..5fcb67350f69 --- /dev/null +++ b/app-editors/elvis/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>vim</herd> +</pkgmetadata> diff --git a/app-editors/emacs-vcs/Manifest b/app-editors/emacs-vcs/Manifest new file mode 100644 index 000000000000..96b98ca78b79 --- /dev/null +++ b/app-editors/emacs-vcs/Manifest @@ -0,0 +1,4 @@ +DIST emacs-25.0.50_pre20150523.tar.xz 25311384 SHA256 2dd6e7adb8e3359e00a8cbc15a28ef31b631c8363602e3be7566908f2ee2b047 SHA512 a897c4a4d7bd19c9c9a181b23240aed102295e30f1ba9a167b5c1a3231c05a4613023e6810ca0226cedea6325999a35efb0ea2a2b7e535a0338b7b688592438f WHIRLPOOL ce81ceca640c15437af427cef79090f71c8f19a78c8b2d5966f1887e88fff3bd35c00bcb266fb0d8133ee95b22cac8576f12462fa04c41feebcc7aad2f1ddb7e +DIST emacs-25.0.50_pre20150531.tar.xz 26741144 SHA256 ad984201fb56ca09f48a09fa2d3ae2cc151c31b724ffd7de3926780817f0e1b7 SHA512 f9f019a9cf53a33b9c2a3374fe132d321f4e39d3d46ba83c637aaf32d02bfbb518d0b392311e47cf1eba349fcbdc6fdf3d8bbb248afed587168dd5bff110563f WHIRLPOOL b3d42367f726c0bd5e8335c4925ba3e706b7f74679c76e655db94334a761085273d2d1279d4a16867fbf462a82ad504f60a17f0c2eaaa8444b3808045acd513a +DIST emacs-25.0.50_pre20150630.tar.xz 26793504 SHA256 b2bac514c9f345ff8f515d8cbcfde7dacf69644bce9a1353c42d5d7940603f3c SHA512 9bbd7afe4a8053273b06b801b70c4397d4f60365ca50cfc4677224304ca79e0acb6d709c6de2461257f61befaa21f80311f82b5ca47f739193340c7c4bfefa92 WHIRLPOOL 7a9badcfa89a53557f255bc6eb28e03d364dddf6343e56bcaf2dd9229054c41e9b7c5b23440322ccd32950b2c7d7dd1edb6cc1ae5c7c82543585d21de8c29937 +DIST emacs-25.0.50_pre20150731.tar.xz 26825232 SHA256 80127a9d905918066c97df81f3e489dbd30f323e9dec2353d33f124522f91c81 SHA512 9834d191e98e780e8ba8f2fa07b50dda6d380a3e220ad0590bdc160d9e2c9cd3c0b0acd5e8d52f3f0f44070280e3686bd7facd78f9bd4b3f6ce0723f1b3311bf WHIRLPOOL 0c0ec4f99630771da61d5bc80b9001a61fa3b7f49f09b6e9a5dd402a383c4d13717c50d86da9d63ad01dd2fce5ac5d7812bcdcd3e31eefb5f0ad4b00d0cc342f diff --git a/app-editors/emacs-vcs/emacs-vcs-24.5.9999.ebuild b/app-editors/emacs-vcs/emacs-vcs-24.5.9999.ebuild new file mode 100644 index 000000000000..7715fdb83e0b --- /dev/null +++ b/app-editors/emacs-vcs/emacs-vcs-24.5.9999.ebuild @@ -0,0 +1,372 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo + +if [[ ${PV##*.} = 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="git://git.sv.gnu.org/emacs.git" + EGIT_BRANCH="emacs-24" + EGIT_CHECKOUT_DIR="${WORKDIR}/emacs" + S="${EGIT_CHECKOUT_DIR}" +else + SRC_URI="http://dev.gentoo.org/~ulm/distfiles/emacs-${PV}.tar.xz + mirror://gnu-alpha/emacs/pretest/emacs-${PV}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + # FULL_VERSION keeps the full version number, which is needed in + # order to determine some path information correctly for copy/move + # operations later on + FULL_VERSION="${PV%%_*}" + #S="${WORKDIR}/emacs-${FULL_VERSION}" + S="${WORKDIR}/emacs" +fi + +DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" +HOMEPAGE="http://www.gnu.org/software/emacs/" + +LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2" +SLOT="24" +IUSE="acl alsa aqua athena dbus games gconf gfile gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib" +REQUIRED_USE="?? ( aqua X )" + +RDEPEND="sys-libs/ncurses + >=app-eselect/eselect-emacs-1.16 + >=app-emacs/emacs-common-gentoo-1.4-r1[games?,X?] + net-libs/liblockfile + acl? ( virtual/acl ) + alsa? ( media-libs/alsa-lib ) + dbus? ( sys-apps/dbus ) + gfile? ( >=dev-libs/glib-2.28.6 ) + gnutls? ( net-libs/gnutls ) + gpm? ( sys-libs/gpm ) + hesiod? ( net-dns/hesiod ) + kerberos? ( virtual/krb5 ) + libxml2? ( >=dev-libs/libxml2-2.2.0 ) + selinux? ( sys-libs/libselinux ) + zlib? ( sys-libs/zlib ) + X? ( + x11-libs/libXmu + x11-libs/libXt + x11-misc/xbitmaps + gconf? ( >=gnome-base/gconf-2.26.2 ) + gsettings? ( >=dev-libs/glib-2.28.6 ) + gif? ( media-libs/giflib ) + jpeg? ( virtual/jpeg:0= ) + png? ( >=media-libs/libpng-1.4:0= ) + svg? ( >=gnome-base/librsvg-2.0 ) + tiff? ( media-libs/tiff:0 ) + xpm? ( x11-libs/libXpm ) + imagemagick? ( >=media-gfx/imagemagick-6.6.2 ) + xft? ( + media-libs/fontconfig + media-libs/freetype + x11-libs/libXft + m17n-lib? ( + >=dev-libs/libotf-0.9.4 + >=dev-libs/m17n-lib-1.5.1 + ) + ) + gtk? ( + gtk3? ( x11-libs/gtk+:3 ) + !gtk3? ( x11-libs/gtk+:2 ) + ) + !gtk? ( + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + Xaw3d? ( x11-libs/libXaw3d ) + !Xaw3d? ( athena? ( x11-libs/libXaw ) ) + ) + ) + )" + +DEPEND="${RDEPEND} + virtual/pkgconfig + gzip-el? ( app-arch/gzip ) + pax_kernel? ( + sys-apps/attr + sys-apps/paxctl + )" + +if [[ ${PV##*.} = 9999 ]]; then + DEPEND="${DEPEND} + sys-apps/texinfo" +fi + +EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}" +SITEFILE="20${PN}-${SLOT}-gentoo.el" + +src_prepare() { + if [[ ${PV##*.} = 9999 ]]; then + FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \ + configure.ac) + [[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version" + einfo "Emacs branch: ${EGIT_BRANCH}" + einfo "Commit: ${EGIT_VERSION}" + einfo "Emacs version number: ${FULL_VERSION}" + [[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \ + || die "Upstream version number changed to ${FULL_VERSION}" + fi + + epatch_user + + # Fix filename reference in redirected man page + sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \ + || die "unable to sed ctags.1" + + AT_M4DIR=m4 eautoreconf +} + +src_configure() { + strip-flags + filter-flags -pie #526948 + + if use sh; then + replace-flags "-O[1-9]" -O0 #262359 + elif use ia64; then + replace-flags "-O[2-9]" -O1 #325373 + else + replace-flags "-O[3-9]" -O2 + fi + + local myconf + + if use alsa; then + use sound || ewarn \ + "USE flag \"alsa\" overrides \"-sound\"; enabling sound support." + myconf+=" --with-sound=alsa" + else + myconf+=" --with-sound=$(usex sound oss)" + fi + + if use X; then + myconf+=" --with-x --without-ns" + myconf+=" $(use_with gconf)" + myconf+=" $(use_with gsettings)" + myconf+=" $(use_with toolkit-scroll-bars)" + myconf+=" $(use_with gif)" + myconf+=" $(use_with jpeg)" + myconf+=" $(use_with png)" + myconf+=" $(use_with svg rsvg)" + myconf+=" $(use_with tiff)" + myconf+=" $(use_with xpm)" + myconf+=" $(use_with imagemagick)" + + if use xft; then + myconf+=" --with-xft" + myconf+=" $(use_with m17n-lib libotf)" + myconf+=" $(use_with m17n-lib m17n-flt)" + else + myconf+=" --without-xft" + myconf+=" --without-libotf --without-m17n-flt" + use m17n-lib && ewarn \ + "USE flag \"m17n-lib\" has no effect if \"xft\" is not set." + fi + + local f + if use gtk; then + einfo "Configuring to build with GIMP Toolkit (GTK+)" + while read line; do ewarn "${line}"; done <<-EOF + Your version of GTK+ will have problems with closing open + displays. This is no problem if you just use one display, but + if you use more than one and close one of them Emacs may crash. + See <http://bugzilla.gnome.org/show_bug.cgi?id=85715>. + If you intend to use more than one display, then it is strongly + recommended that you compile Emacs with the Athena/Lucid or the + Motif toolkit instead. + EOF + myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)" + for f in motif Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"gtk\" is set." + done + elif use motif; then + einfo "Configuring to build with Motif toolkit" + myconf+=" --with-x-toolkit=motif" + for f in Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"motif\" is set." + done + elif use athena || use Xaw3d; then + einfo "Configuring to build with Athena/Lucid toolkit" + myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)" + else + einfo "Configuring to build with no toolkit" + myconf+=" --with-x-toolkit=no" + fi + elif use aqua; then + einfo "Configuring to build with Nextstep (Cocoa) support" + myconf+=" --with-ns --disable-ns-self-contained" + myconf+=" --without-x" + else + myconf+=" --without-x --without-ns" + fi + + # Save version information in the Emacs binary. It will be available + # in variable "system-configuration-options". + myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}" + if [[ ${PV##*.} = 9999 ]]; then + myconf+=" EGIT_BRANCH=${EGIT_BRANCH} EGIT_VERSION=${EGIT_VERSION}" + fi + + econf \ + --program-suffix="-${EMACS_SUFFIX}" \ + --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \ + --localstatedir="${EPREFIX}"/var \ + --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \ + --with-gameuser="${GAMES_USER_DED:-games}" \ + --without-compress-install \ + --with-file-notification=$(usev gfile || usev inotify || echo no) \ + $(use_enable acl) \ + $(use_with dbus) \ + $(use_with gnutls) \ + $(use_with gpm) \ + $(use_with hesiod) \ + $(use_with kerberos) $(use_with kerberos kerberos5) \ + $(use_with libxml2 xml2) \ + $(use_with selinux) \ + $(use_with wide-int) \ + $(use_with zlib) \ + ${myconf} +} + +src_compile() { + export SANDBOX_ON=0 # for the unbelievers, see Bug #131505 + emake +} + +src_install () { + emake DESTDIR="${D}" NO_BIN_LINK=t install + + mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \ + || die "moving emacs executable failed" + mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \ + || die "moving emacs man page failed" + + # move info dir to avoid collisions with the dir file generated by portage + mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \ + || die "moving info dir failed" + touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir + docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig + + # avoid collision between slots, see bug #169033 e.g. + rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el + rm -rf "${ED}"/usr/share/{applications,icons} + rm -rf "${ED}"/var + + # remove unused <version>/site-lisp dir + rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp + + # remove COPYING file (except for etc/COPYING used by describe-copying) + rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING + + if use gzip-el; then + # compress .el files when a corresponding .elc exists + find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \ + -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n + assert "gzip .el failed" + fi + + local cdir + if use source; then + cdir="/usr/share/emacs/${FULL_VERSION}/src" + insinto "${cdir}" + # This is not meant to install all the source -- just the + # C source you might find via find-function + doins src/*.{c,h,m} + elif has installsources ${FEATURES}; then + cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src" + fi + + sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF + X + ;;; ${PN}-${SLOT} site-lisp configuration + X + (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version) + Y (setq find-function-C-source-directory + Y "${EPREFIX}${cdir}") + X (let ((path (getenv "INFOPATH")) + X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}") + X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>")) + X (and path + X ;; move Emacs Info dir before anything else in /usr/share/info + X (let* ((p (cons nil (split-string path ":" t))) (q p)) + X (while (and (cdr q) (not (string-match re (cadr q)))) + X (setq q (cdr q))) + X (setcdr q (cons dir (delete dir (cdr q)))) + X (setq Info-directory-list (prune-directory-list (cdr p))))))) + EOF + elisp-site-file-install "${T}/${SITEFILE}" || die + + dodoc README BUGS + + if use aqua; then + dodir /Applications/Gentoo + rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app + mv nextstep/Emacs.app \ + "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die + fi + + DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs + through the Emacs eselect module, which also redirects man and info + pages. Therefore, several Emacs versions can be installed at the + same time. \"man emacs.eselect\" for details. + \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is + strongly recommended that you use app-admin/emacs-updater to rebuild + all byte-compiled elisp files of the installed Emacs packages." + use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs. + Installing media-fonts/font-adobe-{75,100}dpi on the X server's + machine would satisfy basic Emacs requirements under X11. + See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs + for how to enable anti-aliased fonts." + use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in + \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink + it into /Applications by yourself." + readme.gentoo_create_doc +} + +pkg_preinst() { + # move Info dir file to correct name + local infodir=/usr/share/info/${EMACS_SUFFIX} f + if [[ -f ${ED}${infodir}/dir.orig ]]; then + mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed" + elif [[ -d "${ED}"${infodir} ]]; then + # this should not happen in EAPI 4 + ewarn "Regenerating Info directory index in ${infodir} ..." + rm -f "${ED}"${infodir}/dir{,.*} + for f in "${ED}"${infodir}/*; do + if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then + install-info --info-dir="${ED}"${infodir} "${f}" \ + || die "install-info failed" + fi + done + fi +} + +pkg_postinst() { + elisp-site-regen + + local pvr + for pvr in ${REPLACING_VERSIONS}; do + [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1 + done + readme.gentoo_print_elog + + if use livecd; then + # force an update of the emacs symlink for the livecd/dvd, + # because some microemacs packages set it with USE=livecd + eselect emacs update + elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then + # refresh symlinks in case any installed files have changed + eselect emacs set ${EMACS_SUFFIX} + else + eselect emacs update ifunset + fi +} + +pkg_postrm() { + elisp-site-regen + eselect emacs update ifunset +} diff --git a/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150523.ebuild b/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150523.ebuild new file mode 100644 index 000000000000..fd54e0adc8af --- /dev/null +++ b/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150523.ebuild @@ -0,0 +1,372 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo + +if [[ ${PV##*.} = 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="git://git.sv.gnu.org/emacs.git" + EGIT_BRANCH="master" + EGIT_CHECKOUT_DIR="${WORKDIR}/emacs" + S="${EGIT_CHECKOUT_DIR}" +else + SRC_URI="http://dev.gentoo.org/~ulm/distfiles/emacs-${PV}.tar.xz + mirror://gnu-alpha/emacs/pretest/emacs-${PV}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + # FULL_VERSION keeps the full version number, which is needed in + # order to determine some path information correctly for copy/move + # operations later on + FULL_VERSION="${PV%%_*}" + #S="${WORKDIR}/emacs-${FULL_VERSION}" + S="${WORKDIR}/emacs" +fi + +DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" +HOMEPAGE="http://www.gnu.org/software/emacs/" + +LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2" +SLOT="25" +IUSE="acl alsa aqua athena dbus games gconf gfile gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib" +REQUIRED_USE="?? ( aqua X )" + +RDEPEND="sys-libs/ncurses + >=app-eselect/eselect-emacs-1.16 + >=app-emacs/emacs-common-gentoo-1.5[games?,X?] + net-libs/liblockfile + acl? ( virtual/acl ) + alsa? ( media-libs/alsa-lib ) + dbus? ( sys-apps/dbus ) + gfile? ( >=dev-libs/glib-2.28.6 ) + gnutls? ( net-libs/gnutls ) + gpm? ( sys-libs/gpm ) + hesiod? ( net-dns/hesiod ) + kerberos? ( virtual/krb5 ) + libxml2? ( >=dev-libs/libxml2-2.2.0 ) + selinux? ( sys-libs/libselinux ) + zlib? ( sys-libs/zlib ) + X? ( + x11-libs/libXmu + x11-libs/libXt + x11-misc/xbitmaps + gconf? ( >=gnome-base/gconf-2.26.2 ) + gsettings? ( >=dev-libs/glib-2.28.6 ) + gif? ( media-libs/giflib ) + jpeg? ( virtual/jpeg:0= ) + png? ( >=media-libs/libpng-1.4:0= ) + svg? ( >=gnome-base/librsvg-2.0 ) + tiff? ( media-libs/tiff:0 ) + xpm? ( x11-libs/libXpm ) + imagemagick? ( >=media-gfx/imagemagick-6.6.2 ) + xft? ( + media-libs/fontconfig + media-libs/freetype + x11-libs/libXft + m17n-lib? ( + >=dev-libs/libotf-0.9.4 + >=dev-libs/m17n-lib-1.5.1 + ) + ) + gtk? ( + gtk3? ( x11-libs/gtk+:3 ) + !gtk3? ( x11-libs/gtk+:2 ) + ) + !gtk? ( + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + Xaw3d? ( x11-libs/libXaw3d ) + !Xaw3d? ( athena? ( x11-libs/libXaw ) ) + ) + ) + )" + +DEPEND="${RDEPEND} + virtual/pkgconfig + gzip-el? ( app-arch/gzip ) + pax_kernel? ( + sys-apps/attr + sys-apps/paxctl + )" + +if [[ ${PV##*.} = 9999 ]]; then + DEPEND="${DEPEND} + sys-apps/texinfo" +fi + +EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}" +SITEFILE="20${PN}-${SLOT}-gentoo.el" + +src_prepare() { + if [[ ${PV##*.} = 9999 ]]; then + FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \ + configure.ac) + [[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version" + einfo "Emacs branch: ${EGIT_BRANCH}" + einfo "Commit: ${EGIT_VERSION}" + einfo "Emacs version number: ${FULL_VERSION}" + [[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \ + || die "Upstream version number changed to ${FULL_VERSION}" + fi + + epatch_user + + # Fix filename reference in redirected man page + sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \ + || die "unable to sed ctags.1" + + AT_M4DIR=m4 eautoreconf +} + +src_configure() { + strip-flags + filter-flags -pie #526948 + + if use sh; then + replace-flags "-O[1-9]" -O0 #262359 + elif use ia64; then + replace-flags "-O[2-9]" -O1 #325373 + else + replace-flags "-O[3-9]" -O2 + fi + + local myconf + + if use alsa; then + use sound || ewarn \ + "USE flag \"alsa\" overrides \"-sound\"; enabling sound support." + myconf+=" --with-sound=alsa" + else + myconf+=" --with-sound=$(usex sound oss)" + fi + + if use X; then + myconf+=" --with-x --without-ns" + myconf+=" $(use_with gconf)" + myconf+=" $(use_with gsettings)" + myconf+=" $(use_with toolkit-scroll-bars)" + myconf+=" $(use_with gif)" + myconf+=" $(use_with jpeg)" + myconf+=" $(use_with png)" + myconf+=" $(use_with svg rsvg)" + myconf+=" $(use_with tiff)" + myconf+=" $(use_with xpm)" + myconf+=" $(use_with imagemagick)" + + if use xft; then + myconf+=" --with-xft" + myconf+=" $(use_with m17n-lib libotf)" + myconf+=" $(use_with m17n-lib m17n-flt)" + else + myconf+=" --without-xft" + myconf+=" --without-libotf --without-m17n-flt" + use m17n-lib && ewarn \ + "USE flag \"m17n-lib\" has no effect if \"xft\" is not set." + fi + + local f + if use gtk; then + einfo "Configuring to build with GIMP Toolkit (GTK+)" + while read line; do ewarn "${line}"; done <<-EOF + Your version of GTK+ will have problems with closing open + displays. This is no problem if you just use one display, but + if you use more than one and close one of them Emacs may crash. + See <http://bugzilla.gnome.org/show_bug.cgi?id=85715>. + If you intend to use more than one display, then it is strongly + recommended that you compile Emacs with the Athena/Lucid or the + Motif toolkit instead. + EOF + myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)" + for f in motif Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"gtk\" is set." + done + elif use motif; then + einfo "Configuring to build with Motif toolkit" + myconf+=" --with-x-toolkit=motif" + for f in Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"motif\" is set." + done + elif use athena || use Xaw3d; then + einfo "Configuring to build with Athena/Lucid toolkit" + myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)" + else + einfo "Configuring to build with no toolkit" + myconf+=" --with-x-toolkit=no" + fi + elif use aqua; then + einfo "Configuring to build with Nextstep (Cocoa) support" + myconf+=" --with-ns --disable-ns-self-contained" + myconf+=" --without-x" + else + myconf+=" --without-x --without-ns" + fi + + # Save version information in the Emacs binary. It will be available + # in variable "system-configuration-options". + myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}" + if [[ ${PV##*.} = 9999 ]]; then + myconf+=" EGIT_BRANCH=${EGIT_BRANCH} EGIT_VERSION=${EGIT_VERSION}" + fi + + econf \ + --program-suffix="-${EMACS_SUFFIX}" \ + --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \ + --localstatedir="${EPREFIX}"/var \ + --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \ + --with-gameuser=":gamestat" \ + --without-compress-install \ + --with-file-notification=$(usev gfile || usev inotify || echo no) \ + $(use_enable acl) \ + $(use_with dbus) \ + $(use_with gnutls) \ + $(use_with gpm) \ + $(use_with hesiod) \ + $(use_with kerberos) $(use_with kerberos kerberos5) \ + $(use_with libxml2 xml2) \ + $(use_with selinux) \ + $(use_with wide-int) \ + $(use_with zlib) \ + ${myconf} +} + +src_compile() { + export SANDBOX_ON=0 # for the unbelievers, see Bug #131505 + emake +} + +src_install () { + emake DESTDIR="${D}" NO_BIN_LINK=t install + + mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \ + || die "moving emacs executable failed" + mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \ + || die "moving emacs man page failed" + + # move info dir to avoid collisions with the dir file generated by portage + mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \ + || die "moving info dir failed" + touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir + docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig + + # avoid collision between slots, see bug #169033 e.g. + rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el + rm -rf "${ED}"/usr/share/{appdata,applications,icons} + rm -rf "${ED}"/var + + # remove unused <version>/site-lisp dir + rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp + + # remove COPYING file (except for etc/COPYING used by describe-copying) + rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING + + if use gzip-el; then + # compress .el files when a corresponding .elc exists + find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \ + -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n + assert "gzip .el failed" + fi + + local cdir + if use source; then + cdir="/usr/share/emacs/${FULL_VERSION}/src" + insinto "${cdir}" + # This is not meant to install all the source -- just the + # C source you might find via find-function + doins src/*.{c,h,m} + elif has installsources ${FEATURES}; then + cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src" + fi + + sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF + X + ;;; ${PN}-${SLOT} site-lisp configuration + X + (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version) + Y (setq find-function-C-source-directory + Y "${EPREFIX}${cdir}") + X (let ((path (getenv "INFOPATH")) + X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}") + X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>")) + X (and path + X ;; move Emacs Info dir before anything else in /usr/share/info + X (let* ((p (cons nil (split-string path ":" t))) (q p)) + X (while (and (cdr q) (not (string-match re (cadr q)))) + X (setq q (cdr q))) + X (setcdr q (cons dir (delete dir (cdr q)))) + X (setq Info-directory-list (prune-directory-list (cdr p))))))) + EOF + elisp-site-file-install "${T}/${SITEFILE}" || die + + dodoc README BUGS CONTRIBUTE + + if use aqua; then + dodir /Applications/Gentoo + rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app + mv nextstep/Emacs.app \ + "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die + fi + + DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs + through the Emacs eselect module, which also redirects man and info + pages. Therefore, several Emacs versions can be installed at the + same time. \"man emacs.eselect\" for details. + \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is + strongly recommended that you use app-admin/emacs-updater to rebuild + all byte-compiled elisp files of the installed Emacs packages." + use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs. + Installing media-fonts/font-adobe-{75,100}dpi on the X server's + machine would satisfy basic Emacs requirements under X11. + See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs + for how to enable anti-aliased fonts." + use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in + \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink + it into /Applications by yourself." + readme.gentoo_create_doc +} + +pkg_preinst() { + # move Info dir file to correct name + local infodir=/usr/share/info/${EMACS_SUFFIX} f + if [[ -f ${ED}${infodir}/dir.orig ]]; then + mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed" + elif [[ -d "${ED}"${infodir} ]]; then + # this should not happen in EAPI 4 + ewarn "Regenerating Info directory index in ${infodir} ..." + rm -f "${ED}"${infodir}/dir{,.*} + for f in "${ED}"${infodir}/*; do + if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then + install-info --info-dir="${ED}"${infodir} "${f}" \ + || die "install-info failed" + fi + done + fi +} + +pkg_postinst() { + elisp-site-regen + + local pvr + for pvr in ${REPLACING_VERSIONS}; do + [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1 + done + readme.gentoo_print_elog + + if use livecd; then + # force an update of the emacs symlink for the livecd/dvd, + # because some microemacs packages set it with USE=livecd + eselect emacs update + elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then + # refresh symlinks in case any installed files have changed + eselect emacs set ${EMACS_SUFFIX} + else + eselect emacs update ifunset + fi +} + +pkg_postrm() { + elisp-site-regen + eselect emacs update ifunset +} diff --git a/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150531.ebuild b/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150531.ebuild new file mode 100644 index 000000000000..7f056c1929bf --- /dev/null +++ b/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150531.ebuild @@ -0,0 +1,377 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo + +if [[ ${PV##*.} = 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="git://git.sv.gnu.org/emacs.git" + EGIT_BRANCH="master" + EGIT_CHECKOUT_DIR="${WORKDIR}/emacs" + S="${EGIT_CHECKOUT_DIR}" +else + SRC_URI="http://dev.gentoo.org/~ulm/distfiles/emacs-${PV}.tar.xz + mirror://gnu-alpha/emacs/pretest/emacs-${PV}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + # FULL_VERSION keeps the full version number, which is needed in + # order to determine some path information correctly for copy/move + # operations later on + FULL_VERSION="${PV%%_*}" + #S="${WORKDIR}/emacs-${FULL_VERSION}" + S="${WORKDIR}/emacs" +fi + +DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" +HOMEPAGE="http://www.gnu.org/software/emacs/" + +LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2" +SLOT="25" +IUSE="acl alsa aqua athena cairo dbus games gconf gfile gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib" +REQUIRED_USE="?? ( aqua X )" + +RDEPEND="sys-libs/ncurses + >=app-eselect/eselect-emacs-1.16 + >=app-emacs/emacs-common-gentoo-1.5[games?,X?] + net-libs/liblockfile + acl? ( virtual/acl ) + alsa? ( media-libs/alsa-lib ) + dbus? ( sys-apps/dbus ) + gfile? ( >=dev-libs/glib-2.28.6 ) + gnutls? ( net-libs/gnutls ) + gpm? ( sys-libs/gpm ) + hesiod? ( net-dns/hesiod ) + kerberos? ( virtual/krb5 ) + libxml2? ( >=dev-libs/libxml2-2.2.0 ) + selinux? ( sys-libs/libselinux ) + zlib? ( sys-libs/zlib ) + X? ( + x11-libs/libXmu + x11-libs/libXt + x11-misc/xbitmaps + gconf? ( >=gnome-base/gconf-2.26.2 ) + gsettings? ( >=dev-libs/glib-2.28.6 ) + gif? ( media-libs/giflib ) + jpeg? ( virtual/jpeg:0= ) + png? ( >=media-libs/libpng-1.4:0= ) + svg? ( >=gnome-base/librsvg-2.0 ) + tiff? ( media-libs/tiff:0 ) + xpm? ( x11-libs/libXpm ) + imagemagick? ( >=media-gfx/imagemagick-6.6.2 ) + xft? ( + media-libs/fontconfig + media-libs/freetype + x11-libs/libXft + cairo? ( >=x11-libs/cairo-1.12.18 ) + m17n-lib? ( + >=dev-libs/libotf-0.9.4 + >=dev-libs/m17n-lib-1.5.1 + ) + ) + gtk? ( + gtk3? ( x11-libs/gtk+:3 ) + !gtk3? ( x11-libs/gtk+:2 ) + ) + !gtk? ( + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + Xaw3d? ( x11-libs/libXaw3d ) + !Xaw3d? ( athena? ( x11-libs/libXaw ) ) + ) + ) + )" + +DEPEND="${RDEPEND} + virtual/pkgconfig + gzip-el? ( app-arch/gzip ) + pax_kernel? ( + sys-apps/attr + sys-apps/paxctl + )" + +if [[ ${PV##*.} = 9999 ]]; then + DEPEND="${DEPEND} + sys-apps/texinfo" +fi + +EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}" +SITEFILE="20${PN}-${SLOT}-gentoo.el" + +src_prepare() { + if [[ ${PV##*.} = 9999 ]]; then + FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \ + configure.ac) + [[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version" + einfo "Emacs branch: ${EGIT_BRANCH}" + einfo "Commit: ${EGIT_VERSION}" + einfo "Emacs version number: ${FULL_VERSION}" + [[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \ + || die "Upstream version number changed to ${FULL_VERSION}" + fi + + epatch_user + + # Fix filename reference in redirected man page + sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \ + || die "unable to sed ctags.1" + + AT_M4DIR=m4 eautoreconf +} + +src_configure() { + strip-flags + filter-flags -pie #526948 + + if use sh; then + replace-flags "-O[1-9]" -O0 #262359 + elif use ia64; then + replace-flags "-O[2-9]" -O1 #325373 + else + replace-flags "-O[3-9]" -O2 + fi + + local myconf + + if use alsa; then + use sound || ewarn \ + "USE flag \"alsa\" overrides \"-sound\"; enabling sound support." + myconf+=" --with-sound=alsa" + else + myconf+=" --with-sound=$(usex sound oss)" + fi + + if use X; then + myconf+=" --with-x --without-ns" + myconf+=" $(use_with gconf)" + myconf+=" $(use_with gsettings)" + myconf+=" $(use_with toolkit-scroll-bars)" + myconf+=" $(use_with gif)" + myconf+=" $(use_with jpeg)" + myconf+=" $(use_with png)" + myconf+=" $(use_with svg rsvg)" + myconf+=" $(use_with tiff)" + myconf+=" $(use_with xpm)" + myconf+=" $(use_with imagemagick)" + + if use xft; then + myconf+=" --with-xft" + myconf+=" $(use_with cairo)" + myconf+=" $(use_with m17n-lib libotf)" + myconf+=" $(use_with m17n-lib m17n-flt)" + else + myconf+=" --without-xft" + myconf+=" --without-cairo" + myconf+=" --without-libotf --without-m17n-flt" + use cairo && ewarn \ + "USE flag \"cairo\" has no effect if \"xft\" is not set." + use m17n-lib && ewarn \ + "USE flag \"m17n-lib\" has no effect if \"xft\" is not set." + fi + + local f + if use gtk; then + einfo "Configuring to build with GIMP Toolkit (GTK+)" + while read line; do ewarn "${line}"; done <<-EOF + Your version of GTK+ will have problems with closing open + displays. This is no problem if you just use one display, but + if you use more than one and close one of them Emacs may crash. + See <http://bugzilla.gnome.org/show_bug.cgi?id=85715>. + If you intend to use more than one display, then it is strongly + recommended that you compile Emacs with the Athena/Lucid or the + Motif toolkit instead. + EOF + myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)" + for f in motif Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"gtk\" is set." + done + elif use motif; then + einfo "Configuring to build with Motif toolkit" + myconf+=" --with-x-toolkit=motif" + for f in Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"motif\" is set." + done + elif use athena || use Xaw3d; then + einfo "Configuring to build with Athena/Lucid toolkit" + myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)" + else + einfo "Configuring to build with no toolkit" + myconf+=" --with-x-toolkit=no" + fi + elif use aqua; then + einfo "Configuring to build with Nextstep (Cocoa) support" + myconf+=" --with-ns --disable-ns-self-contained" + myconf+=" --without-x" + else + myconf+=" --without-x --without-ns" + fi + + # Save version information in the Emacs binary. It will be available + # in variable "system-configuration-options". + myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}" + if [[ ${PV##*.} = 9999 ]]; then + myconf+=" EGIT_BRANCH=${EGIT_BRANCH} EGIT_VERSION=${EGIT_VERSION}" + fi + + econf \ + --program-suffix="-${EMACS_SUFFIX}" \ + --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \ + --localstatedir="${EPREFIX}"/var \ + --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \ + --with-gameuser=":gamestat" \ + --without-compress-install \ + --with-file-notification=$(usev gfile || usev inotify || echo no) \ + $(use_enable acl) \ + $(use_with dbus) \ + $(use_with gnutls) \ + $(use_with gpm) \ + $(use_with hesiod) \ + $(use_with kerberos) $(use_with kerberos kerberos5) \ + $(use_with libxml2 xml2) \ + $(use_with selinux) \ + $(use_with wide-int) \ + $(use_with zlib) \ + ${myconf} +} + +src_compile() { + export SANDBOX_ON=0 # for the unbelievers, see Bug #131505 + emake +} + +src_install () { + emake DESTDIR="${D}" NO_BIN_LINK=t install + + mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \ + || die "moving emacs executable failed" + mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \ + || die "moving emacs man page failed" + + # move info dir to avoid collisions with the dir file generated by portage + mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \ + || die "moving info dir failed" + touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir + docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig + + # avoid collision between slots, see bug #169033 e.g. + rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el + rm -rf "${ED}"/usr/share/{appdata,applications,icons} + rm -rf "${ED}"/var + + # remove unused <version>/site-lisp dir + rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp + + # remove COPYING file (except for etc/COPYING used by describe-copying) + rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING + + if use gzip-el; then + # compress .el files when a corresponding .elc exists + find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \ + -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n + assert "gzip .el failed" + fi + + local cdir + if use source; then + cdir="/usr/share/emacs/${FULL_VERSION}/src" + insinto "${cdir}" + # This is not meant to install all the source -- just the + # C source you might find via find-function + doins src/*.{c,h,m} + elif has installsources ${FEATURES}; then + cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src" + fi + + sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF + X + ;;; ${PN}-${SLOT} site-lisp configuration + X + (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version) + Y (setq find-function-C-source-directory + Y "${EPREFIX}${cdir}") + X (let ((path (getenv "INFOPATH")) + X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}") + X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>")) + X (and path + X ;; move Emacs Info dir before anything else in /usr/share/info + X (let* ((p (cons nil (split-string path ":" t))) (q p)) + X (while (and (cdr q) (not (string-match re (cadr q)))) + X (setq q (cdr q))) + X (setcdr q (cons dir (delete dir (cdr q)))) + X (setq Info-directory-list (prune-directory-list (cdr p))))))) + EOF + elisp-site-file-install "${T}/${SITEFILE}" || die + + dodoc README BUGS CONTRIBUTE + + if use aqua; then + dodir /Applications/Gentoo + rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app + mv nextstep/Emacs.app \ + "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die + fi + + DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs + through the Emacs eselect module, which also redirects man and info + pages. Therefore, several Emacs versions can be installed at the + same time. \"man emacs.eselect\" for details. + \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is + strongly recommended that you use app-admin/emacs-updater to rebuild + all byte-compiled elisp files of the installed Emacs packages." + use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs. + Installing media-fonts/font-adobe-{75,100}dpi on the X server's + machine would satisfy basic Emacs requirements under X11. + See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs + for how to enable anti-aliased fonts." + use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in + \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink + it into /Applications by yourself." + readme.gentoo_create_doc +} + +pkg_preinst() { + # move Info dir file to correct name + local infodir=/usr/share/info/${EMACS_SUFFIX} f + if [[ -f ${ED}${infodir}/dir.orig ]]; then + mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed" + elif [[ -d "${ED}"${infodir} ]]; then + # this should not happen in EAPI 4 + ewarn "Regenerating Info directory index in ${infodir} ..." + rm -f "${ED}"${infodir}/dir{,.*} + for f in "${ED}"${infodir}/*; do + if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then + install-info --info-dir="${ED}"${infodir} "${f}" \ + || die "install-info failed" + fi + done + fi +} + +pkg_postinst() { + elisp-site-regen + + local pvr + for pvr in ${REPLACING_VERSIONS}; do + [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1 + done + readme.gentoo_print_elog + + if use livecd; then + # force an update of the emacs symlink for the livecd/dvd, + # because some microemacs packages set it with USE=livecd + eselect emacs update + elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then + # refresh symlinks in case any installed files have changed + eselect emacs set ${EMACS_SUFFIX} + else + eselect emacs update ifunset + fi +} + +pkg_postrm() { + elisp-site-regen + eselect emacs update ifunset +} diff --git a/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150630.ebuild b/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150630.ebuild new file mode 100644 index 000000000000..7f056c1929bf --- /dev/null +++ b/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150630.ebuild @@ -0,0 +1,377 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo + +if [[ ${PV##*.} = 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="git://git.sv.gnu.org/emacs.git" + EGIT_BRANCH="master" + EGIT_CHECKOUT_DIR="${WORKDIR}/emacs" + S="${EGIT_CHECKOUT_DIR}" +else + SRC_URI="http://dev.gentoo.org/~ulm/distfiles/emacs-${PV}.tar.xz + mirror://gnu-alpha/emacs/pretest/emacs-${PV}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + # FULL_VERSION keeps the full version number, which is needed in + # order to determine some path information correctly for copy/move + # operations later on + FULL_VERSION="${PV%%_*}" + #S="${WORKDIR}/emacs-${FULL_VERSION}" + S="${WORKDIR}/emacs" +fi + +DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" +HOMEPAGE="http://www.gnu.org/software/emacs/" + +LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2" +SLOT="25" +IUSE="acl alsa aqua athena cairo dbus games gconf gfile gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib" +REQUIRED_USE="?? ( aqua X )" + +RDEPEND="sys-libs/ncurses + >=app-eselect/eselect-emacs-1.16 + >=app-emacs/emacs-common-gentoo-1.5[games?,X?] + net-libs/liblockfile + acl? ( virtual/acl ) + alsa? ( media-libs/alsa-lib ) + dbus? ( sys-apps/dbus ) + gfile? ( >=dev-libs/glib-2.28.6 ) + gnutls? ( net-libs/gnutls ) + gpm? ( sys-libs/gpm ) + hesiod? ( net-dns/hesiod ) + kerberos? ( virtual/krb5 ) + libxml2? ( >=dev-libs/libxml2-2.2.0 ) + selinux? ( sys-libs/libselinux ) + zlib? ( sys-libs/zlib ) + X? ( + x11-libs/libXmu + x11-libs/libXt + x11-misc/xbitmaps + gconf? ( >=gnome-base/gconf-2.26.2 ) + gsettings? ( >=dev-libs/glib-2.28.6 ) + gif? ( media-libs/giflib ) + jpeg? ( virtual/jpeg:0= ) + png? ( >=media-libs/libpng-1.4:0= ) + svg? ( >=gnome-base/librsvg-2.0 ) + tiff? ( media-libs/tiff:0 ) + xpm? ( x11-libs/libXpm ) + imagemagick? ( >=media-gfx/imagemagick-6.6.2 ) + xft? ( + media-libs/fontconfig + media-libs/freetype + x11-libs/libXft + cairo? ( >=x11-libs/cairo-1.12.18 ) + m17n-lib? ( + >=dev-libs/libotf-0.9.4 + >=dev-libs/m17n-lib-1.5.1 + ) + ) + gtk? ( + gtk3? ( x11-libs/gtk+:3 ) + !gtk3? ( x11-libs/gtk+:2 ) + ) + !gtk? ( + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + Xaw3d? ( x11-libs/libXaw3d ) + !Xaw3d? ( athena? ( x11-libs/libXaw ) ) + ) + ) + )" + +DEPEND="${RDEPEND} + virtual/pkgconfig + gzip-el? ( app-arch/gzip ) + pax_kernel? ( + sys-apps/attr + sys-apps/paxctl + )" + +if [[ ${PV##*.} = 9999 ]]; then + DEPEND="${DEPEND} + sys-apps/texinfo" +fi + +EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}" +SITEFILE="20${PN}-${SLOT}-gentoo.el" + +src_prepare() { + if [[ ${PV##*.} = 9999 ]]; then + FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \ + configure.ac) + [[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version" + einfo "Emacs branch: ${EGIT_BRANCH}" + einfo "Commit: ${EGIT_VERSION}" + einfo "Emacs version number: ${FULL_VERSION}" + [[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \ + || die "Upstream version number changed to ${FULL_VERSION}" + fi + + epatch_user + + # Fix filename reference in redirected man page + sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \ + || die "unable to sed ctags.1" + + AT_M4DIR=m4 eautoreconf +} + +src_configure() { + strip-flags + filter-flags -pie #526948 + + if use sh; then + replace-flags "-O[1-9]" -O0 #262359 + elif use ia64; then + replace-flags "-O[2-9]" -O1 #325373 + else + replace-flags "-O[3-9]" -O2 + fi + + local myconf + + if use alsa; then + use sound || ewarn \ + "USE flag \"alsa\" overrides \"-sound\"; enabling sound support." + myconf+=" --with-sound=alsa" + else + myconf+=" --with-sound=$(usex sound oss)" + fi + + if use X; then + myconf+=" --with-x --without-ns" + myconf+=" $(use_with gconf)" + myconf+=" $(use_with gsettings)" + myconf+=" $(use_with toolkit-scroll-bars)" + myconf+=" $(use_with gif)" + myconf+=" $(use_with jpeg)" + myconf+=" $(use_with png)" + myconf+=" $(use_with svg rsvg)" + myconf+=" $(use_with tiff)" + myconf+=" $(use_with xpm)" + myconf+=" $(use_with imagemagick)" + + if use xft; then + myconf+=" --with-xft" + myconf+=" $(use_with cairo)" + myconf+=" $(use_with m17n-lib libotf)" + myconf+=" $(use_with m17n-lib m17n-flt)" + else + myconf+=" --without-xft" + myconf+=" --without-cairo" + myconf+=" --without-libotf --without-m17n-flt" + use cairo && ewarn \ + "USE flag \"cairo\" has no effect if \"xft\" is not set." + use m17n-lib && ewarn \ + "USE flag \"m17n-lib\" has no effect if \"xft\" is not set." + fi + + local f + if use gtk; then + einfo "Configuring to build with GIMP Toolkit (GTK+)" + while read line; do ewarn "${line}"; done <<-EOF + Your version of GTK+ will have problems with closing open + displays. This is no problem if you just use one display, but + if you use more than one and close one of them Emacs may crash. + See <http://bugzilla.gnome.org/show_bug.cgi?id=85715>. + If you intend to use more than one display, then it is strongly + recommended that you compile Emacs with the Athena/Lucid or the + Motif toolkit instead. + EOF + myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)" + for f in motif Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"gtk\" is set." + done + elif use motif; then + einfo "Configuring to build with Motif toolkit" + myconf+=" --with-x-toolkit=motif" + for f in Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"motif\" is set." + done + elif use athena || use Xaw3d; then + einfo "Configuring to build with Athena/Lucid toolkit" + myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)" + else + einfo "Configuring to build with no toolkit" + myconf+=" --with-x-toolkit=no" + fi + elif use aqua; then + einfo "Configuring to build with Nextstep (Cocoa) support" + myconf+=" --with-ns --disable-ns-self-contained" + myconf+=" --without-x" + else + myconf+=" --without-x --without-ns" + fi + + # Save version information in the Emacs binary. It will be available + # in variable "system-configuration-options". + myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}" + if [[ ${PV##*.} = 9999 ]]; then + myconf+=" EGIT_BRANCH=${EGIT_BRANCH} EGIT_VERSION=${EGIT_VERSION}" + fi + + econf \ + --program-suffix="-${EMACS_SUFFIX}" \ + --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \ + --localstatedir="${EPREFIX}"/var \ + --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \ + --with-gameuser=":gamestat" \ + --without-compress-install \ + --with-file-notification=$(usev gfile || usev inotify || echo no) \ + $(use_enable acl) \ + $(use_with dbus) \ + $(use_with gnutls) \ + $(use_with gpm) \ + $(use_with hesiod) \ + $(use_with kerberos) $(use_with kerberos kerberos5) \ + $(use_with libxml2 xml2) \ + $(use_with selinux) \ + $(use_with wide-int) \ + $(use_with zlib) \ + ${myconf} +} + +src_compile() { + export SANDBOX_ON=0 # for the unbelievers, see Bug #131505 + emake +} + +src_install () { + emake DESTDIR="${D}" NO_BIN_LINK=t install + + mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \ + || die "moving emacs executable failed" + mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \ + || die "moving emacs man page failed" + + # move info dir to avoid collisions with the dir file generated by portage + mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \ + || die "moving info dir failed" + touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir + docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig + + # avoid collision between slots, see bug #169033 e.g. + rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el + rm -rf "${ED}"/usr/share/{appdata,applications,icons} + rm -rf "${ED}"/var + + # remove unused <version>/site-lisp dir + rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp + + # remove COPYING file (except for etc/COPYING used by describe-copying) + rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING + + if use gzip-el; then + # compress .el files when a corresponding .elc exists + find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \ + -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n + assert "gzip .el failed" + fi + + local cdir + if use source; then + cdir="/usr/share/emacs/${FULL_VERSION}/src" + insinto "${cdir}" + # This is not meant to install all the source -- just the + # C source you might find via find-function + doins src/*.{c,h,m} + elif has installsources ${FEATURES}; then + cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src" + fi + + sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF + X + ;;; ${PN}-${SLOT} site-lisp configuration + X + (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version) + Y (setq find-function-C-source-directory + Y "${EPREFIX}${cdir}") + X (let ((path (getenv "INFOPATH")) + X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}") + X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>")) + X (and path + X ;; move Emacs Info dir before anything else in /usr/share/info + X (let* ((p (cons nil (split-string path ":" t))) (q p)) + X (while (and (cdr q) (not (string-match re (cadr q)))) + X (setq q (cdr q))) + X (setcdr q (cons dir (delete dir (cdr q)))) + X (setq Info-directory-list (prune-directory-list (cdr p))))))) + EOF + elisp-site-file-install "${T}/${SITEFILE}" || die + + dodoc README BUGS CONTRIBUTE + + if use aqua; then + dodir /Applications/Gentoo + rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app + mv nextstep/Emacs.app \ + "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die + fi + + DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs + through the Emacs eselect module, which also redirects man and info + pages. Therefore, several Emacs versions can be installed at the + same time. \"man emacs.eselect\" for details. + \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is + strongly recommended that you use app-admin/emacs-updater to rebuild + all byte-compiled elisp files of the installed Emacs packages." + use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs. + Installing media-fonts/font-adobe-{75,100}dpi on the X server's + machine would satisfy basic Emacs requirements under X11. + See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs + for how to enable anti-aliased fonts." + use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in + \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink + it into /Applications by yourself." + readme.gentoo_create_doc +} + +pkg_preinst() { + # move Info dir file to correct name + local infodir=/usr/share/info/${EMACS_SUFFIX} f + if [[ -f ${ED}${infodir}/dir.orig ]]; then + mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed" + elif [[ -d "${ED}"${infodir} ]]; then + # this should not happen in EAPI 4 + ewarn "Regenerating Info directory index in ${infodir} ..." + rm -f "${ED}"${infodir}/dir{,.*} + for f in "${ED}"${infodir}/*; do + if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then + install-info --info-dir="${ED}"${infodir} "${f}" \ + || die "install-info failed" + fi + done + fi +} + +pkg_postinst() { + elisp-site-regen + + local pvr + for pvr in ${REPLACING_VERSIONS}; do + [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1 + done + readme.gentoo_print_elog + + if use livecd; then + # force an update of the emacs symlink for the livecd/dvd, + # because some microemacs packages set it with USE=livecd + eselect emacs update + elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then + # refresh symlinks in case any installed files have changed + eselect emacs set ${EMACS_SUFFIX} + else + eselect emacs update ifunset + fi +} + +pkg_postrm() { + elisp-site-regen + eselect emacs update ifunset +} diff --git a/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150731.ebuild b/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150731.ebuild new file mode 100644 index 000000000000..7f056c1929bf --- /dev/null +++ b/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150731.ebuild @@ -0,0 +1,377 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo + +if [[ ${PV##*.} = 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="git://git.sv.gnu.org/emacs.git" + EGIT_BRANCH="master" + EGIT_CHECKOUT_DIR="${WORKDIR}/emacs" + S="${EGIT_CHECKOUT_DIR}" +else + SRC_URI="http://dev.gentoo.org/~ulm/distfiles/emacs-${PV}.tar.xz + mirror://gnu-alpha/emacs/pretest/emacs-${PV}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + # FULL_VERSION keeps the full version number, which is needed in + # order to determine some path information correctly for copy/move + # operations later on + FULL_VERSION="${PV%%_*}" + #S="${WORKDIR}/emacs-${FULL_VERSION}" + S="${WORKDIR}/emacs" +fi + +DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" +HOMEPAGE="http://www.gnu.org/software/emacs/" + +LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2" +SLOT="25" +IUSE="acl alsa aqua athena cairo dbus games gconf gfile gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib" +REQUIRED_USE="?? ( aqua X )" + +RDEPEND="sys-libs/ncurses + >=app-eselect/eselect-emacs-1.16 + >=app-emacs/emacs-common-gentoo-1.5[games?,X?] + net-libs/liblockfile + acl? ( virtual/acl ) + alsa? ( media-libs/alsa-lib ) + dbus? ( sys-apps/dbus ) + gfile? ( >=dev-libs/glib-2.28.6 ) + gnutls? ( net-libs/gnutls ) + gpm? ( sys-libs/gpm ) + hesiod? ( net-dns/hesiod ) + kerberos? ( virtual/krb5 ) + libxml2? ( >=dev-libs/libxml2-2.2.0 ) + selinux? ( sys-libs/libselinux ) + zlib? ( sys-libs/zlib ) + X? ( + x11-libs/libXmu + x11-libs/libXt + x11-misc/xbitmaps + gconf? ( >=gnome-base/gconf-2.26.2 ) + gsettings? ( >=dev-libs/glib-2.28.6 ) + gif? ( media-libs/giflib ) + jpeg? ( virtual/jpeg:0= ) + png? ( >=media-libs/libpng-1.4:0= ) + svg? ( >=gnome-base/librsvg-2.0 ) + tiff? ( media-libs/tiff:0 ) + xpm? ( x11-libs/libXpm ) + imagemagick? ( >=media-gfx/imagemagick-6.6.2 ) + xft? ( + media-libs/fontconfig + media-libs/freetype + x11-libs/libXft + cairo? ( >=x11-libs/cairo-1.12.18 ) + m17n-lib? ( + >=dev-libs/libotf-0.9.4 + >=dev-libs/m17n-lib-1.5.1 + ) + ) + gtk? ( + gtk3? ( x11-libs/gtk+:3 ) + !gtk3? ( x11-libs/gtk+:2 ) + ) + !gtk? ( + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + Xaw3d? ( x11-libs/libXaw3d ) + !Xaw3d? ( athena? ( x11-libs/libXaw ) ) + ) + ) + )" + +DEPEND="${RDEPEND} + virtual/pkgconfig + gzip-el? ( app-arch/gzip ) + pax_kernel? ( + sys-apps/attr + sys-apps/paxctl + )" + +if [[ ${PV##*.} = 9999 ]]; then + DEPEND="${DEPEND} + sys-apps/texinfo" +fi + +EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}" +SITEFILE="20${PN}-${SLOT}-gentoo.el" + +src_prepare() { + if [[ ${PV##*.} = 9999 ]]; then + FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \ + configure.ac) + [[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version" + einfo "Emacs branch: ${EGIT_BRANCH}" + einfo "Commit: ${EGIT_VERSION}" + einfo "Emacs version number: ${FULL_VERSION}" + [[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \ + || die "Upstream version number changed to ${FULL_VERSION}" + fi + + epatch_user + + # Fix filename reference in redirected man page + sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \ + || die "unable to sed ctags.1" + + AT_M4DIR=m4 eautoreconf +} + +src_configure() { + strip-flags + filter-flags -pie #526948 + + if use sh; then + replace-flags "-O[1-9]" -O0 #262359 + elif use ia64; then + replace-flags "-O[2-9]" -O1 #325373 + else + replace-flags "-O[3-9]" -O2 + fi + + local myconf + + if use alsa; then + use sound || ewarn \ + "USE flag \"alsa\" overrides \"-sound\"; enabling sound support." + myconf+=" --with-sound=alsa" + else + myconf+=" --with-sound=$(usex sound oss)" + fi + + if use X; then + myconf+=" --with-x --without-ns" + myconf+=" $(use_with gconf)" + myconf+=" $(use_with gsettings)" + myconf+=" $(use_with toolkit-scroll-bars)" + myconf+=" $(use_with gif)" + myconf+=" $(use_with jpeg)" + myconf+=" $(use_with png)" + myconf+=" $(use_with svg rsvg)" + myconf+=" $(use_with tiff)" + myconf+=" $(use_with xpm)" + myconf+=" $(use_with imagemagick)" + + if use xft; then + myconf+=" --with-xft" + myconf+=" $(use_with cairo)" + myconf+=" $(use_with m17n-lib libotf)" + myconf+=" $(use_with m17n-lib m17n-flt)" + else + myconf+=" --without-xft" + myconf+=" --without-cairo" + myconf+=" --without-libotf --without-m17n-flt" + use cairo && ewarn \ + "USE flag \"cairo\" has no effect if \"xft\" is not set." + use m17n-lib && ewarn \ + "USE flag \"m17n-lib\" has no effect if \"xft\" is not set." + fi + + local f + if use gtk; then + einfo "Configuring to build with GIMP Toolkit (GTK+)" + while read line; do ewarn "${line}"; done <<-EOF + Your version of GTK+ will have problems with closing open + displays. This is no problem if you just use one display, but + if you use more than one and close one of them Emacs may crash. + See <http://bugzilla.gnome.org/show_bug.cgi?id=85715>. + If you intend to use more than one display, then it is strongly + recommended that you compile Emacs with the Athena/Lucid or the + Motif toolkit instead. + EOF + myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)" + for f in motif Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"gtk\" is set." + done + elif use motif; then + einfo "Configuring to build with Motif toolkit" + myconf+=" --with-x-toolkit=motif" + for f in Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"motif\" is set." + done + elif use athena || use Xaw3d; then + einfo "Configuring to build with Athena/Lucid toolkit" + myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)" + else + einfo "Configuring to build with no toolkit" + myconf+=" --with-x-toolkit=no" + fi + elif use aqua; then + einfo "Configuring to build with Nextstep (Cocoa) support" + myconf+=" --with-ns --disable-ns-self-contained" + myconf+=" --without-x" + else + myconf+=" --without-x --without-ns" + fi + + # Save version information in the Emacs binary. It will be available + # in variable "system-configuration-options". + myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}" + if [[ ${PV##*.} = 9999 ]]; then + myconf+=" EGIT_BRANCH=${EGIT_BRANCH} EGIT_VERSION=${EGIT_VERSION}" + fi + + econf \ + --program-suffix="-${EMACS_SUFFIX}" \ + --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \ + --localstatedir="${EPREFIX}"/var \ + --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \ + --with-gameuser=":gamestat" \ + --without-compress-install \ + --with-file-notification=$(usev gfile || usev inotify || echo no) \ + $(use_enable acl) \ + $(use_with dbus) \ + $(use_with gnutls) \ + $(use_with gpm) \ + $(use_with hesiod) \ + $(use_with kerberos) $(use_with kerberos kerberos5) \ + $(use_with libxml2 xml2) \ + $(use_with selinux) \ + $(use_with wide-int) \ + $(use_with zlib) \ + ${myconf} +} + +src_compile() { + export SANDBOX_ON=0 # for the unbelievers, see Bug #131505 + emake +} + +src_install () { + emake DESTDIR="${D}" NO_BIN_LINK=t install + + mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \ + || die "moving emacs executable failed" + mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \ + || die "moving emacs man page failed" + + # move info dir to avoid collisions with the dir file generated by portage + mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \ + || die "moving info dir failed" + touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir + docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig + + # avoid collision between slots, see bug #169033 e.g. + rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el + rm -rf "${ED}"/usr/share/{appdata,applications,icons} + rm -rf "${ED}"/var + + # remove unused <version>/site-lisp dir + rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp + + # remove COPYING file (except for etc/COPYING used by describe-copying) + rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING + + if use gzip-el; then + # compress .el files when a corresponding .elc exists + find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \ + -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n + assert "gzip .el failed" + fi + + local cdir + if use source; then + cdir="/usr/share/emacs/${FULL_VERSION}/src" + insinto "${cdir}" + # This is not meant to install all the source -- just the + # C source you might find via find-function + doins src/*.{c,h,m} + elif has installsources ${FEATURES}; then + cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src" + fi + + sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF + X + ;;; ${PN}-${SLOT} site-lisp configuration + X + (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version) + Y (setq find-function-C-source-directory + Y "${EPREFIX}${cdir}") + X (let ((path (getenv "INFOPATH")) + X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}") + X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>")) + X (and path + X ;; move Emacs Info dir before anything else in /usr/share/info + X (let* ((p (cons nil (split-string path ":" t))) (q p)) + X (while (and (cdr q) (not (string-match re (cadr q)))) + X (setq q (cdr q))) + X (setcdr q (cons dir (delete dir (cdr q)))) + X (setq Info-directory-list (prune-directory-list (cdr p))))))) + EOF + elisp-site-file-install "${T}/${SITEFILE}" || die + + dodoc README BUGS CONTRIBUTE + + if use aqua; then + dodir /Applications/Gentoo + rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app + mv nextstep/Emacs.app \ + "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die + fi + + DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs + through the Emacs eselect module, which also redirects man and info + pages. Therefore, several Emacs versions can be installed at the + same time. \"man emacs.eselect\" for details. + \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is + strongly recommended that you use app-admin/emacs-updater to rebuild + all byte-compiled elisp files of the installed Emacs packages." + use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs. + Installing media-fonts/font-adobe-{75,100}dpi on the X server's + machine would satisfy basic Emacs requirements under X11. + See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs + for how to enable anti-aliased fonts." + use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in + \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink + it into /Applications by yourself." + readme.gentoo_create_doc +} + +pkg_preinst() { + # move Info dir file to correct name + local infodir=/usr/share/info/${EMACS_SUFFIX} f + if [[ -f ${ED}${infodir}/dir.orig ]]; then + mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed" + elif [[ -d "${ED}"${infodir} ]]; then + # this should not happen in EAPI 4 + ewarn "Regenerating Info directory index in ${infodir} ..." + rm -f "${ED}"${infodir}/dir{,.*} + for f in "${ED}"${infodir}/*; do + if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then + install-info --info-dir="${ED}"${infodir} "${f}" \ + || die "install-info failed" + fi + done + fi +} + +pkg_postinst() { + elisp-site-regen + + local pvr + for pvr in ${REPLACING_VERSIONS}; do + [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1 + done + readme.gentoo_print_elog + + if use livecd; then + # force an update of the emacs symlink for the livecd/dvd, + # because some microemacs packages set it with USE=livecd + eselect emacs update + elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then + # refresh symlinks in case any installed files have changed + eselect emacs set ${EMACS_SUFFIX} + else + eselect emacs update ifunset + fi +} + +pkg_postrm() { + elisp-site-regen + eselect emacs update ifunset +} diff --git a/app-editors/emacs-vcs/emacs-vcs-25.0.9999-r1.ebuild b/app-editors/emacs-vcs/emacs-vcs-25.0.9999-r1.ebuild new file mode 100644 index 000000000000..7f056c1929bf --- /dev/null +++ b/app-editors/emacs-vcs/emacs-vcs-25.0.9999-r1.ebuild @@ -0,0 +1,377 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo + +if [[ ${PV##*.} = 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="git://git.sv.gnu.org/emacs.git" + EGIT_BRANCH="master" + EGIT_CHECKOUT_DIR="${WORKDIR}/emacs" + S="${EGIT_CHECKOUT_DIR}" +else + SRC_URI="http://dev.gentoo.org/~ulm/distfiles/emacs-${PV}.tar.xz + mirror://gnu-alpha/emacs/pretest/emacs-${PV}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + # FULL_VERSION keeps the full version number, which is needed in + # order to determine some path information correctly for copy/move + # operations later on + FULL_VERSION="${PV%%_*}" + #S="${WORKDIR}/emacs-${FULL_VERSION}" + S="${WORKDIR}/emacs" +fi + +DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" +HOMEPAGE="http://www.gnu.org/software/emacs/" + +LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2" +SLOT="25" +IUSE="acl alsa aqua athena cairo dbus games gconf gfile gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib" +REQUIRED_USE="?? ( aqua X )" + +RDEPEND="sys-libs/ncurses + >=app-eselect/eselect-emacs-1.16 + >=app-emacs/emacs-common-gentoo-1.5[games?,X?] + net-libs/liblockfile + acl? ( virtual/acl ) + alsa? ( media-libs/alsa-lib ) + dbus? ( sys-apps/dbus ) + gfile? ( >=dev-libs/glib-2.28.6 ) + gnutls? ( net-libs/gnutls ) + gpm? ( sys-libs/gpm ) + hesiod? ( net-dns/hesiod ) + kerberos? ( virtual/krb5 ) + libxml2? ( >=dev-libs/libxml2-2.2.0 ) + selinux? ( sys-libs/libselinux ) + zlib? ( sys-libs/zlib ) + X? ( + x11-libs/libXmu + x11-libs/libXt + x11-misc/xbitmaps + gconf? ( >=gnome-base/gconf-2.26.2 ) + gsettings? ( >=dev-libs/glib-2.28.6 ) + gif? ( media-libs/giflib ) + jpeg? ( virtual/jpeg:0= ) + png? ( >=media-libs/libpng-1.4:0= ) + svg? ( >=gnome-base/librsvg-2.0 ) + tiff? ( media-libs/tiff:0 ) + xpm? ( x11-libs/libXpm ) + imagemagick? ( >=media-gfx/imagemagick-6.6.2 ) + xft? ( + media-libs/fontconfig + media-libs/freetype + x11-libs/libXft + cairo? ( >=x11-libs/cairo-1.12.18 ) + m17n-lib? ( + >=dev-libs/libotf-0.9.4 + >=dev-libs/m17n-lib-1.5.1 + ) + ) + gtk? ( + gtk3? ( x11-libs/gtk+:3 ) + !gtk3? ( x11-libs/gtk+:2 ) + ) + !gtk? ( + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + Xaw3d? ( x11-libs/libXaw3d ) + !Xaw3d? ( athena? ( x11-libs/libXaw ) ) + ) + ) + )" + +DEPEND="${RDEPEND} + virtual/pkgconfig + gzip-el? ( app-arch/gzip ) + pax_kernel? ( + sys-apps/attr + sys-apps/paxctl + )" + +if [[ ${PV##*.} = 9999 ]]; then + DEPEND="${DEPEND} + sys-apps/texinfo" +fi + +EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}" +SITEFILE="20${PN}-${SLOT}-gentoo.el" + +src_prepare() { + if [[ ${PV##*.} = 9999 ]]; then + FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \ + configure.ac) + [[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version" + einfo "Emacs branch: ${EGIT_BRANCH}" + einfo "Commit: ${EGIT_VERSION}" + einfo "Emacs version number: ${FULL_VERSION}" + [[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \ + || die "Upstream version number changed to ${FULL_VERSION}" + fi + + epatch_user + + # Fix filename reference in redirected man page + sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \ + || die "unable to sed ctags.1" + + AT_M4DIR=m4 eautoreconf +} + +src_configure() { + strip-flags + filter-flags -pie #526948 + + if use sh; then + replace-flags "-O[1-9]" -O0 #262359 + elif use ia64; then + replace-flags "-O[2-9]" -O1 #325373 + else + replace-flags "-O[3-9]" -O2 + fi + + local myconf + + if use alsa; then + use sound || ewarn \ + "USE flag \"alsa\" overrides \"-sound\"; enabling sound support." + myconf+=" --with-sound=alsa" + else + myconf+=" --with-sound=$(usex sound oss)" + fi + + if use X; then + myconf+=" --with-x --without-ns" + myconf+=" $(use_with gconf)" + myconf+=" $(use_with gsettings)" + myconf+=" $(use_with toolkit-scroll-bars)" + myconf+=" $(use_with gif)" + myconf+=" $(use_with jpeg)" + myconf+=" $(use_with png)" + myconf+=" $(use_with svg rsvg)" + myconf+=" $(use_with tiff)" + myconf+=" $(use_with xpm)" + myconf+=" $(use_with imagemagick)" + + if use xft; then + myconf+=" --with-xft" + myconf+=" $(use_with cairo)" + myconf+=" $(use_with m17n-lib libotf)" + myconf+=" $(use_with m17n-lib m17n-flt)" + else + myconf+=" --without-xft" + myconf+=" --without-cairo" + myconf+=" --without-libotf --without-m17n-flt" + use cairo && ewarn \ + "USE flag \"cairo\" has no effect if \"xft\" is not set." + use m17n-lib && ewarn \ + "USE flag \"m17n-lib\" has no effect if \"xft\" is not set." + fi + + local f + if use gtk; then + einfo "Configuring to build with GIMP Toolkit (GTK+)" + while read line; do ewarn "${line}"; done <<-EOF + Your version of GTK+ will have problems with closing open + displays. This is no problem if you just use one display, but + if you use more than one and close one of them Emacs may crash. + See <http://bugzilla.gnome.org/show_bug.cgi?id=85715>. + If you intend to use more than one display, then it is strongly + recommended that you compile Emacs with the Athena/Lucid or the + Motif toolkit instead. + EOF + myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)" + for f in motif Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"gtk\" is set." + done + elif use motif; then + einfo "Configuring to build with Motif toolkit" + myconf+=" --with-x-toolkit=motif" + for f in Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"motif\" is set." + done + elif use athena || use Xaw3d; then + einfo "Configuring to build with Athena/Lucid toolkit" + myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)" + else + einfo "Configuring to build with no toolkit" + myconf+=" --with-x-toolkit=no" + fi + elif use aqua; then + einfo "Configuring to build with Nextstep (Cocoa) support" + myconf+=" --with-ns --disable-ns-self-contained" + myconf+=" --without-x" + else + myconf+=" --without-x --without-ns" + fi + + # Save version information in the Emacs binary. It will be available + # in variable "system-configuration-options". + myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}" + if [[ ${PV##*.} = 9999 ]]; then + myconf+=" EGIT_BRANCH=${EGIT_BRANCH} EGIT_VERSION=${EGIT_VERSION}" + fi + + econf \ + --program-suffix="-${EMACS_SUFFIX}" \ + --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \ + --localstatedir="${EPREFIX}"/var \ + --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \ + --with-gameuser=":gamestat" \ + --without-compress-install \ + --with-file-notification=$(usev gfile || usev inotify || echo no) \ + $(use_enable acl) \ + $(use_with dbus) \ + $(use_with gnutls) \ + $(use_with gpm) \ + $(use_with hesiod) \ + $(use_with kerberos) $(use_with kerberos kerberos5) \ + $(use_with libxml2 xml2) \ + $(use_with selinux) \ + $(use_with wide-int) \ + $(use_with zlib) \ + ${myconf} +} + +src_compile() { + export SANDBOX_ON=0 # for the unbelievers, see Bug #131505 + emake +} + +src_install () { + emake DESTDIR="${D}" NO_BIN_LINK=t install + + mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \ + || die "moving emacs executable failed" + mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \ + || die "moving emacs man page failed" + + # move info dir to avoid collisions with the dir file generated by portage + mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \ + || die "moving info dir failed" + touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir + docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig + + # avoid collision between slots, see bug #169033 e.g. + rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el + rm -rf "${ED}"/usr/share/{appdata,applications,icons} + rm -rf "${ED}"/var + + # remove unused <version>/site-lisp dir + rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp + + # remove COPYING file (except for etc/COPYING used by describe-copying) + rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING + + if use gzip-el; then + # compress .el files when a corresponding .elc exists + find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \ + -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n + assert "gzip .el failed" + fi + + local cdir + if use source; then + cdir="/usr/share/emacs/${FULL_VERSION}/src" + insinto "${cdir}" + # This is not meant to install all the source -- just the + # C source you might find via find-function + doins src/*.{c,h,m} + elif has installsources ${FEATURES}; then + cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src" + fi + + sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF + X + ;;; ${PN}-${SLOT} site-lisp configuration + X + (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version) + Y (setq find-function-C-source-directory + Y "${EPREFIX}${cdir}") + X (let ((path (getenv "INFOPATH")) + X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}") + X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>")) + X (and path + X ;; move Emacs Info dir before anything else in /usr/share/info + X (let* ((p (cons nil (split-string path ":" t))) (q p)) + X (while (and (cdr q) (not (string-match re (cadr q)))) + X (setq q (cdr q))) + X (setcdr q (cons dir (delete dir (cdr q)))) + X (setq Info-directory-list (prune-directory-list (cdr p))))))) + EOF + elisp-site-file-install "${T}/${SITEFILE}" || die + + dodoc README BUGS CONTRIBUTE + + if use aqua; then + dodir /Applications/Gentoo + rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app + mv nextstep/Emacs.app \ + "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die + fi + + DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs + through the Emacs eselect module, which also redirects man and info + pages. Therefore, several Emacs versions can be installed at the + same time. \"man emacs.eselect\" for details. + \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is + strongly recommended that you use app-admin/emacs-updater to rebuild + all byte-compiled elisp files of the installed Emacs packages." + use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs. + Installing media-fonts/font-adobe-{75,100}dpi on the X server's + machine would satisfy basic Emacs requirements under X11. + See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs + for how to enable anti-aliased fonts." + use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in + \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink + it into /Applications by yourself." + readme.gentoo_create_doc +} + +pkg_preinst() { + # move Info dir file to correct name + local infodir=/usr/share/info/${EMACS_SUFFIX} f + if [[ -f ${ED}${infodir}/dir.orig ]]; then + mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed" + elif [[ -d "${ED}"${infodir} ]]; then + # this should not happen in EAPI 4 + ewarn "Regenerating Info directory index in ${infodir} ..." + rm -f "${ED}"${infodir}/dir{,.*} + for f in "${ED}"${infodir}/*; do + if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then + install-info --info-dir="${ED}"${infodir} "${f}" \ + || die "install-info failed" + fi + done + fi +} + +pkg_postinst() { + elisp-site-regen + + local pvr + for pvr in ${REPLACING_VERSIONS}; do + [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1 + done + readme.gentoo_print_elog + + if use livecd; then + # force an update of the emacs symlink for the livecd/dvd, + # because some microemacs packages set it with USE=livecd + eselect emacs update + elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then + # refresh symlinks in case any installed files have changed + eselect emacs set ${EMACS_SUFFIX} + else + eselect emacs update ifunset + fi +} + +pkg_postrm() { + elisp-site-regen + eselect emacs update ifunset +} diff --git a/app-editors/emacs-vcs/metadata.xml b/app-editors/emacs-vcs/metadata.xml new file mode 100644 index 000000000000..88ecff51f01c --- /dev/null +++ b/app-editors/emacs-vcs/metadata.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>emacs</herd> +<longdescription> + GNU Emacs is an extensible, customizable text editor - and more. At its core + is an interpreter for Emacs Lisp, a dialect of the Lisp programming language + with extensions to support text editing. The features of GNU Emacs include: + * Content-sensitive editing modes, including syntax coloring, for a variety + of file types including plain text, source code, and HTML. + * Complete built-in documentation, including a tutorial for new users. + * Full Unicode support for nearly all human languages and their scripts. + * Highly customizable, using Emacs Lisp code or a graphical interface. + * A large number of extensions that add other functionality, including a + project planner, mail and news reader, debugger interface, calendar, and + more. Many of these extensions are distributed with GNU Emacs; others are + available separately. +</longdescription> +<use> + <flag name='athena'>Enable the MIT Athena widget set + (<pkg>x11-libs/libXaw</pkg>)</flag> + <flag name='games'>Support shared score files for games</flag> + <flag name='gconf'>Use <pkg>gnome-base/gconf</pkg> to read the system + font name</flag> + <flag name='gfile'>Use gfile (<pkg>dev-libs/glib</pkg>) for file + notification</flag> + <flag name='gsettings'>Use gsettings (<pkg>dev-libs/glib</pkg>) to read the + system font name</flag> + <flag name='gtk3'>Link against version 3 of the GIMP Toolkit instead of + version 2 (<pkg>x11-libs/gtk+</pkg>)</flag> + <flag name='gzip-el'>Compress bundled Emacs Lisp source</flag> + <flag name='hesiod'>Enable support for <pkg>net-dns/hesiod</pkg></flag> + <flag name='imagemagick'>Use <pkg>media-gfx/imagemagick</pkg> for image + processing</flag> + <flag name='libxml2'>Use <pkg>dev-libs/libxml2</pkg> to parse XML instead + of the internal Lisp implementations</flag> + <flag name='pax_kernel'>Enable building under a PaX enabled kernel</flag> + <flag name='source'>Install C source files and make them available for + find-function</flag> + <flag name='toolkit-scroll-bars'>Use the selected toolkit's scrollbars in + preference to Emacs' own scrollbars</flag> + <flag name='wide-int'>Prefer wide Emacs integers (typically 62-bit). + This option has an effect only on architectures where "long" and + "long long" types have different size.</flag> +</use> +</pkgmetadata> diff --git a/app-editors/emacs/Manifest b/app-editors/emacs/Manifest new file mode 100644 index 000000000000..fecd59c21521 --- /dev/null +++ b/app-editors/emacs/Manifest @@ -0,0 +1,9 @@ +DIST emacs-18.59-linux22x-elf-glibc21.diff.gz 15671 SHA256 fb810d893938883d50a3a8d7c43fbeb1604d5454f760b8f1f700326c8ee659dd SHA512 c6c6ea33850dadf08d68fff56fc6aacc80ad1aa36661260715d50b95438942d56e6244094427d50356cfe716f26559feb885254c436399bff7be639637d605b6 WHIRLPOOL cafaa0fb0d06058cac8e445a7a1b5cba145d23186477a9c681efdab8ca0f18a9675dec3a93851fd7138890701f83fab83300c28a548c8fc22478a0cfff95d5da +DIST emacs-18.59-patches-8.tar.bz2 19667 SHA256 637542bf5ee07d4abac11b76e742598a60787f3869dbf377eed99ae005fbc59d SHA512 a6564bc16724bfdb22f77b0e21b6064ca5e0e1bc91f3223c1037c26f8a048f28ac7a5da6817dc940a5f00f1f39bbfcda2277645409cd7e143a55fabdc3d3fe5d WHIRLPOOL 6b81f978aef2b429262e79ab1d995cca9237dc9c9d98144d2dc3de07bc2cdcec8547adbaf5ad41d9cce3239554918c04c7b9ff783b7931582a3a7398eb2b66f1 +DIST emacs-18.59.tar.gz 2962652 SHA256 1e27e33f91984a91e9b4c1f21433f931aba03670960ecc147bb6d7b0de0f051e SHA512 03ce565e346e89b7aacb1852f4783e8907f394de7da0c543b475cb038eb89b87f980d0f7ca1841b1d2108b20f211e95113c7214e4a33e5767a1827ff43173f33 WHIRLPOOL 5e98e71518f665e2a8278afe54e0ace6d7fdd9df23ff0a3354ffc1d5cc25cd21b0dd4d82766fcb436d4f24e9291c933295e956e1ffea43cfeedf915175763be6 +DIST emacs-23.4-patches-17.tar.xz 16164 SHA256 bc9d4a36239f2749e218d903b67102e211a3a62ef162f5ab2801865dab77b752 SHA512 ceccd559b4f53328d75016b64d246ecf6fca7edebd080ce3bbba5f4d000bec38be5da91f3195c972ede0710da14b3be0545891321259b0a0b2963981c8fd62de WHIRLPOOL 4b70ce4d876e92a006e3dc0a31301f604aa8fa53a198515d1cbb3517a94933b1d7a11636494c1bd28ad1049a5a233d4ec13213e74e1eaff1cf96bb1fd095c345 +DIST emacs-23.4.tar.bz2 38646508 SHA256 26576f9e664397c729f78f5ffcd092969251988461896fe8793062346ee988b9 SHA512 def7a95ecaefae24d8102b96b1d575a23def1b11a8f0bb17b68f7913bd118e2ea4449a8feee76c1bd649f099b70419f0d494ddd9bb32b26f92720cda842b0296 WHIRLPOOL 2384c3f63ff153c3975e373334d6021d46b23ad3cab448ed2e1180501236453a61d13bf1dfbb2e6075bb141dd8511d85f77e37c763b39769f98de48eacc56f3b +DIST emacs-24.4-patches-5.tar.xz 6000 SHA256 967dac364282a51933f90c56f368bc3f2741efe0b7ff42d3151bb4824b70fa04 SHA512 0a337ad5b7601f5e453645d1fba99717328c6bc7a5505bcb4bd8e853179cf61be43eb6f3b9370edf0f44aa6485d4847c14554c1592ccc7da87b10dabaaa9d421 WHIRLPOOL 149f3a431d055963c544d9fa6c6447a16aa093840f6bf4086f50506979356a12407af16291c46ee62a92b3ee41767452046f45a7163214be33ab7bdbcd6059dc +DIST emacs-24.4.tar.xz 39733124 SHA256 47e391170db4ca0a3c724530c7050655f6d573a711956b4cd84693c194a9d4fd SHA512 f51f88a4736a3f153ef01f3ad710571e967cd3d0c0112b066169a4040725d370ec29b14a4ca8fa3e3f4c657c726ba8e64c3ac4e390b8e911ea47a3afb5ac755c WHIRLPOOL eae38c2382731fecf0ccf8f717f8c96cc130d01a893ff560caecde903294eb843660492761ea8cce9920b79bfc55e821921924e27c040f25355110f56cd2255b +DIST emacs-24.5-patches-1.tar.xz 3744 SHA256 dbcad232dff47e5540fff33351d76a92165e3d379a9c1fe52c04268a1ae245f8 SHA512 0c17546211493a521eec026e05722ebfa0988d2d97c916f8ddbe4d54220fbb6256cb8ad76769a8832fe7028051ecfe04d8ac46da71d7c5a6d2906b57466496db WHIRLPOOL 29cbd3513a62b025994918c6fbf86d70e282dfc0b1fc70639afcf356946e7c46ecc099a552e3735346d6b13c494db93246605eff002c34f1d0859ac04f1025fe +DIST emacs-24.5.tar.xz 39759804 SHA256 dd47d71dd2a526cf6b47cb49af793ec2e26af69a0951cc40e43ae290eacfc34e SHA512 89dee4c3aadb6e505c523f84c65b5e40e5bf28a586cc8a4518a59581c22972f942bb6f3c772df0d5b2685c3e78247c545c6bb2576e981d1ef0f9298c18ad1677 WHIRLPOOL 3d9f8fb840f4c846246e642369f967ba0ec357c7cf718ed865523a3cd39605ba14b8c15fc9ae3f076c27e5b6e41fcb681d15f1c6ffc5934430c0a2bf47c233a3 diff --git a/app-editors/emacs/emacs-18.59-r10.ebuild b/app-editors/emacs/emacs-18.59-r10.ebuild new file mode 100644 index 000000000000..c21857a391b1 --- /dev/null +++ b/app-editors/emacs/emacs-18.59-r10.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils toolchain-funcs flag-o-matic multilib + +DESCRIPTION="The extensible self-documenting text editor" +HOMEPAGE="http://www.gnu.org/software/emacs/" +SRC_URI="ftp://ftp.gnu.org/old-gnu/emacs/${P}.tar.gz + ftp://ftp.splode.com/pub/users/friedman/emacs/${P}-linux22x-elf-glibc21.diff.gz + http://dev.gentoo.org/~ulm/emacs/${P}-patches-8.tar.bz2" + +LICENSE="GPL-1+ GPL-2+ BSD" #HPND +SLOT="18" +KEYWORDS="amd64 x86" +IUSE="abi_x86_x32" + +RDEPEND=">=app-eselect/eselect-emacs-1.16 + sys-libs/ncurses + amd64? ( + abi_x86_x32? ( >=sys-libs/ncurses-5.9-r3[abi_x86_x32(-)?] ) + !abi_x86_x32? ( >=sys-libs/ncurses-5.9-r3[abi_x86_32(-)] ) + )" +# X? ( x11-libs/libX11[-xcb] ) +DEPEND="${RDEPEND} + virtual/pkgconfig" + +src_prepare() { + epatch "${WORKDIR}/${P}-linux22x-elf-glibc21.diff" + EPATCH_SUFFIX=patch epatch + epatch_user +} + +src_configure() { + # autoconf? What's autoconf? We are living in 1992. ;-) + local arch + case ${ARCH} in + amd64) + if use abi_x86_x32; then + arch=x86-x32 + multilib_toolchain_setup x32 + else + arch=intel386 + multilib_toolchain_setup x86 + fi + ;; + x86) arch=intel386 ;; + *) die "Architecture ${ARCH} not yet supported" ;; + esac + local cmd="s/\"s-.*\.h\"/\"s-linux.h\"/;s/\"m-.*\.h\"/\"m-${arch}.h\"/" + #use X && cmd="${cmd};s/.*\(#define HAVE_X_WINDOWS\).*/\1/" + sed -e "${cmd}" src/config.h-dist >src/config.h || die + + cat <<-END >src/paths.h + #define PATH_LOADSEARCH "/usr/share/emacs/${PV}/lisp" + #define PATH_EXEC "/usr/share/emacs/${PV}/etc" + #define PATH_LOCK "/var/lib/emacs/lock/" + #define PATH_SUPERLOCK "/var/lib/emacs/lock/!!!SuperLock!!!" + END + + sed -i -e "s:/usr/lib/\([^ ]*\).o:/usr/$(get_libdir)/\1.o:g" \ + -e "s:-lncurses:$("$(tc-getPKG_CONFIG)" --libs ncurses):" \ + src/s-linux.h || die + + # -O3 and -finline-functions cause segmentation faults at run time. + filter-flags -finline-functions + replace-flags -O[3-9] -O2 + strip-flags +} + +src_compile() { + # Do not use the sandbox, or the dumped Emacs will be twice as large + export SANDBOX_ON=0 + emake --jobs=1 \ + CC="$(tc-getCC)" CFLAGS="${CFLAGS} -Demacs" \ + LD="$(tc-getCC) -nostdlib" LDFLAGS="${LDFLAGS}" +} + +src_install() { + local basedir="/usr/share/emacs/${PV}" i + + dodir ${basedir} + dodir /usr/share/man/man1 + emake --jobs=1 \ + LIBDIR="${D}"${basedir} \ + BINDIR="${D}"/usr/bin \ + MANDIR="${D}"/usr/share/man/man1 \ + install + + rmdir "${D}"${basedir}/lock || die + find "${D}"${basedir} -type f \( -name "*.c" -o -name ChangeLog \ + -o -name COPYING ! -path "*/etc/COPYING" \) -exec rm "{}" + || die + fperms -R go-w ${basedir} + + # remove duplicate DOC file + rm "${D}"${basedir}/etc/DOC || die + + # move executables to the correct place + mv "${D}"/usr/bin/emacs{,-${SLOT}} || die + for i in etags ctags emacsclient; do + mv "${D}"/usr/bin/${i}{,-emacs-${SLOT}} || die + rm "${D}"${basedir}/etc/${i} || die + done + + dodir /usr/libexec/emacs/${PV} + for i in wakeup digest-doc sorted-doc movemail cvtmail fakemail \ + yow env server + do + mv "${D}"${basedir}/etc/${i} "${D}"/usr/libexec/emacs/${PV}/${i} || die + dosym ../../../../libexec/emacs/${PV}/${i} ${basedir}/etc/${i} + done + for i in test-distrib make-docfile; do + rm "${D}"${basedir}/etc/${i} || die + done + + # move man page + mv "${D}"/usr/share/man/man1/emacs{,-${SLOT}}.1 || die + + # move Info files + dodir /usr/share/info + mv "${D}"${basedir}/info "${D}"/usr/share/info/emacs-${SLOT} || die + dosym ../../info/emacs-${SLOT} "${basedir}"/info + docompress -x /usr/share/info + + # move Info dir to avoid collisions with the dir file generated by portage + mv "${D}"/usr/share/info/emacs-${SLOT}/dir{,.orig} || die + touch "${D}"/usr/share/info/emacs-${SLOT}/.keepinfodir + + dodir /var/lib/emacs + diropts -m0777 + keepdir /var/lib/emacs/lock + + dodoc README PROBLEMS +} + +pkg_preinst() { + # move Info dir file to correct name + if [[ -d "${D}"/usr/share/info ]]; then + mv "${D}"/usr/share/info/emacs-${SLOT}/dir{.orig,} || die + fi +} + +pkg_postinst() { + eselect emacs update ifunset +} + +pkg_postrm() { + eselect emacs update ifunset +} diff --git a/app-editors/emacs/emacs-23.4-r13.ebuild b/app-editors/emacs/emacs-23.4-r13.ebuild new file mode 100644 index 000000000000..d160ecab1703 --- /dev/null +++ b/app-editors/emacs/emacs-23.4-r13.ebuild @@ -0,0 +1,348 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +WANT_AUTOMAKE="none" + +inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo + +DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" +HOMEPAGE="http://www.gnu.org/software/emacs/" +SRC_URI="mirror://gnu/emacs/${P}.tar.bz2 + http://dev.gentoo.org/~ulm/emacs/${P}-patches-17.tar.xz" + +LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2" +SLOT="23" +KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" +IUSE="alsa aqua athena dbus games gconf gif gpm gtk gzip-el hesiod jpeg kerberos livecd m17n-lib motif pax_kernel png sound source svg tiff toolkit-scroll-bars X Xaw3d xft +xpm" +REQUIRED_USE="?? ( aqua X )" + +RDEPEND="sys-libs/ncurses + >=app-eselect/eselect-emacs-1.16 + >=app-emacs/emacs-common-gentoo-1.5[games?,X?] + net-libs/liblockfile + hesiod? ( net-dns/hesiod ) + kerberos? ( virtual/krb5 ) + alsa? ( media-libs/alsa-lib ) + gpm? ( sys-libs/gpm ) + dbus? ( sys-apps/dbus ) + X? ( + x11-libs/libXmu + x11-libs/libXt + x11-misc/xbitmaps + gconf? ( >=gnome-base/gconf-2.26.2 ) + gif? ( media-libs/giflib ) + jpeg? ( virtual/jpeg:0= ) + png? ( >=media-libs/libpng-1.4:0= ) + svg? ( >=gnome-base/librsvg-2.0 ) + tiff? ( media-libs/tiff:0 ) + xpm? ( x11-libs/libXpm ) + xft? ( + media-libs/fontconfig + media-libs/freetype + x11-libs/libXft + m17n-lib? ( + >=dev-libs/libotf-0.9.4 + >=dev-libs/m17n-lib-1.5.1 + ) + ) + gtk? ( x11-libs/gtk+:2 ) + !gtk? ( + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + Xaw3d? ( x11-libs/libXaw3d ) + !Xaw3d? ( athena? ( x11-libs/libXaw ) ) + ) + ) + )" + +DEPEND="${RDEPEND} + alsa? ( virtual/pkgconfig ) + dbus? ( virtual/pkgconfig ) + X? ( virtual/pkgconfig ) + gzip-el? ( app-arch/gzip ) + pax_kernel? ( + sys-apps/attr + sys-apps/paxctl + )" + +RDEPEND="${RDEPEND} + !<app-editors/emacs-vcs-${PV}" + +EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}" +SITEFILE="20${PN}-${SLOT}-gentoo.el" +# FULL_VERSION keeps the full version number, which is needed in +# order to determine some path information correctly for copy/move +# operations later on +FULL_VERSION="${PV%%_*}" +S="${WORKDIR}/emacs-${FULL_VERSION}" + +src_prepare() { + EPATCH_SUFFIX=patch epatch + epatch_user + + sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \ + || die "unable to sed ctags.1" + + if ! use alsa; then + # ALSA is detected even if not requested by its USE flag. + # Suppress it by supplying pkg-config with a wrong library name. + sed -i -e "/ALSA_MODULES=/s/alsa/DiSaBlEaLsA/" configure.in \ + || die "unable to sed configure.in" + fi + if ! use gzip-el; then + # Emacs' build system automatically detects the gzip binary and + # compresses el files. We don't want that so confuse it with a + # wrong binary name + sed -i -e "s/ gzip/ PrEvEnTcOmPrEsSiOn/" configure.in \ + || die "unable to sed configure.in" + fi + + eautoreconf +} + +src_configure() { + strip-flags + filter-flags -fstrict-aliasing -pie + append-flags $(test-flags -fno-strict-aliasing) + + if use sh; then + replace-flags "-O[1-9]" -O0 #262359 + elif use ia64; then + replace-flags "-O[2-9]" -O1 #325373 + else + replace-flags "-O[3-9]" -O2 + fi + + local myconf + + if use alsa && ! use sound; then + einfo "Although sound USE flag is disabled you chose to have alsa," + einfo "so sound is switched on anyway." + myconf+=" --with-sound" + else + myconf+=" $(use_with sound)" + fi + + if use X; then + myconf+=" --with-x --without-ns" + myconf+=" $(use_with gconf)" + myconf+=" $(use_with toolkit-scroll-bars)" + myconf+=" $(use_with gif)" + myconf+=" $(use_with jpeg)" + myconf+=" $(use_with png)" + myconf+=" $(use_with svg rsvg)" + myconf+=" $(use_with tiff)" + myconf+=" $(use_with xpm)" + + if use xft; then + myconf+=" --with-xft" + myconf+=" $(use_with m17n-lib libotf)" + myconf+=" $(use_with m17n-lib m17n-flt)" + else + myconf+=" --without-xft" + myconf+=" --without-libotf --without-m17n-flt" + use m17n-lib && ewarn \ + "USE flag \"m17n-lib\" has no effect if \"xft\" is not set." + fi + + # GTK+ is the default toolkit if USE=gtk is chosen with other + # possibilities. Emacs upstream thinks this should be standard + # policy on all distributions + local f + if use gtk; then + einfo "Configuring to build with GIMP Toolkit (GTK+)" + myconf+=" --with-x-toolkit=gtk" + for f in motif Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"gtk\" is set." + done + elif use motif; then + einfo "Configuring to build with Motif toolkit" + myconf+=" --with-x-toolkit=motif" + for f in Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"motif\" is set." + done + elif use athena || use Xaw3d; then + einfo "Configuring to build with Athena/Lucid toolkit" + myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)" + else + einfo "Configuring to build with no toolkit" + myconf+=" --with-x-toolkit=no" + fi + elif use aqua; then + einfo "Configuring to build with Nextstep (Cocoa) support" + myconf+=" --with-ns --disable-ns-self-contained" + myconf+=" --without-x" + else + myconf+=" --without-x --without-ns" + fi + + # Save version information in the Emacs binary. It will be available + # in variable "system-configuration-options". + myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}" + + # According to configure, this option is only used for GNU/Linux + # (x86_64 and s390). For Gentoo Prefix we have to explicitly spell + # out the location because $(get_libdir) does not necessarily return + # something that matches the host OS's libdir naming (e.g. RHEL). + local crtdir=$($(tc-getCC) -print-file-name=crt1.o) + crtdir=${crtdir%/*} + + econf \ + --program-suffix="-${EMACS_SUFFIX}" \ + --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \ + --localstatedir="${EPREFIX}"/var \ + --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \ + --with-crt-dir="${crtdir}" \ + --with-gameuser=":gamestat" \ + $(use_with hesiod) \ + $(use_with kerberos) $(use_with kerberos kerberos5) \ + $(use_with gpm) \ + $(use_with dbus) \ + ${myconf} +} + +src_compile() { + export SANDBOX_ON=0 # for the unbelievers, see Bug #131505 + emake CC="$(tc-getCC)" \ + AR="$(tc-getAR) cq" \ + RANLIB="$(tc-getRANLIB)" +} + +src_install () { + emake DESTDIR="${D}" install + + rm "${ED}"/usr/bin/emacs-${FULL_VERSION}-${EMACS_SUFFIX} \ + || die "removing duplicate emacs executable failed" + mv "${ED}"/usr/bin/emacs-${EMACS_SUFFIX} "${ED}"/usr/bin/${EMACS_SUFFIX} \ + || die "moving emacs executable failed" + + # move man pages to the correct place + local m + mv "${ED}"/usr/share/man/man1/{emacs,${EMACS_SUFFIX}}.1 \ + || die "moving emacs man page failed" + for m in b2m ctags ebrowse emacsclient etags grep-changelog rcs-checkin; do + mv "${ED}"/usr/share/man/man1/${m}{,-${EMACS_SUFFIX}}.1 \ + || die "moving ${m} man page failed" + done + + # move info dir to avoid collisions with the dir file generated by portage + mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \ + || die "moving info dir failed" + touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir + docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig + + # avoid collision between slots, see bug #169033 e.g. + rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el + rm -rf "${ED}"/usr/share/{applications,icons} + rm -rf "${ED}"/var + + # remove unused <version>/site-lisp dir + rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp + + # remove COPYING file (except for etc/COPYING used by describe-copying) + rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING + + local cdir + if use source; then + cdir="/usr/share/emacs/${FULL_VERSION}/src" + insinto "${cdir}" + # This is not meant to install all the source -- just the + # C source you might find via find-function + doins src/*.{c,h,m} + doins -r src/{m,s} + rm "${ED}"/usr/share/emacs/${FULL_VERSION}/src/Makefile.c + rm "${ED}"/usr/share/emacs/${FULL_VERSION}/src/{m,s}/README + elif has installsources ${FEATURES}; then + cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src" + fi + + sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF + X + ;;; ${PN}-${SLOT} site-lisp configuration + X + (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version) + Y (setq find-function-C-source-directory + Y "${EPREFIX}${cdir}") + X (let ((path (getenv "INFOPATH")) + X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}") + X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>")) + X (and path + X ;; move Emacs Info dir before anything else in /usr/share/info + X (let* ((p (cons nil (split-string path ":" t))) (q p)) + X (while (and (cdr q) (not (string-match re (cadr q)))) + X (setq q (cdr q))) + X (setcdr q (cons dir (delete dir (cdr q)))) + X (setq Info-directory-list (prune-directory-list (cdr p))))))) + EOF + elisp-site-file-install "${T}/${SITEFILE}" || die + + dodoc README BUGS + + if use aqua; then + dodir /Applications/Gentoo + rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app + mv nextstep/Emacs.app \ + "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die + fi + + DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs + through the Emacs eselect module, which also redirects man and info + pages. Therefore, several Emacs versions can be installed at the + same time. \"man emacs.eselect\" for details. + \\n\\nIf you upgrade from a previous major version of Emacs, then + it is strongly recommended that you use app-admin/emacs-updater + to rebuild all byte-compiled elisp files of the installed Emacs + packages." + use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs. + Installing media-fonts/font-adobe-{75,100}dpi on the X server's + machine would satisfy basic Emacs requirements under X11. + See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs + for how to enable anti-aliased fonts." + use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in + \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink + it into /Applications by yourself." + readme.gentoo_create_doc +} + +pkg_preinst() { + # move Info dir file to correct name + local infodir=/usr/share/info/${EMACS_SUFFIX} f + if [[ -f ${ED}${infodir}/dir.orig ]]; then + mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed" + elif [[ -d "${ED}"${infodir} ]]; then + # this should not happen in EAPI 4 + ewarn "Regenerating Info directory index in ${infodir} ..." + rm -f "${ED}"${infodir}/dir{,.*} + for f in "${ED}"${infodir}/*; do + if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then + install-info --info-dir="${ED}"${infodir} "${f}" \ + || die "install-info failed" + fi + done + fi +} + +pkg_postinst() { + elisp-site-regen + readme.gentoo_print_elog + + if use livecd; then + # force an update of the emacs symlink for the livecd/dvd, + # because some microemacs packages set it with USE=livecd + eselect emacs update + elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then + # refresh symlinks in case any installed files have changed + eselect emacs set ${EMACS_SUFFIX} + else + eselect emacs update ifunset + fi +} + +pkg_postrm() { + elisp-site-regen + eselect emacs update ifunset +} diff --git a/app-editors/emacs/emacs-24.4-r4.ebuild b/app-editors/emacs/emacs-24.4-r4.ebuild new file mode 100644 index 000000000000..57e556c5ff4c --- /dev/null +++ b/app-editors/emacs/emacs-24.4-r4.ebuild @@ -0,0 +1,338 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo + +DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" +HOMEPAGE="http://www.gnu.org/software/emacs/" +SRC_URI="mirror://gnu/emacs/${P}.tar.xz + http://dev.gentoo.org/~ulm/emacs/${P}-patches-5.tar.xz" + +LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2" +SLOT="24" +KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="acl alsa aqua athena dbus games gconf gfile gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib" +REQUIRED_USE="?? ( aqua X )" + +RDEPEND="sys-libs/ncurses + >=app-eselect/eselect-emacs-1.16 + >=app-emacs/emacs-common-gentoo-1.5[games?,X?] + net-libs/liblockfile + acl? ( virtual/acl ) + alsa? ( media-libs/alsa-lib ) + dbus? ( sys-apps/dbus ) + gfile? ( >=dev-libs/glib-2.28.6 ) + gnutls? ( net-libs/gnutls ) + gpm? ( sys-libs/gpm ) + hesiod? ( net-dns/hesiod ) + kerberos? ( virtual/krb5 ) + libxml2? ( >=dev-libs/libxml2-2.2.0 ) + selinux? ( sys-libs/libselinux ) + zlib? ( sys-libs/zlib ) + X? ( + x11-libs/libXmu + x11-libs/libXt + x11-misc/xbitmaps + gconf? ( >=gnome-base/gconf-2.26.2 ) + gsettings? ( >=dev-libs/glib-2.28.6 ) + gif? ( media-libs/giflib ) + jpeg? ( virtual/jpeg:0= ) + png? ( >=media-libs/libpng-1.4:0= ) + svg? ( >=gnome-base/librsvg-2.0 ) + tiff? ( media-libs/tiff:0 ) + xpm? ( x11-libs/libXpm ) + imagemagick? ( >=media-gfx/imagemagick-6.6.2 ) + xft? ( + media-libs/fontconfig + media-libs/freetype + x11-libs/libXft + m17n-lib? ( + >=dev-libs/libotf-0.9.4 + >=dev-libs/m17n-lib-1.5.1 + ) + ) + gtk? ( + gtk3? ( x11-libs/gtk+:3 ) + !gtk3? ( x11-libs/gtk+:2 ) + ) + !gtk? ( + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + Xaw3d? ( x11-libs/libXaw3d ) + !Xaw3d? ( athena? ( x11-libs/libXaw ) ) + ) + ) + )" + +DEPEND="${RDEPEND} + virtual/pkgconfig + gzip-el? ( app-arch/gzip ) + pax_kernel? ( + sys-apps/attr + sys-apps/paxctl + )" + +RDEPEND="${RDEPEND} + !<app-editors/emacs-vcs-${PV}" + +EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}" +SITEFILE="20${PN}-${SLOT}-gentoo.el" +# FULL_VERSION keeps the full version number, which is needed in +# order to determine some path information correctly for copy/move +# operations later on +FULL_VERSION="${PV%%_*}" +S="${WORKDIR}/emacs-${FULL_VERSION}" + +src_prepare() { + EPATCH_SUFFIX=patch epatch + epatch_user + + # Fix filename reference in redirected man page + sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \ + || die "unable to sed ctags.1" + + AT_M4DIR=m4 eautoreconf +} + +src_configure() { + strip-flags + filter-flags -pie #526948 + + if use sh; then + replace-flags "-O[1-9]" -O0 #262359 + elif use ia64; then + replace-flags "-O[2-9]" -O1 #325373 + else + replace-flags "-O[3-9]" -O2 + fi + + local myconf + + if use alsa; then + use sound || ewarn \ + "USE flag \"alsa\" overrides \"-sound\"; enabling sound support." + myconf+=" --with-sound=alsa" + else + myconf+=" --with-sound=$(usex sound oss)" + fi + + if use X; then + myconf+=" --with-x --without-ns" + myconf+=" $(use_with gconf)" + myconf+=" $(use_with gsettings)" + myconf+=" $(use_with toolkit-scroll-bars)" + myconf+=" $(use_with gif)" + myconf+=" $(use_with jpeg)" + myconf+=" $(use_with png)" + myconf+=" $(use_with svg rsvg)" + myconf+=" $(use_with tiff)" + myconf+=" $(use_with xpm)" + myconf+=" $(use_with imagemagick)" + + if use xft; then + myconf+=" --with-xft" + myconf+=" $(use_with m17n-lib libotf)" + myconf+=" $(use_with m17n-lib m17n-flt)" + else + myconf+=" --without-xft" + myconf+=" --without-libotf --without-m17n-flt" + use m17n-lib && ewarn \ + "USE flag \"m17n-lib\" has no effect if \"xft\" is not set." + fi + + local f + if use gtk; then + einfo "Configuring to build with GIMP Toolkit (GTK+)" + myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)" + for f in motif Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"gtk\" is set." + done + elif use motif; then + einfo "Configuring to build with Motif toolkit" + myconf+=" --with-x-toolkit=motif" + for f in Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"motif\" is set." + done + elif use athena || use Xaw3d; then + einfo "Configuring to build with Athena/Lucid toolkit" + myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)" + else + einfo "Configuring to build with no toolkit" + myconf+=" --with-x-toolkit=no" + fi + elif use aqua; then + einfo "Configuring to build with Nextstep (Cocoa) support" + myconf+=" --with-ns --disable-ns-self-contained" + myconf+=" --without-x" + else + myconf+=" --without-x --without-ns" + fi + + # Save version information in the Emacs binary. It will be available + # in variable "system-configuration-options". + myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}" + + econf \ + --program-suffix="-${EMACS_SUFFIX}" \ + --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \ + --localstatedir="${EPREFIX}"/var \ + --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \ + --with-gameuser=":gamestat" \ + --without-compress-install \ + --with-file-notification=$(usev gfile || usev inotify || echo no) \ + $(use_enable acl) \ + $(use_with dbus) \ + $(use_with gnutls) \ + $(use_with gpm) \ + $(use_with hesiod) \ + $(use_with kerberos) $(use_with kerberos kerberos5) \ + $(use_with libxml2 xml2) \ + $(use_with selinux) \ + $(use_with wide-int) \ + $(use_with zlib) \ + ${myconf} +} + +src_compile() { + export SANDBOX_ON=0 # for the unbelievers, see Bug #131505 + emake +} + +src_install () { + emake DESTDIR="${D}" NO_BIN_LINK=t install + + mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \ + || die "moving emacs executable failed" + mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \ + || die "moving emacs man page failed" + + # move info dir to avoid collisions with the dir file generated by portage + mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \ + || die "moving info dir failed" + touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir + docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig + + # avoid collision between slots, see bug #169033 e.g. + rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el + rm -rf "${ED}"/usr/share/{applications,icons} + rm -rf "${ED}"/var + + # remove unused <version>/site-lisp dir + rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp + + # remove COPYING file (except for etc/COPYING used by describe-copying) + rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING + + if use gzip-el; then + # compress .el files when a corresponding .elc exists + find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \ + -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n + assert "gzip .el failed" + fi + + local cdir + if use source; then + cdir="/usr/share/emacs/${FULL_VERSION}/src" + insinto "${cdir}" + # This is not meant to install all the source -- just the + # C source you might find via find-function + doins src/*.{c,h,m} + elif has installsources ${FEATURES}; then + cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src" + fi + + sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF + X + ;;; ${PN}-${SLOT} site-lisp configuration + X + (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version) + Y (setq find-function-C-source-directory + Y "${EPREFIX}${cdir}") + X (let ((path (getenv "INFOPATH")) + X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}") + X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>")) + X (and path + X ;; move Emacs Info dir before anything else in /usr/share/info + X (let* ((p (cons nil (split-string path ":" t))) (q p)) + X (while (and (cdr q) (not (string-match re (cadr q)))) + X (setq q (cdr q))) + X (setcdr q (cons dir (delete dir (cdr q)))) + X (setq Info-directory-list (prune-directory-list (cdr p))))))) + EOF + elisp-site-file-install "${T}/${SITEFILE}" || die + + dodoc README BUGS + + if use aqua; then + dodir /Applications/Gentoo + rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app + mv nextstep/Emacs.app \ + "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die + fi + + DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs + through the Emacs eselect module, which also redirects man and info + pages. Therefore, several Emacs versions can be installed at the + same time. \"man emacs.eselect\" for details. + \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is + strongly recommended that you use app-admin/emacs-updater to rebuild + all byte-compiled elisp files of the installed Emacs packages." + use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs. + Installing media-fonts/font-adobe-{75,100}dpi on the X server's + machine would satisfy basic Emacs requirements under X11. + See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs + for how to enable anti-aliased fonts." + use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in + \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink + it into /Applications by yourself." + readme.gentoo_create_doc +} + +pkg_preinst() { + # move Info dir file to correct name + local infodir=/usr/share/info/${EMACS_SUFFIX} f + if [[ -f ${ED}${infodir}/dir.orig ]]; then + mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed" + elif [[ -d "${ED}"${infodir} ]]; then + # this should not happen in EAPI 4 + ewarn "Regenerating Info directory index in ${infodir} ..." + rm -f "${ED}"${infodir}/dir{,.*} + for f in "${ED}"${infodir}/*; do + if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then + install-info --info-dir="${ED}"${infodir} "${f}" \ + || die "install-info failed" + fi + done + fi +} + +pkg_postinst() { + elisp-site-regen + + local pvr + for pvr in ${REPLACING_VERSIONS}; do + [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1 + done + readme.gentoo_print_elog + + if use livecd; then + # force an update of the emacs symlink for the livecd/dvd, + # because some microemacs packages set it with USE=livecd + eselect emacs update + elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then + # refresh symlinks in case any installed files have changed + eselect emacs set ${EMACS_SUFFIX} + else + eselect emacs update ifunset + fi +} + +pkg_postrm() { + elisp-site-regen + eselect emacs update ifunset +} diff --git a/app-editors/emacs/emacs-24.5.ebuild b/app-editors/emacs/emacs-24.5.ebuild new file mode 100644 index 000000000000..1b891db7704c --- /dev/null +++ b/app-editors/emacs/emacs-24.5.ebuild @@ -0,0 +1,347 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo + +DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" +HOMEPAGE="http://www.gnu.org/software/emacs/" +SRC_URI="mirror://gnu/emacs/${P}.tar.xz + http://dev.gentoo.org/~ulm/emacs/${P}-patches-1.tar.xz" + +LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2" +SLOT="24" +KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="acl alsa aqua athena dbus games gconf gfile gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib" +REQUIRED_USE="?? ( aqua X )" + +RDEPEND="sys-libs/ncurses + >=app-eselect/eselect-emacs-1.16 + >=app-emacs/emacs-common-gentoo-1.5[games?,X?] + net-libs/liblockfile + acl? ( virtual/acl ) + alsa? ( media-libs/alsa-lib ) + dbus? ( sys-apps/dbus ) + gfile? ( >=dev-libs/glib-2.28.6 ) + gnutls? ( net-libs/gnutls ) + gpm? ( sys-libs/gpm ) + hesiod? ( net-dns/hesiod ) + kerberos? ( virtual/krb5 ) + libxml2? ( >=dev-libs/libxml2-2.2.0 ) + selinux? ( sys-libs/libselinux ) + zlib? ( sys-libs/zlib ) + X? ( + x11-libs/libXmu + x11-libs/libXt + x11-misc/xbitmaps + gconf? ( >=gnome-base/gconf-2.26.2 ) + gsettings? ( >=dev-libs/glib-2.28.6 ) + gif? ( media-libs/giflib ) + jpeg? ( virtual/jpeg:0= ) + png? ( >=media-libs/libpng-1.4:0= ) + svg? ( >=gnome-base/librsvg-2.0 ) + tiff? ( media-libs/tiff:0 ) + xpm? ( x11-libs/libXpm ) + imagemagick? ( >=media-gfx/imagemagick-6.6.2 ) + xft? ( + media-libs/fontconfig + media-libs/freetype + x11-libs/libXft + m17n-lib? ( + >=dev-libs/libotf-0.9.4 + >=dev-libs/m17n-lib-1.5.1 + ) + ) + gtk? ( + gtk3? ( x11-libs/gtk+:3 ) + !gtk3? ( x11-libs/gtk+:2 ) + ) + !gtk? ( + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + Xaw3d? ( x11-libs/libXaw3d ) + !Xaw3d? ( athena? ( x11-libs/libXaw ) ) + ) + ) + )" + +DEPEND="${RDEPEND} + virtual/pkgconfig + gzip-el? ( app-arch/gzip ) + pax_kernel? ( + sys-apps/attr + sys-apps/paxctl + )" + +RDEPEND="${RDEPEND} + !<app-editors/emacs-vcs-${PV}" + +EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}" +SITEFILE="20${PN}-${SLOT}-gentoo.el" +# FULL_VERSION keeps the full version number, which is needed in +# order to determine some path information correctly for copy/move +# operations later on +FULL_VERSION="${PV%%_*}" +S="${WORKDIR}/emacs-${FULL_VERSION}" + +src_prepare() { + EPATCH_SUFFIX=patch epatch + epatch_user + + # Fix filename reference in redirected man page + sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \ + || die "unable to sed ctags.1" + + AT_M4DIR=m4 eautoreconf +} + +src_configure() { + strip-flags + filter-flags -pie #526948 + + if use sh; then + replace-flags "-O[1-9]" -O0 #262359 + elif use ia64; then + replace-flags "-O[2-9]" -O1 #325373 + else + replace-flags "-O[3-9]" -O2 + fi + + local myconf + + if use alsa; then + use sound || ewarn \ + "USE flag \"alsa\" overrides \"-sound\"; enabling sound support." + myconf+=" --with-sound=alsa" + else + myconf+=" --with-sound=$(usex sound oss)" + fi + + if use X; then + myconf+=" --with-x --without-ns" + myconf+=" $(use_with gconf)" + myconf+=" $(use_with gsettings)" + myconf+=" $(use_with toolkit-scroll-bars)" + myconf+=" $(use_with gif)" + myconf+=" $(use_with jpeg)" + myconf+=" $(use_with png)" + myconf+=" $(use_with svg rsvg)" + myconf+=" $(use_with tiff)" + myconf+=" $(use_with xpm)" + myconf+=" $(use_with imagemagick)" + + if use xft; then + myconf+=" --with-xft" + myconf+=" $(use_with m17n-lib libotf)" + myconf+=" $(use_with m17n-lib m17n-flt)" + else + myconf+=" --without-xft" + myconf+=" --without-libotf --without-m17n-flt" + use m17n-lib && ewarn \ + "USE flag \"m17n-lib\" has no effect if \"xft\" is not set." + fi + + local f + if use gtk; then + einfo "Configuring to build with GIMP Toolkit (GTK+)" + while read line; do ewarn "${line}"; done <<-EOF + Your version of GTK+ will have problems with closing open + displays. This is no problem if you just use one display, but + if you use more than one and close one of them Emacs may crash. + See <http://bugzilla.gnome.org/show_bug.cgi?id=85715>. + If you intend to use more than one display, then it is strongly + recommended that you compile Emacs with the Athena/Lucid or the + Motif toolkit instead. + EOF + myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)" + for f in motif Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"gtk\" is set." + done + elif use motif; then + einfo "Configuring to build with Motif toolkit" + myconf+=" --with-x-toolkit=motif" + for f in Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"motif\" is set." + done + elif use athena || use Xaw3d; then + einfo "Configuring to build with Athena/Lucid toolkit" + myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)" + else + einfo "Configuring to build with no toolkit" + myconf+=" --with-x-toolkit=no" + fi + elif use aqua; then + einfo "Configuring to build with Nextstep (Cocoa) support" + myconf+=" --with-ns --disable-ns-self-contained" + myconf+=" --without-x" + else + myconf+=" --without-x --without-ns" + fi + + # Save version information in the Emacs binary. It will be available + # in variable "system-configuration-options". + myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}" + + econf \ + --program-suffix="-${EMACS_SUFFIX}" \ + --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \ + --localstatedir="${EPREFIX}"/var \ + --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \ + --with-gameuser=":gamestat" \ + --without-compress-install \ + --with-file-notification=$(usev gfile || usev inotify || echo no) \ + $(use_enable acl) \ + $(use_with dbus) \ + $(use_with gnutls) \ + $(use_with gpm) \ + $(use_with hesiod) \ + $(use_with kerberos) $(use_with kerberos kerberos5) \ + $(use_with libxml2 xml2) \ + $(use_with selinux) \ + $(use_with wide-int) \ + $(use_with zlib) \ + ${myconf} +} + +src_compile() { + export SANDBOX_ON=0 # for the unbelievers, see Bug #131505 + emake +} + +src_install () { + emake DESTDIR="${D}" NO_BIN_LINK=t install + + mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \ + || die "moving emacs executable failed" + mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \ + || die "moving emacs man page failed" + + # move info dir to avoid collisions with the dir file generated by portage + mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \ + || die "moving info dir failed" + touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir + docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig + + # avoid collision between slots, see bug #169033 e.g. + rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el + rm -rf "${ED}"/usr/share/{applications,icons} + rm -rf "${ED}"/var + + # remove unused <version>/site-lisp dir + rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp + + # remove COPYING file (except for etc/COPYING used by describe-copying) + rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING + + if use gzip-el; then + # compress .el files when a corresponding .elc exists + find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \ + -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n + assert "gzip .el failed" + fi + + local cdir + if use source; then + cdir="/usr/share/emacs/${FULL_VERSION}/src" + insinto "${cdir}" + # This is not meant to install all the source -- just the + # C source you might find via find-function + doins src/*.{c,h,m} + elif has installsources ${FEATURES}; then + cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src" + fi + + sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF + X + ;;; ${PN}-${SLOT} site-lisp configuration + X + (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version) + Y (setq find-function-C-source-directory + Y "${EPREFIX}${cdir}") + X (let ((path (getenv "INFOPATH")) + X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}") + X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>")) + X (and path + X ;; move Emacs Info dir before anything else in /usr/share/info + X (let* ((p (cons nil (split-string path ":" t))) (q p)) + X (while (and (cdr q) (not (string-match re (cadr q)))) + X (setq q (cdr q))) + X (setcdr q (cons dir (delete dir (cdr q)))) + X (setq Info-directory-list (prune-directory-list (cdr p))))))) + EOF + elisp-site-file-install "${T}/${SITEFILE}" || die + + dodoc README BUGS + + if use aqua; then + dodir /Applications/Gentoo + rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app + mv nextstep/Emacs.app \ + "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die + fi + + DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs + through the Emacs eselect module, which also redirects man and info + pages. Therefore, several Emacs versions can be installed at the + same time. \"man emacs.eselect\" for details. + \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is + strongly recommended that you use app-admin/emacs-updater to rebuild + all byte-compiled elisp files of the installed Emacs packages." + use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs. + Installing media-fonts/font-adobe-{75,100}dpi on the X server's + machine would satisfy basic Emacs requirements under X11. + See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs + for how to enable anti-aliased fonts." + use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in + \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink + it into /Applications by yourself." + readme.gentoo_create_doc +} + +pkg_preinst() { + # move Info dir file to correct name + local infodir=/usr/share/info/${EMACS_SUFFIX} f + if [[ -f ${ED}${infodir}/dir.orig ]]; then + mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed" + elif [[ -d "${ED}"${infodir} ]]; then + # this should not happen in EAPI 4 + ewarn "Regenerating Info directory index in ${infodir} ..." + rm -f "${ED}"${infodir}/dir{,.*} + for f in "${ED}"${infodir}/*; do + if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then + install-info --info-dir="${ED}"${infodir} "${f}" \ + || die "install-info failed" + fi + done + fi +} + +pkg_postinst() { + elisp-site-regen + + local pvr + for pvr in ${REPLACING_VERSIONS}; do + [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1 + done + readme.gentoo_print_elog + + if use livecd; then + # force an update of the emacs symlink for the livecd/dvd, + # because some microemacs packages set it with USE=livecd + eselect emacs update + elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then + # refresh symlinks in case any installed files have changed + eselect emacs set ${EMACS_SUFFIX} + else + eselect emacs update ifunset + fi +} + +pkg_postrm() { + elisp-site-regen + eselect emacs update ifunset +} diff --git a/app-editors/emacs/metadata.xml b/app-editors/emacs/metadata.xml new file mode 100644 index 000000000000..88ecff51f01c --- /dev/null +++ b/app-editors/emacs/metadata.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>emacs</herd> +<longdescription> + GNU Emacs is an extensible, customizable text editor - and more. At its core + is an interpreter for Emacs Lisp, a dialect of the Lisp programming language + with extensions to support text editing. The features of GNU Emacs include: + * Content-sensitive editing modes, including syntax coloring, for a variety + of file types including plain text, source code, and HTML. + * Complete built-in documentation, including a tutorial for new users. + * Full Unicode support for nearly all human languages and their scripts. + * Highly customizable, using Emacs Lisp code or a graphical interface. + * A large number of extensions that add other functionality, including a + project planner, mail and news reader, debugger interface, calendar, and + more. Many of these extensions are distributed with GNU Emacs; others are + available separately. +</longdescription> +<use> + <flag name='athena'>Enable the MIT Athena widget set + (<pkg>x11-libs/libXaw</pkg>)</flag> + <flag name='games'>Support shared score files for games</flag> + <flag name='gconf'>Use <pkg>gnome-base/gconf</pkg> to read the system + font name</flag> + <flag name='gfile'>Use gfile (<pkg>dev-libs/glib</pkg>) for file + notification</flag> + <flag name='gsettings'>Use gsettings (<pkg>dev-libs/glib</pkg>) to read the + system font name</flag> + <flag name='gtk3'>Link against version 3 of the GIMP Toolkit instead of + version 2 (<pkg>x11-libs/gtk+</pkg>)</flag> + <flag name='gzip-el'>Compress bundled Emacs Lisp source</flag> + <flag name='hesiod'>Enable support for <pkg>net-dns/hesiod</pkg></flag> + <flag name='imagemagick'>Use <pkg>media-gfx/imagemagick</pkg> for image + processing</flag> + <flag name='libxml2'>Use <pkg>dev-libs/libxml2</pkg> to parse XML instead + of the internal Lisp implementations</flag> + <flag name='pax_kernel'>Enable building under a PaX enabled kernel</flag> + <flag name='source'>Install C source files and make them available for + find-function</flag> + <flag name='toolkit-scroll-bars'>Use the selected toolkit's scrollbars in + preference to Emacs' own scrollbars</flag> + <flag name='wide-int'>Prefer wide Emacs integers (typically 62-bit). + This option has an effect only on architectures where "long" and + "long long" types have different size.</flag> +</use> +</pkgmetadata> diff --git a/app-editors/emact/Manifest b/app-editors/emact/Manifest new file mode 100644 index 000000000000..575bdfcbf562 --- /dev/null +++ b/app-editors/emact/Manifest @@ -0,0 +1 @@ +DIST emact-2.56.0.tar.gz 578640 SHA256 dfe5c17ed6bab49bdb46425bf616a6ce689b73f498a61c094eb97d1765007e57 SHA512 96fce3bf3e00e84abd9de0778a02cfd284689073391e6f9eb3bb4a54e8899ae32d9e8acd45d0f1d575e36f171ca148fc574c9ecc71615df9a9907ee1d30bb99d WHIRLPOOL 8d4e821c4a24c3cb2b9a5ca898a9a8e0d245242c1c0f8e2986212939d772df503222023d19918b32276e3061d92c7dbe6292a720a0255464e614254c7f7d742a diff --git a/app-editors/emact/emact-2.56.0.ebuild b/app-editors/emact/emact-2.56.0.ebuild new file mode 100644 index 000000000000..f93143a19b35 --- /dev/null +++ b/app-editors/emact/emact-2.56.0.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +DESCRIPTION="EmACT, a fork of Conroy's MicroEmacs" +HOMEPAGE="http://www.eligis.com/emacs/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2+ BSD" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="X" + +DEPEND="sys-libs/ncurses + X? ( x11-libs/libX11 )" +RDEPEND="${DEPEND}" + +src_prepare() { + # files in the tarball have all mode bits set to zero ... + chmod +x configure || die +} + +src_configure() { + econf $(use_with X x) +} + +src_install() { + emake INSTALL="${D}"/usr install + #dodoc README +} diff --git a/app-editors/emact/metadata.xml b/app-editors/emact/metadata.xml new file mode 100644 index 000000000000..f0b7b2b3c64c --- /dev/null +++ b/app-editors/emact/metadata.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>emacs</herd> +<longdescription> + This product is an original development made to provide an emacs-like editor + on the PC for the purpose of writing Lisp code with the same features found + on other Lisp development systems. In 1985, with about 512 Ko of memory, it + was obvious that Gosling, GNU or other emacs written in Lisp were too big to + run on M$-DOG. So I decided to write my own editor that closely works like + those I used on VAX Unix at that time. I started with Conroy's MicroEMACS. + + After a great amount of time, made essentially after hours, EmACT is now + a pretty good clone of GNU Emacs. It has all the features that programmers + enjoy, like parentheses matching, auto-indent for Lisp, C, C++, compile + mode, tags and even a Lisp interpreter which is not however compatible with + GNU MockLisp. It can be ported to all UN*X systems (terminal and X-Window) + and it runs of course on all Intel based system in text or graphic mode + (MSDOS, OS/2, Windows 3.x, Windows NT/2000/XP and Windows 95/98/Me). +</longdescription> +<upstream> + <remote-id type="sourceforge">emact</remote-id> +</upstream> +</pkgmetadata> diff --git a/app-editors/ersatz-emacs/Manifest b/app-editors/ersatz-emacs/Manifest new file mode 100644 index 000000000000..bcbfd55be3b0 --- /dev/null +++ b/app-editors/ersatz-emacs/Manifest @@ -0,0 +1 @@ +DIST ersatz-emacs-20060515.tar.gz 45581 SHA256 7585aaa0aba1232204332ecf91906e0d74da9cb33dfa2889e45bcf0f251f99a5 SHA512 c30ede63ebb44076762aa430a73c73d3fa3bcd0e3d0016162aab31347257124479f464a1003012f7418e807abfd3c613c81f5196ccf65b0cb3f939b7ad5c989d WHIRLPOOL 0c19be0c1b891abf4e09d641e56008743da7297a5d6b3fa48de14b75e5a5d1bc2e9caf53d96d995a0807e47618d091bbb1348ee781bc980f2a1a79d0f582b71d diff --git a/app-editors/ersatz-emacs/ersatz-emacs-20060515.ebuild b/app-editors/ersatz-emacs/ersatz-emacs-20060515.ebuild new file mode 100644 index 000000000000..a0abfc41932f --- /dev/null +++ b/app-editors/ersatz-emacs/ersatz-emacs-20060515.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils toolchain-funcs + +DESCRIPTION="A very minimal imitation of the famous GNU Emacs editor" +HOMEPAGE="http://hunter.apana.org.au/~cjb/Code/" +# taken from http://hunter.apana.org.au/~cjb/Code/ersatz.tar.gz +SRC_URI="mirror://gentoo/${P}.tar.gz" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="amd64 x86" + +RDEPEND="!app-editors/ee + sys-libs/ncurses" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +S="${WORKDIR}" + +src_prepare() { + epatch "${FILESDIR}"/${P}-gentoo.patch + sed -i -e "s%/usr/local/share/%/usr/share/doc/${PF}/%" ee.1 \ + || die "sed failed" +} + +src_compile() { + emake CC="$(tc-getCC)" \ + CFLAGS="${CFLAGS} -Wall" \ + LFLAGS="${LDFLAGS} $("$(tc-getPKG_CONFIG)" --libs ncurses)" +} + +src_install() { + # Note: /usr/bin/ee is "easy edit" on FreeBSD, so if this + # is ever keyworded *-fbsd the binary has to be renamed. + dobin ee + doman ee.1 + dodoc ChangeLog ERSATZ.keys README +} diff --git a/app-editors/ersatz-emacs/files/ersatz-emacs-20060515-gentoo.patch b/app-editors/ersatz-emacs/files/ersatz-emacs-20060515-gentoo.patch new file mode 100644 index 000000000000..67c40e789241 --- /dev/null +++ b/app-editors/ersatz-emacs/files/ersatz-emacs-20060515-gentoo.patch @@ -0,0 +1,57 @@ +--- display.c ++++ display.c +@@ -5,6 +5,7 @@ + * hints that are left in the windows by the commands + */ + ++#include <stdlib.h> + #include <string.h> + #include "estruct.h" + #include "edef.h" +@@ -100,7 +101,6 @@ + void vtinit () + { + VIDEO *vp; +- char *malloc (); + int i; + + (*term.t_open) (); +--- line.c ++++ line.c +@@ -47,7 +47,6 @@ + { + LINE *lp; + int size; +- char *malloc (); + + size = (used + NBLOCK - 1) & ~(NBLOCK - 1); + if (size == 0) /* Assume that an empty */ +@@ -469,8 +468,6 @@ + */ + int kinsert (int c) + { +- char *realloc (); +- char *malloc (); + char *nbufp; + + if (kused == ksize) +--- tcap.c ++++ tcap.c +@@ -2,6 +2,7 @@ + + #define termdef 1 /* don't define "term" external */ + ++#include <stdlib.h> + #include <stdio.h> /* puts(3), snprintf(3) */ + #include "estruct.h" + #include "edef.h" +--- termio.c ++++ termio.c +@@ -5,6 +5,7 @@ + */ + + #undef CTRL ++#include <stdlib.h> + #include <termios.h> + #include <unistd.h> + #include <signal.h> diff --git a/app-editors/ersatz-emacs/metadata.xml b/app-editors/ersatz-emacs/metadata.xml new file mode 100644 index 000000000000..21a5d93d303f --- /dev/null +++ b/app-editors/ersatz-emacs/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>emacs</herd> +<longdescription> + Ersatz Emacs is a very minimal imitation of the famous GNU Emacs editor. + Unlike most popular Emacs derivatives, Ersatz strives to use as little + system resources as possible and be simple enough for the casual programmer + to understand, yet still include all the functionality required for most + text editing jobs. +</longdescription> +</pkgmetadata> diff --git a/app-editors/fb2edit/Manifest b/app-editors/fb2edit/Manifest new file mode 100644 index 000000000000..0f480edf8def --- /dev/null +++ b/app-editors/fb2edit/Manifest @@ -0,0 +1,2 @@ +DIST fb2edit-0.0.8.tar.bz2 222684 SHA256 f6f6fe21fb8651f8aaff12bfd923257dab17e64a47557669a2ad93ce22c8ed89 SHA512 05b79c5c7965af410fda335fc6fe2612f541c8bae6241c115affdd33b9375bba5710e689933f1745dbf2c132896a843e532bf62c079f0d646f97bedd0e81a572 WHIRLPOOL 993558bdab1a66295c5189e1c05886caa3e590a9779be876ad6d6f46b11958ff53e2e3db50c018ee63c20e9b2108308c03eb5b5a83f54badf93d99f16b94d1e0 +DIST fb2edit-0.0.9.tar.gz 242568 SHA256 6d64fe1597911170d6d6d59d4b36d406a9389a37c2ef5c68051176bf6f45f181 SHA512 a51eb9e7c7f70d55dc1eb06f4f7e03a031ce229570ee9620f6299cac6c2b435c8bcd702def7a50783055c066227d77b5c235f2bba231b328831b4666cc0f61b9 WHIRLPOOL 2f4ab29352318211c36fe1bfd739d69633f31ec0ce0c0a2edf4dac7965896074900f8c5b840943d900a5ff12d6cc3a819a19f7ea77201465446f17dcc9aba8cb diff --git a/app-editors/fb2edit/fb2edit-0.0.8.ebuild b/app-editors/fb2edit/fb2edit-0.0.8.ebuild new file mode 100644 index 000000000000..4488bb484a26 --- /dev/null +++ b/app-editors/fb2edit/fb2edit-0.0.8.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit cmake-utils + +DESCRIPTION="a WYSIWYG FictionBook (fb2) editor" +HOMEPAGE="http://fb2edit.lintest.ru/" +SRC_URI="http://fb2edit.lintest.ru/pub/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" + +DEPEND="dev-libs/libxml2 + dev-qt/qtcore:4 + dev-qt/qtgui:4 + dev-qt/qtwebkit:4 + dev-qt/qtxmlpatterns:4" +RDEPEND="${DEPEND} + x11-themes/hicolor-icon-theme" + +DOCS=( AUTHORS README ) + +src_prepare() { + # drop -g from CFLAGS + sed -i -e '/^add_definitions(-W/s/-g//' CMakeLists.txt || die 'sed failed' + + cmake-utils_src_prepare +} diff --git a/app-editors/fb2edit/fb2edit-0.0.9.ebuild b/app-editors/fb2edit/fb2edit-0.0.9.ebuild new file mode 100644 index 000000000000..333147d05e47 --- /dev/null +++ b/app-editors/fb2edit/fb2edit-0.0.9.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit cmake-utils + +DESCRIPTION="a WYSIWYG FictionBook (fb2) editor" +HOMEPAGE="http://fb2edit.lintest.ru/" +SRC_URI="https://github.com/lintest/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND="dev-libs/libxml2 + dev-qt/qtcore:4 + dev-qt/qtgui:4 + dev-qt/qtwebkit:4 + dev-qt/qtxmlpatterns:4" +RDEPEND="${DEPEND} + x11-themes/hicolor-icon-theme" + +DOCS=( AUTHORS README ) + +PATCHES=( "${FILESDIR}/${P}-fix-compiler-warnings.patch" ) + +src_prepare() { + # drop -g from CFLAGS + sed -i -e '/^add_definitions(-W/s/-g//' CMakeLists.txt || die 'sed failed' + + cmake-utils_src_prepare +} diff --git a/app-editors/fb2edit/files/fb2edit-0.0.9-fix-compiler-warnings.patch b/app-editors/fb2edit/files/fb2edit-0.0.9-fix-compiler-warnings.patch new file mode 100644 index 000000000000..7422c505858e --- /dev/null +++ b/app-editors/fb2edit/files/fb2edit-0.0.9-fix-compiler-warnings.patch @@ -0,0 +1,101 @@ +commit 5a378858e83e95f88ffec5e14ae1fd8157101ed0 +Author: Kandrashin Denis <mail@lintest.ru> +Date: Fri Jul 18 23:03:05 2014 +0400 + + Remove compiler warning + +diff --git a/source/fb2main.cpp b/source/fb2main.cpp +index 50c5a80..504ccd8 100644 +--- a/source/fb2main.cpp ++++ b/source/fb2main.cpp +@@ -27,6 +27,7 @@ FbMainWindow::FbMainWindow(const QString &filename, ViewMode mode) + , isSwitched(false) + , isUntitled(true) + { ++ Q_UNUSED(mode); + connect(qApp, SIGNAL(logMessage(QtMsgType, QString)), SLOT(logMessage(QtMsgType, QString))); + + setUnifiedTitleAndToolBarOnMac(true); +@@ -50,16 +51,22 @@ FbMainWindow::FbMainWindow(const QString &filename, ViewMode mode) + + void FbMainWindow::warning(int row, int col, const QString &msg) + { ++ Q_UNUSED(row); ++ Q_UNUSED(col); + logMessage(QtWarningMsg, msg.simplified()); + } + + void FbMainWindow::error(int row, int col, const QString &msg) + { ++ Q_UNUSED(row); ++ Q_UNUSED(col); + logMessage(QtCriticalMsg, msg.simplified()); + } + + void FbMainWindow::fatal(int row, int col, const QString &msg) + { ++ Q_UNUSED(row); ++ Q_UNUSED(col); + logMessage(QtFatalMsg, msg.simplified()); + } + +@@ -164,6 +171,7 @@ void FbMainWindow::createActions() + FbTextEdit *text = mainDock->text(); + FbHeadEdit *head = mainDock->head(); + FbCodeEdit *code = mainDock->code(); ++ Q_UNUSED(head) + + menu = menuBar()->addMenu(tr("&File")); + tool = addToolBar(tr("File")); +diff --git a/source/fb2text.cpp b/source/fb2text.cpp +index 0ea146f..aa2d276 100644 +--- a/source/fb2text.cpp ++++ b/source/fb2text.cpp +@@ -37,14 +37,14 @@ FbTextAction::FbTextAction(const QIcon &icon, const QString &text, QWebPage::Web + { + } + +-QAction * FbTextAction::action(QWebPage::WebAction action) ++QAction * FbTextAction::action() + { + return m_parent->pageAction(m_action); + } + + void FbTextAction::updateAction() + { +- if (QAction * act = action(m_action)) { ++ if (QAction * act = action()) { + if (isCheckable()) setChecked(act->isChecked()); + setEnabled(act->isEnabled()); + } +@@ -52,7 +52,7 @@ void FbTextAction::updateAction() + + void FbTextAction::connectAction() + { +- if (QAction * act = action(m_action)) { ++ if (QAction * act = action()) { + connect(this, SIGNAL(triggered(bool)), act, SIGNAL(triggered(bool))); + connect(act, SIGNAL(changed()), this, SLOT(updateAction())); + if (isCheckable()) setChecked(act->isChecked()); +@@ -65,7 +65,7 @@ void FbTextAction::connectAction() + + void FbTextAction::disconnectAction() + { +- QAction * act = action(m_action); ++ QAction * act = action(); + disconnect(act, 0, this, 0); + disconnect(this, 0, act, 0); + } +diff --git a/source/fb2text.hpp b/source/fb2text.hpp +index c1d1cb4..41f8a6c 100644 +--- a/source/fb2text.hpp ++++ b/source/fb2text.hpp +@@ -169,7 +169,7 @@ private slots: + void updateAction(); + + private: +- QAction * action(QWebPage::WebAction action); ++ QAction * action(); + + private: + QWebPage::WebAction m_action; diff --git a/app-editors/fb2edit/metadata.xml b/app-editors/fb2edit/metadata.xml new file mode 100644 index 000000000000..2bc00486b218 --- /dev/null +++ b/app-editors/fb2edit/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>pinkbyte@gentoo.org</email> + <name>Sergey Popov</name> + </maintainer> + <upstream> + <maintainer> + <email>mail@lintest.ru</email> + <name>Denis Kandrashin</name> + </maintainer> + <remote-id type="github">lintest/fb2edit</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/fe/Manifest b/app-editors/fe/Manifest new file mode 100644 index 000000000000..4cfbe51edacb --- /dev/null +++ b/app-editors/fe/Manifest @@ -0,0 +1,2 @@ +DIST fe-1.8.tar.gz 169151 SHA256 ee8473dd37662b8a8067005bc0f258389057281981c5034fcad6a7b4e4786013 SHA512 c00f23769193b8b74867da32e7424ecb7f807a0186c8f91cd007f83a543777e1ca70909ee17a54ac8e7da743cd3fcb6b0e8cdd6d2fefbfb6766122ade125893b WHIRLPOOL 226af461ce132dcd5d524898971d948dbe61e18fd1e37e58a9e417a4cd754ac04782eea350a9a1bcd7164db4c2843faa2e006cec35400d36d83dc275e3a890e5 +DIST fe-1.9.tar.gz 178678 SHA256 3221e946f95271b88e73b19964e04a6848984824e1ddd0925fc7b191f741a689 SHA512 38121a21c1539ff8ad4f61b92ddfd0582c100f1bc1c5524faf7a60a162c5f8a0b2d1528da7719e522e9b75a527166223c2636f78c9f516abbb33434a9f6e6251 WHIRLPOOL f556433b2100e34100e909d40cdad411ebfe6a0a780c411a1bf58a9c380615de609711b9a1ced7442c6d05e24036183eb19551297fbc74cf589a0eb20b9a1cc1 diff --git a/app-editors/fe/fe-1.8.ebuild b/app-editors/fe/fe-1.8.ebuild new file mode 100644 index 000000000000..2be3dd75b643 --- /dev/null +++ b/app-editors/fe/fe-1.8.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils + +DESCRIPTION="A small and easy to use folding editor" +HOMEPAGE="http://www.moria.de/~michael/fe/" +SRC_URI="http://www.moria.de/~michael/fe/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="sendmail" + +DEPEND="sys-libs/ncurses + sendmail? ( virtual/mta )" +RDEPEND="${DEPEND}" + +src_prepare() { + epatch "${FILESDIR}/${P}-makefile.patch" +} + +src_configure() { + econf $(use_enable sendmail) +} + +src_install() { + emake \ + prefix="${D}"/usr \ + datadir="${D}"/usr/share \ + MANDIR="${D}"/usr/share/man \ + install + + dodoc NEWS README + dohtml fe.html +} diff --git a/app-editors/fe/fe-1.9.ebuild b/app-editors/fe/fe-1.9.ebuild new file mode 100644 index 000000000000..beeeeff77572 --- /dev/null +++ b/app-editors/fe/fe-1.9.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils + +DESCRIPTION="A small and easy to use folding editor" +HOMEPAGE="http://www.moria.de/~michael/fe/" +SRC_URI="http://www.moria.de/~michael/fe/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="sendmail" + +DEPEND="sys-libs/ncurses + sendmail? ( virtual/mta )" +RDEPEND="${DEPEND}" + +src_prepare() { + epatch "${FILESDIR}/${PN}-1.8-makefile.patch" +} + +src_configure() { + econf $(use_enable sendmail) +} + +src_install() { + emake \ + prefix="${D}"/usr \ + datadir="${D}"/usr/share \ + MANDIR="${D}"/usr/share/man \ + install + + dodoc NEWS README + dohtml fe.html +} diff --git a/app-editors/fe/files/fe-1.8-makefile.patch b/app-editors/fe/files/fe-1.8-makefile.patch new file mode 100644 index 000000000000..73f7e09020da --- /dev/null +++ b/app-editors/fe/files/fe-1.8-makefile.patch @@ -0,0 +1,16 @@ +diff -Nur fe-1.8-orig/Makefile.in fe-1.8/Makefile.in +--- fe-1.8-orig/Makefile.in 2007-08-31 20:47:09.000000000 +0200 ++++ fe-1.8/Makefile.in 2011-08-27 21:07:43.000000000 +0200 +@@ -40,10 +40,10 @@ + + install: all + $(INSTALL) -m 755 -d $(BINDIR) +- $(INSTALL_PROGRAM) -s fe $(BINDIR)/fe ++ $(INSTALL_PROGRAM) fe $(BINDIR)/fe + $(INSTALL) -m 755 -d $(MANDIR)/man1 + $(INSTALL_DATA) fe.1 $(MANDIR)/man1/fe.1 +- make install-po ++ $(MAKE) install-po + + .c.o: + $(CC) -c $(CPPFLAGS) $(CFLAGS) $< diff --git a/app-editors/fe/metadata.xml b/app-editors/fe/metadata.xml new file mode 100644 index 000000000000..f2371402a162 --- /dev/null +++ b/app-editors/fe/metadata.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>emacs</herd> +<longdescription> + Fe is a small and easy to use folding editor. + + Fe allows to fold arbitrary text regions; it is not bound to syntactic + units. Unlike Origami, folds are not attributed with a trailing comment, + instead you can put folds before or after any text in the line, as you like. + + Fe has no configuration or extension language and requires no setup. Its + user interface is emacs-like and it has menues for the very most important + functions to help beginners. Further there is a reference card. It offers: + + * Regions and Emacs-like kill ring + * Incremental search + * Keyboard macros + * Editing binary files + * Multiple windows and views + * Compose function for Latin 1 characters + + In case you can't stand the emacs interface and want ultimate flexibility, + fe can easily be modified, because it is structured as an editor library + with a user interface frontend, all written in C. +</longdescription> +<use> + <flag name='sendmail'>Send mail after editor abend</flag> +</use> +</pkgmetadata> diff --git a/app-editors/focuswriter/Manifest b/app-editors/focuswriter/Manifest new file mode 100644 index 000000000000..c2bf16344ccc --- /dev/null +++ b/app-editors/focuswriter/Manifest @@ -0,0 +1,2 @@ +DIST focuswriter-1.5.3-src.tar.bz2 5201148 SHA256 1c48c72879a7b40cf7d97c28abf5cf713c063b7f83a1179093b1241f5797a8c4 SHA512 6796fc8dbe5d5ba545fc8ee5797f620e56dea67a038f4c4eb9e404940a863b32ea2ceb30ed7ea8e22187be2763cc128def3f08f61187ba11de94ec9ae16f807f WHIRLPOOL c5dbf0e739928833bbccdc2e5de6305ca553a3e8f0f1d54d1d2a6bd4636b8ede85c3adedcaee85d66779e25cd53678428cc3817bdedcf30be42c89fc1aebdf07 +DIST focuswriter-1.5.4-src.tar.bz2 5247111 SHA256 5ffd74a2d5a790e432d819dfd269ddb8d6c1a0168c91e441b2121fa6eaf8f565 SHA512 f532dac5a0691d7b82a16b5dae115c7d79b161484ba1ad2243fd1ccaeba8ae9c9ed0019eba6cd87cc4155a51f5a97cad16c92b9453671426e214e139d78bc526 WHIRLPOOL aca3722b60aee8bec0979f71a04d28217c82c9a2fb60b49a19a58596c9d67bd160626d14cc950eeaa9c0543001f93ec9576a1561c24bbe29a98eeec708287331 diff --git a/app-editors/focuswriter/files/focuswriter-1.5.2-unbundle-qtsingleapplication.patch b/app-editors/focuswriter/files/focuswriter-1.5.2-unbundle-qtsingleapplication.patch new file mode 100644 index 000000000000..e7815be0ee5f --- /dev/null +++ b/app-editors/focuswriter/files/focuswriter-1.5.2-unbundle-qtsingleapplication.patch @@ -0,0 +1,36 @@ +--- focuswriter.pro.orig 2014-07-20 17:37:05.000000000 +0400 ++++ focuswriter.pro 2014-07-31 17:56:00.702801120 +0400 +@@ -90,13 +90,14 @@ + src/spelling/dictionary_provider_voikko.cpp + + lessThan(QT_MAJOR_VERSION, 5) { ++ CONFIG += qtsingleapplication + SOURCES += src/sdl/sound.cpp + } else { + SOURCES += src/sound.cpp + } + } + +-INCLUDEPATH += src src/fileformats src/qtsingleapplication src/qtzip src/spelling ++INCLUDEPATH += src src/fileformats src/qtzip src/spelling + + # Specify program sources + HEADERS += src/action_manager.h \ +@@ -155,8 +156,6 @@ + src/fileformats/rtf_tokenizer.h \ + src/fileformats/rtf_writer.h \ + src/fileformats/txt_reader.h \ +- src/qtsingleapplication/qtsingleapplication.h \ +- src/qtsingleapplication/qtlocalpeer.h \ + src/qtzip/qtzipreader.h \ + src/qtzip/qtzipwriter.h \ + src/spelling/abstract_dictionary.h \ +@@ -219,8 +218,6 @@ + src/fileformats/rtf_tokenizer.cpp \ + src/fileformats/rtf_writer.cpp \ + src/fileformats/txt_reader.cpp \ +- src/qtsingleapplication/qtsingleapplication.cpp \ +- src/qtsingleapplication/qtlocalpeer.cpp \ + src/qtzip/qtzip.cpp \ + src/spelling/dictionary_dialog.cpp \ + src/spelling/dictionary_manager.cpp \ diff --git a/app-editors/focuswriter/focuswriter-1.5.3.ebuild b/app-editors/focuswriter/focuswriter-1.5.3.ebuild new file mode 100644 index 000000000000..fc6e598f6aa1 --- /dev/null +++ b/app-editors/focuswriter/focuswriter-1.5.3.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PLOCALES="ar ca cs da de el en en_GB es_MX es fi fr he hu hy id it ja ko nl pl +pt_BR pt ro ru sk sr sv tr uk vi zh_CN zh_TW" +PLOCALE_BACKUP="en" +inherit fdo-mime gnome2-utils l10n readme.gentoo qt4-r2 + +DESCRIPTION="A fullscreen and distraction-free word processor" +HOMEPAGE="http://gottcode.org/focuswriter/" +SRC_URI="http://gottcode.org/${PN}/${P}-src.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug" + +RDEPEND="app-text/hunspell + dev-qt/qtcore:4 + dev-qt/qtgui:4 + dev-qt/qtsingleapplication[qt4(+),X] + sys-libs/zlib" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +DOCS=( ChangeLog CREDITS NEWS README ) +DOC_CONTENTS="Focuswriter has optional sound support if media-libs/sdl-mixer is +installed with wav useflag enabled." + +PATCHES=( "${FILESDIR}/${PN}-1.5.2-unbundle-qtsingleapplication.patch" ) + +rm_loc() { + sed -e "s|translations/${PN}_${1}.ts||" -i ${PN}.pro || die 'sed failed' + rm translations/${PN}_${1}.{ts,qm} || die "removing ${1} locale failed" +} + +src_prepare() { + l10n_for_each_disabled_locale_do rm_loc + qt4-r2_src_prepare +} + +src_configure() { + eqmake4 PREFIX="${EPREFIX}/usr" +} + +src_install() { + readme.gentoo_create_doc + qt4-r2_src_install +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + readme.gentoo_pkg_postinst + gnome2_icon_cache_update + fdo-mime_desktop_database_update +} + +pkg_postrm() { + gnome2_icon_cache_update + fdo-mime_desktop_database_update +} diff --git a/app-editors/focuswriter/focuswriter-1.5.4.ebuild b/app-editors/focuswriter/focuswriter-1.5.4.ebuild new file mode 100644 index 000000000000..f2e23064f6b9 --- /dev/null +++ b/app-editors/focuswriter/focuswriter-1.5.4.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PLOCALES="ar ca cs da de el en en_GB es_MX es fi fr he hu hy id it ja ko nl pl +pt_BR pt ro ru sk sr sv tr uk vi zh_CN zh_TW" +PLOCALE_BACKUP="en" +inherit fdo-mime gnome2-utils l10n readme.gentoo qt4-r2 + +DESCRIPTION="A fullscreen and distraction-free word processor" +HOMEPAGE="http://gottcode.org/focuswriter/" +SRC_URI="http://gottcode.org/${PN}/${P}-src.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug" + +RDEPEND="app-text/hunspell + dev-qt/qtcore:4 + dev-qt/qtgui:4 + dev-qt/qtsingleapplication[qt4(+),X] + sys-libs/zlib" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +DOCS=( ChangeLog CREDITS NEWS README ) +DOC_CONTENTS="Focuswriter has optional sound support if media-libs/sdl-mixer is +installed with wav useflag enabled." + +PATCHES=( "${FILESDIR}/${PN}-1.5.2-unbundle-qtsingleapplication.patch" ) + +rm_loc() { + sed -e "s|translations/${PN}_${1}.ts||" -i ${PN}.pro || die 'sed failed' + rm translations/${PN}_${1}.{ts,qm} || die "removing ${1} locale failed" +} + +src_prepare() { + l10n_for_each_disabled_locale_do rm_loc + qt4-r2_src_prepare +} + +src_configure() { + eqmake4 PREFIX="${EPREFIX}/usr" +} + +src_install() { + readme.gentoo_create_doc + qt4-r2_src_install +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + readme.gentoo_pkg_postinst + gnome2_icon_cache_update + fdo-mime_desktop_database_update +} + +pkg_postrm() { + gnome2_icon_cache_update + fdo-mime_desktop_database_update +} diff --git a/app-editors/focuswriter/metadata.xml b/app-editors/focuswriter/metadata.xml new file mode 100644 index 000000000000..ab02f994fdd2 --- /dev/null +++ b/app-editors/focuswriter/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>qt</herd> +</pkgmetadata> diff --git a/app-editors/fte/Manifest b/app-editors/fte/Manifest new file mode 100644 index 000000000000..cda9d5e331b0 --- /dev/null +++ b/app-editors/fte/Manifest @@ -0,0 +1,4 @@ +DIST fte-20051115-common.zip 187849 SHA256 794031dd1d06156259d21ddcb3dec3196001818ea7116e9786b54314484dabf4 SHA512 18e1657a6fe1b48449dc97a357f00bfeb6626450520b48647e2751cc946d9d1bfc6d77d4b0fbdff0a980121502da870f739846b1db9569ff0b305530ee717323 WHIRLPOOL 5d515bdac01d5730a961b153df202e9ed6535ef536d1163166f9934dea002bb7fe7a6ac4b48d552e7c0ac1b1c96b3a44b6e0d4a7f32c25948f94691a910eb11b +DIST fte-20051115-src.zip 549216 SHA256 bb4135e5c39223fa346d20613052e69090b14ed46855d5134bf2dbc4ba40d962 SHA512 320c2c4f27041ff5e7417288e5acc8c776013da4aa7cfc187e6207086851642a7ed961383ca19f6ae6c1717a59453c6a9ca40a1c7eb77dae6e5b9184cd7c346a WHIRLPOOL e8c3e84b7986a7900ea81dfc2b5285edb1f8d413769b400898a3b08083a7b954502d8e57f8a0d74d3d487ad7ea93227e334a89a6e178112cf1dfcf72c25357e4 +DIST fte-20110708-common.zip 200007 SHA256 58411578b31958765f42d2bf29b7aedd9f916955c2c19c96909a1c03e0246af7 SHA512 0bb59a5b6b4a5ef6c1234dadd8922cd50a13ad1f0c06d6046b74a95592ad55f720b43bbc78a42cab63dfc68c5e073d44d5179bd6ed72f346563f43f3c5c146f1 WHIRLPOOL 9d3ed7205b8daf8c4959b8683e979d47a3c842471f312fdcf03a6c6dc36f66bd7dede6a3bb9d4e91f7a91f554165b7360c755857d685dfe55478ae18672cbe55 +DIST fte-20110708-src.zip 504199 SHA256 d6311c542d3f0f2890a54a661c3b67228e27b894b4164e9faf29f014f254499e SHA512 2d59fadcdd988ee85b87425c343341e1b768a7e9ef838c5f8a1f22c4adc5bf2cc37d547f36354ca1740bce07b33d5ae93d14e24001b9dbd3b1b267986564a089 WHIRLPOOL 8a2c7a9053780092fe690b19dfb419bdb66c0617ac49c1fec312ce75fd480bbf691d24da34eeeb38ee267af0eafbc5fd6c6caf06c25ee809b917caa32a9dce51 diff --git a/app-editors/fte/files/fte b/app-editors/fte/files/fte new file mode 100644 index 000000000000..2e4621b92a62 --- /dev/null +++ b/app-editors/fte/files/fte @@ -0,0 +1,26 @@ +#!/bin/sh +# +# simple wrapper shell script which selects appropriate fte executable +# + +if [ -n "$DISPLAY" ]; then + if which xfte >/dev/null; then + exec xfte "$@" + elif which sfte >/dev/null; then + exec sfte "$@" + elif which vfte >/dev/null; then + echo "Only Console version installed!" + fi +else + if [ "$TERM" = linux ] && which vfte >/dev/null; then + exec vfte "$@" + elif which sfte >/dev/null; then + exec sfte "$@" + elif which xfte >/dev/null; then + echo "Only X-Window version installed!" + fi + +fi + +echo "No binary executable from the FTE family has been found!" +echo "Please install one of them." diff --git a/app-editors/fte/files/fte-gcc34 b/app-editors/fte/files/fte-gcc34 new file mode 100644 index 000000000000..51940e650657 --- /dev/null +++ b/app-editors/fte/files/fte-gcc34 @@ -0,0 +1,38 @@ +--- fte/src/con_slang.cpp 2003-02-16 19:23:58.000000000 +0100 ++++ fte-gcc34/src/con_slang.cpp 2005-01-12 16:57:38.050369064 +0100 +@@ -246,7 +246,7 @@ + SLsmg_write_nchars(slang_dchs, sizeof(slang_dchs)); + + SLsmg_gotorc(0, 0); +- SLsmg_read_raw(linebuf, sizeof(slang_dchs)); ++ SLsmg_read_raw((SLsmg_Char_Type*)linebuf, sizeof(slang_dchs)); + for (i = 0; i < sizeof(slang_dchs); i++) + raw_dchs[i] = (linebuf[i]) & 0xff; + +@@ -368,7 +368,7 @@ + ConQueryCursorPos(&CurX, &CurY); + while (H > 0) { + SLsmg_gotorc(Y++, X); +- SLsmg_write_raw(box, W); ++ SLsmg_write_raw((SLsmg_Char_Type*)box, W); + box += W; + H--; + } +@@ -386,7 +386,7 @@ + ConQueryCursorPos(&CurX, &CurY); + while (H > 0) { + SLsmg_gotorc(Y++, X); +- SLsmg_read_raw(Cell, W); ++ SLsmg_read_raw((SLsmg_Char_Type*)Cell, W); + for (i = 0; i < W; i++) + if (Cell[i] & 0x8000) { + ch = Cell[i] & 0xff; +@@ -409,7 +409,7 @@ + ConQueryCursorPos(&CurX, &CurY); + while (H > 0) { + SLsmg_gotorc(Y++, X); +- SLsmg_read_raw(box, W); ++ SLsmg_read_raw((SLsmg_Char_Type*)box, W); + box += W; + H--; + } diff --git a/app-editors/fte/files/fte-interix.patch b/app-editors/fte/files/fte-interix.patch new file mode 100644 index 000000000000..1df0a49f488a --- /dev/null +++ b/app-editors/fte/files/fte-interix.patch @@ -0,0 +1,38 @@ +https://sourceforge.net/tracker/?func=detail&aid=3554646&group_id=943&atid=100943 + +diff -ru fte.orig/src/g_unix_pipe.cpp fte/src/g_unix_pipe.cpp +--- fte.orig/src/g_unix_pipe.cpp 2008-04-03 13:33:49 +0200 ++++ fte/src/g_unix_pipe.cpp 2008-04-03 13:34:20 +0200 +@@ -4,6 +4,10 @@ + #include <signal.h> + #include <sys/wait.h> + ++#ifdef __INTERIX ++# include <sys/time.h> ++#endif ++ + #include "sysdep.h" + #include "c_config.h" + #include "console.h" +diff -ru fte.orig/src/sysdep.h fte/src/sysdep.h +--- fte.orig/src/sysdep.h 2008-04-03 13:33:58 +0200 ++++ fte/src/sysdep.h 2008-04-03 13:30:43 +0200 +@@ -15,7 +15,7 @@ + #include <stdlib.h> + #include <stdarg.h> + #include <string.h> +-#if defined(AIX) || defined(SCO) || defined(NCR) ++#if defined(AIX) || defined(SCO) || defined(NCR) || defined(__INTERIX) + #include <strings.h> + #endif + #include <stdio.h> +@@ -38,7 +38,8 @@ + !defined(IRIX) && \ + !defined(SCO) && \ + !defined(SUNOS) && \ +- !defined(NCR) ++ !defined(NCR) && \ ++ !defined(__INTERIX) + # error Target not supported. + #endif + diff --git a/app-editors/fte/files/fte-new_keyword.patch b/app-editors/fte/files/fte-new_keyword.patch new file mode 100644 index 000000000000..c7b2a2b64554 --- /dev/null +++ b/app-editors/fte/files/fte-new_keyword.patch @@ -0,0 +1,14 @@ +--- src/con_linux.cpp.orig 2005-01-30 22:46:54.170485296 +0300 ++++ src/con_linux.cpp 2005-01-30 22:46:28.859333176 +0300 +@@ -50,7 +50,11 @@ + #include <linux/major.h> + #include <linux/kdev_t.h> + #include <linux/kd.h> ++extern "C" { ++#define new xnew + #include <linux/keyboard.h> ++#undef new ++} + #ifdef USE_GPM + extern "C" { + #include <gpm.h> diff --git a/app-editors/fte/files/fte-slang.patch b/app-editors/fte/files/fte-slang.patch new file mode 100644 index 000000000000..50470bd6b7ef --- /dev/null +++ b/app-editors/fte/files/fte-slang.patch @@ -0,0 +1,131 @@ +diff -Nru /tmp/wgHyQebD7F/fte-0.50.0/src/con_slang.cpp /tmp/PQJo4szkUb/fte-0.50.0/src/con_slang.cpp +--- a/fte-0.50.0/src/con_slang.cpp 2005-12-28 16:53:24.000000000 +0100 ++++ b/fte-0.50.0/src/con_slang.cpp 2006-06-05 06:02:37.000000000 +0200 +@@ -99,12 +99,14 @@ + '+' + }; + +-static char raw_dchs[sizeof(slang_dchs)]; ++static SLsmg_Char_Type raw_dchs[sizeof(slang_dchs)]; + +-static unsigned char ftesl_get_dch(char raw) ++static unsigned char ftesl_get_dch(SLsmg_Char_Type raw) + { + for (int i = 0; i < (int) sizeof(slang_dchs); i++) +- if (raw_dchs[i] == raw) ++ if (raw_dchs[i].nchars == raw.nchars ++ && !memcmp(raw_dchs[i].wchars, raw.wchars, ++ raw.nchars * sizeof(*raw.wchars))) + return DCH_SLANG_C1 + i; + return DCH_SLANG_EOL; + } +@@ -215,7 +217,6 @@ + int ConInit(int /*XSize */ , int /*YSize */ ) + { + unsigned i; +- unsigned short linebuf[sizeof(slang_dchs)]; + + SLtt_get_terminfo(); + +@@ -246,9 +247,7 @@ + SLsmg_write_nchars(slang_dchs, sizeof(slang_dchs)); + + SLsmg_gotorc(0, 0); +- SLsmg_read_raw((SLsmg_Char_Type*)linebuf, sizeof(slang_dchs)); +- for (i = 0; i < sizeof(slang_dchs); i++) +- raw_dchs[i] = (linebuf[i]) & 0xff; ++ SLsmg_read_raw(raw_dchs, sizeof(slang_dchs)); + + SLsmg_set_char_set(0); + +@@ -361,14 +360,14 @@ + return 0; + } + +-static int ConPutBoxRaw(int X, int Y, int W, int H, unsigned short *box) ++static int ConPutBoxRaw(int X, int Y, int W, int H, SLsmg_Char_Type *box) + { + int CurX, CurY; + + ConQueryCursorPos(&CurX, &CurY); + while (H > 0) { + SLsmg_gotorc(Y++, X); +- SLsmg_write_raw((SLsmg_Char_Type*)box, W); ++ SLsmg_write_raw(box, W); + box += W; + H--; + } +@@ -381,35 +380,51 @@ + int ConGetBox(int X, int Y, int W, int H, PCell Cell) + { + int CurX, CurY, i; +- char ch; ++ SLsmg_Char_Type *linebuf; ++ ++ linebuf = new SLsmg_Char_Type [W]; + + ConQueryCursorPos(&CurX, &CurY); + while (H > 0) { + SLsmg_gotorc(Y++, X); +- SLsmg_read_raw((SLsmg_Char_Type*)Cell, W); +- for (i = 0; i < W; i++) +- if (Cell[i] & 0x8000) { +- ch = Cell[i] & 0xff; +- Cell[i] &= 0x7f00; +- Cell[i] |= ftesl_get_dch(ch); +- } ++ SLsmg_read_raw(linebuf, W); ++ for (i = 0; i < W; i++) { ++ if (linebuf[i].color & SLSMG_ACS_MASK) ++ Cell[i] = ftesl_get_dch(linebuf[i]); ++ else ++ /* ++ * FIXME: Handle UTF-8 -- way beyond a quick-and-dirty ++ * fix. --MV ++ */ ++ Cell[i] = SLSMG_EXTRACT_CHAR(linebuf[i]); ++ /* ++ * FIXME: This preserves only 7 out of 15 bits of color. ++ * Fortunately, we're dealing with color handles rather than ++ * colors themselves -- S-Lang jumps through an extra hoop to ++ * map these to color data. As long as we use less than 127 ++ * different colors, things should be OK. I think. --MV ++ */ ++ Cell[i] |= (linebuf[i].color & 0x7f) << 8; ++ } + Cell += W; + H--; + } + ConSetCursorPos(CurX, CurY); + ++ delete [] (linebuf); ++ + return 0; + + } + +-static int ConGetBoxRaw(int X, int Y, int W, int H, unsigned short *box) ++static int ConGetBoxRaw(int X, int Y, int W, int H, SLsmg_Char_Type *box) + { + int CurX, CurY; + + ConQueryCursorPos(&CurX, &CurY); + while (H > 0) { + SLsmg_gotorc(Y++, X); +- SLsmg_read_raw((SLsmg_Char_Type*)box, W); ++ SLsmg_read_raw(box, W); + box += W; + H--; + } +@@ -451,9 +466,9 @@ + + int ConScroll(int Way, int X, int Y, int W, int H, TAttr Fill, int Count) + { +- unsigned short *box; ++ SLsmg_Char_Type *box; + +- box = new unsigned short [W * H]; ++ box = new SLsmg_Char_Type [W * H]; + + TCell fill = (((unsigned) Fill) << 8) | ' '; + diff --git a/app-editors/fte/fte-20051115-r3.ebuild b/app-editors/fte/fte-20051115-r3.ebuild new file mode 100644 index 000000000000..4f8ff930364f --- /dev/null +++ b/app-editors/fte/fte-20051115-r3.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils toolchain-funcs + +DESCRIPTION="Lightweight text-mode editor" +HOMEPAGE="http://fte.sourceforge.net" +SRC_URI=" + mirror://sourceforge/fte/${P}-src.zip + mirror://sourceforge/fte/${P}-common.zip" + +LICENSE="|| ( GPL-2 Artistic )" +SLOT="0" +KEYWORDS="~alpha amd64 ppc -sparc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="gpm slang X" + +S="${WORKDIR}/${PN}" + +RDEPEND=" + >=sys-libs/ncurses-5.2 + X? ( + x11-libs/libXdmcp + x11-libs/libXau + x11-libs/libX11 + x11-libs/libXpm + ) + gpm? ( >=sys-libs/gpm-1.20 )" +DEPEND="${RDEPEND} + slang? ( >=sys-libs/slang-2.1.3 ) + app-arch/unzip" + +set_targets() { + export TARGETS="" + use slang && TARGETS="${TARGETS} sfte" + use X && TARGETS="${TARGETS} xfte" + + [[ ${CHOST} == *-linux-gnu* ]] \ + && TARGETS="${TARGETS} vfte" \ + || TARGETS="${TARGETS} nfte" +} + +src_prepare() { + epatch \ + "${FILESDIR}"/fte-gcc34 \ + "${FILESDIR}"/${PN}-new_keyword.patch \ + "${FILESDIR}"/${PN}-slang.patch \ + "${FILESDIR}"/${PN}-interix.patch + + [[ -e /usr/include/linux/keyboard.h ]] && \ + sed /usr/include/linux/keyboard.h -e '/wait.h/d' > src/hacked_keyboard.h + + sed \ + -e "s:<linux/keyboard.h>:\"hacked_keyboard.h\":" \ + -i src/con_linux.cpp || die "sed keyboard" + sed \ + -e 's:^OPTIMIZE:#&:g' \ + -e '/^LDFLAGS/s:=:+=:g' \ + -e 's:= g++:= $(CXX):g' \ + -i src/fte-unix.mak || die "sed CFLAGS, LDFLAGS, CC" + ecvs_clean +} + +src_configure() { + set_targets + sed \ + -e "s:@targets@:${TARGETS}:" \ + -e '/^XINCDIR =/c\XINCDIR =' \ + -e '/^XLIBDIR =/c\XLIBDIR = -lstdc++' \ + -e '/^SINCDIR =/c\SINCDIR = -I'"${EPREFIX}"'/usr/include/slang' \ + -i src/fte-unix.mak || die "sed targets" + + if ! use gpm; then + sed \ + -e "s:#define USE_GPM://#define USE_GPM:" \ + -i src/con_linux.cpp || die "sed USE_GPM" + sed \ + -e "s:-lgpm::" \ + -i src/fte-unix.mak || die "sed -lgpm" + fi +} + +src_compile() { + local os="-DLINUX" # by now the default in makefile + [[ ${CHOST} == *-interix* ]] && os= + + DEFFLAGS="PREFIX='${EPREFIX}'/usr CONFIGDIR='${EPREFIX}'/usr/share/fte \ + DEFAULT_FTE_CONFIG=../config/main.fte UOS=${os}" + + set_targets + emake CXX=$(tc-getCXX) OPTIMIZE="${CXXFLAGS}" ${DEFFLAGS} TARGETS="${TARGETS}" all +} + +src_install() { + local files + + keepdir /etc/fte + + into /usr + + set_targets + files="${TARGETS} cfte" + + for i in ${files}; do + dobin src/$i + done + + dobin "${FILESDIR}"/fte + + dodoc CHANGES BUGS HISTORY README TODO + dohtml doc/* + + insinto /usr/share/fte + doins -r config/* +} + +pkg_postinst() { + ebegin "Compiling configuration" + cd "${EPREFIX}"/usr/share/fte || die "missing configuration dir" + "${EPREFIX}"/usr/bin/cfte main.fte "${EPREFIX}"/etc/fte/system.fterc + eend $? +} diff --git a/app-editors/fte/fte-20110708.ebuild b/app-editors/fte/fte-20110708.ebuild new file mode 100644 index 000000000000..19c53c6494b6 --- /dev/null +++ b/app-editors/fte/fte-20110708.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit eutils toolchain-funcs + +DESCRIPTION="Lightweight text-mode editor" +HOMEPAGE="http://fte.sourceforge.net" +SRC_URI=" + mirror://sourceforge/${PN}/${P}-src.zip + mirror://sourceforge/${PN}/${P}-common.zip" + +LICENSE="|| ( GPL-2 Artistic )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc -sparc ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="gpm slang X" + +S="${WORKDIR}/${PN}" + +RDEPEND=" + >=sys-libs/ncurses-5.2 + X? ( + x11-libs/libXdmcp + x11-libs/libXau + x11-libs/libX11 + x11-libs/libXpm + ) + gpm? ( >=sys-libs/gpm-1.20 )" +DEPEND="${RDEPEND} + slang? ( >=sys-libs/slang-2.1.3 ) + app-arch/unzip" + +set_targets() { + export TARGETS="" + use slang && TARGETS="${TARGETS} s${PN}" + use X && TARGETS="${TARGETS} x${PN}" + + [[ ${CHOST} == *-linux-gnu* ]] \ + && TARGETS="${TARGETS} v${PN}" \ + || TARGETS="${TARGETS} n${PN}" +} + +src_prepare() { + # Do not apply anymore, posibly deprecated. TODO: Check and clean up. + # epatch "${FILESDIR}"/${PN}-gcc34 + # epatch "${FILESDIR}"/${PN}-new_keyword.patch + # epatch "${FILESDIR}"/${PN}-slang.patch + # epatch "${FILESDIR}"/${PN}-interix.patch + + [[ -e /usr/include/linux/keyboard.h ]] && \ + sed /usr/include/linux/keyboard.h -e '/wait.h/d' > src/hacked_keyboard.h + + sed \ + -e "s:<linux/keyboard.h>:\"hacked_keyboard.h\":" \ + -i src/con_linux.cpp || die "sed keyboard" + sed \ + -e 's:^OPTIMIZE:#&:g' \ + -e '/^LDFLAGS/s:=:+=:g' \ + -e 's:= g++:= $(CXX):g' \ + -i src/${PN}-unix.mak || die "sed CFLAGS, LDFLAGS, CC" + ecvs_clean +} + +src_configure() { + set_targets + sed \ + -e "s:@targets@:${TARGETS}:" \ + -e '/^XINCDIR =/c\XINCDIR =' \ + -e '/^XLIBDIR =/c\XLIBDIR = -lstdc++' \ + -e '/^SINCDIR =/c\SINCDIR = -I'"${EPREFIX}"'/usr/include/slang' \ + -i src/${PN}-unix.mak || die "sed targets" + + if ! use gpm; then + sed \ + -e "s:#define USE_GPM://#define USE_GPM:" \ + -i src/con_linux.cpp || die "sed USE_GPM" + sed \ + -e "s:-lgpm::" \ + -i src/fte-unix.mak || die "sed -lgpm" + fi +} + +src_compile() { + local os="-DLINUX" # by now the default in makefile + [[ ${CHOST} == *-interix* ]] && os= + + DEFFLAGS="PREFIX='${EPREFIX}'/usr CONFIGDIR='${EPREFIX}'/usr/share/${PN} \ + DEFAULT_FTE_CONFIG=../config/main.${PN} UOS=${os}" + + set_targets + emake CXX=$(tc-getCXX) OPTIMIZE="${CXXFLAGS}" ${DEFFLAGS} TARGETS="${TARGETS}" all +} + +src_install() { + local files + + keepdir /etc/${PN} + + into /usr + + set_targets + files="${TARGETS} c${PN}" + + for i in ${files}; do + dobin src/$i + done + + dobin "${FILESDIR}"/${PN} + + dodoc BUGS README TODO + dohtml doc/* + + insinto /usr/share/${PN} + doins -r config/* +} + +pkg_postinst() { + ebegin "Compiling configuration" + cd "${EPREFIX}"/usr/share/${PN} || die "missing configuration dir" + "${EPREFIX}"/usr/bin/c${PN} main.${PN} "${EPREFIX}"/etc/${PN}/system.${PN}rc + eend $? +} diff --git a/app-editors/fte/metadata.xml b/app-editors/fte/metadata.xml new file mode 100644 index 000000000000..fc3f5cf34dad --- /dev/null +++ b/app-editors/fte/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>maintainer-needed@gentoo.org</email> + </maintainer> + <longdescription>Lightweight text-mode editor.</longdescription> + <upstream> + <remote-id type="sourceforge">fte</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/gedit-plugins/Manifest b/app-editors/gedit-plugins/Manifest new file mode 100644 index 000000000000..067135469501 --- /dev/null +++ b/app-editors/gedit-plugins/Manifest @@ -0,0 +1,2 @@ +DIST gedit-plugins-3.14.1.tar.xz 1291776 SHA256 d0f4b8282e91dc3f77698aa4c8a6bd09df057b4df77fb86594c402fe7347b881 SHA512 bc385cae81d3b2c4faa26cb94612fbea0e503e556031594b72f3f176ad8846c42baa7bdfafffb85b226d9faf836237da56b91de593f41037ff8940307bc1c302 WHIRLPOOL d191a59c33a985144bb3264385f8c827e886c3183686df1f2d27a3db4b73bd22710463558bbefed45879ef27cdf1597efee6a86d69c8bc78b9fa92a11628b7cb +DIST gedit-plugins-3.16.0.tar.xz 1280064 SHA256 b685b84ada8ca04f6aa201e402a0208591be4a37b874595a0a85d0a14b52f191 SHA512 336d57bf9a25bb70cf63bb4ea6e81215381e91a04126429fd4f930596ed1731ceb8ed36b091757fb6729ba032bd8af083a3ec056a2e91f7abddc505282e511e2 WHIRLPOOL a5ef32695c8b7bbe0fd19a53496d7390d306e9587a0228cfb0151ff59eb0d127ba85e7c481403fb6fb3aaf14fb95428c6b60d5b65cafcecab230edc2733bc918 diff --git a/app-editors/gedit-plugins/gedit-plugins-3.14.1.ebuild b/app-editors/gedit-plugins/gedit-plugins-3.14.1.ebuild new file mode 100644 index 000000000000..0b2187387aa4 --- /dev/null +++ b/app-editors/gedit-plugins/gedit-plugins-3.14.1.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +GCONF_DEBUG="no" +GNOME2_LA_PUNT="yes" # plugins are dlopened +PYTHON_COMPAT=( python3_{3,4} ) +PYTHON_REQ_USE="xml" + +inherit eutils gnome2 multilib python-r1 + +DESCRIPTION="Official plugins for gedit" +HOMEPAGE="https://wiki.gnome.org/Apps/Gedit/ShippedPlugins" + +LICENSE="GPL-2+" +KEYWORDS="amd64 x86" +SLOT="0" + +IUSE_plugins="charmap git terminal zeitgeist" +IUSE="+python ${IUSE_plugins}" +# python-single-r1 would request disabling PYTHON_TARGETS on libpeas +REQUIRED_USE=" + charmap? ( python ) + git? ( python ) + python? ( ^^ ( $(python_gen_useflags '*') ) ) + terminal? ( python ) + zeitgeist? ( python ) +" + +RDEPEND=" + >=app-editors/gedit-3.14[python?] + >=dev-libs/glib-2.32:2 + >=dev-libs/libpeas-1.7.0[gtk,python?] + >=x11-libs/gtk+-3.9:3 + >=x11-libs/gtksourceview-3.14:3.0 + python? ( + ${PYTHON_DEPS} + >=app-editors/gedit-3.14[introspection,${PYTHON_USEDEP}] + dev-libs/libpeas[${PYTHON_USEDEP}] + >=dev-python/dbus-python-0.82[${PYTHON_USEDEP}] + dev-python/pycairo[${PYTHON_USEDEP}] + dev-python/pygobject:3[cairo,${PYTHON_USEDEP}] + >=x11-libs/gtk+-3.9:3[introspection] + >=x11-libs/gtksourceview-3.14:3.0[introspection] + x11-libs/pango[introspection] + x11-libs/gdk-pixbuf:2[introspection] + ) + charmap? ( >=gnome-extra/gucharmap-3:2.90[introspection] ) + git? ( >=dev-libs/libgit2-glib-0.0.6 ) + terminal? ( x11-libs/vte:2.91[introspection] ) + zeitgeist? ( >=gnome-extra/zeitgeist-0.9.12[introspection] ) +" +DEPEND="${RDEPEND} + >=dev-util/intltool-0.40.0 + sys-devel/gettext + virtual/pkgconfig +" + +pkg_setup() { + use python && [[ ${MERGE_TYPE} != binary ]] && python_setup +} + +src_configure() { + gnome2_src_configure \ + $(use_enable python) \ + ITSTOOL=$(type -P true) +} + +src_install() { + gnome2_src_install + + # FIXME: crazy !!! + if use python; then + find "${ED}"/usr/share/gedit -name "*.py*" -delete || die + find "${ED}"/usr/share/gedit -type d -empty -delete || die + fi + + # FIXME: upstream made this automagic... + clean_plugin charmap + clean_plugin git + clean_plugin terminal + clean_plugin zeitgeist +} + +clean_plugin() { + if use !${1} ; then + rm -rf "${ED}"/usr/share/gedit/plugins/${1}* + rm -rf "${ED}"/usr/$(get_libdir)/gedit/plugins/${1}* + fi +} diff --git a/app-editors/gedit-plugins/gedit-plugins-3.16.0.ebuild b/app-editors/gedit-plugins/gedit-plugins-3.16.0.ebuild new file mode 100644 index 000000000000..9d530763657a --- /dev/null +++ b/app-editors/gedit-plugins/gedit-plugins-3.16.0.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +GCONF_DEBUG="no" +GNOME2_LA_PUNT="yes" # plugins are dlopened +PYTHON_COMPAT=( python3_{3,4} ) +PYTHON_REQ_USE="xml" + +inherit eutils gnome2 multilib python-r1 + +DESCRIPTION="Official plugins for gedit" +HOMEPAGE="https://wiki.gnome.org/Apps/Gedit/ShippedPlugins" + +LICENSE="GPL-2+" +KEYWORDS="~amd64 ~x86" +SLOT="0" + +IUSE_plugins="charmap git terminal zeitgeist" +IUSE="+python ${IUSE_plugins}" +# python-single-r1 would request disabling PYTHON_TARGETS on libpeas +REQUIRED_USE=" + charmap? ( python ) + git? ( python ) + python? ( ^^ ( $(python_gen_useflags '*') ) ) + terminal? ( python ) + zeitgeist? ( python ) +" + +RDEPEND=" + >=app-editors/gedit-3.16[python?] + >=dev-libs/glib-2.32:2 + >=dev-libs/libpeas-1.7.0[gtk,python?] + >=x11-libs/gtk+-3.9:3 + >=x11-libs/gtksourceview-3.14:3.0 + python? ( + ${PYTHON_DEPS} + >=app-editors/gedit-3.16[introspection,${PYTHON_USEDEP}] + dev-libs/libpeas[${PYTHON_USEDEP}] + >=dev-python/dbus-python-0.82[${PYTHON_USEDEP}] + dev-python/pycairo[${PYTHON_USEDEP}] + dev-python/pygobject:3[cairo,${PYTHON_USEDEP}] + >=x11-libs/gtk+-3.9:3[introspection] + >=x11-libs/gtksourceview-3.14:3.0[introspection] + x11-libs/pango[introspection] + x11-libs/gdk-pixbuf:2[introspection] + ) + charmap? ( >=gnome-extra/gucharmap-3:2.90[introspection] ) + git? ( >=dev-libs/libgit2-glib-0.0.6 ) + terminal? ( x11-libs/vte:2.91[introspection] ) + zeitgeist? ( >=gnome-extra/zeitgeist-0.9.12[introspection] ) +" +DEPEND="${RDEPEND} + >=dev-util/intltool-0.40.0 + sys-devel/gettext + virtual/pkgconfig +" + +pkg_setup() { + use python && [[ ${MERGE_TYPE} != binary ]] && python_setup +} + +src_configure() { + gnome2_src_configure \ + $(use_enable python) \ + $(use_enable zeitgeist) \ + ITSTOOL=$(type -P true) +} + +src_install() { + gnome2_src_install + + # FIXME: crazy !!! + if use python; then + find "${ED}"/usr/share/gedit -name "*.py*" -delete || die + find "${ED}"/usr/share/gedit -type d -empty -delete || die + fi + + # FIXME: upstream made this automagic... + clean_plugin charmap + clean_plugin git + clean_plugin terminal +} + +clean_plugin() { + if use !${1} ; then + rm -rf "${ED}"/usr/share/gedit/plugins/${1}* + rm -rf "${ED}"/usr/$(get_libdir)/gedit/plugins/${1}* + fi +} diff --git a/app-editors/gedit-plugins/metadata.xml b/app-editors/gedit-plugins/metadata.xml new file mode 100644 index 000000000000..12a7b7032fce --- /dev/null +++ b/app-editors/gedit-plugins/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>gnome</herd> +<longdescription>Official plugins for gedit</longdescription> +<use> + <flag name="charmap">Insert special characters just by clicking on + them</flag> + <flag name='git'>Shows document changes related to git's HEAD</flag> + <flag name="terminal">Embed a terminal in the bottom pane</flag> + <flag name="zeitgeist">Build the plugin to inject events to <pkg>gnome-extra/zeitgeist</pkg></flag> +</use> +</pkgmetadata> diff --git a/app-editors/gedit/Manifest b/app-editors/gedit/Manifest new file mode 100644 index 000000000000..e1dd10a66ca5 --- /dev/null +++ b/app-editors/gedit/Manifest @@ -0,0 +1,2 @@ +DIST gedit-3.14.3.tar.xz 2875192 SHA256 cd6c9f556ec12001e4b250091a1d7405cd807cce7fe767bc89ed2c25aa96a319 SHA512 2237ad697161cff5755336775cf128136d7cefdece0d335246735b3ae1b9d2cadb29ae36be2000cd7fb02d6a4187aac1d2ff7935bec5c64b5b880fe84f330b01 WHIRLPOOL 39ffa7ece00f712f052c78107b3f95cd0e3a744932d22f5e946141b3bc8954643ae091f75508d9761761fb041a18b43e50b23ed1c0ff3d7ac0bdce9464cc71cd +DIST gedit-3.16.2.tar.xz 2905916 SHA256 db60a9408711b00f3780f5f5b657e9f44722c88c683ba6e9f2b4885631f429aa SHA512 511d70099eeb857a3e25d789c44302756d108ff84634c4c7386e1e1de8dd08834cf57991311c69aa81da23510027523bc7cde313b689feb1a8e08eb01b017648 WHIRLPOOL ce51f82265664839d686ea91388f8dc906c5dcf666032f4073792832aabfa9a04dbd99e4aeef5cfd733a753eaf63daaa5b55dce3c67bb0cdb01d96595d36b4f9 diff --git a/app-editors/gedit/gedit-3.14.3.ebuild b/app-editors/gedit/gedit-3.14.3.ebuild new file mode 100644 index 000000000000..77bd7654bc4b --- /dev/null +++ b/app-editors/gedit/gedit-3.14.3.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +GCONF_DEBUG="no" +GNOME2_LA_PUNT="yes" # plugins are dlopened +PYTHON_COMPAT=( python3_{3,4} ) +VALA_MIN_API_VERSION="0.26" +VALA_USE_DEPEND="vapigen" + +inherit eutils gnome2 multilib python-r1 vala virtualx + +DESCRIPTION="A text editor for the GNOME desktop" +HOMEPAGE="https://wiki.gnome.org/Apps/Gedit" + +LICENSE="GPL-2+ CC-BY-SA-3.0" +SLOT="0" + +IUSE="+introspection +python spell vala" +# python-single-r1 would request disabling PYTHON_TARGETS on libpeas +# we need to fix that +REQUIRED_USE="python? ( ^^ ( $(python_gen_useflags '*') ) )" + +KEYWORDS="~alpha amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux" + +# X libs are not needed for OSX (aqua) +COMMON_DEPEND=" + >=dev-libs/libxml2-2.5.0:2 + >=dev-libs/glib-2.40:2[dbus] + >=x11-libs/gtk+-3.14:3[introspection?] + >=x11-libs/gtksourceview-3.14.3:3.0[introspection?] + >=dev-libs/libpeas-1.7.0[gtk] + + gnome-base/gsettings-desktop-schemas + gnome-base/gvfs + + x11-libs/libX11 + + net-libs/libsoup:2.4 + + introspection? ( >=dev-libs/gobject-introspection-0.9.3 ) + python? ( + ${PYTHON_DEPS} + >=dev-libs/gobject-introspection-0.9.3 + >=x11-libs/gtk+-3:3[introspection] + dev-python/pycairo[${PYTHON_USEDEP}] + >=dev-python/pygobject-3:3[cairo,${PYTHON_USEDEP}] + dev-libs/libpeas[${PYTHON_USEDEP}] ) + spell? ( + >=app-text/enchant-1.2:= + >=app-text/iso-codes-0.35 ) +" +RDEPEND="${COMMON_DEPEND} + x11-themes/gnome-icon-theme-symbolic +" +DEPEND="${COMMON_DEPEND} + ${vala_depend} + app-text/docbook-xml-dtd:4.1.2 + >=app-text/scrollkeeper-0.3.11 + dev-libs/libxml2:2 + >=dev-util/gtk-doc-am-1 + >=dev-util/intltool-0.50.1 + >=sys-devel/gettext-0.18 + virtual/pkgconfig +" +# yelp-tools, gnome-common needed to eautoreconf + +pkg_setup() { + use python && [[ ${MERGE_TYPE} != binary ]] && python_setup +} + +src_prepare() { + vala_src_prepare + gnome2_src_prepare +} + +src_configure() { + DOCS="AUTHORS BUGS ChangeLog MAINTAINERS NEWS README" + + gnome2_src_configure \ + --disable-deprecations \ + --enable-updater \ + --enable-gvfs-metadata \ + $(use_enable introspection) \ + $(use_enable spell) \ + $(use_enable python) \ + $(use_enable vala) \ + ITSTOOL=$(type -P true) +} + +src_test() { + # FIXME: this should be handled at eclass level + "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/data" || die + + unset DBUS_SESSION_BUS_ADDRESS + GSETTINGS_SCHEMA_DIR="${S}/data" Xemake check +} + +src_install() { + local args=() + # manually set pyoverridesdir due to bug #524018 and AM_PATH_PYTHON limitations + use python && args+=( pyoverridesdir="$(python_get_sitedir)/gi/overrides" ) + + gnome2_src_install "${args[@]}" +} diff --git a/app-editors/gedit/gedit-3.16.2.ebuild b/app-editors/gedit/gedit-3.16.2.ebuild new file mode 100644 index 000000000000..ab0ef9ad514b --- /dev/null +++ b/app-editors/gedit/gedit-3.16.2.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +GCONF_DEBUG="no" +GNOME2_LA_PUNT="yes" # plugins are dlopened +PYTHON_COMPAT=( python3_{3,4} ) +VALA_MIN_API_VERSION="0.26" +VALA_USE_DEPEND="vapigen" + +inherit eutils gnome2 multilib python-r1 vala virtualx + +DESCRIPTION="A text editor for the GNOME desktop" +HOMEPAGE="https://wiki.gnome.org/Apps/Gedit" + +LICENSE="GPL-2+ CC-BY-SA-3.0" +SLOT="0" + +IUSE="+introspection +python spell vala" +# python-single-r1 would request disabling PYTHON_TARGETS on libpeas +# we need to fix that +REQUIRED_USE=" + python? ( introspection ) + python? ( ^^ ( $(python_gen_useflags '*') ) ) +" + +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux" + +# X libs are not needed for OSX (aqua) +COMMON_DEPEND=" + >=dev-libs/libxml2-2.5.0:2 + >=dev-libs/glib-2.40:2[dbus] + >=x11-libs/gtk+-3.16:3[introspection?] + >=x11-libs/gtksourceview-3.16:3.0[introspection?] + >=dev-libs/libpeas-1.7.0[gtk] + + gnome-base/gsettings-desktop-schemas + gnome-base/gvfs + + x11-libs/libX11 + + net-libs/libsoup:2.4 + + introspection? ( >=dev-libs/gobject-introspection-0.9.3 ) + python? ( + ${PYTHON_DEPS} + dev-python/pycairo[${PYTHON_USEDEP}] + >=dev-python/pygobject-3:3[cairo,${PYTHON_USEDEP}] + dev-libs/libpeas[${PYTHON_USEDEP}] ) + spell? ( + >=app-text/enchant-1.2:= + >=app-text/iso-codes-0.35 ) +" +RDEPEND="${COMMON_DEPEND} + x11-themes/gnome-icon-theme-symbolic +" +DEPEND="${COMMON_DEPEND} + ${vala_depend} + app-text/docbook-xml-dtd:4.1.2 + >=app-text/scrollkeeper-0.3.11 + dev-libs/libxml2:2 + >=dev-util/gtk-doc-am-1 + >=dev-util/intltool-0.50.1 + >=sys-devel/gettext-0.18 + virtual/pkgconfig +" +# yelp-tools, gnome-common needed to eautoreconf + +pkg_setup() { + use python && [[ ${MERGE_TYPE} != binary ]] && python_setup +} + +src_prepare() { + vala_src_prepare + gnome2_src_prepare +} + +src_configure() { + DOCS="AUTHORS BUGS ChangeLog MAINTAINERS NEWS README" + + gnome2_src_configure \ + --disable-deprecations \ + --enable-updater \ + --enable-gvfs-metadata \ + $(use_enable introspection) \ + $(use_enable spell) \ + $(use_enable python) \ + $(use_enable vala) \ + ITSTOOL=$(type -P true) +} + +src_test() { + # FIXME: this should be handled at eclass level + "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/data" || die + + unset DBUS_SESSION_BUS_ADDRESS + GSETTINGS_SCHEMA_DIR="${S}/data" Xemake check +} + +src_install() { + local args=() + # manually set pyoverridesdir due to bug #524018 and AM_PATH_PYTHON limitations + use python && args+=( pyoverridesdir="$(python_get_sitedir)/gi/overrides" ) + + gnome2_src_install "${args[@]}" +} diff --git a/app-editors/gedit/metadata.xml b/app-editors/gedit/metadata.xml new file mode 100644 index 000000000000..da6fd63d0085 --- /dev/null +++ b/app-editors/gedit/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>gnome</herd> +</pkgmetadata> diff --git a/app-editors/ghex/Manifest b/app-editors/ghex/Manifest new file mode 100644 index 000000000000..47d06bfe2d45 --- /dev/null +++ b/app-editors/ghex/Manifest @@ -0,0 +1,2 @@ +DIST ghex-3.10.0.tar.xz 1287520 SHA256 9c31383b1d32c8942ca0327c615336f5777309674c4fc090e8cceb1576c63255 SHA512 76c298a8156b778e8b1c0ee51a2388db51181b74270b898ebd5c720e6f1a88467bfe10578de74c8fde189706b62754a75ee9a1317a8e2b45c3ff32ec34a6da3a WHIRLPOOL ef2882d24a8148e06fa55a6a22f78148e8b565fc45cfe28a8630123a4f8e2f0fd243ad3a31f206a75926ddb262caa29eafa9ca210a01794ceb6926cf73f4a060 +DIST ghex-3.10.1.tar.xz 1424308 SHA256 34b66cb5c84410c420df72f229d25aee5979e58048a246ed719b046f0c241132 SHA512 bfb7f4af1c36698571ea176fd4bbba2ea11a337a8e02976da6b784bd5cc634a4b853e36918ebaeea382d680e796343838ce4709ac720da86755628894043c28c WHIRLPOOL f63bbd4256d4e6e3134e4f58a2b1667d3536aea62605f5762f0ed04191e192e986663c53c7537996553325003dec38f4419b1d9a84465f958e0f5f76cec6fe1e diff --git a/app-editors/ghex/ghex-3.10.0.ebuild b/app-editors/ghex/ghex-3.10.0.ebuild new file mode 100644 index 000000000000..fb8b5c67efef --- /dev/null +++ b/app-editors/ghex/ghex-3.10.0.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +GCONF_DEBUG="no" + +inherit gnome2 + +DESCRIPTION="GNOME hexadecimal editor" +HOMEPAGE="https://live.gnome.org/Ghex" + +LICENSE="GPL-2+ FDL-1.1+" +SLOT="2" +KEYWORDS="amd64 ~arm ~ppc x86 ~x86-interix ~amd64-linux ~x86-linux" +IUSE="" + +RDEPEND=" + >=dev-libs/atk-1 + >=dev-libs/glib-2.31.10:2 + >=x11-libs/gtk+-3.3.8:3 +" +DEPEND="${RDEPEND} + >=dev-util/intltool-0.41.1 + >=sys-devel/gettext-0.17 + app-text/yelp-tools + virtual/pkgconfig +" diff --git a/app-editors/ghex/ghex-3.10.1.ebuild b/app-editors/ghex/ghex-3.10.1.ebuild new file mode 100644 index 000000000000..3ee0917268b5 --- /dev/null +++ b/app-editors/ghex/ghex-3.10.1.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +GCONF_DEBUG="no" + +inherit gnome2 + +DESCRIPTION="GNOME hexadecimal editor" +HOMEPAGE="https://wiki.gnome.org/Apps/Ghex" + +LICENSE="GPL-2+ FDL-1.1+" +SLOT="2" +KEYWORDS="amd64 ~arm ~ppc x86 ~x86-interix ~amd64-linux ~x86-linux" +IUSE="" + +RDEPEND=" + >=dev-libs/atk-1 + >=dev-libs/glib-2.31.10:2 + >=x11-libs/gtk+-3.3.8:3 +" +DEPEND="${RDEPEND} + >=dev-util/intltool-0.41.1 + >=sys-devel/gettext-0.17 + app-text/yelp-tools + virtual/pkgconfig +" diff --git a/app-editors/ghex/metadata.xml b/app-editors/ghex/metadata.xml new file mode 100644 index 000000000000..da6fd63d0085 --- /dev/null +++ b/app-editors/ghex/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>gnome</herd> +</pkgmetadata> diff --git a/app-editors/gobby/Manifest b/app-editors/gobby/Manifest new file mode 100644 index 000000000000..3a2167dc2e52 --- /dev/null +++ b/app-editors/gobby/Manifest @@ -0,0 +1,2 @@ +DIST gobby-0.4.13.tar.gz 507676 SHA256 8cbd89ffbe3e056160a8d76e11d641f3b045793e35897546f98d2de368001871 SHA512 15017de52c8e627b2c1999b68e53862ca6387b83c1486c5bf7c98e9abba5ea73c9f001077518458883d82c1af0f756da50428a8707fd05260715df13ed0cc978 WHIRLPOOL 6b4826cd838d4841cc59a0d05e77f27906ba85f27e6ebeac87b8c5aa9739aceb3b369803194ed732be7066505cbcf0762fdedd9f2b2f3991fadaf01dc2416403 +DIST gobby-0.4.94.tar.gz 645815 SHA256 b9798808447cd94178430f0fb273d0e45d0ca30ab04560e3790bac469e03bb00 SHA512 62089e4f21c3eb6d822b7e240f694473b3f5b1585ddc3e42593503d68f8058645b04be137eb70a59c841b766f69791cbdfcfd82be1c9d126fca0ffd49ee7fe07 WHIRLPOOL 519d8b3ff8dacb3749a157c2fd641b33122751fe28ad0bc35ea5bb0cb6096dbbb89072799d14a1c2ee53a029a8f3f12b496052f27ffccc87cfa9ae6fc011dd02 diff --git a/app-editors/gobby/files/gobby-0.4.94-gtkmm3.patch b/app-editors/gobby/files/gobby-0.4.94-gtkmm3.patch new file mode 100644 index 000000000000..e1fda8b7a149 --- /dev/null +++ b/app-editors/gobby/files/gobby-0.4.94-gtkmm3.patch @@ -0,0 +1,222 @@ +From 5932bfb4cf653b0588872fd6f8cc106b248ad964 Mon Sep 17 00:00:00 2001 +From: Armin Burgmeier <armin@arbur.net> +Date: Sun, 29 Apr 2012 14:43:06 +0200 +Subject: [PATCH] Fix build against recent gtkmm3 versions + +2012-04-29 Armin Burgmeier <armin@arbur.net> + + * code/commands/autosave-commands.cpp: + * code/commands/folder-commands.cpp: + * code/commands/user-join-commands.cpp: + * code/core/filechooser.cpp: + * code/core/folder.cpp: + * code/core/header.cpp: + * code/core/preferences.cpp: + * code/core/statusbar.cpp: + * code/core/textsessionview.cpp: + * code/dialogs/initial-dialog.cpp: + * code/dialogs/preferences-dialog.cpp: + * code/operations/operation-open.cpp: + * code/operations/operation-open.hpp: + * code/operations/operation-save.hpp: Add some missing glibmm includes + that are no longer pulled in by gtkmm since recent gtkmm3 versions. +--- + ChangeLog | 18 ++++++++++++++++++ + code/commands/autosave-commands.cpp | 2 ++ + code/commands/folder-commands.cpp | 2 ++ + code/commands/user-join-commands.cpp | 2 ++ + code/core/filechooser.cpp | 2 ++ + code/core/folder.cpp | 2 ++ + code/core/header.cpp | 1 + + code/core/preferences.cpp | 4 ++++ + code/core/statusbar.cpp | 1 + + code/core/textsessionview.cpp | 3 +++ + code/dialogs/initial-dialog.cpp | 1 + + code/dialogs/preferences-dialog.cpp | 1 + + code/operations/operation-open.cpp | 2 ++ + code/operations/operation-open.hpp | 1 + + code/operations/operation-save.hpp | 1 + + 15 files changed, 43 insertions(+) + +diff --git a/code/commands/autosave-commands.cpp b/code/commands/autosave-commands.cpp +index 0759b0d..827ffaf 100644 +--- a/code/commands/autosave-commands.cpp ++++ b/code/commands/autosave-commands.cpp +@@ -23,6 +23,8 @@ + + #include "core/sessionuserview.hpp" + ++#include <glibmm/main.h> ++ + #include <ctime> + + class Gobby::AutosaveCommands::Info +diff --git a/code/commands/folder-commands.cpp b/code/commands/folder-commands.cpp +index 92b7d71..8cc2bee 100644 +--- a/code/commands/folder-commands.cpp ++++ b/code/commands/folder-commands.cpp +@@ -20,6 +20,8 @@ + #include "commands/folder-commands.hpp" + #include "core/sessionuserview.hpp" + ++#include <glibmm/main.h> ++ + #include <libinftextgtk/inf-text-gtk-buffer.h> + + // TODO: Make this work with non-text documents also... maybe split & +diff --git a/code/commands/user-join-commands.cpp b/code/commands/user-join-commands.cpp +index ebb0810..89ffdf2 100644 +--- a/code/commands/user-join-commands.cpp ++++ b/code/commands/user-join-commands.cpp +@@ -20,6 +20,8 @@ + #include "commands/user-join-commands.hpp" + #include "util/i18n.hpp" + ++#include <glibmm/main.h> ++ + #include <libinfinity/common/inf-error.h> + + namespace +diff --git a/code/core/filechooser.cpp b/code/core/filechooser.cpp +index fbd7a67..23b85cf 100644 +--- a/code/core/filechooser.cpp ++++ b/code/core/filechooser.cpp +@@ -19,6 +19,8 @@ + + #include "core/filechooser.hpp" + ++#include <glibmm/miscutils.h> ++#include <glibmm/convert.h> + #include <gtkmm/stock.h> + + Gobby::FileChooser::Dialog::Dialog(Gobby::FileChooser& chooser, +diff --git a/code/core/folder.cpp b/code/core/folder.cpp +index f9ebadc..7c84206 100644 +--- a/code/core/folder.cpp ++++ b/code/core/folder.cpp +@@ -24,6 +24,8 @@ + #include "core/texttablabel.hpp" + #include "util/file.hpp" + ++#include <glibmm/miscutils.h> ++ + #include <gdk/gdkkeysyms.h> + #include <stdexcept> + #include <iostream> // For std::cerr +diff --git a/code/core/header.cpp b/code/core/header.cpp +index d5d0c94..8f7f9f4 100644 +--- a/code/core/header.cpp ++++ b/code/core/header.cpp +@@ -22,6 +22,7 @@ + #include "util/i18n.hpp" + #include "features.hpp" // For PLATFORM_OSX_NATIVE + ++#include <glibmm/markup.h> + #include <gtkmm/stock.h> + + #ifdef PLATFORM_OSX_NATIVE +diff --git a/code/core/preferences.cpp b/code/core/preferences.cpp +index 9b8bfb3..a2952c6 100644 +--- a/code/core/preferences.cpp ++++ b/code/core/preferences.cpp +@@ -20,6 +20,10 @@ + #include "features.hpp" + #include "core/preferences.hpp" + ++#include <glibmm/miscutils.h> ++#include <glibmm/fileutils.h> ++#include <glibmm/random.h> ++ + // TODO: Support direct enum config storage via context specialization for + // enums. + Gobby::Preferences::User::User(Config::ParentEntry& entry): +diff --git a/code/core/statusbar.cpp b/code/core/statusbar.cpp +index 9b302b8..0a06a33 100644 +--- a/code/core/statusbar.cpp ++++ b/code/core/statusbar.cpp +@@ -21,6 +21,7 @@ + #include "util/gtk-compat.hpp" + #include "util/i18n.hpp" + ++#include <glibmm/main.h> + #include <gtkmm/frame.h> + #include <gtkmm/stock.h> + +diff --git a/code/core/textsessionview.cpp b/code/core/textsessionview.cpp +index 2246957..45eae14 100644 +--- a/code/core/textsessionview.cpp ++++ b/code/core/textsessionview.cpp +@@ -21,6 +21,9 @@ + #include "util/i18n.hpp" + #include "util/color.hpp" + ++#include <glibmm/main.h> ++#include <glibmm/markup.h> ++#include <glibmm/pattern.h> + #include <gtkmm/scrolledwindow.h> + #include <gtkmm/textiter.h> + +diff --git a/code/dialogs/initial-dialog.cpp b/code/dialogs/initial-dialog.cpp +index 031bc2c..494c859 100644 +--- a/code/dialogs/initial-dialog.cpp ++++ b/code/dialogs/initial-dialog.cpp +@@ -24,6 +24,7 @@ + #include "util/gtk-compat.hpp" + #include "features.hpp" + ++#include <glibmm/markup.h> + #include <gtkmm/stock.h> + #include <gtkmm/alignment.h> + +diff --git a/code/dialogs/preferences-dialog.cpp b/code/dialogs/preferences-dialog.cpp +index d0af7a0..be3690a 100644 +--- a/code/dialogs/preferences-dialog.cpp ++++ b/code/dialogs/preferences-dialog.cpp +@@ -22,6 +22,7 @@ + #include "util/i18n.hpp" + #include "util/gtk-compat.hpp" + ++#include <glibmm/markup.h> + #include <gtkmm/messagedialog.h> + #include <gtkmm/scrolledwindow.h> + #include <gtkmm/stock.h> +diff --git a/code/operations/operation-open.cpp b/code/operations/operation-open.cpp +index 80b795f..26c53fd 100644 +--- a/code/operations/operation-open.cpp ++++ b/code/operations/operation-open.cpp +@@ -22,6 +22,8 @@ + #include "core/noteplugin.hpp" + #include "util/i18n.hpp" + ++#include <glibmm/main.h> ++ + #include <libinftextgtk/inf-text-gtk-buffer.h> + #include <gtksourceview/gtksourcebuffer.h> + +diff --git a/code/operations/operation-open.hpp b/code/operations/operation-open.hpp +index 3e0e6f5..acf63ed 100644 +--- a/code/operations/operation-open.hpp ++++ b/code/operations/operation-open.hpp +@@ -26,6 +26,7 @@ + + #include <giomm/file.h> + #include <giomm/inputstream.h> ++#include <glibmm/convert.h> + + namespace Gobby + { +diff --git a/code/operations/operation-save.hpp b/code/operations/operation-save.hpp +index f7f2eb7..8fed55d 100644 +--- a/code/operations/operation-save.hpp ++++ b/code/operations/operation-save.hpp +@@ -25,6 +25,7 @@ + + #include <giomm/file.h> + #include <giomm/outputstream.h> ++#include <glibmm/convert.h> + + #include <ctime> + +-- +1.7.10 + diff --git a/app-editors/gobby/files/gobby-0.4.94-missing-icon.patch b/app-editors/gobby/files/gobby-0.4.94-missing-icon.patch new file mode 100644 index 000000000000..db167df6f6b9 --- /dev/null +++ b/app-editors/gobby/files/gobby-0.4.94-missing-icon.patch @@ -0,0 +1,44 @@ +From ba98f5e531f915637c535e0a0f90e4cd87ac4f74 Mon Sep 17 00:00:00 2001 +From: Philipp Kern <pkern@debian.org> +Date: Sun, 18 Mar 2012 19:01:44 +0100 +Subject: [PATCH 2/2] code/util/gtk-compat.hpp: fix render_icon with missing + icons and Gtk3 + +2012-03-18 Philipp Kern <phil@0x539.de> + + * code/util/gtk-compat.hpp: Fix the call of + gtk-widget-render-icon-pixbuf, which is allowed to return NULL if + the stock icon does not exist. Guard it with MISSING_IMAGE. +--- + ChangeLog | 6 ++++++ + code/util/gtk-compat.hpp | 7 ++++++- + 2 files changed, 12 insertions(+), 1 deletions(-) + +diff --git a/code/util/gtk-compat.hpp b/code/util/gtk-compat.hpp +index 1de7383..73332ab 100644 +--- a/code/util/gtk-compat.hpp ++++ b/code/util/gtk-compat.hpp +@@ -27,6 +27,7 @@ + # define USE_GTKMM3 + #endif + ++#include <gtkmm/stock.h> + #include <gtkmm/combobox.h> + #include <gtkmm/notebook.h> + #ifndef USE_GTKMM3 +@@ -122,7 +123,11 @@ inline Glib::RefPtr<Gdk::Pixbuf> render_icon(Gtk::Widget& widget, + Gtk::IconSize size) + { + #ifdef USE_GTKMM3 +- return widget.render_icon_pixbuf(stock_id, size); ++ Glib::RefPtr<Gdk::Pixbuf> pixbuf = widget.render_icon_pixbuf(stock_id, size); ++ if(!pixbuf) // icon not found ++ pixbuf = widget.render_icon_pixbuf(Gtk::Stock::MISSING_IMAGE, size); ++ g_assert(pixbuf); ++ return pixbuf; + #else + return widget.render_icon(stock_id, size); + #endif +-- +1.7.9.1 + diff --git a/app-editors/gobby/gobby-0.4.13.ebuild b/app-editors/gobby/gobby-0.4.13.ebuild new file mode 100644 index 000000000000..5ada8e9de361 --- /dev/null +++ b/app-editors/gobby/gobby-0.4.13.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils + +DESCRIPTION="GTK-based collaborative editor" +HOMEPAGE="http://gobby.0x539.de/" +SRC_URI="http://releases.0x539.de/${PN}/${P}.tar.gz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" +IUSE="avahi gnome" + +RDEPEND="dev-cpp/glibmm:2 + dev-cpp/gtkmm:2.4 + dev-libs/libsigc++:2 + >=net-libs/obby-0.4.6[avahi?] + dev-cpp/libxmlpp:2.6 + x11-libs/gtksourceview:2.0 + gnome? ( gnome-base/gnome-vfs )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +# There's only one test and it needs X +RESTRICT="test" + +src_configure() { + econf \ + --with-gtksourceview2 \ + $(use_with gnome) +} + +src_install() { + default + domenu contrib/gobby.desktop +} diff --git a/app-editors/gobby/gobby-0.4.94.ebuild b/app-editors/gobby/gobby-0.4.94.ebuild new file mode 100644 index 000000000000..d0bc9f666332 --- /dev/null +++ b/app-editors/gobby/gobby-0.4.94.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=2 + +inherit eutils gnome2-utils toolchain-funcs + +DESCRIPTION="GTK-based collaborative editor" +HOMEPAGE="http://gobby.0x539.de/" +SRC_URI="http://releases.0x539.de/${PN}/${P}.tar.gz" +LICENSE="GPL-2" +SLOT="0.5" +KEYWORDS="~amd64 ~x86" +IUSE="avahi doc nls" + +RDEPEND="dev-cpp/glibmm:2 + dev-cpp/gtkmm:3.0 + dev-libs/libsigc++:2 + >=net-libs/libinfinity-0.4[gtk,avahi?] + x11-libs/gtk+:3 + dev-cpp/libxmlpp:2.6 + x11-libs/gtksourceview:3.0" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( + app-text/gnome-doc-utils + app-text/scrollkeeper + ) + nls? ( >=sys-devel/gettext-0.12.1 )" + +src_prepare() { + epatch "${FILESDIR}"/${P}-missing-icon.patch \ + "${FILESDIR}"/${P}-gtkmm3.patch +} + +src_configure() { + econf $(use_enable nls) \ + --with-gtk3 +} + +src_install() { + emake DESTDIR="${D}" install || die + domenu contrib/gobby-0.5.desktop + doicon gobby-0.5.xpm +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + gnome2_icon_cache_update +} + +pkg_postrm() { + gnome2_icon_cache_update +} diff --git a/app-editors/gobby/metadata.xml b/app-editors/gobby/metadata.xml new file mode 100644 index 000000000000..95b871a33212 --- /dev/null +++ b/app-editors/gobby/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>dev-zero@gentoo.org</email> + <name>Tiziano Müller</name> + </maintainer> + <longdescription>Multiuser text editor.</longdescription> +</pkgmetadata> diff --git a/app-editors/gummi/Manifest b/app-editors/gummi/Manifest new file mode 100644 index 000000000000..1f55505fae7e --- /dev/null +++ b/app-editors/gummi/Manifest @@ -0,0 +1 @@ +DIST gummi-0.6.5.tar.gz 520902 SHA256 b23c2958376ea43c701a276ad19ceac5b50d9cb32a489a10897b25aa5004fffb SHA512 9a35533273ff5f2606ba1d79c01dcdf14f2a47628eb5d19613330650ed2a2bd542461492d031e51b773e13c6ac406b564e6703919f16e5f8d7e6bb3c4428b40e WHIRLPOOL 47e1ad5a15183ed0d24a88ebc3bc1af166604825da54db10461243ba4c1b8d6ca82d1afaf7306ef45a4df0f65d103b6cbc83db02cb6469fb7138545e16ae2728 diff --git a/app-editors/gummi/gummi-0.6.5.ebuild b/app-editors/gummi/gummi-0.6.5.ebuild new file mode 100644 index 000000000000..20ec5c8258a8 --- /dev/null +++ b/app-editors/gummi/gummi-0.6.5.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 +inherit base eutils readme.gentoo + +DESCRIPTION="Simple LaTeX editor for GTK+" +HOMEPAGE="http://gummi.midnightcoding.org" +SRC_URI="http://dev.midnightcoding.org/attachments/download/301/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +LANGS="ar ca cs da de el es fr hu it nl pl pt pt_BR ro ru sv zh_CN zh_TW" + +for X in ${LANGS} ; do + IUSE="${IUSE} linguas_${X}" +done + +RDEPEND="app-text/gtkspell:2 + >=dev-libs/glib-2.28.6 + dev-texlive/texlive-latex + dev-texlive/texlive-latexextra + >=x11-libs/gtk+-2.24:2 + x11-libs/gtksourceview:2.0" +DEPEND="${RDEPEND} + app-text/poppler[cairo] + x11-libs/gtksourceview:2.0 + x11-libs/pango" + +DOCS=( AUTHORS ChangeLog README ) + +src_prepare() { + strip-linguas ${LANGS} + DOC_CONTENTS="Gummi supports spell-checking through gtkspell. Support for + additional languages can be added by installing myspell-** packages + for your language of choice." +} + +src_install() { + base_src_install + readme.gentoo_create_doc +} diff --git a/app-editors/gummi/gummi-9999.ebuild b/app-editors/gummi/gummi-9999.ebuild new file mode 100644 index 000000000000..8c828bb39337 --- /dev/null +++ b/app-editors/gummi/gummi-9999.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=2 +inherit autotools base eutils subversion + +ESVN_REPO_URI="http://svn.midnightcoding.org/gummi/trunk" +ESVN_PROJECT="${PN/-svn}" + +DESCRIPTION="Simple LaTeX editor for GTK+ users" +HOMEPAGE="http://gummi.midnightcoding.org" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="" +IUSE="" + +LANGS="ca da de fr el it nl pt_BR ru zh_TW" + +for X in ${LANGS} ; do + IUSE="${IUSE} linguas_${X}" +done + +RDEPEND=">=dev-libs/glib-2.16:2 + dev-texlive/texlive-latex + dev-texlive/texlive-latexextra + >=x11-libs/gtk+-2.16:2" +DEPEND="${RDEPEND} + app-text/gtkspell:2 + app-text/poppler[cairo] + x11-libs/gtksourceview:2.0 + x11-libs/pango" + +DOCS=( AUTHORS ChangeLog README ) + +src_prepare() { + strip-linguas ${LANGS} + eautoreconf +} + +pkg_postinst() { + elog "Gummi >=0.4.8 supports spell-checking through gtkspell. Support for" + elog "additional languages can be added by installing myspell-** packages" + elog "for your language of choice." +} diff --git a/app-editors/gummi/metadata.xml b/app-editors/gummi/metadata.xml new file mode 100644 index 000000000000..8356a1fe2cad --- /dev/null +++ b/app-editors/gummi/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>proxy-maintainers</herd> +<maintainer> +<email>alexvandermey@gmail.com</email> +<name>Alexander van der Mey</name> +<description>Upstream developer.</description> +</maintainer> +<maintainer> +<email>hwoarang@gentoo.org</email> +<name>Markos Chandras</name> +<description>Proxy maintainer.</description> +</maintainer> +<longdescription lang="en"> +</longdescription> +</pkgmetadata> + diff --git a/app-editors/gvim/Manifest b/app-editors/gvim/Manifest new file mode 100644 index 000000000000..e2e8b9ba4b57 --- /dev/null +++ b/app-editors/gvim/Manifest @@ -0,0 +1,9 @@ +DIST vim-7.4.542-gentoo-patches.tar.bz2 3307 SHA256 0eb635f13e199de77846e0d363a473882f2186f138158271fabf0975747a2f3d SHA512 446c66764dac2533cc2f2b3d50481971d4c63a4e81d94c545862a1be620179fdcd81a79f2d81737d1188812a6ad41d90e2a752a05acf6913e7a71464f7cecdd9 WHIRLPOOL cfca8feef0eb8096897ef751afb0427acddd008530ded6cf908fcff51be9713da4ea3e5e613d544c5caba400d664ae19ca70925df3a218bec5c8be6f69aadda2 +DIST vim-7.4.591.patch.xz 805892 SHA256 6556595e75666b35cce58dcd585605e3d8910477761cee0fb34317d8969e0344 SHA512 fd98fa6e84fb1b6dc3c80f1e68694ee3711678e66234953962c6bad1aaf045c053c3824d25dd3df9842951e9c5e3ca630b65fafedc30fa6c31313822e3518968 WHIRLPOOL 47f5a75d2faec35460ee0af565437da275b2cd18259645456a76ba79d289d7b8f7392cde95d6cb5da5e2b4657043c11f5f363e99d1cb8457f83dfa884f5ab238 +DIST vim-7.4.622.patch.xz 816104 SHA256 f9d6624b7c8e5cbae749eff3f3bef30f7b10554fa04edf7fe3c85828b2b2e7a8 SHA512 544258cca6e46291743f95acba3dbc7844fddf0f579706cb7903f338b359b852cb4818238e7402e2b5413fa1a2ca9084246ffe39a7c23d29d14883594caa65c3 WHIRLPOOL 2b92e418892bc99c45e6b56592635804394e282c8f0959addf1a93434dccdfb06fa75f39f171624f484cc6a6420bfd6ea6a9d30b1b0a9694cb8a14cbf42e456e +DIST vim-7.4.670.patch.xz 845000 SHA256 5ffbb05466c68aea08fda6067a6a46e068beece3e26d33098964e5e472439ec0 SHA512 04e2c54fe4b6afba6f8b123ef24d63e898667c808083b91ea5affa6607ad1661b081fa0bd6536a5a2260dbd2b818e7942ef3896719ed82fcc071355239cba536 WHIRLPOOL 6b632e757101d4a54989bd85c0b6186326573794504dc0dd0ebf25e14fca5827b4a884677c380381359968687e40d4aa4ea27b42d5419538a0e843c4356227e6 +DIST vim-7.4.712.patch.xz 890304 SHA256 fa385439a55703715704b7163dc7ac4a53908d908bd456af432dd5618144c630 SHA512 639847f6c5e92c5838b259f83ffb8b473e8ad7142589e72e2dcd0d51a9e9d272c29ec4fd4239ee21bcf5599f3cc6cc790aee02fe2b860f7d79ce1d3a811a6dd0 WHIRLPOOL f9fe642fe68f324e2e68d1fcdda80d15e2eac6e7a246561728fa467c90e271cd83aab6b24adfec65977ab12cf0fd9ec5c1848bbfdc2342e63114f321234e95d9 +DIST vim-7.4.738.tar.gz 12178346 SHA256 f95cf39278ca67837538f8146dd4701de4a4da610d95687da252d458137dcb40 SHA512 4ef990c5b869a571f0ddafac7c14ef17b62e2a9e2e74f1adaa8a69f92f3c6f56a21f60a3b53cbb64922df8c709d4e8ba9aee081476ce90f5665b1124a7de9a3a WHIRLPOOL 92e9c019f2e0677fb2db99995f56b49a034abe5da2051d0012c05e6f74ab88070b635e5159c09c6635d69c23fc81afafdc11e37e17e9338a9ca41de9381cd1a1 +DIST vim-7.4.769.tar.gz 12189506 SHA256 d9b9c3af27161545a1e086e1ee9485432c0b1a792a1a59755f04ef94136c5042 SHA512 ce3917cc68dba8b69696eb43436f90347c68a687f1e8c4b2f15f4a232ff7ce1a581a61737042ec49548d78c5f010e55e4c40b051b1a2574bbc27146a9249f15c WHIRLPOOL 230304892e501ef9851bf9f0c9fc9c888bfe1ad2cd703bcd62c449866e28308027c37c7ed466966951ec9c5feb5d9ec82e843528861212cb40a5bf4cec6e8947 +DIST vim-7.4.tar.bz2 9843297 SHA256 d0f5a6d2c439f02d97fa21bd9121f4c5abb1f6cd8b5a79d3ca82867495734ade SHA512 65d55da556ee283a364b376d251b70e430b7a157bb5a8ee89565060ff9937907966d416cffd33f701b3314d0fdf16efe00065f66bc8459469f5ae2f713418e0e WHIRLPOOL 914fc2c4fd485196410d853990bb5cc4c0071bc36dc0794655ec05cc0b5f7d2971dea780cc7293fcfbd4495a30a7437a3b1e33a2b6795c10a9f05a2eac3ca6f4 +DIST vim-patches-7.4.273.patch.bz2 506378 SHA256 065447179d22602315e2965d135cf9f1db4394ff5655520719f6338ff29e89ca SHA512 029a5cef758e4b201eabbc82458f3e1c3674582715a8c78a7270f3ecd57980b1cef66a0152526fd3505685c27c07f6e6742da48da9ad9546e3cfc2a5e7c11164 WHIRLPOOL 305322e991e9640b80147dd5ceac9dd6dae93a07610f807bbf01c0fdf37cba67ea41a1b2720c8a43da0161c57e0a522086f135efc712fb0106497a21288a872a diff --git a/app-editors/gvim/files/gvim-completion b/app-editors/gvim/files/gvim-completion new file mode 100644 index 000000000000..6488a82bc76e --- /dev/null +++ b/app-editors/gvim/files/gvim-completion @@ -0,0 +1,40 @@ +# Author: Ciaran McCreesh <ciaranm@gentoo.org> +# +# completion for gvim + +_gvim() +{ + local cur prev cmd args + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + cmd=${COMP_WORDS[0]} + + if [[ "${prev}" == "--servername" ]] ; then + local servers + servers=$(gvim --serverlist ) + COMPREPLY=( $( compgen -W "${servers}" -- $cur ) ) + + elif [[ "${prev}" == -[uUi] ]] ; then + COMPREPLY=( $( compgen -W "NONE" ) \ + $( compgen -f -X "!*vim*" -- "$cur" ) ) + + elif [[ "${cur}" == -* ]] ; then + args='-t -q -c -S --cmd -A -b -C -d -D -e -E -f --nofork \ + -F -g -h -H -i -L -l -m -M -N -n -nb -o -R -r -s \ + -T -u -U -V -v -w -W -x -X -y -Y -Z --echo-wid \ + --help --literal --noplugin --version' + args="${args} --echo-wid --remote --remote-expr \ + --remote-send --remote-silent --remote-wait \ + --remote-wait-silent --serverlist \ + --servername --socketid" + COMPREPLY=( $( compgen -W "${args}" -- $cur ) ) + else + _filedir + fi +} + +complete -o filenames -F _gvim gvim evim eview gview gvimdiff rgvim rgview + +# vim: set ft=sh sw=4 et sts=4 : diff --git a/app-editors/gvim/files/gvim.desktop-r2 b/app-editors/gvim/files/gvim.desktop-r2 new file mode 100644 index 000000000000..45b55d036929 --- /dev/null +++ b/app-editors/gvim/files/gvim.desktop-r2 @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=gVim +Comment=A highly configurable text editor +Exec=gvim -f %F +Icon=gvim +Terminal=false +Type=Application +MimeType=text/plain; +Categories=Development; diff --git a/app-editors/gvim/files/gvim.svg b/app-editors/gvim/files/gvim.svg new file mode 100644 index 000000000000..b82742a79012 --- /dev/null +++ b/app-editors/gvim/files/gvim.svg @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="256" + height="256" + id="svg2" + version="1.1" + inkscape:version="0.47 r22583" + sodipodi:docname="vim.svg"> + <defs + id="defs4"> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 526.18109 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="744.09448 : 526.18109 : 1" + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" + id="perspective10" /> + <inkscape:perspective + id="perspective2884" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.7" + inkscape:cx="107.83967" + inkscape:cy="146.01885" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="743" + inkscape:window-height="605" + inkscape:window-x="88" + inkscape:window-y="321" + inkscape:window-maximized="0" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-796.36218)"> + <path + style="fill:#19953f;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="M 128.02596,805.31213 8.0259779,926.7407 127.31168,1046.0264 l 120,-120.71427 -119.28572,-120 z" + id="path2890" /> + <path + style="fill:#d0d0cf;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 26.24294,816.92274 -5,5 0,19.28572 5.446429,5.26785 7.232142,0.17858 0.178571,168.12501 7.142857,7.1429 22.142858,0 177.142853,-180.00006 0,-18.57143 -5,-5 -80,-0.71428 -5,7.14285 0,15.71429 5,6.42857 6.42857,0 -62.142855,60.00001 0.625005,-59.73215 7.14285,-10e-6 5.80357,-5.98214 0,-15.71429 -6.42857,-7.14286 -80.71428,-1.42857 0,10e-6 z" + id="path3664" + sodipodi:nodetypes="cccccccccccccccccccccccc" /> + <path + style="fill:#d0d0cf;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 136.90826,933.24978 4.28572,-3.57143 12.14285,0.35715 3.92857,3.92857 -4.28571,12.14286 -3.57143,3.21428 -12.64794,-0.14794 -3.42349,-4.13777 3.57143,-11.78572 z" + id="path3666" + sodipodi:nodetypes="ccccccccc" /> + <path + style="fill:#d0d0cf;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 121.90826,956.10693 28.57143,0.35714 -15,45.00003 5.35714,0 -3.21428,8.9285 -26.78572,-0.3571 14.64286,-43.21429 -7.14286,0.35714 3.57143,-11.07142 z" + id="path3668" /> + <path + style="fill:#d0d0cf;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 157.2654,956.46407 -3.71936,9.68618 6.82905,0 -15.25254,44.24235 23.57143,0 3.40554,-8.7193 -6.11475,-0.4005 8.42349,-26.2373 15,-0.35715 -11.07143,34.99995 23.15301,0.3572 2.91579,-8.2576 -5.56371,-0.1633 9.13777,-26.5791 12.85714,0 -11.07143,35 24.32904,0.2525 3.00508,-8.2729 -5.81626,-0.1939 11.69643,-37.14285 -4.64286,-7.5 -14.64285,0 -5.71429,5.71429 -5.71429,0 -6.07142,-6.07143 -12.5,0 -5.35715,5.35714 -6.07143,0 -6.07142,-5.71428 -18.92858,0 z" + id="path3670" + sodipodi:nodetypes="cccccccccccccccccccccccccccccc" /> + </g> +</svg> diff --git a/app-editors/gvim/files/gvim.xpm b/app-editors/gvim/files/gvim.xpm new file mode 100644 index 000000000000..694720ac309d --- /dev/null +++ b/app-editors/gvim/files/gvim.xpm @@ -0,0 +1,46 @@ +/* XPM */ +static char *magick[] = { +/* columns rows colors chars-per-pixel */ +"32 32 8 1", +" c Gray0", +". c #000080", +"X c #008000", +"o c Green", +"O c #808080", +"+ c #c0c0c0", +"@ c Gray100", +"# c None", +/* pixels */ +"############### ###############", +"############## oo ##############", +"### oXXo # ###", +"## @@@@@@@@@@@ XXXo @@@@@@@@@ ##", +"## @+++++++++++ XXX @+++++++++ #", +"### ++++++++++O XXXX ++++++++O #", +"#### O++++++OO XXXXXX O+++++OO #", +"#### @++++++O XXXXXX @+++++OO ##", +"#### @++++++O XXXXX @@++++OO ###", +"#### @++++++O XXXX @@++++OO ####", +"#### @++++++O XXX @@++++OO #####", +"#### @++++++O XX @@++++OO . ####", +"### @++++++O X @@++++OO XX. ###", +"## o @++++++O @@++++OO XXXX. ##", +"# oX @++++++O @@++++OO XXXXXX. #", +" oXX @++++++O@@++++OO XXXXXXXX. ", +" oXX @++++++O@++++OO XXXXXXXXX. ", +"# oX @++++++O++++OO XXXXXXXXX. #", +"## o @++++++++++ XXXXXXXXX. ##", +"### @+++++++++ ++ XXXXXXXX. ###", +"#### @+++++++++ ++ XXXXXXX. ####", +"#### @++++++++O X X ###", +"#### @+++++++O +++ +++ +++ ++ ##", +"#### @++++++OO ++ ++++++++++ #", +"#### @+++++OO ++ ++..++ + ##", +"#### @++++OO X ++ ++. ++ ++ ##", +"#### @+++OO XX ++ ++ ++ ++ ##", +"#### @++OO X ++ ++ ++ ++ ###", +"##### +OO ## +++ ++ ++ +++ ##", +"###### #### . ## ## ###", +"############## .. ##############", +"############### ###############" +}; diff --git a/app-editors/gvim/files/gvimrc-r1 b/app-editors/gvim/files/gvimrc-r1 new file mode 100644 index 000000000000..dcad07d09717 --- /dev/null +++ b/app-editors/gvim/files/gvimrc-r1 @@ -0,0 +1,29 @@ +scriptencoding utf-8 +" ^^ Please leave the above line at the start of the file. + +" Default configuration file for gvim +" $Id$ +" +" Written by Aron Griffis <agriffis@gentoo.org> +" +" This file is read AFTER normal Vim initializations, like reading your .vimrc +" file (and the default /usr/share/vim/vimrc). So there's no reason to +" duplicate settings from vimrc. Red Hat has had this wrong for years, to the +" great annoyance of users. + +" Pre-GUI settings +set columns=80 lines=30 " don't inherit geometry from parent term +set mousemodel=popup " right mouse button pops up a menu in the GUI + +" Use a sufficiently wide window automatically when started as "gvimdiff" +if (&foldmethod == 'diff') + set columns=165 +endif + +" For bug 33327, add a mapping which allows shift-insert to function +" as expected in insert and command-line modes +map! <s-insert> <c-r>* + +if filereadable("@GENTOO_PORTAGE_EPREFIX@/etc/vim/gvimrc.local") + source @GENTOO_PORTAGE_EPREFIX@/etc/vim/gvimrc.local +endif diff --git a/app-editors/gvim/gvim-7.4.273.ebuild b/app-editors/gvim/gvim-7.4.273.ebuild new file mode 100644 index 000000000000..a60f95d7b5eb --- /dev/null +++ b/app-editors/gvim/gvim-7.4.273.ebuild @@ -0,0 +1,398 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +VIM_VERSION="7.4" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +PYTHON_REQ_USE=threads +inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 prefix python-single-r1 + +if [[ ${PV} == 9999* ]] ; then + inherit mercurial + EHG_REPO_URI="https://vim.googlecode.com/hg/" + EHG_PROJECT="vim" +else + VIM_ORG_PATCHES="vim-patches-${PV}.patch.bz2" + + SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2 + http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCHES}" + KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" +fi + +DESCRIPTION="GUI version of the Vim text editor" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="acl aqua cscope debug gnome gtk lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl" +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + luajit? ( lua ) +" + +RDEPEND=" + ~app-editors/vim-core-${PV} + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2 + x11-libs/libXext + x11-libs/libXt + acl? ( kernel_linux? ( sys-apps/acl ) ) + !aqua? ( + gtk? ( + >=x11-libs/gtk+-2.6:2 + x11-libs/libXft + gnome? ( >=gnome-base/libgnomeui-2.6 ) + ) + !gtk? ( + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + neXt? ( x11-libs/neXtaw ) + !neXt? ( x11-libs/libXaw ) + ) + ) + ) + cscope? ( dev-util/cscope ) + lua? ( + luajit? ( dev-lang/luajit:2= ) + !luajit? ( dev-lang/lua:0[deprecated] ) + ) + nls? ( virtual/libintl ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( || ( dev-lang/ruby:2.1 dev-lang/ruby:2.0 dev-lang/ruby:1.9 dev-lang/ruby:1.8 ) ) + selinux? ( sys-libs/libselinux ) + session? ( x11-libs/libSM ) + tcl? ( dev-lang/tcl:0= ) +" +DEPEND="${RDEPEND} + dev-util/ctags + sys-devel/autoconf + virtual/pkgconfig + nls? ( sys-devel/gettext ) +" + +S=${WORKDIR}/vim${VIM_VERSION/.} + +pkg_setup() { + # people with broken alphabets run into trouble. bug 82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + # Gnome sandbox silliness. bug #114475. + mkdir -p "${T}"/home + export HOME="${T}"/home + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + if [[ ${PV} != 9999* ]] ; then + if [[ -f "${WORKDIR}"/${VIM_ORG_PATCHES%.bz2} ]] ; then + # Apply any patches available from vim.org for this version + epatch "${WORKDIR}"/${VIM_ORG_PATCHES%.bz2} + fi + fi + + # Fixup a script to use awk instead of nawk + sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \ + || die "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug 29398 (27 Sep 2003 agriffis) + sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \ + "${S}"/runtime/doc/syntax.txt \ + "${S}"/runtime/doc/tagsrch.txt \ + "${S}"/runtime/doc/usr_29.txt \ + "${S}"/runtime/menu.vim \ + "${S}"/src/configure.in || die 'sed failed' + + # Don't be fooled by /usr/include/libc.h. When found, vim thinks + # this is NeXT, but it's actually just a file in dev-libs/9libs + # This fixes bug 43885 (20 Mar 2004 agriffis) + sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed' + + # gcc on sparc32 has this, uhm, interesting problem with detecting EOF + # correctly. To avoid some really entertaining error messages about stuff + # which isn't even in the source file being invalid, we'll do some trickery + # to make the error never occur. bug 66162 (02 October 2004 ciaranm) + find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]] ; then + sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + epatch_user +} + +src_configure() { + local myconf + + # Fix bug 37354: Disallow -funroll-all-loops on amd64 + # Bug 57859 suggests that we want to do this for all archs + filter-flags -funroll-all-loops + + # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for + # everyone since previous flag filtering bugs have turned out to affect + # multiple archs... + replace-flags -O3 -O2 + + # Fix bug 18245: Prevent "make" from the following chain: + # (1) Notice configure.in is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i 's/ auto.config.mk:/:/' src/Makefile || die "Makefile sed failed" + rm -f src/auto/configure + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do + [[ -e ${file} ]] && addwrite $file + done + + use debug && append-flags "-DDEBUG" + + myconf="--with-features=huge --disable-gpm --enable-multibyte" + myconf+=" $(use_enable acl)" + myconf+=" $(use_enable cscope)" + myconf+=" $(use_enable lua luainterp)" + myconf+=" $(use_with luajit)" + myconf+=" $(use_enable netbeans)" + myconf+=" $(use_enable nls)" + myconf+=" $(use_enable perl perlinterp)" + myconf+=" $(use_enable racket mzschemeinterp)" + myconf+=" $(use_enable ruby rubyinterp)" + myconf+=" $(use_enable selinux)" + myconf+=" $(use_enable session xsmp)" + myconf+=" $(use_enable tcl tclinterp)" + + if use python ; then + if [[ ${EPYTHON} == python3* ]] ; then + myconf+=" --enable-python3interp" + export vi_cv_path_python3="${PYTHON}" + else + myconf+=" --enable-pythoninterp" + export vi_cv_path_python="${PYTHON}" + fi + else + myconf+=" --disable-pythoninterp --disable-python3interp" + fi + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope ; then + sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \ + die "couldn't disable cscope" + fi + + # gvim's GUI preference order is as follows: + # aqua CARBON (not tested) + # -aqua gtk gnome GNOME2 + # -aqua gtk -gnome GTK2 + # -aqua -gtk motif MOTIF + # -aqua -gtk -motif neXt NEXTAW + # -aqua -gtk -motif -neXt ATHENA + echo ; echo + if use aqua ; then + einfo "Building gvim with the Carbon GUI" + myconf+=" --enable-darwin --enable-gui=carbon" + elif use gtk ; then + myconf+=" --enable-gtk2-check" + if use gnome ; then + einfo "Building gvim with the Gnome 2 GUI" + myconf+=" --enable-gui=gnome2" + else + einfo "Building gvim with the gtk+-2 GUI" + myconf+=" --enable-gui=gtk2" + fi + elif use motif ; then + einfo "Building gvim with the MOTIF GUI" + myconf+=" --enable-gui=motif" + elif use neXt ; then + einfo "Building gvim with the neXtaw GUI" + myconf+=" --enable-gui=nextaw" + else + einfo "Building gvim with the Athena GUI" + myconf+=" --enable-gui=athena" + fi + echo ; echo + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=" --without-local-dir" + + if [[ ${CHOST} == *-interix* ]]; then + # avoid finding of this function, to avoid having to patch either + # configure or the source, which would be much more hackish. + # after all vim does it right, only interix is badly broken (again) + export ac_cv_func_sigaction=no + fi + + econf \ + --with-modified-by=Gentoo-${PVR} \ + --with-vim-name=gvim --with-x \ + ${myconf} +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + echo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + echo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + echo + + # Don't let vim talk to X + unset DISPLAY + + # We've got to call make test from within testdir, since the Makefiles + # don't pass through our VIMPROG argument + cd "${S}"/src/testdir + + # Test 49 won't work inside a portage environment + einfo "Test 49 isn't sandbox-friendly, so it will be skipped." + sed -i 's~test49.out~~g' Makefile + + # We don't want to rebuild vim before running the tests + sed -i 's,: \$(VIMPROG),: ,' Makefile + + # Make gvim not try to connect to X. See :help gui-x11-start + # in vim for how this evil trickery works. + ln -s "${S}"/src/gvim "${S}"/src/testvim + + # Don't try to do the additional GUI test + emake -j1 VIMPROG=../testvim nongui +} + +# Make convenience symlinks, hopefully without stepping on toes. Some +# of these links are "owned" by the vim ebuild when it is installed, +# but they might be good for gvim as well (see bug 45828) +update_vim_symlinks() { + has "${EAPI:-0}" 0 1 2 && use !prefix && EROOT="${ROOT}" + local f syms + syms="vimdiff rvim rview" + einfo "Calling eselect vi update..." + # Call this with --if-unset to respect user's choice (bug 187449) + eselect vi update --if-unset + + # Make or remove convenience symlink, vim -> gvim + if [[ -f "${EROOT}"/usr/bin/gvim ]]; then + ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null + elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then + rm "${EROOT}"/usr/bin/vim + fi + + # Make or remove convenience symlinks to vim + if [[ -f "${EROOT}"/usr/bin/vim ]]; then + for f in ${syms}; do + ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null + done + else + for f in ${syms}; do + if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then + rm -f "${EROOT}"/usr/bin/${f} + fi + done + fi + + # This will still break if you merge then remove the vi package, + # but there's only so much you can do, eh? Unfortunately we don't + # have triggers like are done in rpm-land. +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dobin src/gvim + dosym gvim /usr/bin/gvimdiff + dosym gvim /usr/bin/evim + dosym gvim /usr/bin/eview + dosym gvim /usr/bin/gview + dosym gvim /usr/bin/rgvim + dosym gvim /usr/bin/rgview + + dodir /usr/share/man/man1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 + echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 + + insinto /etc/vim + newins "${FILESDIR}"/gvimrc-r1 gvimrc + eprefixify "${ED}"/etc/vim/gvimrc + + newmenu "${FILESDIR}"/gvim.desktop-r2 gvim.desktop + doicon "${FILESDIR}"/gvim.xpm + + # bash completion script, bug #79018. + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Update fdo mime stuff, bug #78394 + fdo-mime_mime_database_update + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + echo + elog "Vim 7 includes an integrated spell checker. You need to install" + elog "word list files before you can use it. There are ebuilds for" + elog "some of these named app-vim/vim-spell-*. If your language of" + elog "choice is not included, please consult vim-spell.eclass for" + elog "instructions on how to make a package." + echo + ewarn "Note that the English word lists are no longer installed by" + ewarn "default." + echo + fi + + # Make convenience symlinks + update_vim_symlinks +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Update fdo mime stuff, bug #78394 + fdo-mime_mime_database_update + + # Make convenience symlinks + update_vim_symlinks +} diff --git a/app-editors/gvim/gvim-7.4.591.ebuild b/app-editors/gvim/gvim-7.4.591.ebuild new file mode 100644 index 000000000000..584b22786fb6 --- /dev/null +++ b/app-editors/gvim/gvim-7.4.591.ebuild @@ -0,0 +1,414 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +VIM_VERSION="7.4" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +PYTHON_REQ_USE=threads +inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 prefix python-single-r1 + +if [[ ${PV} == 9999* ]] ; then + inherit mercurial + EHG_REPO_URI="https://vim.googlecode.com/hg/" + EHG_PROJECT="vim" +else + VIM_ORG_PATCH="vim-${PV}.patch.xz" + SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2 + http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCH} + http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" +fi + +DESCRIPTION="GUI version of the Vim text editor" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="acl aqua cscope debug gnome gtk lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl" +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + luajit? ( lua ) +" + +RDEPEND=" + ~app-editors/vim-core-${PV} + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2 + x11-libs/libXext + x11-libs/libXt + acl? ( kernel_linux? ( sys-apps/acl ) ) + !aqua? ( + gtk? ( + >=x11-libs/gtk+-2.6:2 + x11-libs/libXft + gnome? ( >=gnome-base/libgnomeui-2.6 ) + ) + !gtk? ( + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + neXt? ( x11-libs/neXtaw ) + !neXt? ( x11-libs/libXaw ) + ) + ) + ) + cscope? ( dev-util/cscope ) + lua? ( + luajit? ( dev-lang/luajit:2= ) + !luajit? ( dev-lang/lua:0[deprecated] ) + ) + nls? ( virtual/libintl ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) ) + selinux? ( sys-libs/libselinux ) + session? ( x11-libs/libSM ) + tcl? ( dev-lang/tcl:0= ) +" +DEPEND="${RDEPEND} + dev-util/ctags + sys-devel/autoconf + virtual/pkgconfig + nls? ( sys-devel/gettext ) +" + +S=${WORKDIR}/vim${VIM_VERSION/.} + +pkg_setup() { + # people with broken alphabets run into trouble. bug 82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + # Gnome sandbox silliness. bug #114475. + mkdir -p "${T}"/home + export HOME="${T}"/home + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + if [[ ${PV} != 9999* ]] ; then + if [[ -f "${WORKDIR}"/${VIM_ORG_PATCH%.xz} ]] ; then + # Apply any patches available from vim.org for this version + epatch "${WORKDIR}"/${VIM_ORG_PATCH%.xz} + fi + + if [[ -d "${WORKDIR}"/patches/ ]]; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/patches/ + fi + fi + + # Fixup a script to use awk instead of nawk + sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \ + || die "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug 29398 (27 Sep 2003 agriffis) + sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \ + "${S}"/runtime/doc/syntax.txt \ + "${S}"/runtime/doc/tagsrch.txt \ + "${S}"/runtime/doc/usr_29.txt \ + "${S}"/runtime/menu.vim \ + "${S}"/src/configure.in || die 'sed failed' + + # Don't be fooled by /usr/include/libc.h. When found, vim thinks + # this is NeXT, but it's actually just a file in dev-libs/9libs + # This fixes bug 43885 (20 Mar 2004 agriffis) + sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed' + + # gcc on sparc32 has this, uhm, interesting problem with detecting EOF + # correctly. To avoid some really entertaining error messages about stuff + # which isn't even in the source file being invalid, we'll do some trickery + # to make the error never occur. bug 66162 (02 October 2004 ciaranm) + find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]] ; then + sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + epatch_user +} + +src_configure() { + local myconf=() + + # Fix bug 37354: Disallow -funroll-all-loops on amd64 + # Bug 57859 suggests that we want to do this for all archs + filter-flags -funroll-all-loops + + # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for + # everyone since previous flag filtering bugs have turned out to affect + # multiple archs... + replace-flags -O3 -O2 + + # Fix bug 18245: Prevent "make" from the following chain: + # (1) Notice configure.in is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm -f src/auto/configure + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do + [[ -e ${file} ]] && addwrite $file + done + + use debug && append-flags "-DDEBUG" + + myconf=( + --with-features=huge + --disable-gpm + --enable-multibyte + $(use_enable acl) + $(use_enable cscope) + $(use_enable lua luainterp) + $(use_with luajit) + $(use_enable netbeans) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable session xsmp) + $(use_enable tcl tclinterp) + ) + + if use python ; then + if [[ ${EPYTHON} == python3* ]] ; then + myconf+=( --enable-python3interp ) + export vi_cv_path_python3="${PYTHON}" + else + myconf+=( --enable-pythoninterp ) + export vi_cv_path_python="${PYTHON}" + fi + else + myconf+=( + --disable-pythoninterp + --disable-python3interp + ) + fi + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope ; then + sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \ + die "couldn't disable cscope" + fi + + # gvim's GUI preference order is as follows: + # aqua CARBON (not tested) + # -aqua gtk gnome GNOME2 + # -aqua gtk -gnome GTK2 + # -aqua -gtk motif MOTIF + # -aqua -gtk -motif neXt NEXTAW + # -aqua -gtk -motif -neXt ATHENA + echo ; echo + if use aqua ; then + einfo "Building gvim with the Carbon GUI" + myconf+=( + --enable-darwin + --enable-gui=carbon + ) + elif use gtk ; then + myconf+=( --enable-gtk2-check ) + if use gnome ; then + einfo "Building gvim with the Gnome 2 GUI" + myconf+=( --enable-gui=gnome2 ) + else + einfo "Building gvim with the gtk+-2 GUI" + myconf+=( --enable-gui=gtk2 ) + fi + elif use motif ; then + einfo "Building gvim with the MOTIF GUI" + myconf+=( --enable-gui=motif ) + elif use neXt ; then + einfo "Building gvim with the neXtaw GUI" + myconf+=( --enable-gui=nextaw ) + else + einfo "Building gvim with the Athena GUI" + myconf+=( --enable-gui=athena ) + fi + echo ; echo + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if [[ ${CHOST} == *-interix* ]]; then + # avoid finding of this function, to avoid having to patch either + # configure or the source, which would be much more hackish. + # after all vim does it right, only interix is badly broken (again) + export ac_cv_func_sigaction=no + fi + + econf \ + --with-modified-by=Gentoo-${PVR} \ + --with-vim-name=gvim \ + --with-x \ + "${myconf[@]}" +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + echo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + echo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + echo + + # Don't let vim talk to X + unset DISPLAY + + # We've got to call make test from within testdir, since the Makefiles + # don't pass through our VIMPROG argument + cd "${S}"/src/testdir + + # Test 49 won't work inside a portage environment + einfo "Test 49 isn't sandbox-friendly, so it will be skipped." + sed -i 's~test49.out~~g' Makefile + + # We don't want to rebuild vim before running the tests + sed -i 's,: \$(VIMPROG),: ,' Makefile + + # Make gvim not try to connect to X. See :help gui-x11-start + # in vim for how this evil trickery works. + ln -s "${S}"/src/gvim "${S}"/src/testvim + + # Don't try to do the additional GUI test + emake -j1 VIMPROG=../testvim nongui +} + +# Make convenience symlinks, hopefully without stepping on toes. Some +# of these links are "owned" by the vim ebuild when it is installed, +# but they might be good for gvim as well (see bug 45828) +update_vim_symlinks() { + local f syms + syms="vimdiff rvim rview" + einfo "Calling eselect vi update..." + # Call this with --if-unset to respect user's choice (bug 187449) + eselect vi update --if-unset + + # Make or remove convenience symlink, vim -> gvim + if [[ -f "${EROOT}"/usr/bin/gvim ]]; then + ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null + elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then + rm "${EROOT}"/usr/bin/vim + fi + + # Make or remove convenience symlinks to vim + if [[ -f "${EROOT}"/usr/bin/vim ]]; then + for f in ${syms}; do + ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null + done + else + for f in ${syms}; do + if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then + rm -f "${EROOT}"/usr/bin/${f} + fi + done + fi + + # This will still break if you merge then remove the vi package, + # but there's only so much you can do, eh? Unfortunately we don't + # have triggers like are done in rpm-land. +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dobin src/gvim + dosym gvim /usr/bin/gvimdiff + dosym gvim /usr/bin/evim + dosym gvim /usr/bin/eview + dosym gvim /usr/bin/gview + dosym gvim /usr/bin/rgvim + dosym gvim /usr/bin/rgview + + dodir /usr/share/man/man1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 + echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 + + insinto /etc/vim + newins "${FILESDIR}"/gvimrc-r1 gvimrc + eprefixify "${ED}"/etc/vim/gvimrc + + newmenu "${FILESDIR}"/gvim.desktop-r2 gvim.desktop + doicon "${FILESDIR}"/gvim.xpm + + # bash completion script, bug #79018. + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Update fdo mime stuff, bug #78394 + fdo-mime_mime_database_update + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + echo + elog "Vim 7 includes an integrated spell checker. You need to install" + elog "word list files before you can use it. There are ebuilds for" + elog "some of these named app-vim/vim-spell-*. If your language of" + elog "choice is not included, please consult vim-spell.eclass for" + elog "instructions on how to make a package." + echo + ewarn "Note that the English word lists are no longer installed by" + ewarn "default." + echo + fi + + # Make convenience symlinks + update_vim_symlinks +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Update fdo mime stuff, bug #78394 + fdo-mime_mime_database_update + + # Make convenience symlinks + update_vim_symlinks +} diff --git a/app-editors/gvim/gvim-7.4.622.ebuild b/app-editors/gvim/gvim-7.4.622.ebuild new file mode 100644 index 000000000000..1c52e7566fed --- /dev/null +++ b/app-editors/gvim/gvim-7.4.622.ebuild @@ -0,0 +1,420 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +VIM_VERSION="7.4" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +PYTHON_REQ_USE=threads +inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 prefix python-r1 + +if [[ ${PV} == 9999* ]] ; then + inherit mercurial + EHG_REPO_URI="https://vim.googlecode.com/hg/" + EHG_PROJECT="vim" +else + VIM_ORG_PATCH="vim-${PV}.patch.xz" + SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2 + http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCH} + http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" +fi + +DESCRIPTION="GUI version of the Vim text editor" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="acl aqua cscope debug gnome gtk lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl" +REQUIRED_USE=" + luajit? ( lua ) + python? ( + || ( $(python_gen_useflags '*') ) + ?? ( $(python_gen_useflags 'python2*') ) + ?? ( $(python_gen_useflags 'python3*') ) + ) +" + +RDEPEND=" + ~app-editors/vim-core-${PV} + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2 + x11-libs/libXext + x11-libs/libXt + acl? ( kernel_linux? ( sys-apps/acl ) ) + !aqua? ( + gtk? ( + >=x11-libs/gtk+-2.6:2 + x11-libs/libXft + gnome? ( >=gnome-base/libgnomeui-2.6 ) + ) + !gtk? ( + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + neXt? ( x11-libs/neXtaw ) + !neXt? ( x11-libs/libXaw ) + ) + ) + ) + cscope? ( dev-util/cscope ) + lua? ( + luajit? ( dev-lang/luajit:2= ) + !luajit? ( dev-lang/lua:0[deprecated] ) + ) + nls? ( virtual/libintl ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) ) + selinux? ( sys-libs/libselinux ) + session? ( x11-libs/libSM ) + tcl? ( dev-lang/tcl:0= ) +" +DEPEND="${RDEPEND} + dev-util/ctags + sys-devel/autoconf + virtual/pkgconfig + nls? ( sys-devel/gettext ) +" + +S=${WORKDIR}/vim${VIM_VERSION/.} + +pkg_setup() { + # people with broken alphabets run into trouble. bug 82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + # Gnome sandbox silliness. bug #114475. + mkdir -p "${T}"/home + export HOME="${T}"/home +} + +src_prepare() { + if [[ ${PV} != 9999* ]] ; then + if [[ -f "${WORKDIR}"/${VIM_ORG_PATCH%.xz} ]] ; then + # Apply any patches available from vim.org for this version + epatch "${WORKDIR}"/${VIM_ORG_PATCH%.xz} + fi + + if [[ -d "${WORKDIR}"/patches/ ]]; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/patches/ + fi + fi + + # Fixup a script to use awk instead of nawk + sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \ + || die "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug 29398 (27 Sep 2003 agriffis) + sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \ + "${S}"/runtime/doc/syntax.txt \ + "${S}"/runtime/doc/tagsrch.txt \ + "${S}"/runtime/doc/usr_29.txt \ + "${S}"/runtime/menu.vim \ + "${S}"/src/configure.in || die 'sed failed' + + # Don't be fooled by /usr/include/libc.h. When found, vim thinks + # this is NeXT, but it's actually just a file in dev-libs/9libs + # This fixes bug 43885 (20 Mar 2004 agriffis) + sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed' + + # gcc on sparc32 has this, uhm, interesting problem with detecting EOF + # correctly. To avoid some really entertaining error messages about stuff + # which isn't even in the source file being invalid, we'll do some trickery + # to make the error never occur. bug 66162 (02 October 2004 ciaranm) + find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]] ; then + sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + epatch_user +} + +src_configure() { + local myconf=() + + # Fix bug 37354: Disallow -funroll-all-loops on amd64 + # Bug 57859 suggests that we want to do this for all archs + filter-flags -funroll-all-loops + + # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for + # everyone since previous flag filtering bugs have turned out to affect + # multiple archs... + replace-flags -O3 -O2 + + # Fix bug 18245: Prevent "make" from the following chain: + # (1) Notice configure.in is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm -f src/auto/configure + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do + [[ -e ${file} ]] && addwrite $file + done + + use debug && append-flags "-DDEBUG" + + myconf=( + --with-features=huge + --disable-gpm + --enable-multibyte + $(use_enable acl) + $(use_enable cscope) + $(use_enable lua luainterp) + $(use_with luajit) + $(use_enable netbeans) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable session xsmp) + $(use_enable tcl tclinterp) + ) + + if use python ; then + py_add_interp() { + local v + + [[ ${EPYTHON} == python3* ]] && v=3 + myconf+=( + --enable-python${v}interp + vi_cv_path_python${v}="${PYTHON}" + ) + } + + python_foreach_impl py_add_interp + else + myconf+=( + --disable-pythoninterp + --disable-python3interp + ) + fi + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope ; then + sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \ + die "couldn't disable cscope" + fi + + # gvim's GUI preference order is as follows: + # aqua CARBON (not tested) + # -aqua gtk gnome GNOME2 + # -aqua gtk -gnome GTK2 + # -aqua -gtk motif MOTIF + # -aqua -gtk -motif neXt NEXTAW + # -aqua -gtk -motif -neXt ATHENA + echo ; echo + if use aqua ; then + einfo "Building gvim with the Carbon GUI" + myconf+=( + --enable-darwin + --enable-gui=carbon + ) + elif use gtk ; then + myconf+=( --enable-gtk2-check ) + if use gnome ; then + einfo "Building gvim with the Gnome 2 GUI" + myconf+=( --enable-gui=gnome2 ) + else + einfo "Building gvim with the gtk+-2 GUI" + myconf+=( --enable-gui=gtk2 ) + fi + elif use motif ; then + einfo "Building gvim with the MOTIF GUI" + myconf+=( --enable-gui=motif ) + elif use neXt ; then + einfo "Building gvim with the neXtaw GUI" + myconf+=( --enable-gui=nextaw ) + else + einfo "Building gvim with the Athena GUI" + myconf+=( --enable-gui=athena ) + fi + echo ; echo + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if [[ ${CHOST} == *-interix* ]]; then + # avoid finding of this function, to avoid having to patch either + # configure or the source, which would be much more hackish. + # after all vim does it right, only interix is badly broken (again) + export ac_cv_func_sigaction=no + fi + + econf \ + --with-modified-by=Gentoo-${PVR} \ + --with-vim-name=gvim \ + --with-x \ + "${myconf[@]}" +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + echo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + echo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + echo + + # Don't let vim talk to X + unset DISPLAY + + # We've got to call make test from within testdir, since the Makefiles + # don't pass through our VIMPROG argument + cd "${S}"/src/testdir + + # Test 49 won't work inside a portage environment + einfo "Test 49 isn't sandbox-friendly, so it will be skipped." + sed -i 's~test49.out~~g' Makefile + + # We don't want to rebuild vim before running the tests + sed -i 's,: \$(VIMPROG),: ,' Makefile + + # Make gvim not try to connect to X. See :help gui-x11-start + # in vim for how this evil trickery works. + ln -s "${S}"/src/gvim "${S}"/src/testvim + + # Don't try to do the additional GUI test + emake -j1 VIMPROG=../testvim nongui +} + +# Make convenience symlinks, hopefully without stepping on toes. Some +# of these links are "owned" by the vim ebuild when it is installed, +# but they might be good for gvim as well (see bug 45828) +update_vim_symlinks() { + local f syms + syms="vimdiff rvim rview" + einfo "Calling eselect vi update..." + # Call this with --if-unset to respect user's choice (bug 187449) + eselect vi update --if-unset + + # Make or remove convenience symlink, vim -> gvim + if [[ -f "${EROOT}"/usr/bin/gvim ]]; then + ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null + elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then + rm "${EROOT}"/usr/bin/vim + fi + + # Make or remove convenience symlinks to vim + if [[ -f "${EROOT}"/usr/bin/vim ]]; then + for f in ${syms}; do + ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null + done + else + for f in ${syms}; do + if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then + rm -f "${EROOT}"/usr/bin/${f} + fi + done + fi + + # This will still break if you merge then remove the vi package, + # but there's only so much you can do, eh? Unfortunately we don't + # have triggers like are done in rpm-land. +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dobin src/gvim + dosym gvim /usr/bin/gvimdiff + dosym gvim /usr/bin/evim + dosym gvim /usr/bin/eview + dosym gvim /usr/bin/gview + dosym gvim /usr/bin/rgvim + dosym gvim /usr/bin/rgview + + dodir /usr/share/man/man1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 + echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 + + insinto /etc/vim + newins "${FILESDIR}"/gvimrc-r1 gvimrc + eprefixify "${ED}"/etc/vim/gvimrc + + newmenu "${FILESDIR}"/gvim.desktop-r2 gvim.desktop + doicon "${FILESDIR}"/gvim.xpm + + # bash completion script, bug #79018. + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Update fdo mime stuff, bug #78394 + fdo-mime_mime_database_update + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + echo + elog "Vim 7 includes an integrated spell checker. You need to install" + elog "word list files before you can use it. There are ebuilds for" + elog "some of these named app-vim/vim-spell-*. If your language of" + elog "choice is not included, please consult vim-spell.eclass for" + elog "instructions on how to make a package." + echo + ewarn "Note that the English word lists are no longer installed by" + ewarn "default." + echo + fi + + # Make convenience symlinks + update_vim_symlinks +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Update fdo mime stuff, bug #78394 + fdo-mime_mime_database_update + + # Make convenience symlinks + update_vim_symlinks +} diff --git a/app-editors/gvim/gvim-7.4.670.ebuild b/app-editors/gvim/gvim-7.4.670.ebuild new file mode 100644 index 000000000000..1c52e7566fed --- /dev/null +++ b/app-editors/gvim/gvim-7.4.670.ebuild @@ -0,0 +1,420 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +VIM_VERSION="7.4" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +PYTHON_REQ_USE=threads +inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 prefix python-r1 + +if [[ ${PV} == 9999* ]] ; then + inherit mercurial + EHG_REPO_URI="https://vim.googlecode.com/hg/" + EHG_PROJECT="vim" +else + VIM_ORG_PATCH="vim-${PV}.patch.xz" + SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2 + http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCH} + http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" +fi + +DESCRIPTION="GUI version of the Vim text editor" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="acl aqua cscope debug gnome gtk lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl" +REQUIRED_USE=" + luajit? ( lua ) + python? ( + || ( $(python_gen_useflags '*') ) + ?? ( $(python_gen_useflags 'python2*') ) + ?? ( $(python_gen_useflags 'python3*') ) + ) +" + +RDEPEND=" + ~app-editors/vim-core-${PV} + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2 + x11-libs/libXext + x11-libs/libXt + acl? ( kernel_linux? ( sys-apps/acl ) ) + !aqua? ( + gtk? ( + >=x11-libs/gtk+-2.6:2 + x11-libs/libXft + gnome? ( >=gnome-base/libgnomeui-2.6 ) + ) + !gtk? ( + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + neXt? ( x11-libs/neXtaw ) + !neXt? ( x11-libs/libXaw ) + ) + ) + ) + cscope? ( dev-util/cscope ) + lua? ( + luajit? ( dev-lang/luajit:2= ) + !luajit? ( dev-lang/lua:0[deprecated] ) + ) + nls? ( virtual/libintl ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) ) + selinux? ( sys-libs/libselinux ) + session? ( x11-libs/libSM ) + tcl? ( dev-lang/tcl:0= ) +" +DEPEND="${RDEPEND} + dev-util/ctags + sys-devel/autoconf + virtual/pkgconfig + nls? ( sys-devel/gettext ) +" + +S=${WORKDIR}/vim${VIM_VERSION/.} + +pkg_setup() { + # people with broken alphabets run into trouble. bug 82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + # Gnome sandbox silliness. bug #114475. + mkdir -p "${T}"/home + export HOME="${T}"/home +} + +src_prepare() { + if [[ ${PV} != 9999* ]] ; then + if [[ -f "${WORKDIR}"/${VIM_ORG_PATCH%.xz} ]] ; then + # Apply any patches available from vim.org for this version + epatch "${WORKDIR}"/${VIM_ORG_PATCH%.xz} + fi + + if [[ -d "${WORKDIR}"/patches/ ]]; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/patches/ + fi + fi + + # Fixup a script to use awk instead of nawk + sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \ + || die "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug 29398 (27 Sep 2003 agriffis) + sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \ + "${S}"/runtime/doc/syntax.txt \ + "${S}"/runtime/doc/tagsrch.txt \ + "${S}"/runtime/doc/usr_29.txt \ + "${S}"/runtime/menu.vim \ + "${S}"/src/configure.in || die 'sed failed' + + # Don't be fooled by /usr/include/libc.h. When found, vim thinks + # this is NeXT, but it's actually just a file in dev-libs/9libs + # This fixes bug 43885 (20 Mar 2004 agriffis) + sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed' + + # gcc on sparc32 has this, uhm, interesting problem with detecting EOF + # correctly. To avoid some really entertaining error messages about stuff + # which isn't even in the source file being invalid, we'll do some trickery + # to make the error never occur. bug 66162 (02 October 2004 ciaranm) + find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]] ; then + sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + epatch_user +} + +src_configure() { + local myconf=() + + # Fix bug 37354: Disallow -funroll-all-loops on amd64 + # Bug 57859 suggests that we want to do this for all archs + filter-flags -funroll-all-loops + + # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for + # everyone since previous flag filtering bugs have turned out to affect + # multiple archs... + replace-flags -O3 -O2 + + # Fix bug 18245: Prevent "make" from the following chain: + # (1) Notice configure.in is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm -f src/auto/configure + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do + [[ -e ${file} ]] && addwrite $file + done + + use debug && append-flags "-DDEBUG" + + myconf=( + --with-features=huge + --disable-gpm + --enable-multibyte + $(use_enable acl) + $(use_enable cscope) + $(use_enable lua luainterp) + $(use_with luajit) + $(use_enable netbeans) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable session xsmp) + $(use_enable tcl tclinterp) + ) + + if use python ; then + py_add_interp() { + local v + + [[ ${EPYTHON} == python3* ]] && v=3 + myconf+=( + --enable-python${v}interp + vi_cv_path_python${v}="${PYTHON}" + ) + } + + python_foreach_impl py_add_interp + else + myconf+=( + --disable-pythoninterp + --disable-python3interp + ) + fi + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope ; then + sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \ + die "couldn't disable cscope" + fi + + # gvim's GUI preference order is as follows: + # aqua CARBON (not tested) + # -aqua gtk gnome GNOME2 + # -aqua gtk -gnome GTK2 + # -aqua -gtk motif MOTIF + # -aqua -gtk -motif neXt NEXTAW + # -aqua -gtk -motif -neXt ATHENA + echo ; echo + if use aqua ; then + einfo "Building gvim with the Carbon GUI" + myconf+=( + --enable-darwin + --enable-gui=carbon + ) + elif use gtk ; then + myconf+=( --enable-gtk2-check ) + if use gnome ; then + einfo "Building gvim with the Gnome 2 GUI" + myconf+=( --enable-gui=gnome2 ) + else + einfo "Building gvim with the gtk+-2 GUI" + myconf+=( --enable-gui=gtk2 ) + fi + elif use motif ; then + einfo "Building gvim with the MOTIF GUI" + myconf+=( --enable-gui=motif ) + elif use neXt ; then + einfo "Building gvim with the neXtaw GUI" + myconf+=( --enable-gui=nextaw ) + else + einfo "Building gvim with the Athena GUI" + myconf+=( --enable-gui=athena ) + fi + echo ; echo + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if [[ ${CHOST} == *-interix* ]]; then + # avoid finding of this function, to avoid having to patch either + # configure or the source, which would be much more hackish. + # after all vim does it right, only interix is badly broken (again) + export ac_cv_func_sigaction=no + fi + + econf \ + --with-modified-by=Gentoo-${PVR} \ + --with-vim-name=gvim \ + --with-x \ + "${myconf[@]}" +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + echo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + echo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + echo + + # Don't let vim talk to X + unset DISPLAY + + # We've got to call make test from within testdir, since the Makefiles + # don't pass through our VIMPROG argument + cd "${S}"/src/testdir + + # Test 49 won't work inside a portage environment + einfo "Test 49 isn't sandbox-friendly, so it will be skipped." + sed -i 's~test49.out~~g' Makefile + + # We don't want to rebuild vim before running the tests + sed -i 's,: \$(VIMPROG),: ,' Makefile + + # Make gvim not try to connect to X. See :help gui-x11-start + # in vim for how this evil trickery works. + ln -s "${S}"/src/gvim "${S}"/src/testvim + + # Don't try to do the additional GUI test + emake -j1 VIMPROG=../testvim nongui +} + +# Make convenience symlinks, hopefully without stepping on toes. Some +# of these links are "owned" by the vim ebuild when it is installed, +# but they might be good for gvim as well (see bug 45828) +update_vim_symlinks() { + local f syms + syms="vimdiff rvim rview" + einfo "Calling eselect vi update..." + # Call this with --if-unset to respect user's choice (bug 187449) + eselect vi update --if-unset + + # Make or remove convenience symlink, vim -> gvim + if [[ -f "${EROOT}"/usr/bin/gvim ]]; then + ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null + elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then + rm "${EROOT}"/usr/bin/vim + fi + + # Make or remove convenience symlinks to vim + if [[ -f "${EROOT}"/usr/bin/vim ]]; then + for f in ${syms}; do + ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null + done + else + for f in ${syms}; do + if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then + rm -f "${EROOT}"/usr/bin/${f} + fi + done + fi + + # This will still break if you merge then remove the vi package, + # but there's only so much you can do, eh? Unfortunately we don't + # have triggers like are done in rpm-land. +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dobin src/gvim + dosym gvim /usr/bin/gvimdiff + dosym gvim /usr/bin/evim + dosym gvim /usr/bin/eview + dosym gvim /usr/bin/gview + dosym gvim /usr/bin/rgvim + dosym gvim /usr/bin/rgview + + dodir /usr/share/man/man1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 + echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 + + insinto /etc/vim + newins "${FILESDIR}"/gvimrc-r1 gvimrc + eprefixify "${ED}"/etc/vim/gvimrc + + newmenu "${FILESDIR}"/gvim.desktop-r2 gvim.desktop + doicon "${FILESDIR}"/gvim.xpm + + # bash completion script, bug #79018. + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Update fdo mime stuff, bug #78394 + fdo-mime_mime_database_update + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + echo + elog "Vim 7 includes an integrated spell checker. You need to install" + elog "word list files before you can use it. There are ebuilds for" + elog "some of these named app-vim/vim-spell-*. If your language of" + elog "choice is not included, please consult vim-spell.eclass for" + elog "instructions on how to make a package." + echo + ewarn "Note that the English word lists are no longer installed by" + ewarn "default." + echo + fi + + # Make convenience symlinks + update_vim_symlinks +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Update fdo mime stuff, bug #78394 + fdo-mime_mime_database_update + + # Make convenience symlinks + update_vim_symlinks +} diff --git a/app-editors/gvim/gvim-7.4.712.ebuild b/app-editors/gvim/gvim-7.4.712.ebuild new file mode 100644 index 000000000000..5bfa6ad60e4b --- /dev/null +++ b/app-editors/gvim/gvim-7.4.712.ebuild @@ -0,0 +1,421 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +VIM_VERSION="7.4" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +PYTHON_REQ_USE=threads +inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 prefix python-r1 + +if [[ ${PV} == 9999* ]] ; then + inherit mercurial + EHG_REPO_URI="https://vim.googlecode.com/hg/" + EHG_PROJECT="vim" +else + VIM_ORG_PATCH="vim-${PV}.patch.xz" + SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2 + http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCH} + http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" +fi + +DESCRIPTION="GUI version of the Vim text editor" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="acl aqua cscope debug gnome gtk lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl" +REQUIRED_USE=" + luajit? ( lua ) + python? ( + || ( $(python_gen_useflags '*') ) + ?? ( $(python_gen_useflags 'python2*') ) + ?? ( $(python_gen_useflags 'python3*') ) + ) +" + +RDEPEND=" + ~app-editors/vim-core-${PV} + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2 + x11-libs/libXext + x11-libs/libXt + acl? ( kernel_linux? ( sys-apps/acl ) ) + !aqua? ( + gtk? ( + >=x11-libs/gtk+-2.6:2 + x11-libs/libXft + gnome? ( >=gnome-base/libgnomeui-2.6 ) + ) + !gtk? ( + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + neXt? ( x11-libs/neXtaw ) + !neXt? ( x11-libs/libXaw ) + ) + ) + ) + cscope? ( dev-util/cscope ) + lua? ( + luajit? ( dev-lang/luajit:2= ) + !luajit? ( dev-lang/lua:0[deprecated] ) + ) + nls? ( virtual/libintl ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) ) + selinux? ( sys-libs/libselinux ) + session? ( x11-libs/libSM ) + tcl? ( dev-lang/tcl:0= ) +" +DEPEND="${RDEPEND} + dev-util/ctags + sys-devel/autoconf + virtual/pkgconfig + nls? ( sys-devel/gettext ) +" + +S=${WORKDIR}/vim${VIM_VERSION/.} + +pkg_setup() { + # people with broken alphabets run into trouble. bug 82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + # Gnome sandbox silliness. bug #114475. + mkdir -p "${T}"/home + export HOME="${T}"/home +} + +src_prepare() { + if [[ ${PV} != 9999* ]] ; then + if [[ -f "${WORKDIR}"/${VIM_ORG_PATCH%.xz} ]] ; then + # Apply any patches available from vim.org for this version + epatch "${WORKDIR}"/${VIM_ORG_PATCH%.xz} + fi + + if [[ -d "${WORKDIR}"/patches/ ]]; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/patches/ + fi + fi + + # Fixup a script to use awk instead of nawk + sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \ + || die "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug 29398 (27 Sep 2003 agriffis) + sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \ + "${S}"/runtime/doc/syntax.txt \ + "${S}"/runtime/doc/tagsrch.txt \ + "${S}"/runtime/doc/usr_29.txt \ + "${S}"/runtime/menu.vim \ + "${S}"/src/configure.in || die 'sed failed' + + # Don't be fooled by /usr/include/libc.h. When found, vim thinks + # this is NeXT, but it's actually just a file in dev-libs/9libs + # This fixes bug 43885 (20 Mar 2004 agriffis) + sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed' + + # gcc on sparc32 has this, uhm, interesting problem with detecting EOF + # correctly. To avoid some really entertaining error messages about stuff + # which isn't even in the source file being invalid, we'll do some trickery + # to make the error never occur. bug 66162 (02 October 2004 ciaranm) + find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]] ; then + sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + epatch_user +} + +src_configure() { + local myconf=() + + # Fix bug 37354: Disallow -funroll-all-loops on amd64 + # Bug 57859 suggests that we want to do this for all archs + filter-flags -funroll-all-loops + + # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for + # everyone since previous flag filtering bugs have turned out to affect + # multiple archs... + replace-flags -O3 -O2 + + # Fix bug 18245: Prevent "make" from the following chain: + # (1) Notice configure.in is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm -f src/auto/configure + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do + [[ -e ${file} ]] && addwrite $file + done + + use debug && append-flags "-DDEBUG" + + myconf=( + --with-features=huge + --disable-gpm + --enable-multibyte + $(use_enable acl) + $(use_enable cscope) + $(use_enable lua luainterp) + $(use_with luajit) + $(use_enable netbeans) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable session xsmp) + $(use_enable tcl tclinterp) + ) + + if use python ; then + py_add_interp() { + local v + + [[ ${EPYTHON} == python3* ]] && v=3 + myconf+=( + --enable-python${v}interp + vi_cv_path_python${v}="${PYTHON}" + ) + } + + python_foreach_impl py_add_interp + else + myconf+=( + --disable-pythoninterp + --disable-python3interp + ) + fi + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope ; then + sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \ + die "couldn't disable cscope" + fi + + # gvim's GUI preference order is as follows: + # aqua CARBON (not tested) + # -aqua gtk gnome GNOME2 + # -aqua gtk -gnome GTK2 + # -aqua -gtk motif MOTIF + # -aqua -gtk -motif neXt NEXTAW + # -aqua -gtk -motif -neXt ATHENA + echo ; echo + if use aqua ; then + einfo "Building gvim with the Carbon GUI" + myconf+=( + --enable-darwin + --enable-gui=carbon + ) + elif use gtk ; then + myconf+=( --enable-gtk2-check ) + if use gnome ; then + einfo "Building gvim with the Gnome 2 GUI" + myconf+=( --enable-gui=gnome2 ) + else + einfo "Building gvim with the gtk+-2 GUI" + myconf+=( --enable-gui=gtk2 ) + fi + elif use motif ; then + einfo "Building gvim with the MOTIF GUI" + myconf+=( --enable-gui=motif ) + elif use neXt ; then + einfo "Building gvim with the neXtaw GUI" + myconf+=( --enable-gui=nextaw ) + else + einfo "Building gvim with the Athena GUI" + myconf+=( --enable-gui=athena ) + fi + echo ; echo + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if [[ ${CHOST} == *-interix* ]]; then + # avoid finding of this function, to avoid having to patch either + # configure or the source, which would be much more hackish. + # after all vim does it right, only interix is badly broken (again) + export ac_cv_func_sigaction=no + fi + + econf \ + --with-modified-by=Gentoo-${PVR} \ + --with-vim-name=gvim \ + --with-x \ + "${myconf[@]}" +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + echo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + echo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + echo + + # Don't let vim talk to X + unset DISPLAY + + # We've got to call make test from within testdir, since the Makefiles + # don't pass through our VIMPROG argument + cd "${S}"/src/testdir + + # Test 49 won't work inside a portage environment + einfo "Test 49 isn't sandbox-friendly, so it will be skipped." + sed -i 's~test49.out~~g' Makefile + + # We don't want to rebuild vim before running the tests + sed -i 's,: \$(VIMPROG),: ,' Makefile + + # Make gvim not try to connect to X. See :help gui-x11-start + # in vim for how this evil trickery works. + ln -s "${S}"/src/gvim "${S}"/src/testvim + + # Don't try to do the additional GUI test + emake -j1 VIMPROG=../testvim nongui +} + +# Make convenience symlinks, hopefully without stepping on toes. Some +# of these links are "owned" by the vim ebuild when it is installed, +# but they might be good for gvim as well (see bug 45828) +update_vim_symlinks() { + local f syms + syms="vimdiff rvim rview" + einfo "Calling eselect vi update..." + # Call this with --if-unset to respect user's choice (bug 187449) + eselect vi update --if-unset + + # Make or remove convenience symlink, vim -> gvim + if [[ -f "${EROOT}"/usr/bin/gvim ]]; then + ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null + elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then + rm "${EROOT}"/usr/bin/vim + fi + + # Make or remove convenience symlinks to vim + if [[ -f "${EROOT}"/usr/bin/vim ]]; then + for f in ${syms}; do + ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null + done + else + for f in ${syms}; do + if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then + rm -f "${EROOT}"/usr/bin/${f} + fi + done + fi + + # This will still break if you merge then remove the vi package, + # but there's only so much you can do, eh? Unfortunately we don't + # have triggers like are done in rpm-land. +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dobin src/gvim + dosym gvim /usr/bin/gvimdiff + dosym gvim /usr/bin/evim + dosym gvim /usr/bin/eview + dosym gvim /usr/bin/gview + dosym gvim /usr/bin/rgvim + dosym gvim /usr/bin/rgview + + dodir /usr/share/man/man1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 + echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 + + insinto /etc/vim + newins "${FILESDIR}"/gvimrc-r1 gvimrc + eprefixify "${ED}"/etc/vim/gvimrc + + newmenu "${FILESDIR}"/gvim.desktop-r2 gvim.desktop + doicon "${FILESDIR}"/gvim.xpm + doicon -s scalable "${FILESDIR}"/gvim.svg + + # bash completion script, bug #79018. + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Update fdo mime stuff, bug #78394 + fdo-mime_mime_database_update + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + echo + elog "Vim 7 includes an integrated spell checker. You need to install" + elog "word list files before you can use it. There are ebuilds for" + elog "some of these named app-vim/vim-spell-*. If your language of" + elog "choice is not included, please consult vim-spell.eclass for" + elog "instructions on how to make a package." + echo + ewarn "Note that the English word lists are no longer installed by" + ewarn "default." + echo + fi + + # Make convenience symlinks + update_vim_symlinks +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Update fdo mime stuff, bug #78394 + fdo-mime_mime_database_update + + # Make convenience symlinks + update_vim_symlinks +} diff --git a/app-editors/gvim/gvim-7.4.738.ebuild b/app-editors/gvim/gvim-7.4.738.ebuild new file mode 100644 index 000000000000..37c5edbd0b31 --- /dev/null +++ b/app-editors/gvim/gvim-7.4.738.ebuild @@ -0,0 +1,416 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +VIM_VERSION="7.4" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +PYTHON_REQ_USE=threads +inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 prefix python-r1 + +MY_PV=${PV//./-} + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/vim/vim.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${MY_PV} +else + SRC_URI="https://github.com/vim/vim/archive/v${MY_PV}.tar.gz -> vim-${PV}.tar.gz + http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" +fi + +DESCRIPTION="GUI version of the Vim text editor" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="acl aqua cscope debug gnome gtk lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl" +REQUIRED_USE=" + luajit? ( lua ) + python? ( + || ( $(python_gen_useflags '*') ) + ?? ( $(python_gen_useflags 'python2*') ) + ?? ( $(python_gen_useflags 'python3*') ) + ) +" + +RDEPEND=" + ~app-editors/vim-core-${PV} + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2 + x11-libs/libXext + x11-libs/libXt + acl? ( kernel_linux? ( sys-apps/acl ) ) + !aqua? ( + gtk? ( + >=x11-libs/gtk+-2.6:2 + x11-libs/libXft + gnome? ( >=gnome-base/libgnomeui-2.6 ) + ) + !gtk? ( + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + neXt? ( x11-libs/neXtaw ) + !neXt? ( x11-libs/libXaw ) + ) + ) + ) + cscope? ( dev-util/cscope ) + lua? ( + luajit? ( dev-lang/luajit:2= ) + !luajit? ( dev-lang/lua:0[deprecated] ) + ) + nls? ( virtual/libintl ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) ) + selinux? ( sys-libs/libselinux ) + session? ( x11-libs/libSM ) + tcl? ( dev-lang/tcl:0= ) +" +DEPEND="${RDEPEND} + dev-util/ctags + sys-devel/autoconf + virtual/pkgconfig + nls? ( sys-devel/gettext ) +" + +S=${WORKDIR}/vim-${MY_PV} + +pkg_setup() { + # people with broken alphabets run into trouble. bug 82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + # Gnome sandbox silliness. bug #114475. + mkdir -p "${T}"/home + export HOME="${T}"/home +} + +src_prepare() { + if [[ ${PV} != 9999* ]] ; then + if [[ -d "${WORKDIR}"/patches/ ]]; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/patches/ + fi + fi + + # Fixup a script to use awk instead of nawk + sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \ + || die "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug 29398 (27 Sep 2003 agriffis) + sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \ + "${S}"/runtime/doc/syntax.txt \ + "${S}"/runtime/doc/tagsrch.txt \ + "${S}"/runtime/doc/usr_29.txt \ + "${S}"/runtime/menu.vim \ + "${S}"/src/configure.in || die 'sed failed' + + # Don't be fooled by /usr/include/libc.h. When found, vim thinks + # this is NeXT, but it's actually just a file in dev-libs/9libs + # This fixes bug 43885 (20 Mar 2004 agriffis) + sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed' + + # gcc on sparc32 has this, uhm, interesting problem with detecting EOF + # correctly. To avoid some really entertaining error messages about stuff + # which isn't even in the source file being invalid, we'll do some trickery + # to make the error never occur. bug 66162 (02 October 2004 ciaranm) + find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]] ; then + sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + epatch_user +} + +src_configure() { + local myconf=() + + # Fix bug 37354: Disallow -funroll-all-loops on amd64 + # Bug 57859 suggests that we want to do this for all archs + filter-flags -funroll-all-loops + + # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for + # everyone since previous flag filtering bugs have turned out to affect + # multiple archs... + replace-flags -O3 -O2 + + # Fix bug 18245: Prevent "make" from the following chain: + # (1) Notice configure.in is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm -f src/auto/configure + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do + [[ -e ${file} ]] && addwrite $file + done + + use debug && append-flags "-DDEBUG" + + myconf=( + --with-features=huge + --disable-gpm + --enable-multibyte + $(use_enable acl) + $(use_enable cscope) + $(use_enable lua luainterp) + $(use_with luajit) + $(use_enable netbeans) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable session xsmp) + $(use_enable tcl tclinterp) + ) + + if use python ; then + py_add_interp() { + local v + + [[ ${EPYTHON} == python3* ]] && v=3 + myconf+=( + --enable-python${v}interp + vi_cv_path_python${v}="${PYTHON}" + ) + } + + python_foreach_impl py_add_interp + else + myconf+=( + --disable-pythoninterp + --disable-python3interp + ) + fi + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope ; then + sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \ + die "couldn't disable cscope" + fi + + # gvim's GUI preference order is as follows: + # aqua CARBON (not tested) + # -aqua gtk gnome GNOME2 + # -aqua gtk -gnome GTK2 + # -aqua -gtk motif MOTIF + # -aqua -gtk -motif neXt NEXTAW + # -aqua -gtk -motif -neXt ATHENA + echo ; echo + if use aqua ; then + einfo "Building gvim with the Carbon GUI" + myconf+=( + --enable-darwin + --enable-gui=carbon + ) + elif use gtk ; then + myconf+=( --enable-gtk2-check ) + if use gnome ; then + einfo "Building gvim with the Gnome 2 GUI" + myconf+=( --enable-gui=gnome2 ) + else + einfo "Building gvim with the gtk+-2 GUI" + myconf+=( --enable-gui=gtk2 ) + fi + elif use motif ; then + einfo "Building gvim with the MOTIF GUI" + myconf+=( --enable-gui=motif ) + elif use neXt ; then + einfo "Building gvim with the neXtaw GUI" + myconf+=( --enable-gui=nextaw ) + else + einfo "Building gvim with the Athena GUI" + myconf+=( --enable-gui=athena ) + fi + echo ; echo + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if [[ ${CHOST} == *-interix* ]]; then + # avoid finding of this function, to avoid having to patch either + # configure or the source, which would be much more hackish. + # after all vim does it right, only interix is badly broken (again) + export ac_cv_func_sigaction=no + fi + + econf \ + --with-modified-by=Gentoo-${PVR} \ + --with-vim-name=gvim \ + --with-x \ + "${myconf[@]}" +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + echo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + echo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + echo + + # Don't let vim talk to X + unset DISPLAY + + # We've got to call make test from within testdir, since the Makefiles + # don't pass through our VIMPROG argument + cd "${S}"/src/testdir + + # Test 49 won't work inside a portage environment + einfo "Test 49 isn't sandbox-friendly, so it will be skipped." + sed -i 's~test49.out~~g' Makefile + + # We don't want to rebuild vim before running the tests + sed -i 's,: \$(VIMPROG),: ,' Makefile + + # Make gvim not try to connect to X. See :help gui-x11-start + # in vim for how this evil trickery works. + ln -s "${S}"/src/gvim "${S}"/src/testvim + + # Don't try to do the additional GUI test + emake -j1 VIMPROG=../testvim nongui +} + +# Make convenience symlinks, hopefully without stepping on toes. Some +# of these links are "owned" by the vim ebuild when it is installed, +# but they might be good for gvim as well (see bug 45828) +update_vim_symlinks() { + local f syms + syms="vimdiff rvim rview" + einfo "Calling eselect vi update..." + # Call this with --if-unset to respect user's choice (bug 187449) + eselect vi update --if-unset + + # Make or remove convenience symlink, vim -> gvim + if [[ -f "${EROOT}"/usr/bin/gvim ]]; then + ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null + elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then + rm "${EROOT}"/usr/bin/vim + fi + + # Make or remove convenience symlinks to vim + if [[ -f "${EROOT}"/usr/bin/vim ]]; then + for f in ${syms}; do + ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null + done + else + for f in ${syms}; do + if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then + rm -f "${EROOT}"/usr/bin/${f} + fi + done + fi + + # This will still break if you merge then remove the vi package, + # but there's only so much you can do, eh? Unfortunately we don't + # have triggers like are done in rpm-land. +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dobin src/gvim + dosym gvim /usr/bin/gvimdiff + dosym gvim /usr/bin/evim + dosym gvim /usr/bin/eview + dosym gvim /usr/bin/gview + dosym gvim /usr/bin/rgvim + dosym gvim /usr/bin/rgview + + dodir /usr/share/man/man1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 + echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 + + insinto /etc/vim + newins "${FILESDIR}"/gvimrc-r1 gvimrc + eprefixify "${ED}"/etc/vim/gvimrc + + newmenu "${FILESDIR}"/gvim.desktop-r2 gvim.desktop + doicon "${FILESDIR}"/gvim.xpm + doicon -s scalable "${FILESDIR}"/gvim.svg + + # bash completion script, bug #79018. + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Update fdo mime stuff, bug #78394 + fdo-mime_mime_database_update + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + echo + elog "Vim 7 includes an integrated spell checker. You need to install" + elog "word list files before you can use it. There are ebuilds for" + elog "some of these named app-vim/vim-spell-*. If your language of" + elog "choice is not included, please consult vim-spell.eclass for" + elog "instructions on how to make a package." + echo + ewarn "Note that the English word lists are no longer installed by" + ewarn "default." + echo + fi + + # Make convenience symlinks + update_vim_symlinks +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Update fdo mime stuff, bug #78394 + fdo-mime_mime_database_update + + # Make convenience symlinks + update_vim_symlinks +} diff --git a/app-editors/gvim/gvim-7.4.769.ebuild b/app-editors/gvim/gvim-7.4.769.ebuild new file mode 100644 index 000000000000..37c5edbd0b31 --- /dev/null +++ b/app-editors/gvim/gvim-7.4.769.ebuild @@ -0,0 +1,416 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +VIM_VERSION="7.4" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +PYTHON_REQ_USE=threads +inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 prefix python-r1 + +MY_PV=${PV//./-} + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/vim/vim.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${MY_PV} +else + SRC_URI="https://github.com/vim/vim/archive/v${MY_PV}.tar.gz -> vim-${PV}.tar.gz + http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" +fi + +DESCRIPTION="GUI version of the Vim text editor" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="acl aqua cscope debug gnome gtk lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl" +REQUIRED_USE=" + luajit? ( lua ) + python? ( + || ( $(python_gen_useflags '*') ) + ?? ( $(python_gen_useflags 'python2*') ) + ?? ( $(python_gen_useflags 'python3*') ) + ) +" + +RDEPEND=" + ~app-editors/vim-core-${PV} + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2 + x11-libs/libXext + x11-libs/libXt + acl? ( kernel_linux? ( sys-apps/acl ) ) + !aqua? ( + gtk? ( + >=x11-libs/gtk+-2.6:2 + x11-libs/libXft + gnome? ( >=gnome-base/libgnomeui-2.6 ) + ) + !gtk? ( + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + neXt? ( x11-libs/neXtaw ) + !neXt? ( x11-libs/libXaw ) + ) + ) + ) + cscope? ( dev-util/cscope ) + lua? ( + luajit? ( dev-lang/luajit:2= ) + !luajit? ( dev-lang/lua:0[deprecated] ) + ) + nls? ( virtual/libintl ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) ) + selinux? ( sys-libs/libselinux ) + session? ( x11-libs/libSM ) + tcl? ( dev-lang/tcl:0= ) +" +DEPEND="${RDEPEND} + dev-util/ctags + sys-devel/autoconf + virtual/pkgconfig + nls? ( sys-devel/gettext ) +" + +S=${WORKDIR}/vim-${MY_PV} + +pkg_setup() { + # people with broken alphabets run into trouble. bug 82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + # Gnome sandbox silliness. bug #114475. + mkdir -p "${T}"/home + export HOME="${T}"/home +} + +src_prepare() { + if [[ ${PV} != 9999* ]] ; then + if [[ -d "${WORKDIR}"/patches/ ]]; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/patches/ + fi + fi + + # Fixup a script to use awk instead of nawk + sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \ + || die "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug 29398 (27 Sep 2003 agriffis) + sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \ + "${S}"/runtime/doc/syntax.txt \ + "${S}"/runtime/doc/tagsrch.txt \ + "${S}"/runtime/doc/usr_29.txt \ + "${S}"/runtime/menu.vim \ + "${S}"/src/configure.in || die 'sed failed' + + # Don't be fooled by /usr/include/libc.h. When found, vim thinks + # this is NeXT, but it's actually just a file in dev-libs/9libs + # This fixes bug 43885 (20 Mar 2004 agriffis) + sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed' + + # gcc on sparc32 has this, uhm, interesting problem with detecting EOF + # correctly. To avoid some really entertaining error messages about stuff + # which isn't even in the source file being invalid, we'll do some trickery + # to make the error never occur. bug 66162 (02 October 2004 ciaranm) + find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]] ; then + sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + epatch_user +} + +src_configure() { + local myconf=() + + # Fix bug 37354: Disallow -funroll-all-loops on amd64 + # Bug 57859 suggests that we want to do this for all archs + filter-flags -funroll-all-loops + + # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for + # everyone since previous flag filtering bugs have turned out to affect + # multiple archs... + replace-flags -O3 -O2 + + # Fix bug 18245: Prevent "make" from the following chain: + # (1) Notice configure.in is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm -f src/auto/configure + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do + [[ -e ${file} ]] && addwrite $file + done + + use debug && append-flags "-DDEBUG" + + myconf=( + --with-features=huge + --disable-gpm + --enable-multibyte + $(use_enable acl) + $(use_enable cscope) + $(use_enable lua luainterp) + $(use_with luajit) + $(use_enable netbeans) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable session xsmp) + $(use_enable tcl tclinterp) + ) + + if use python ; then + py_add_interp() { + local v + + [[ ${EPYTHON} == python3* ]] && v=3 + myconf+=( + --enable-python${v}interp + vi_cv_path_python${v}="${PYTHON}" + ) + } + + python_foreach_impl py_add_interp + else + myconf+=( + --disable-pythoninterp + --disable-python3interp + ) + fi + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope ; then + sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \ + die "couldn't disable cscope" + fi + + # gvim's GUI preference order is as follows: + # aqua CARBON (not tested) + # -aqua gtk gnome GNOME2 + # -aqua gtk -gnome GTK2 + # -aqua -gtk motif MOTIF + # -aqua -gtk -motif neXt NEXTAW + # -aqua -gtk -motif -neXt ATHENA + echo ; echo + if use aqua ; then + einfo "Building gvim with the Carbon GUI" + myconf+=( + --enable-darwin + --enable-gui=carbon + ) + elif use gtk ; then + myconf+=( --enable-gtk2-check ) + if use gnome ; then + einfo "Building gvim with the Gnome 2 GUI" + myconf+=( --enable-gui=gnome2 ) + else + einfo "Building gvim with the gtk+-2 GUI" + myconf+=( --enable-gui=gtk2 ) + fi + elif use motif ; then + einfo "Building gvim with the MOTIF GUI" + myconf+=( --enable-gui=motif ) + elif use neXt ; then + einfo "Building gvim with the neXtaw GUI" + myconf+=( --enable-gui=nextaw ) + else + einfo "Building gvim with the Athena GUI" + myconf+=( --enable-gui=athena ) + fi + echo ; echo + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if [[ ${CHOST} == *-interix* ]]; then + # avoid finding of this function, to avoid having to patch either + # configure or the source, which would be much more hackish. + # after all vim does it right, only interix is badly broken (again) + export ac_cv_func_sigaction=no + fi + + econf \ + --with-modified-by=Gentoo-${PVR} \ + --with-vim-name=gvim \ + --with-x \ + "${myconf[@]}" +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + echo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + echo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + echo + + # Don't let vim talk to X + unset DISPLAY + + # We've got to call make test from within testdir, since the Makefiles + # don't pass through our VIMPROG argument + cd "${S}"/src/testdir + + # Test 49 won't work inside a portage environment + einfo "Test 49 isn't sandbox-friendly, so it will be skipped." + sed -i 's~test49.out~~g' Makefile + + # We don't want to rebuild vim before running the tests + sed -i 's,: \$(VIMPROG),: ,' Makefile + + # Make gvim not try to connect to X. See :help gui-x11-start + # in vim for how this evil trickery works. + ln -s "${S}"/src/gvim "${S}"/src/testvim + + # Don't try to do the additional GUI test + emake -j1 VIMPROG=../testvim nongui +} + +# Make convenience symlinks, hopefully without stepping on toes. Some +# of these links are "owned" by the vim ebuild when it is installed, +# but they might be good for gvim as well (see bug 45828) +update_vim_symlinks() { + local f syms + syms="vimdiff rvim rview" + einfo "Calling eselect vi update..." + # Call this with --if-unset to respect user's choice (bug 187449) + eselect vi update --if-unset + + # Make or remove convenience symlink, vim -> gvim + if [[ -f "${EROOT}"/usr/bin/gvim ]]; then + ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null + elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then + rm "${EROOT}"/usr/bin/vim + fi + + # Make or remove convenience symlinks to vim + if [[ -f "${EROOT}"/usr/bin/vim ]]; then + for f in ${syms}; do + ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null + done + else + for f in ${syms}; do + if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then + rm -f "${EROOT}"/usr/bin/${f} + fi + done + fi + + # This will still break if you merge then remove the vi package, + # but there's only so much you can do, eh? Unfortunately we don't + # have triggers like are done in rpm-land. +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dobin src/gvim + dosym gvim /usr/bin/gvimdiff + dosym gvim /usr/bin/evim + dosym gvim /usr/bin/eview + dosym gvim /usr/bin/gview + dosym gvim /usr/bin/rgvim + dosym gvim /usr/bin/rgview + + dodir /usr/share/man/man1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 + echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 + + insinto /etc/vim + newins "${FILESDIR}"/gvimrc-r1 gvimrc + eprefixify "${ED}"/etc/vim/gvimrc + + newmenu "${FILESDIR}"/gvim.desktop-r2 gvim.desktop + doicon "${FILESDIR}"/gvim.xpm + doicon -s scalable "${FILESDIR}"/gvim.svg + + # bash completion script, bug #79018. + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Update fdo mime stuff, bug #78394 + fdo-mime_mime_database_update + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + echo + elog "Vim 7 includes an integrated spell checker. You need to install" + elog "word list files before you can use it. There are ebuilds for" + elog "some of these named app-vim/vim-spell-*. If your language of" + elog "choice is not included, please consult vim-spell.eclass for" + elog "instructions on how to make a package." + echo + ewarn "Note that the English word lists are no longer installed by" + ewarn "default." + echo + fi + + # Make convenience symlinks + update_vim_symlinks +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Update fdo mime stuff, bug #78394 + fdo-mime_mime_database_update + + # Make convenience symlinks + update_vim_symlinks +} diff --git a/app-editors/gvim/gvim-9999.ebuild b/app-editors/gvim/gvim-9999.ebuild new file mode 100644 index 000000000000..37c5edbd0b31 --- /dev/null +++ b/app-editors/gvim/gvim-9999.ebuild @@ -0,0 +1,416 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +VIM_VERSION="7.4" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +PYTHON_REQ_USE=threads +inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 prefix python-r1 + +MY_PV=${PV//./-} + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/vim/vim.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${MY_PV} +else + SRC_URI="https://github.com/vim/vim/archive/v${MY_PV}.tar.gz -> vim-${PV}.tar.gz + http://dev.gentoo.org/~radhermit/vim/vim-7.4.542-gentoo-patches.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" +fi + +DESCRIPTION="GUI version of the Vim text editor" +HOMEPAGE="http://www.vim.org/" + +SLOT="0" +LICENSE="vim" +IUSE="acl aqua cscope debug gnome gtk lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl" +REQUIRED_USE=" + luajit? ( lua ) + python? ( + || ( $(python_gen_useflags '*') ) + ?? ( $(python_gen_useflags 'python2*') ) + ?? ( $(python_gen_useflags 'python3*') ) + ) +" + +RDEPEND=" + ~app-editors/vim-core-${PV} + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2 + x11-libs/libXext + x11-libs/libXt + acl? ( kernel_linux? ( sys-apps/acl ) ) + !aqua? ( + gtk? ( + >=x11-libs/gtk+-2.6:2 + x11-libs/libXft + gnome? ( >=gnome-base/libgnomeui-2.6 ) + ) + !gtk? ( + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + neXt? ( x11-libs/neXtaw ) + !neXt? ( x11-libs/libXaw ) + ) + ) + ) + cscope? ( dev-util/cscope ) + lua? ( + luajit? ( dev-lang/luajit:2= ) + !luajit? ( dev-lang/lua:0[deprecated] ) + ) + nls? ( virtual/libintl ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( || ( dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 ) ) + selinux? ( sys-libs/libselinux ) + session? ( x11-libs/libSM ) + tcl? ( dev-lang/tcl:0= ) +" +DEPEND="${RDEPEND} + dev-util/ctags + sys-devel/autoconf + virtual/pkgconfig + nls? ( sys-devel/gettext ) +" + +S=${WORKDIR}/vim-${MY_PV} + +pkg_setup() { + # people with broken alphabets run into trouble. bug 82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + # Gnome sandbox silliness. bug #114475. + mkdir -p "${T}"/home + export HOME="${T}"/home +} + +src_prepare() { + if [[ ${PV} != 9999* ]] ; then + if [[ -d "${WORKDIR}"/patches/ ]]; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/patches/ + fi + fi + + # Fixup a script to use awk instead of nawk + sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \ + || die "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug 29398 (27 Sep 2003 agriffis) + sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \ + "${S}"/runtime/doc/syntax.txt \ + "${S}"/runtime/doc/tagsrch.txt \ + "${S}"/runtime/doc/usr_29.txt \ + "${S}"/runtime/menu.vim \ + "${S}"/src/configure.in || die 'sed failed' + + # Don't be fooled by /usr/include/libc.h. When found, vim thinks + # this is NeXT, but it's actually just a file in dev-libs/9libs + # This fixes bug 43885 (20 Mar 2004 agriffis) + sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed' + + # gcc on sparc32 has this, uhm, interesting problem with detecting EOF + # correctly. To avoid some really entertaining error messages about stuff + # which isn't even in the source file being invalid, we'll do some trickery + # to make the error never occur. bug 66162 (02 October 2004 ciaranm) + find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]] ; then + sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + epatch_user +} + +src_configure() { + local myconf=() + + # Fix bug 37354: Disallow -funroll-all-loops on amd64 + # Bug 57859 suggests that we want to do this for all archs + filter-flags -funroll-all-loops + + # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for + # everyone since previous flag filtering bugs have turned out to affect + # multiple archs... + replace-flags -O3 -O2 + + # Fix bug 18245: Prevent "make" from the following chain: + # (1) Notice configure.in is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm -f src/auto/configure + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do + [[ -e ${file} ]] && addwrite $file + done + + use debug && append-flags "-DDEBUG" + + myconf=( + --with-features=huge + --disable-gpm + --enable-multibyte + $(use_enable acl) + $(use_enable cscope) + $(use_enable lua luainterp) + $(use_with luajit) + $(use_enable netbeans) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable session xsmp) + $(use_enable tcl tclinterp) + ) + + if use python ; then + py_add_interp() { + local v + + [[ ${EPYTHON} == python3* ]] && v=3 + myconf+=( + --enable-python${v}interp + vi_cv_path_python${v}="${PYTHON}" + ) + } + + python_foreach_impl py_add_interp + else + myconf+=( + --disable-pythoninterp + --disable-python3interp + ) + fi + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope ; then + sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \ + die "couldn't disable cscope" + fi + + # gvim's GUI preference order is as follows: + # aqua CARBON (not tested) + # -aqua gtk gnome GNOME2 + # -aqua gtk -gnome GTK2 + # -aqua -gtk motif MOTIF + # -aqua -gtk -motif neXt NEXTAW + # -aqua -gtk -motif -neXt ATHENA + echo ; echo + if use aqua ; then + einfo "Building gvim with the Carbon GUI" + myconf+=( + --enable-darwin + --enable-gui=carbon + ) + elif use gtk ; then + myconf+=( --enable-gtk2-check ) + if use gnome ; then + einfo "Building gvim with the Gnome 2 GUI" + myconf+=( --enable-gui=gnome2 ) + else + einfo "Building gvim with the gtk+-2 GUI" + myconf+=( --enable-gui=gtk2 ) + fi + elif use motif ; then + einfo "Building gvim with the MOTIF GUI" + myconf+=( --enable-gui=motif ) + elif use neXt ; then + einfo "Building gvim with the neXtaw GUI" + myconf+=( --enable-gui=nextaw ) + else + einfo "Building gvim with the Athena GUI" + myconf+=( --enable-gui=athena ) + fi + echo ; echo + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if [[ ${CHOST} == *-interix* ]]; then + # avoid finding of this function, to avoid having to patch either + # configure or the source, which would be much more hackish. + # after all vim does it right, only interix is badly broken (again) + export ac_cv_func_sigaction=no + fi + + econf \ + --with-modified-by=Gentoo-${PVR} \ + --with-vim-name=gvim \ + --with-x \ + "${myconf[@]}" +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + echo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + echo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + echo + + # Don't let vim talk to X + unset DISPLAY + + # We've got to call make test from within testdir, since the Makefiles + # don't pass through our VIMPROG argument + cd "${S}"/src/testdir + + # Test 49 won't work inside a portage environment + einfo "Test 49 isn't sandbox-friendly, so it will be skipped." + sed -i 's~test49.out~~g' Makefile + + # We don't want to rebuild vim before running the tests + sed -i 's,: \$(VIMPROG),: ,' Makefile + + # Make gvim not try to connect to X. See :help gui-x11-start + # in vim for how this evil trickery works. + ln -s "${S}"/src/gvim "${S}"/src/testvim + + # Don't try to do the additional GUI test + emake -j1 VIMPROG=../testvim nongui +} + +# Make convenience symlinks, hopefully without stepping on toes. Some +# of these links are "owned" by the vim ebuild when it is installed, +# but they might be good for gvim as well (see bug 45828) +update_vim_symlinks() { + local f syms + syms="vimdiff rvim rview" + einfo "Calling eselect vi update..." + # Call this with --if-unset to respect user's choice (bug 187449) + eselect vi update --if-unset + + # Make or remove convenience symlink, vim -> gvim + if [[ -f "${EROOT}"/usr/bin/gvim ]]; then + ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null + elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then + rm "${EROOT}"/usr/bin/vim + fi + + # Make or remove convenience symlinks to vim + if [[ -f "${EROOT}"/usr/bin/vim ]]; then + for f in ${syms}; do + ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null + done + else + for f in ${syms}; do + if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then + rm -f "${EROOT}"/usr/bin/${f} + fi + done + fi + + # This will still break if you merge then remove the vi package, + # but there's only so much you can do, eh? Unfortunately we don't + # have triggers like are done in rpm-land. +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dobin src/gvim + dosym gvim /usr/bin/gvimdiff + dosym gvim /usr/bin/evim + dosym gvim /usr/bin/eview + dosym gvim /usr/bin/gview + dosym gvim /usr/bin/rgvim + dosym gvim /usr/bin/rgview + + dodir /usr/share/man/man1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 + echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 + + insinto /etc/vim + newins "${FILESDIR}"/gvimrc-r1 gvimrc + eprefixify "${ED}"/etc/vim/gvimrc + + newmenu "${FILESDIR}"/gvim.desktop-r2 gvim.desktop + doicon "${FILESDIR}"/gvim.xpm + doicon -s scalable "${FILESDIR}"/gvim.svg + + # bash completion script, bug #79018. + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Update fdo mime stuff, bug #78394 + fdo-mime_mime_database_update + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + echo + elog "Vim 7 includes an integrated spell checker. You need to install" + elog "word list files before you can use it. There are ebuilds for" + elog "some of these named app-vim/vim-spell-*. If your language of" + elog "choice is not included, please consult vim-spell.eclass for" + elog "instructions on how to make a package." + echo + ewarn "Note that the English word lists are no longer installed by" + ewarn "default." + echo + fi + + # Make convenience symlinks + update_vim_symlinks +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # Update fdo mime stuff, bug #78394 + fdo-mime_mime_database_update + + # Make convenience symlinks + update_vim_symlinks +} diff --git a/app-editors/gvim/metadata.xml b/app-editors/gvim/metadata.xml new file mode 100644 index 000000000000..f4007d12d814 --- /dev/null +++ b/app-editors/gvim/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>vim</herd> + <use> + <flag name="luajit">Use <pkg>dev-lang/luajit</pkg> instead of <pkg>dev-lang/lua</pkg></flag> + <flag name="netbeans">Include netbeans external editor integration support</flag> + <flag name="racket">Enable support for Scheme using <pkg>dev-lang/racket</pkg></flag> + </use> + <upstream> + <remote-id type="github">vim/vim</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/hexcurse/Manifest b/app-editors/hexcurse/Manifest new file mode 100644 index 000000000000..69ec25732b1e --- /dev/null +++ b/app-editors/hexcurse/Manifest @@ -0,0 +1 @@ +DIST hexcurse-1.55.tar.gz 113512 SHA256 b8d589f80acfa590fddd60d9482cf6ba38b295bf785ae4e0aff37b5ab436cb16 SHA512 39f9eae0bb891bdfb702fb871b75c53d15acf6e74b3272b616f00303f444bfddced6fbe3041eb3769fa90fbc226dd584f5d84f7427b659e63f3b74511938a4a7 WHIRLPOOL ee8a5ac7db87db654db1486872687bd8c7dcea7b5376704522a16d58cc467a6ec5409dadacd2ddcb36fd30689268dec334f59cd5885a19b78e666a5ffb7befec diff --git a/app-editors/hexcurse/files/1.55-gcc.patch b/app-editors/hexcurse/files/1.55-gcc.patch new file mode 100644 index 000000000000..22b996b3437d --- /dev/null +++ b/app-editors/hexcurse/files/1.55-gcc.patch @@ -0,0 +1,11 @@ +--- a/src/getopt.c ++++ b/src/getopt.c +@@ -36,8 +36,6 @@ + * enables hexcurse to be compiled with SGI's proprietary compiler */ + #ifdef _SGIAPI + #include <alloca.h> +-#else +-char *alloca (); + #endif + #define __alloca alloca + /* end of modification */ diff --git a/app-editors/hexcurse/files/1.55-tinfo.patch b/app-editors/hexcurse/files/1.55-tinfo.patch new file mode 100644 index 000000000000..f258c06f1cf7 --- /dev/null +++ b/app-editors/hexcurse/files/1.55-tinfo.patch @@ -0,0 +1,13 @@ +--- a/configure.in ++++ b/configure.in +@@ -13,7 +13,9 @@ + + dnl Checks for libraries. + dnl Replace `main' with a function in -lncurses: +-AC_CHECK_LIB(ncurses, initscr,,AC_CHECK_LIB(curses, initscr)) ++AC_CHECK_LIB(ncurses, initscr) ++AC_SEARCH_LIBS(initscr,curses) ++AC_SEARCH_LIBS(LINES,tinfo) + + dnl Checks for header files. + AC_HEADER_STDC diff --git a/app-editors/hexcurse/hexcurse-1.55.ebuild b/app-editors/hexcurse/hexcurse-1.55.ebuild new file mode 100644 index 000000000000..0668cedaeaac --- /dev/null +++ b/app-editors/hexcurse/hexcurse-1.55.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit autotools eutils + +DESCRIPTION="ncurses based hex editor" +HOMEPAGE="http://www.jewfish.net/description.php?title=HexCurse" +SRC_URI="http://www.jewfish.net/downloads/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ppc s390 sh sparc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos" + +RDEPEND=">=sys-libs/ncurses-5.2" +DEPEND=" + ${RDEPEND} +" + +src_prepare() { + epatch \ + "${FILESDIR}"/${PV}-gcc.patch \ + "${FILESDIR}"/${PV}-tinfo.patch + + eautoreconf +} + +src_install() { + emake install DESTDIR="${D}" || die "Install failed" + dodoc AUTHORS ChangeLog NEWS README +} diff --git a/app-editors/hexcurse/metadata.xml b/app-editors/hexcurse/metadata.xml new file mode 100644 index 000000000000..eccdb28e857d --- /dev/null +++ b/app-editors/hexcurse/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>base-system</herd> +<longdescription> +A console-based hex editor for the *NIX platform which uses the ncurses library. +</longdescription> +</pkgmetadata> diff --git a/app-editors/hexedit/Manifest b/app-editors/hexedit/Manifest new file mode 100644 index 000000000000..3996f23ecc6a --- /dev/null +++ b/app-editors/hexedit/Manifest @@ -0,0 +1 @@ +DIST hexedit-1.2.13.src.tgz 68778 SHA256 6a126da30a77f5c0b08038aa7a881d910e3b65d13767fb54c58c983963b88dd7 SHA512 df9afb0b9b965e20ea8c427c1986b0200216601b157862199c35bae9e201ccc478ab0bfecd39d0dfaa85bf582f1cf372b0134fadcfeacf4734805a6e6dcaa2bb WHIRLPOOL 17da62fa584dd6fab86bde8ef732aaa533d01370fc6ca89a939b53e93fbef1bd0778bd477ea5918bf2db648b2335d97c8172881fa314f551d9d96c19375cbe62 diff --git a/app-editors/hexedit/hexedit-1.2.13.ebuild b/app-editors/hexedit/hexedit-1.2.13.ebuild new file mode 100644 index 000000000000..f7a868c8eb8e --- /dev/null +++ b/app-editors/hexedit/hexedit-1.2.13.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +DESCRIPTION="View and edit files in hex or ASCII" +HOMEPAGE="http://rigaux.org/hexedit.html" +SRC_URI="http://rigaux.org/${P}.src.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ~mips ppc ppc64 s390 sh sparc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris" +IUSE="" + +DEPEND="sys-libs/ncurses" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${PN}" + +src_install() { + dobin hexedit || die "dobin failed" + doman hexedit.1 + dodoc Changes +} diff --git a/app-editors/hexedit/metadata.xml b/app-editors/hexedit/metadata.xml new file mode 100644 index 000000000000..835c76cab148 --- /dev/null +++ b/app-editors/hexedit/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>tomjbe@gentoo.org</email> + <name>Thomas Beierlein</name> + </maintainer> +</pkgmetadata> diff --git a/app-editors/hteditor/Manifest b/app-editors/hteditor/Manifest new file mode 100644 index 000000000000..5c8dfb8959fc --- /dev/null +++ b/app-editors/hteditor/Manifest @@ -0,0 +1,2 @@ +DIST ht-2.0.22.tar.bz2 904173 SHA256 c729d64bf7de440c7b1021d3d6657ccbdb103541b4082a58dca7c8402c773f58 SHA512 dafcb127f7a4c0151e1dc4a7f3f4ed9e08bab940283411aac7886c97f1c47b16b12de6fe1224f64cb78db1cd76c72a0df930aa15d0cea80f8bb9f20ffd060528 WHIRLPOOL 17b105397f3b9505a71cd71ef59d60d3c9f4781a5ab547dc6b7ccdc3a4eddc3dcc5bb2ce481bb61b846683ccc0b0a7612dcb6632816f653eadefd8346c5c97fa +DIST ht-2.1.0.tar.bz2 884139 SHA256 31f5e8e2ca7f85d40bb18ef518bf1a105a6f602918a0755bc649f3f407b75d70 SHA512 6b5fc5fcbc63b9b7c85721158e044e4578ebfdc38618c760c0e6de06a276bccd3a960ab8bed172de788934515ad94d86349c4abd3228da66b1601deaaa2ce410 WHIRLPOOL c039658bb7e1d2391077cf02b51291e177e12a3701acda0917c16a25054cdad5330516b2d013ff4e4f2d9de7e8ae132a7cc574a5e77c093b6d2ad48501f2c053 diff --git a/app-editors/hteditor/hteditor-2.0.22.ebuild b/app-editors/hteditor/hteditor-2.0.22.ebuild new file mode 100644 index 000000000000..182a1398b020 --- /dev/null +++ b/app-editors/hteditor/hteditor-2.0.22.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit toolchain-funcs + +MY_P=${P/editor} + +DESCRIPTION="A file viewer, editor and analyzer for text, binary, and executable files" +HOMEPAGE="http://hte.sourceforge.net/ https://github.com/sebastianbiallas/ht/" +SRC_URI="mirror://sourceforge/hte/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc ppc64 x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris" +IUSE="X" + +RDEPEND="sys-libs/ncurses + X? ( x11-libs/libX11 ) + >=dev-libs/lzo-2" +DEPEND="${RDEPEND} + virtual/yacc + sys-devel/flex" + +DOCS=( AUTHORS ChangeLog KNOWNBUGS README TODO ) + +S=${WORKDIR}/${MY_P} + +src_configure() { + econf \ + $(use_enable X x11-textmode) \ + --enable-maintainermode +} + +src_compile() { + emake AR="$(tc-getAR)" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" +} + +src_install() { + #For prefix + chmod u+x "${S}/install-sh" + + default + + dohtml doc/*.html + doinfo doc/*.info +} diff --git a/app-editors/hteditor/hteditor-2.1.0.ebuild b/app-editors/hteditor/hteditor-2.1.0.ebuild new file mode 100644 index 000000000000..8b9cf50392d0 --- /dev/null +++ b/app-editors/hteditor/hteditor-2.1.0.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit toolchain-funcs + +MY_P=${P/editor} + +DESCRIPTION="A file viewer, editor and analyzer for text, binary, and executable files" +HOMEPAGE="http://hte.sourceforge.net/ https://github.com/sebastianbiallas/ht/" +SRC_URI="mirror://sourceforge/hte/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris" +IUSE="X" + +RDEPEND="sys-libs/ncurses + X? ( x11-libs/libX11 ) + >=dev-libs/lzo-2" +DEPEND="${RDEPEND} + virtual/yacc + sys-devel/flex" + +DOCS=( AUTHORS ChangeLog KNOWNBUGS README TODO ) + +S=${WORKDIR}/${MY_P} + +src_configure() { + econf \ + $(use_enable X x11-textmode) \ + --enable-maintainermode +} + +src_compile() { + emake AR="$(tc-getAR)" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" +} + +src_install() { + #For prefix + chmod u+x "${S}/install-sh" + + default + + dohtml doc/*.html + doinfo doc/*.info +} diff --git a/app-editors/hteditor/metadata.xml b/app-editors/hteditor/metadata.xml new file mode 100644 index 000000000000..263fb1d4f4a9 --- /dev/null +++ b/app-editors/hteditor/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>radhermit@gentoo.org</email> + <name>Tim Harder</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">hte</remote-id> + <bugs-to>http://sourceforge.net/tracker/?group_id=1066</bugs-to> + <remote-id type="github">sebastianbiallas/ht</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/jasspa-microemacs/Manifest b/app-editors/jasspa-microemacs/Manifest new file mode 100644 index 000000000000..0994b321db4b --- /dev/null +++ b/app-editors/jasspa-microemacs/Manifest @@ -0,0 +1,4 @@ +DIST jasspa-mehtml-20091011.tar.gz 628008 SHA256 c106af1a7a1bd5862883ae237ae8a27dccfa30f300944211995658bcfb8621d0 SHA512 0328ad7af88b98840c76003c15461f45cba9f54b7935330ec881c588cdd02ee937684ce42c1889f7ca311cc80bd027ae6cb6b088c5ed5105107b22b384780a4e WHIRLPOOL cb5025c8ca711911d2e54c518a906e39c9ac31936853840bb6aa65e8873150eb4070c7ca53900044de44200d7ac596a6fc81ab39e8b2beadfe6af67d851b43e6 +DIST jasspa-memacros-20091017.tar.gz 1105437 SHA256 aa23d2bb4d5d5b87eb8aa5a28439ff1bcdd2162c5c14a186b84366c06691aa2d SHA512 08908acac4dbe56695362172dabe621b8cca77a35da599c6cf5b4e87700c03f4ee190ca12d5c69b2d88c623cec527daac0980dec2ed713ff563e88ebe636a725 WHIRLPOOL 2f36d5d280d0ec6dee793a6783ccfd860eca6622824b7a3727778564bebf91f05c5d77b2e4a9b464f078cf26de903aa42c25ac849752d33b480c8723203c11a4 +DIST jasspa-mesrc-20091011.tar.gz 810128 SHA256 44109a9118da34a1d026450ec85a3f85d983c4015c97db2b9abbad69e8d90889 SHA512 60cc5a83b3cafd8e517f88732dc94feb0329b962bc714eaa5616ba89776fbfac41833be88fd3a666443291184086494434fb8763747c1dc5e216ce793b694b68 WHIRLPOOL a896c4eb594c4cbc126c2980cf8efaf1f6f07b4846c3d70f93ee842ec9a719b04fd85e8c390a34091e5c913676af371bc2c28500cd9f223ebf4fa73e8778f635 +DIST meicons-extra.tar.gz 43345 SHA256 d56864a6abccda2b6f79b8b86c545ae4b2abb40b8761cd97bda986aed454e8ef SHA512 bb6879fb12ec1c7b346bc1df2412a837ffdd0569f6be2800a433307a7736bb31798b3c2a71e02cebdce39c59d93d1a986f80c92184604e4292606c98285fe02a WHIRLPOOL a33c89b4c9f47a82273d7789b397893402cb8d35b625d5f6378007062527b7510e86cb2d614a21757c98205508f10cf6fb8e2c65c72d4585735f8445bfa2135b diff --git a/app-editors/jasspa-microemacs/files/20091011-linux3.patch b/app-editors/jasspa-microemacs/files/20091011-linux3.patch new file mode 100644 index 000000000000..35a5b22a1dce --- /dev/null +++ b/app-editors/jasspa-microemacs/files/20091011-linux3.patch @@ -0,0 +1,23 @@ +Work around build failure on Linux 3.0. + +--- me091011-orig/src/build ++++ me091011/src/build +@@ -130,17 +130,7 @@ + MAKEBAS=irix6 + fi + elif [ $PLATFORM = "Linux" ] ; then +- MACHINE=`uname -m | cut -c 1-3` +- if [ $MACHINE = "arm" ] ; then +- MAKEBAS=zaurus +- else +- KERNEL_MAJOR=`uname -r | cut -c 1-1` +- KERNEL_MINOR=`uname -r | cut -c 3-3` +- MAKEBAS="linux$KERNEL_MAJOR$KERNEL_MINOR" +- if [ ! -r $MAKEBAS.gmk ] ; then +- MAKEBAS="linux2" +- fi +- fi ++ MAKEBAS=linux26 + X11_MAKELIB=/usr/X11R6/lib + elif [ $PLATFORM = "OpenBSD" ] ; then + MAKEBAS=openbsd diff --git a/app-editors/jasspa-microemacs/files/20091011-ncurses.patch b/app-editors/jasspa-microemacs/files/20091011-ncurses.patch new file mode 100644 index 000000000000..92a2885895b1 --- /dev/null +++ b/app-editors/jasspa-microemacs/files/20091011-ncurses.patch @@ -0,0 +1,15 @@ +--- me091011-orig/src/linux26.gmk ++++ me091011/src/linux26.gmk +@@ -66,12 +66,7 @@ + # accomplish this try to compile test.c and see if it can link termcap. For + # Linux 2.6 then preference would appear to be "ncurses" rather than "termcap". + # +-test = $(shell echo "\#include <stdio.h>" > _t.c ; echo "main() { printf(\"HW\n\"); }" >> _t.c ; $(LD) $(LDFLAGS) -o /dev/null -lncurses _t.c 2>&1 ; rm -f _t.c) +-ifneq "$(strip $(test))" "" +-CONSOLE_LIBS = -ltermcap +-else + CONSOLE_LIBS = -lncurses +-endif + # + # Rules + .SUFFIXES: .c .oc .ow .ob .on .ov .oe .odc .odw .odb .odn .odv .ode diff --git a/app-editors/jasspa-microemacs/files/jasspa-microemacs.desktop b/app-editors/jasspa-microemacs/files/jasspa-microemacs.desktop new file mode 100644 index 000000000000..62204880bd96 --- /dev/null +++ b/app-editors/jasspa-microemacs/files/jasspa-microemacs.desktop @@ -0,0 +1,13 @@ +[Desktop Entry] +Type=Application +Version=1.0 +Name=Jasspa MicroEmacs +GenericName=Text Editor +Comment=Advanced Text Editor +Icon=/usr/share/jasspa/icons/32x32/me.png +TryExec=me +Exec=me %F +Terminal=false +MimeType=text/plain; +Categories=Development;TextEditor; +StartupWMClass=MicroEmacs diff --git a/app-editors/jasspa-microemacs/jasspa-microemacs-20091011-r2.ebuild b/app-editors/jasspa-microemacs/jasspa-microemacs-20091011-r2.ebuild new file mode 100644 index 000000000000..debda3fc902e --- /dev/null +++ b/app-editors/jasspa-microemacs/jasspa-microemacs-20091011-r2.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils toolchain-funcs +MACROS_PV="20091017" + +DESCRIPTION="Jasspa Microemacs" +HOMEPAGE="http://www.jasspa.com/" +SRC_URI="http://www.jasspa.com/release_20090909/jasspa-mesrc-${PV}.tar.gz + !nanoemacs? ( + http://www.jasspa.com/release_20090909/jasspa-memacros-${MACROS_PV}.tar.gz + http://www.jasspa.com/release_20090909/jasspa-mehtml-${PV}.tar.gz + http://www.jasspa.com/release_20060909/meicons-extra.tar.gz )" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" +IUSE="nanoemacs X xpm" + +RDEPEND="sys-libs/ncurses + X? ( x11-libs/libX11 + xpm? ( x11-libs/libXpm ) ) + nanoemacs? ( !app-editors/ne )" + +DEPEND="${RDEPEND} + virtual/pkgconfig + X? ( x11-libs/libXt + x11-proto/xproto )" + +S="${WORKDIR}/me${PV:2}/src" + +src_unpack() { + unpack jasspa-mesrc-${PV}.tar.gz + if ! use nanoemacs; then + mkdir "${WORKDIR}/jasspa" + cd "${WORKDIR}/jasspa" + # everything except jasspa-mesrc + unpack ${A/jasspa-mesrc-${PV}.tar.gz/} + fi +} + +src_prepare() { + epatch "${FILESDIR}/${PV}-ncurses.patch" + epatch "${FILESDIR}/${PV}-linux3.patch" + + # allow for some variables to be passed to make + sed -i -e \ + '/make/s/\$OPTIONS/& CC="$CC" COPTIMISE="$CFLAGS" LDFLAGS="$LDFLAGS" CONSOLE_LIBS="$CONSOLE_LIBS" STRIP=true/' \ + build || die "sed failed" +} + +src_compile() { + local pkgdatadir="${EPREFIX}/usr/share/jasspa" + local me="" type=c + use nanoemacs && me="-ne" + use X && type=cw + use xpm || export XPM_INCLUDE=. # prevent Xpm autodetection + + CC="$(tc-getCC)" \ + CONSOLE_LIBS="$("$(tc-getPKG_CONFIG)" --libs ncurses)" \ + ./build ${me} \ + -t ${type} \ + -p "~/.jasspa:${pkgdatadir}/site:${pkgdatadir}" \ + || die "build failed" +} + +src_install() { + local me=me type=c + use nanoemacs && me=ne + use X && type=cw + newbin ${me}${type} ${me} + + if ! use nanoemacs; then + keepdir /usr/share/jasspa/site + insinto /usr/share + doins -r "${WORKDIR}/jasspa" + use X && domenu "${FILESDIR}/${PN}.desktop" + fi + + dodoc ../faq.txt ../readme.txt ../change.log +} diff --git a/app-editors/jasspa-microemacs/metadata.xml b/app-editors/jasspa-microemacs/metadata.xml new file mode 100644 index 000000000000..4f5375ba4582 --- /dev/null +++ b/app-editors/jasspa-microemacs/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>emacs</herd> +<longdescription> + * An Emacs editor biased towards UNIX users, working across platforms by + providing a consistent interface under UNIX, Microsoft Windows '95/'98/NT + and DOS operating systems. + * Fully featured editor, retaining the lightness of the original + MicroEmacs 3.8 with much enhanced capability. + * Small memory and disk footprint. + * A much enhanced version of the Danial Lawrence's original MicroEmacs 3.8 + of 1988. It is stressed that although Danial Lawrence's 3.8 version was + used as a base, he has had no involvement in the development of this + distribution. + * To avoid any confusion with the original MicroEmacs, this distribution + should be referred to as the JASSPA distribution. +</longdescription> +<use> + <flag name='nanoemacs'>Build NanoEmacs instead of MicroEmacs</flag> +</use> +</pkgmetadata> diff --git a/app-editors/jed/Manifest b/app-editors/jed/Manifest new file mode 100644 index 000000000000..d1898d992ada --- /dev/null +++ b/app-editors/jed/Manifest @@ -0,0 +1 @@ +DIST jed-0.99-19.tar.bz2 884198 SHA256 97a339ce2fb0a446767ee550786e6914fa2e8cdbad39a402e48368cd0d6b5763 SHA512 db8a30284f9b8e3e2c5d1a600eeb7af29c9f943a5c23d7c74fce926e0b0252f54805e214670e7c9357ce0e6918ad67cba2769a523979bfbd285328f94fff747c WHIRLPOOL 7ba51882004bdb9a59b2fffcc7c976f3a32bdb95247e6c3c8e3c423b0345af0a6eb74d4ed0a69831db160f7f69250a32f114dfb679a343eb002adee94a4ec987 diff --git a/app-editors/jed/jed-0.99.19.ebuild b/app-editors/jed/jed-0.99.19.ebuild new file mode 100644 index 000000000000..7be18bd0f898 --- /dev/null +++ b/app-editors/jed/jed-0.99.19.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit versionator + +MY_P=${PN}-$(replace_version_separator 2 '-') + +DESCRIPTION="Console S-Lang-based editor" +HOMEPAGE="http://www.jedsoft.org/jed/" +SRC_URI="ftp://space.mit.edu/pub/davis/jed/v${PV%.*}/${MY_P}.tar.bz2" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-macos" +IUSE="X gpm xft" + +RDEPEND=">=sys-libs/slang-2 + gpm? ( sys-libs/gpm ) + X? ( + x11-libs/libX11 + xft? ( + >=media-libs/freetype-2 + x11-libs/libXft + ) + )" +DEPEND="${RDEPEND} + X? ( + x11-libs/libXt + x11-proto/xproto + )" + +S=${WORKDIR}/${MY_P} + +src_configure() { + export JED_ROOT="${EPREFIX}"/usr/share/jed + econf \ + $(use_enable gpm) \ + $(use_enable xft) +} + +src_compile() { + emake + use X && emake xjed +} + +src_install() { + emake -j1 DESTDIR="${D}" install + + dodoc changes.txt INSTALL{,.unx} README + doinfo info/jed* + + insinto /etc + doins lib/jed.conf + + # replace IDE mode with EMACS mode + sed -i \ + -e 's/\(_Jed_Default_Emulation = \).*/\1"emacs";/' \ + "${ED}"/etc/jed.conf || die +} diff --git a/app-editors/jed/metadata.xml b/app-editors/jed/metadata.xml new file mode 100644 index 000000000000..36be58a2be04 --- /dev/null +++ b/app-editors/jed/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>emacs</herd> +<longdescription> + Jed is a powerful editor, terminal and X11 interface. Color syntax + highlighting is one of its strong suits, along with emulation of GNU Emacs, + Wordstar, EDT and Brief. It also supports use of GPM on Linux consoles. + Jed has a multitude of programming modes and couples with the Slang library + for powerful extensions. +</longdescription> +</pkgmetadata> diff --git a/app-editors/jedit/Manifest b/app-editors/jedit/Manifest new file mode 100644 index 000000000000..c45a9ad642b3 --- /dev/null +++ b/app-editors/jedit/Manifest @@ -0,0 +1,2 @@ +DIST jedit5.0.0source.tar.bz2 2224469 SHA256 4464cbfe8a01cae15476d6b0cf57b4b89c1cb3d7b541ec2f48ed283385c015ce SHA512 376803339251ee389e6be0cd5267140e36a09120882a9fb8d989c0ed424e6680ede3c509d10fc3d3b8956d1219ff5c009d9b4fbd04e76b81a9be38f77383562d WHIRLPOOL efa3dc731086ecffbf4490c14a597b24ec7849b5c16f1f5df9d1483b08004433b4a478e96963e9e70ec5f7d584075fb65c2d3e63bd516125907998de649c1a70 +DIST jedit5.2.0source.tar.bz2 2456541 SHA256 1d444d2ceab62e449523ae336603fedee322d3655c9e5606d3b4d00c125c950f SHA512 5af99ac864dd70701f24435840e26f73077ba02d155319965122bd24871e6825b82383054d29dfec72bbbedaac72bfb2d86097de6a0c79341f0a279dacd60126 WHIRLPOOL e6a8e837317a2068fe808bc3ada39bf4730a5aaebeca60f7501b5fad2353a5f889b76778c59ffe39b34563107ba3ec02eec550cd612ddcbd00ee03616910cc19 diff --git a/app-editors/jedit/files/jedit-5.2.0-build-xml.patch b/app-editors/jedit/files/jedit-5.2.0-build-xml.patch new file mode 100644 index 000000000000..da0a91d54d22 --- /dev/null +++ b/app-editors/jedit/files/jedit-5.2.0-build-xml.patch @@ -0,0 +1,24 @@ +From 4dc53a4c320af0894bd600c77d4432c414cdee16 Mon Sep 17 00:00:00 2001 +From: Sebastian Pipping <sebastian@pipping.org> +Date: Sat, 8 Aug 2015 00:05:20 +0200 +Subject: [PATCH] Do not have target "build" call target "test" + +--- + build.xml | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/build.xml b/build.xml +index f34934f..da5272a 100644 +--- a/build.xml ++++ b/build.xml +@@ -504,7 +504,6 @@ + </copy> + </contrib:then> + </contrib:if> +- <antcall target="test" /> + </target> + + <target name="build-exe-launcher" +-- +2.5.0 + diff --git a/app-editors/jedit/jedit-5.0.0.ebuild b/app-editors/jedit/jedit-5.0.0.ebuild new file mode 100644 index 000000000000..a1058f9c8c73 --- /dev/null +++ b/app-editors/jedit/jedit-5.0.0.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +JAVA_PKG_IUSE="doc test" + +inherit java-pkg-2 java-ant-2 eutils fdo-mime + +DESCRIPTION="Programmer's editor written in Java" +HOMEPAGE="http://www.jedit.org" +SRC_URI="mirror://sourceforge/${PN}/${PN}${PV}source.tar.bz2" + +LICENSE="GPL-2" +KEYWORDS="amd64 ppc ppc64 x86" +SLOT="0" +IUSE="" + +# missing from tarball +RESTRICT="test" + +COMMON_DEP=" + dev-java/jsr305:0" +RDEPEND="${COMMON_DEP} + >=virtual/jre-1.6" +DEPEND="${COMMON_DEP} + >=virtual/jdk-1.6 + dev-java/ant-apache-bsf:0 + dev-java/ant-contrib:0 + dev-java/bsh[bsf] + test? ( + dev-java/ant-junit:0 + )" + +S="${WORKDIR}/jEdit" + +JEDIT_HOME="/usr/share/${PN}" + +java_prepare() { + mkdir -p lib/{ant-contrib,compile,default-plugins,scripting} || die + + # don't unconditionally run tests (which aren't even shipped) + sed -i -e 's|\(depends="init,retrieve,setup,compile\),test|\1|' \ + build.xml || die +} + +JAVA_ANT_REWRITE_CLASSPATH="true" + +EANT_ANT_TASKS="ant-apache-bsf ant-contrib bsh" +EANT_GENTOO_CLASSPATH="jsr305" +EANT_EXTRA_ARGS="-Divy.jar.present=true -Divy.done=true" +EANT_BUILD_TARGET="build" +# TODO could build more docs, ie generate-doc-faq generate-doc-news +# generate-doc-users-guide ua. +EANT_DOC_TARGET="generate-javadoc" +# in fact needed only for docs, but shouldn't hurt +EANT_NEEDS_TOOLS="true" + +src_test() { + java-pkg-2_src_test +} + +src_install () { + dodir ${JEDIT_HOME} + cp -R build/${PN}.jar jars doc keymaps macros modes properties startup \ + "${D}${JEDIT_HOME}" || die + + java-pkg_regjar ${JEDIT_HOME}/${PN}.jar + + java-pkg_dolauncher ${PN} --main org.gjt.sp.jedit.jEdit + + use doc && java-pkg_dojavadoc build/classes/javadoc/api + + make_desktop_entry ${PN} \ + jEdit \ + ${JEDIT_HOME}/doc/${PN}.png \ + "Development;Utility;TextEditor" + + # keep the plugin directory + keepdir ${JEDIT_HOME}/jars +} + +pkg_postinst() { + fdo-mime_desktop_database_update + elog "The system directory for jEdit plugins is" + elog "${JEDIT_HOME}/jars" + elog "If you get plugin related errors on startup, first try updating them." +} + +pkg_postrm() { + if [[ -z ${REPLACED_BY_VERSION} ]]; then + fdo-mime_desktop_database_update + elog "jEdit plugins installed into /usr/share/jedit/jars" + elog "(after installation of jEdit itself) haven't been" + elog "removed. To get rid of jEdit completely, you may" + elog "want to run" + elog "" + elog " rm -r ${JEDIT_HOME}" + fi +} diff --git a/app-editors/jedit/jedit-5.2.0.ebuild b/app-editors/jedit/jedit-5.2.0.ebuild new file mode 100644 index 000000000000..51f2d61b5064 --- /dev/null +++ b/app-editors/jedit/jedit-5.2.0.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +JAVA_PKG_IUSE="doc test" + +inherit java-pkg-2 java-ant-2 eutils fdo-mime + +DESCRIPTION="Programmer's editor written in Java" +HOMEPAGE="http://www.jedit.org" +SRC_URI="mirror://sourceforge/${PN}/${PN}${PV}source.tar.bz2" + +LICENSE="BSD GPL-2" +KEYWORDS="~amd64 ~ppc ~x86" +SLOT="0" +IUSE="" + +# missing from tarball +RESTRICT="test" + +COMMON_DEP=" + dev-java/jsr305:0" +RDEPEND="${COMMON_DEP} + >=virtual/jre-1.7" +DEPEND="${COMMON_DEP} + >=virtual/jdk-1.7 + dev-java/ant-apache-bsf:0 + dev-java/ant-contrib:0 + dev-java/bsh[bsf] + test? ( + dev-java/ant-junit:0 + )" + +S="${WORKDIR}/jEdit" + +JEDIT_HOME="/usr/share/${PN}" + +java_prepare() { + mkdir -p lib/{ant-contrib,compile,default-plugins,scripting} || die + + epatch "${FILESDIR}"/${P}-build-xml.patch +} + +JAVA_ANT_REWRITE_CLASSPATH="true" + +EANT_ANT_TASKS="ant-apache-bsf ant-contrib bsh" +EANT_GENTOO_CLASSPATH="jsr305" +EANT_EXTRA_ARGS="-Divy.jar.present=true -Divy.done=true" +EANT_BUILD_TARGET="build" +# TODO could build more docs, ie generate-doc-faq generate-doc-news +# generate-doc-users-guide ua. +EANT_DOC_TARGET="generate-javadoc" +# in fact needed only for docs, but shouldn't hurt +EANT_NEEDS_TOOLS="true" + +src_test() { + java-pkg-2_src_test +} + +src_install () { + dodir ${JEDIT_HOME} + cp -R build/${PN}.jar jars doc keymaps macros modes properties startup \ + "${D}${JEDIT_HOME}" || die + + java-pkg_regjar ${JEDIT_HOME}/${PN}.jar + + java-pkg_dolauncher ${PN} --main org.gjt.sp.jedit.jEdit + + use doc && java-pkg_dojavadoc build/classes/javadoc/api + + make_desktop_entry ${PN} \ + jEdit \ + ${JEDIT_HOME}/doc/${PN}.png \ + "Development;Utility;TextEditor" + + # keep the plugin directory + keepdir ${JEDIT_HOME}/jars +} + +pkg_postinst() { + fdo-mime_desktop_database_update + elog "The system directory for jEdit plugins is" + elog "${JEDIT_HOME}/jars" + elog "If you get plugin related errors on startup, first try updating them." +} + +pkg_postrm() { + if [[ -z ${REPLACED_BY_VERSION} ]]; then + fdo-mime_desktop_database_update + elog "jEdit plugins installed into /usr/share/jedit/jars" + elog "(after installation of jEdit itself) haven't been" + elog "removed. To get rid of jEdit completely, you may" + elog "want to run" + elog "" + elog " rm -r ${JEDIT_HOME}" + fi +} diff --git a/app-editors/jedit/metadata.xml b/app-editors/jedit/metadata.xml new file mode 100644 index 000000000000..e0ffd1dacbbe --- /dev/null +++ b/app-editors/jedit/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>java</herd> + <upstream> + <remote-id type="sourceforge">jedit</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/jext/Manifest b/app-editors/jext/Manifest new file mode 100644 index 000000000000..742562a5a3db --- /dev/null +++ b/app-editors/jext/Manifest @@ -0,0 +1 @@ +DIST jext-sources-5.0.tar.gz 1029772 SHA256 58a6b9d265f622bddba0a6165d582b7eadb2da5d14fd28e1fa1f4af0eaa70d19 SHA512 ac66babfca05d112541e40b0aa8ebde33a69a3a97f42966be24a28232d3c100b9fe8007e26618909fd78111d3eb4ddecc2258599bff40e0e1959ea6632f43682 WHIRLPOOL 7ed2b3b96d378a3b83f61f323fe25fb737600d02a8e701b711b6451b5009ff1fff5f385e3a11b1b3582424ab062627b8a9315ab378c2a5ed487a64e7353625ea diff --git a/app-editors/jext/files/jext-5.0-enum-as-keyword.patch b/app-editors/jext/files/jext-5.0-enum-as-keyword.patch new file mode 100644 index 000000000000..c773e571d182 --- /dev/null +++ b/app-editors/jext/files/jext-5.0-enum-as-keyword.patch @@ -0,0 +1,173 @@ +--- src/lib/org/gjt/sp/jedit/textarea/InputHandler.java.orig 2015-07-03 17:52:13.843000000 +0000 ++++ src/lib/org/gjt/sp/jedit/textarea/InputHandler.java 2015-07-03 17:52:59.746000000 +0000 +@@ -141,10 +141,10 @@ + */ + public static String getActionName(ActionListener listener) + { +- Enumeration enum = getActions(); +- while(enum.hasMoreElements()) ++ Enumeration myEnum = getActions(); ++ while(myEnum.hasMoreElements()) + { +- String name = (String)enum.nextElement(); ++ String name = (String)myEnum.nextElement(); + ActionListener _listener = getAction(name); + if(_listener == listener) + return name; +--- src/lib/org/jext/options/OptionsDialog.java.orig 2015-07-03 17:54:19.179000000 +0000 ++++ src/lib/org/jext/options/OptionsDialog.java 2015-07-03 17:54:33.377000000 +0000 +@@ -297,11 +297,11 @@ + + private void addOptionGroup(OptionGroup child, OptionGroup parent) + { +- ArrayList enum = child.getMembers(); ++ ArrayList myEnum = child.getMembers(); + +- for (int i = 0; i < enum.size(); i++) ++ for (int i = 0; i < myEnum.size(); i++) + { +- Object elem = enum.get(i); ++ Object elem = myEnum.get(i); + + if (elem instanceof OptionPane) + { +@@ -669,4 +669,4 @@ + + } + +-// End of OptionsDialog.java +\ No newline at end of file ++// End of OptionsDialog.java +--- src/lib/org/jext/misc/VirtualFolders.java.orig 2015-07-03 17:49:57.731000000 +0000 ++++ src/lib/org/jext/misc/VirtualFolders.java 2015-07-03 17:51:11.418000000 +0000 +@@ -233,10 +233,10 @@ + ret.append(crlf).append("<folderlist>"); + } + +- Enumeration enum = parent.children(); +- while (enum.hasMoreElements()) ++ Enumeration myEnum = parent.children(); ++ while (myEnum.hasMoreElements()) + { +- VirtualFolderNode child = (VirtualFolderNode) enum.nextElement(); ++ VirtualFolderNode child = (VirtualFolderNode) myEnum.nextElement(); + ret.append(toXML(child, depth + 1)); + } + +@@ -317,20 +317,20 @@ + + private void fixVisible() + { +- Enumeration enum = root.depthFirstEnumeration(); ++ Enumeration myEnum = root.depthFirstEnumeration(); + VirtualFolderNode node = null; +- while (enum.hasMoreElements()) ++ while (myEnum.hasMoreElements()) + { + +- node = (VirtualFolderNode)enum.nextElement(); ++ node = (VirtualFolderNode)myEnum.nextElement(); + TreePath path = new TreePath(node.getPath()); + tree.collapsePath(path); + } + +- enum = root.depthFirstEnumeration(); +- while (enum.hasMoreElements()) ++ myEnum = root.depthFirstEnumeration(); ++ while (myEnum.hasMoreElements()) + { +- node = (VirtualFolderNode)enum.nextElement(); ++ node = (VirtualFolderNode)myEnum.nextElement(); + if (node.shouldBeVisible()) + { + TreePath path = new TreePath(((VirtualFolderNode)node.getParent()).getPath()); +@@ -392,10 +392,10 @@ + public static boolean folderExists(VirtualFolderNode parent, String name) + { + boolean exists = false; +- Enumeration enum = parent.children(); +- while ((enum.hasMoreElements()) && !exists) ++ Enumeration myEnum = parent.children(); ++ while ((myEnum.hasMoreElements()) && !exists) + { +- VirtualFolderNode child = (VirtualFolderNode) enum.nextElement(); ++ VirtualFolderNode child = (VirtualFolderNode) myEnum.nextElement(); + exists = child.toString().equals(name); + } + return exists; +@@ -526,10 +526,10 @@ + } else { + if (fromMenu) + { +- Enumeration enum = node.children(); +- while (enum.hasMoreElements()) ++ Enumeration myEnum = node.children(); ++ while (myEnum.hasMoreElements()) + { +- VirtualFolderNode child = (VirtualFolderNode) enum.nextElement(); ++ VirtualFolderNode child = (VirtualFolderNode) myEnum.nextElement(); + openNode(child, fromMenu); + } + } +--- src/lib/com/microstar/xml/XmlParser.java.orig 2015-07-03 17:41:23.209000000 +0000 ++++ src/lib/com/microstar/xml/XmlParser.java 2015-07-03 17:46:30.296000000 +0000 +@@ -1346,7 +1346,7 @@ + { + String name; + int type; +- String enum = null; ++ String myEnum = null; + + // Read the attribute name. + name = readNmtoken(true); +@@ -1358,12 +1358,12 @@ + // Get the string of enumerated values + // if necessary. + if (type == ATTRIBUTE_ENUMERATED || type == ATTRIBUTE_NOTATION) { +- enum = dataBufferToString(); ++ myEnum = dataBufferToString(); + } + + // Read the default value. + requireWhitespace(); +- parseDefault(elementName, name, type, enum); ++ parseDefault(elementName, name, type, myEnum); + } + + +@@ -1451,7 +1451,7 @@ + * Parse the default value for an attribute. + * [62] Default ::= '#REQUIRED' | '#IMPLIED' | ((%'#FIXED' S)? %AttValue + */ +- void parseDefault (String elementName, String name, int type, String enum) ++ void parseDefault (String elementName, String name, int type, String myEnum) + throws java.lang.Exception + { + int valueType = ATTRIBUTE_DEFAULT_SPECIFIED; +@@ -1477,7 +1477,7 @@ + value = readLiteral(LIT_CHAR_REF); + context = CONTEXT_DTD; + } +- setAttribute(elementName, name, type, enum, value, valueType); ++ setAttribute(elementName, name, type, myEnum, value, valueType); + } + + +@@ -2714,7 +2714,7 @@ + * - int value type + * *TODO: do something with attribute types. + */ +- void setAttribute (String elName, String name, int type, String enumeration, ++ void setAttribute (String elName, String name, int type, String myEnum, + String value, int valueType) + throws java.lang.Exception + { +@@ -2736,7 +2736,7 @@ + attribute[0] = new Integer(type); + attribute[1] = value; + attribute[2] = new Integer(valueType); +- attribute[3] = enumeration; ++ attribute[3] = myEnum; + attribute[4] = null; + attlist.put(name.intern(), attribute); + diff --git a/app-editors/jext/files/jext-pre b/app-editors/jext/files/jext-pre new file mode 100644 index 000000000000..5a02d4b71db8 --- /dev/null +++ b/app-editors/jext/files/jext-pre @@ -0,0 +1,91 @@ +# This script launches Jext, the Java text editor. +# It checks for a $HOME/.jext directory and eventually creates it. +# Next it checks for a /etc/jextrc and $JEXT_CONFFILE (~/.jext/variables) files which define the JEXT_HOME JAVA_CMD JAVA_OPT CLASSPATH and ToShow variables. The first is system wide(used in RPM install mainly), the second is per user. +# If this file doesn't exist the script creates it by asking the options to the user. + +# Sharpshooter 23/02/2002 +# Blaisorblade 18/11/2002 + +#For special cases about different config files(for developers with working +#copy and an unstable one to be tested). +if [ "$JEXT_CONFFILE" = "" ] +then + JEXT_CONFFILE=~/.jext/variables +fi + +# Help +if [ "$1" = "--help" -o "$1" = "-h" ] +then + echo "This script launch Jext the Java text editor." + echo "Usage : $0 [--reconf] [files]" + echo "--reconf doesn't start jext but clears the" + echo " $JEXT_CONFFILE file with the settings to start jext" + echo " (jext & java location and jext options)." + exit 0 +fi + +if [ "$1" = "--reconf" ] +then + echo "Clearing $JEXT_CONFFILE, you'll have to reenter jext & java \ +interpreter location" + rm -f "$JEXT_CONFFILE" + exit 0 +fi + + +# Check for the user's ~/.jext directory. +if ! [ -d ~/.jext ] +then + echo "It seems you don't have a .jext directory in your home dir." + echo "I create it." + echo + mkdir -p ~/.jext/xinsert +fi + + + +# Check for the $HOME/.jext/variables file. +if ! [ -f $JEXT_CONFFILE -o -f /etc/jextrc ] +then + #Let's add some explaination in the config file. + cat >$JEXT_CONFFILE <<EOM +#This is included when launching Jext. It is a normal shell script \ +used to define env vars +#Meanings of settings: +#JEXT_HOME The home dir of jext(under which it finds the lib and so on dirs) +#JAVA_CMD The complete path for the java command +#JAVA_OPT The options to be passed to the java command(not to Jext itself!) +#CLASSPATH The extra classpath to be specified(for cases such as AntWork plugin) +#ToShow If this is set to y the output is not redirected to /dev/null; +# Mainly for developers who want to trace Jext output(you could also use +# the DickTracy plugin). +EOM +#---- + JEXT_HOME="/usr/share/jext/lib" + echo "JEXT_HOME="$JEXT_HOME >> $JEXT_CONFFILE +#---- + ToShow= + echo "ToShow="$ToShow>>$JEXT_CONFFILE +fi + +# Extract the contents of the $JEXT_CONFFILE file. +[ -f /etc/jextrc ] && source /etc/jextrc +[ -f $JEXT_CONFFILE ] && source $JEXT_CONFFILE + +#Needed to make Jext find his plugins(it searches them in `pwd`/plugins) +for i in $@ +do + if [ "${i:0:1}" != "/" -a "${i:0:1}" != "-" ]; then #If the first char of $i is not a / then + files="$files `pwd`/$i" #it is a relative path so we must make it absolute. + elif [ "$i" != "-" ]; then + files="$files $i" + else + case "$i" in + --reconf|--help|-h) + ;; + *) + files="$files $i" + ;; + esac + fi +done diff --git a/app-editors/jext/jext-5.0-r2.ebuild b/app-editors/jext/jext-5.0-r2.ebuild new file mode 100644 index 000000000000..2b334c4fea92 --- /dev/null +++ b/app-editors/jext/jext-5.0-r2.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +JAVA_PKG_IUSE="doc" +inherit java-pkg-2 java-ant-2 + +DESCRIPTION="A text editor written in Java" +HOMEPAGE="http://sourceforge.net/projects/jext/" +MY_PV="${PV/_}" +SRC_URI="mirror://sourceforge/${PN}/${PN}-sources-${MY_PV}.tar.gz" +LICENSE="|| ( GPL-2 JPython )" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +CDEPEND="dev-java/jython:2.7 + dev-java/jgoodies-looks:1.2 + dev-java/gnu-regexp:1" +DEPEND=">=virtual/jdk-1.6 + ${CDEPEND}" +RDEPEND=">=virtual/jre-1.6 + ${CDEPEND}" + +S="${WORKDIR}/${PN}-src-${MY_PV}" + +# Necessary otherwise it chokes on compiling with jdk-1.8 +# due to unmappable characters. +JAVA_ANT_ENCODING="ISO-8859-1" + +java_prepare() { + # bundles some com.microstar.xml who knows what's that + # also com.jgoodies.uif_lite which is apparently some jgoodies-looks + # example code which we don't package and there is probably no point + rm -v "${S}"/extplugins/Admin/*.jar || die + rm -rf src/lib/gnu || die + + # Fix "enum as a keyword" error. + epatch "${FILESDIR}"/"${P}"-enum-as-keyword.patch +} + +src_compile() { + cd "${S}/src" || die + eant jar $(use_doc javadocs) \ + -Dclasspath="$(java-pkg_getjars jython-2.7,jgoodies-looks-1.2,gnu-regexp-1)" +} + +src_install () { + java-pkg_newjar lib/${P}.jar + java-pkg_dojar lib/dawn*.jar + + java-pkg_dolauncher ${PN} \ + --main org.jext.Jext \ + --java_args '-Dpython.path=$(java-config --classpath=jython-2.7)' \ + -pre "${FILESDIR}/${PN}-pre" + + if use doc; then + java-pkg_dohtml -r docs/api + fi +} + +pkg_postinst() { + elog "Plugins are currently not built/installed. Patches welcome." +} diff --git a/app-editors/jext/metadata.xml b/app-editors/jext/metadata.xml new file mode 100644 index 000000000000..bf4c75acc9b5 --- /dev/null +++ b/app-editors/jext/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>java</herd> + <upstream> + <remote-id type="sourceforge">jext</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/joe/Manifest b/app-editors/joe/Manifest new file mode 100644 index 000000000000..80e17f3c8ca7 --- /dev/null +++ b/app-editors/joe/Manifest @@ -0,0 +1,2 @@ +DIST joe-3.7.tar.gz 696036 SHA256 cae456e1ad5a8c1d3c94920a3416c2347277739b260e3494d3bc0f2b9b73106f SHA512 1b6ac65309156c422c73194b82c1f855006bb7a73dec957c3a25f68a51e91e6a2a84df9d5d538f08c8900fe0eb0e2b41ef0936437859d5dae5ffc45005e8a90f WHIRLPOOL 4ee918936eb1a902fd4c6e60061180dfef215a57fb0700a5e078cb9db9717eea30094388a472a14f031d80267a5e0ba290360ed89fe44d89269dfddb4e9a31d1 +DIST joe-4.0.tar.gz 838783 SHA256 c556adff77fd97bf1b86198de6cb82e0b92cda18579c4fef6c83b608d2ed2915 SHA512 6d88ec9d4fd51f768dd35f74cc296f6e6469a3b36ff7aa0306796577d3a27c2719e8580483ab6184ffa3d00c6ec81d53548b501ae231845e4c0640988b0e7a31 WHIRLPOOL 029af0a45bb66008b2a40bd8bd8220741839c31e8d7d51bf428f244e55e6c8ee50138c06b8ebad181c36289c6d7c0c897580e7f192492a3376b3c68efbc6c214 diff --git a/app-editors/joe/files/joe-3.5-ftyperc.patch b/app-editors/joe/files/joe-3.5-ftyperc.patch new file mode 100644 index 000000000000..834b57690440 --- /dev/null +++ b/app-editors/joe/files/joe-3.5-ftyperc.patch @@ -0,0 +1,43 @@ +--- rc/ftyperc 2006-07-20 16:35:56.000000000 +0100 ++++ rc/ftyperc.gentoo 2013-04-05 15:05:11.000000000 +0100 +@@ -709,3 +709,40 @@ + *jpicorc.in + -syntax joerc + ++ Gentoo files ++*.ebuild ++-autoindent ++-syntax sh ++-pound_comment ++-text_delimiters do=done:if=elif=else=fi:case=esac ++-smarthome ++-smartbacks ++-indentc 9 ++-istep 1 ++-tab 4 ++ ++*.eclass ++-autoindent ++-syntax sh ++-pound_comment ++-text_delimiters do=done:if=elif=else=fi:case=esac ++-smarthome ++-smartbacks ++-indentc 9 ++-istep 1 ++-tab 4 ++ ++*/etc/portage/* ++-syntax conf ++ ++*/make.conf ++-syntax sh ++ ++*/etc/conf.d/* ++-syntax conf ++ ++*/etc/env.d/* ++-syntax conf ++ ++*/usr/portage/profiles/* ++-syntax conf diff --git a/app-editors/joe/files/joe-3.7-ftyperc.patch b/app-editors/joe/files/joe-3.7-ftyperc.patch new file mode 100644 index 000000000000..e570d6b1864f --- /dev/null +++ b/app-editors/joe/files/joe-3.7-ftyperc.patch @@ -0,0 +1,43 @@ +--- rc/ftyperc 2008-10-31 01:42:29.000000000 +0000 ++++ rc/ftyperc.gentoo 2013-04-05 15:04:49.000000000 +0100 +@@ -753,3 +753,40 @@ + *jpicorc.in + -syntax joerc + ++ Gentoo files ++*.ebuild ++-autoindent ++-syntax sh ++-pound_comment ++-text_delimiters do=done:if=elif=else=fi:case=esac ++-smarthome ++-smartbacks ++-indentc 9 ++-istep 1 ++-tab 4 ++ ++*.eclass ++-autoindent ++-syntax sh ++-pound_comment ++-text_delimiters do=done:if=elif=else=fi:case=esac ++-smarthome ++-smartbacks ++-indentc 9 ++-istep 1 ++-tab 4 ++ ++*/etc/portage/* ++-syntax conf ++ ++*/make.conf ++-syntax sh ++ ++*/etc/conf.d/* ++-syntax conf ++ ++*/etc/env.d/* ++-syntax conf ++ ++*/usr/portage/profiles/* ++-syntax conf diff --git a/app-editors/joe/files/joe-3.7-sanitise-includes.patch b/app-editors/joe/files/joe-3.7-sanitise-includes.patch new file mode 100644 index 000000000000..0d60cdb41e18 --- /dev/null +++ b/app-editors/joe/files/joe-3.7-sanitise-includes.patch @@ -0,0 +1,36 @@ +injecting random paths breaks random on Prefix platforms + +--- configure.ac ++++ configure.ac +@@ -23,14 +23,6 @@ + AC_PROG_INSTALL + AC_PROG_LN_S + +-case "$host" in +- *-*-solaris*) +- CPPFLAGS="$CPPFLAGS -I/usr/local/include" +- LDFLAGS="$LDFLAGS -L/usr/local/lib -R/usr/local/lib" +- ;; +- *) ;; +-esac +- + search_libs="$search_libs m" + + # Checks for libraries. +--- configure ++++ configure +@@ -4071,14 +4071,6 @@ + fi + + +-case "$host" in +- *-*-solaris*) +- CPPFLAGS="$CPPFLAGS -I/usr/local/include" +- LDFLAGS="$LDFLAGS -L/usr/local/lib -R/usr/local/lib" +- ;; +- *) ;; +-esac +- + search_libs="$search_libs m" + + # Checks for libraries. diff --git a/app-editors/joe/files/joe-3.7-segfault-fix.patch b/app-editors/joe/files/joe-3.7-segfault-fix.patch new file mode 100644 index 000000000000..38efac2e30c4 --- /dev/null +++ b/app-editors/joe/files/joe-3.7-segfault-fix.patch @@ -0,0 +1,17 @@ +Index: main.c +=================================================================== +RCS file: /cvsroot/joe-editor/joe-current/main/main.c,v +retrieving revision 1.5 +retrieving revision 1.6 +diff -u -r1.5 -r1.6 +--- main.c 27 Oct 2008 01:57:13 -0000 1.5 ++++ main.c 23 Nov 2008 21:32:15 -0000 1.6 +@@ -431,7 +431,7 @@ + b->orphan = 1; + b->oldcur = pdup(b->bof, USTR "main"); + pline(b->oldcur, get_file_pos(b->name)); +- p_goto_bol(bw->cursor); ++ p_goto_bol(b->oldcur); + line = b->oldcur->line - (maint->h - 1) / 2; + if (line < 0) + line = 0; diff --git a/app-editors/joe/joe-3.7-r2.ebuild b/app-editors/joe/joe-3.7-r2.ebuild new file mode 100644 index 000000000000..aa73a7750f0c --- /dev/null +++ b/app-editors/joe/joe-3.7-r2.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="3" + +inherit flag-o-matic eutils + +DESCRIPTION="A free ASCII-Text Screen Editor for UNIX" +HOMEPAGE="http://sourceforge.net/projects/joe-editor/" +SRC_URI="mirror://sourceforge/joe-editor/${P}.tar.gz" + +LICENSE="GPL-1" +SLOT="0" +KEYWORDS="alpha amd64 arm ~ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris" +IUSE="xterm" + +DEPEND=">=sys-libs/ncurses-5.2-r2" +RDEPEND="xterm? ( >=x11-terms/xterm-239 )" + +src_prepare() { + # Fix segfault, bug 283508 + epatch "${FILESDIR}/${P}-segfault-fix.patch" + epatch "${FILESDIR}/${P}-sanitise-includes.patch" + epatch "${FILESDIR}/${P}-ftyperc.patch" + + cd "${S}"/rc + + # Enable xterm mouse support in the rc files + if use xterm; then + for i in *rc*.in; do + sed -e 's/^ -\(mouse\|joexterm\)/-\1/' -i "${i}" || die "sed failed" + done + fi +} + +src_configure() { + # Bug 34609 (joe 2.9.8 editor seg-faults on 'find and replace' when compiled with -Os) + replace-flags "-Os" "-O2" + + econf --docdir="${EPREFIX}"/usr/share/doc/${PF} || die +} + +src_install() { + make install DESTDIR="${D}" || die "make install failed" + dodoc ChangeLog HACKING HINTS LIST NEWS README TODO +} + +pkg_postinst() { + if use xterm; then + elog "To enable full xterm clipboard you need to set the allowWindowOps" + elog "resources to true. This is usually found in /etc/X11/app-defaults/XTerm" + elog "This is false by default due to potential security problems on some" + elog "architectures (see bug #91453)." + fi +} diff --git a/app-editors/joe/joe-4.0.ebuild b/app-editors/joe/joe-4.0.ebuild new file mode 100644 index 000000000000..8328d68f3309 --- /dev/null +++ b/app-editors/joe/joe-4.0.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils + +DESCRIPTION="A free ASCII-Text Screen Editor for UNIX" +HOMEPAGE="http://sourceforge.net/projects/joe-editor/" +SRC_URI="mirror://sourceforge/joe-editor/${P}.tar.gz" + +LICENSE="GPL-1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris" +IUSE="xterm" + +DEPEND=">=sys-libs/ncurses-5.2-r2" +RDEPEND="xterm? ( >=x11-terms/xterm-239 )" + +DOCS=( README.md NEWS.md docs/hacking.md docs/man.md ) + +src_prepare() { + # Enable xterm mouse support in the rc files + if use xterm; then + cd "${S}"/rc + for i in *rc*.in; do + sed -e 's/^ -\(mouse\|joexterm\)/-\1/' -i "${i}" || die "sed failed" + done + fi +} + +src_configure() { + econf \ + --docdir="/usr/share/doc/${PF}" +} + +pkg_postinst() { + if use xterm; then + elog "To enable full xterm clipboard you need to set the allowWindowOps" + elog "resources to true. This is usually found in /etc/X11/app-defaults/XTerm" + elog "This is false by default due to potential security problems on some" + elog "architectures (see bug #91453)." + fi +} diff --git a/app-editors/joe/metadata.xml b/app-editors/joe/metadata.xml new file mode 100644 index 000000000000..e89efb84f4b0 --- /dev/null +++ b/app-editors/joe/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>tomk@gentoo.org</email> + <name>Tom Knight</name> + </maintainer> + <longdescription> + JOE (Joe's own editor) has the feel of most IBM PC text editors: The + key-sequences are reminiscent of WordStar and Turbo-C. JOE is much more + powerful than those editors, however. JOE has all of the features a UNIX + user should expect: full use of termcap/terminfo, excellent screen update + optimizations, simple installation, and all of the UNIX-integration features + of VI. +</longdescription> + <use> + <flag name="xterm">Enable full xterm clipboard support</flag> + </use> + <upstream> + <remote-id type="sourceforge">joe-editor</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-editors/jove/Manifest b/app-editors/jove/Manifest new file mode 100644 index 000000000000..79067d1716d7 --- /dev/null +++ b/app-editors/jove/Manifest @@ -0,0 +1 @@ +DIST jove4.16.0.73.tgz 465214 SHA256 9c9e202607f5972c382098d10b63c815ac01e578f432626c982e6aa65000c630 SHA512 2198504f9a23590710acba7f27661fa5649fdbed559a4c6bde9d2c1d673c22ce7d99a690be45a4602d37cf6e70399230c4ae3a251d8451af0c5252bdca61b09d WHIRLPOOL aad67b0a4ed52f89719feffbacb8b3de9acf50ccb2fbc6cb8f35bb9bcb475794d5aeb4bfe7485c9ccfc41f687bb42a4d9a9242d1ba84fd17790c35a03b1a8000 diff --git a/app-editors/jove/files/jove-4.16.0.70.3.1-getline.patch b/app-editors/jove/files/jove-4.16.0.70.3.1-getline.patch new file mode 100644 index 000000000000..98cef6011f8c --- /dev/null +++ b/app-editors/jove/files/jove-4.16.0.70.3.1-getline.patch @@ -0,0 +1,81 @@ +http://bugs.gentoo.org/274352 +Fix build failure with glibc-2.10 + +--- jove4.16.0.70-orig/insert.c ++++ jove4.16.0.70/insert.c +@@ -504,7 +504,7 @@ + atchar = 0; + } + +- getline(atline->l_dline, genbuf); ++ get_line(atline->l_dline, genbuf); + atchar += tchar; + linecopy(genbuf, atchar, save); + atline->l_dline = putline(genbuf); +--- jove4.16.0.70-orig/io.c ++++ jove4.16.0.70/io.c +@@ -1347,9 +1347,9 @@ + + void + #ifdef USE_PROTOTYPES +-getline proto((daddr addr, register char *buf)) ++get_line proto((daddr addr, register char *buf)) + #else +-getline(addr, buf) ++get_line(addr, buf) + daddr addr; + register char *buf; + #endif +--- jove4.16.0.70-orig/io.h ++++ jove4.16.0.70/io.h +@@ -40,7 +40,7 @@ + close_file proto((File *fp)), + d_cache_init proto((void)), + file_write proto((char *fname, bool app)), +- getline proto((daddr addr, char *buf)), ++ get_line proto((daddr addr, char *buf)), + lsave proto((void)), + putreg proto((File *fp,LinePtr line1,int char1,LinePtr line2,int char2,bool makesure)), + read_file proto((char *file, bool is_insert)), +--- jove4.16.0.70-orig/recover.c ++++ jove4.16.0.70/recover.c +@@ -165,7 +165,7 @@ + private char *getblock proto((daddr atl)); + + void +-getline(tl, buf) ++get_line(tl, buf) + daddr tl; + char *buf; + { +@@ -580,7 +580,7 @@ + Nchars = Nlines = 0L; + while (--nlines >= 0) { + addr = getaddr(ptrs_fp); +- getline(addr, buf); ++ get_line(addr, buf); + Nlines += 1; + Nchars += 1 + strlen(buf); + fputs(buf, out); +--- jove4.16.0.70-orig/util.c ++++ jove4.16.0.70/util.c +@@ -280,7 +280,7 @@ + strcpy(buf, linebuf); + Jr_Len = strlen(linebuf); + } else +- getline(line->l_dline, buf); ++ get_line(line->l_dline, buf); + return buf; + } + +--- jove4.16.0.70-orig/util.h ++++ jove4.16.0.70/util.h +@@ -18,7 +18,7 @@ + #define eobp() (lastp(curline) && eolp()) + #define eolp() (linebuf[curchar] == '\0') + #define firstp(line) ((line) == curbuf->b_first) +-#define getDOT() getline(curline->l_dline, linebuf) ++#define getDOT() get_line(curline->l_dline, linebuf) + #define lastp(line) ((line) == curbuf->b_last) + + extern UnivPtr diff --git a/app-editors/jove/files/jove-4.16.0.73-build.patch b/app-editors/jove/files/jove-4.16.0.73-build.patch new file mode 100644 index 000000000000..105d163d32be --- /dev/null +++ b/app-editors/jove/files/jove-4.16.0.73-build.patch @@ -0,0 +1,188 @@ +Originally based on Debian patch jove_4.16.0.70-3.1.diff.gz + +--- jove4.16.0.73-orig/doc/jove.rc ++++ jove4.16.0.73/doc/jove.rc +@@ -74,6 +74,6 @@ + 1 source jove.rc.$TERM + + # source local custom rc file, if present +-1 source jove-local.rc ++1 source /etc/jove/jove-local.rc + + popd +--- jove4.16.0.73-orig/jove.c ++++ jove4.16.0.73/jove.c +@@ -1576,7 +1576,7 @@ + char Joverc[FILESIZE]; + + if (dosys) { +- PathCat(Joverc, sizeof(Joverc), ShareDir, "jove.rc"); ++ PathCat(Joverc, sizeof(Joverc), CONFIGDIR, "jove.rc"); + (void) joverc(Joverc); /* system wide jove.rc */ + } + +--- jove4.16.0.73-orig/Makefile ++++ jove4.16.0.73/Makefile +@@ -21,13 +21,14 @@ + # If they don't exist, this makefile will try to create the directories + # LIBDIR and SHAREDIR. All others must already exist. + +-JOVEHOME = /usr/local +-SHAREDIR = $(JOVEHOME)/lib/jove ++JOVEHOME = ${DESTDIR}/usr ++SHAREDIR = $(JOVEHOME)/share/jove + LIBDIR = $(JOVEHOME)/lib/jove + BINDIR = $(JOVEHOME)/bin + XEXT= +-MANDIR = $(JOVEHOME)/man/man$(MANEXT) ++MANDIR = $(JOVEHOME)/share/man/man$(MANEXT) + MANEXT = 1 ++CONFIGDIR=${DESTDIR}/etc/jove + + # TMPDIR is where the tmp files get stored, usually /tmp, /var/tmp, or + # /usr/tmp. If you wish to be able to recover buffers after a system +@@ -38,11 +39,11 @@ + # (in case the system startup salvages tempfiles by moving them, + # which is probably a good idea). + +-TMPDIR = /tmp +-RECDIR = /var/preserve ++TMPDIR = /var/tmp ++RECDIR = ${DESTDIR}/var/lib/jove/preserve + + # DFLTSHELL is the default shell invoked by JOVE and TEACHJOVE. +-DFLTSHELL = /bin/csh ++DFLTSHELL = /bin/sh + + # The install commands of BSD and System V differ in unpleasant ways: + # -c: copy (BSD); -c dir: destination directory (SysV) +@@ -56,15 +57,18 @@ + INSTALLFLAGS = # -g bin -o root + + # to install executable files +-XINSTALL=cp ++XINSTALL=install -m 755 + #XINSTALL=/usr/ucb/install $(INSTALLFLAGS) -c -m 755 # -s + #CYGWIN32: XINSTALL=install $(INSTALLFLAGS) -c -m 755 + + # to install text files +-TINSTALL=cp ++TINSTALL=install -m 644 + #TINSTALL=/usr/ucb/install $(INSTALLFLAGS) -c -m 644 + #CYGWIN32: TINSTALL=install $(INSTALLFLAGS) -c -m 644 + ++# to install directories ++DINSTALL=install -d 755 ++ + # These should all just be right if the above ones are. + # You will confuse JOVE if you move anything from LIBDIR or SHAREDIR. + +@@ -72,7 +76,7 @@ + TEACHJOVE = $(BINDIR)/teachjove$(XEXT) + RECOVER = $(LIBDIR)/recover$(XEXT) + PORTSRV = $(LIBDIR)/portsrv$(XEXT) +-JOVERC = $(SHAREDIR)/jove.rc ++JOVERC = $(CONFIGDIR)/jove.rc + TERMSDIR = $(SHAREDIR) + CMDS.DOC = $(SHAREDIR)/cmds.doc + TEACH-JOVE = $(SHAREDIR)/teach-jove +@@ -160,7 +164,7 @@ + # SCO UNIX: TERMCAPLIB = -lcurses + # AIX on the R6000s: TERMCAPLIB = -lcurses -ltermcap -ls + +-TERMCAPLIB = -ltermcap ++TERMCAPLIB = -lncurses + + # Extra libraries flags needed by oddball systems. + # Modern BSD systems using openpty need its library. +@@ -181,7 +185,7 @@ + # PDP-11 with separate I&D: -i + # PDP-11 without separate I&D: -n + +-LDFLAGS = ++#LDFLAGS = + + # for SCO Xenix, set + # MEMFLAGS = -Mle +@@ -236,7 +240,8 @@ + TROFF = troff -Tpost + TROFFPOST = | /usr/lib/lp/postscript/dpost - + +-MANUALS = $(JOVEM) $(TEACHJOVEM) $(XJOVEM) $(JOVETOOLM) ++MANUALS = $(JOVEM) $(TEACHJOVEM) ++# $(XJOVEM) $(JOVETOOLM) + + C_SRC = commands.c commands.tab abbrev.c argcount.c ask.c buf.c c.c case.c jctype.c \ + delete.c disp.c extend.c fp.c fmt.c insert.c io.c iproc.c \ +@@ -283,8 +288,7 @@ + # all: default target. + # Builds everything that "install" needs. + all: jjove$(XEXT) recover$(XEXT) teachjove$(XEXT) portsrv$(XEXT) \ +- doc/cmds.doc doc/jove.$(MANEXT) doc/teachjove.$(MANEXT) \ +- doc/jovetool.$(MANEXT) ++ doc/cmds.doc doc/jove.$(MANEXT) doc/teachjove.$(MANEXT) + + jjove$(XEXT): $(OBJECTS) + $(LDCC) $(LDFLAGS) $(OPTFLAGS) -o jjove$(XEXT) $(OBJECTS) $(TERMCAPLIB) $(EXTRALIBS) +@@ -341,6 +345,7 @@ + @echo \#define LIBDIR \"$(LIBDIR)\" >> paths.h + @echo \#define SHAREDIR \"$(SHAREDIR)\" >> paths.h + @echo \#define DFLTSHELL \"$(DFLTSHELL)\" >> paths.h ++ @echo \#define CONFIGDIR \"$(CONFIGDIR)\" >> paths.h + + makexjove: + ( cd xjove ; make CC="$(CC)" OPTFLAGS="$(OPTFLAGS)" SYSDEFS="$(SYSDEFS)" $(TOOLMAKEEXTRAS) xjove ) +@@ -358,18 +363,31 @@ + # Thus, if "all" is done first, "install" can be invoked with + # JOVEHOME pointing at a playpen where files are to be marshalled. + # This property is fragile. +-install: $(LIBDIR) $(SHAREDIR) \ ++install: $(BINDIR) $(LIBDIR) $(SHAREDIR) $(CONFIGDIR) $(RECDIR) \ + $(TEACH-JOVE) $(CMDS.DOC) $(TERMSDIR)docs \ + $(PORTSRVINST) $(RECOVER) $(JOVE) $(TEACHJOVE) $(MANUALS) +- $(TINSTALL) doc/jove.rc $(JOVERC) ++ $(TINSTALL) doc/jove.rc $(CONFIGDIR) + @echo See the README about changes to /etc/rc or /etc/rc.local + @echo so that the system recovers jove files on reboot after a crash + ++$(BINDIR):: ++ $(DINSTALL) $(BINDIR) ++ + $(LIBDIR):: +- test -d $(LIBDIR) || mkdir -p $(LIBDIR) ++ $(DINSTALL) $(LIBDIR) + + $(SHAREDIR):: +- test -d $(SHAREDIR) || mkdir -p $(SHAREDIR) ++ $(DINSTALL) $(SHAREDIR) ++ ++$(CONFIGDIR):: ++ $(DINSTALL) $(CONFIGDIR) ++ ++$(RECDIR):: ++ $(DINSTALL) $(RECDIR) ++ chmod 1777 $(RECDIR) ++ ++$(MANDIR):: ++ $(DINSTALL) $(MANDIR) + + $(TEACH-JOVE): doc/teach-jove + $(TINSTALL) doc/teach-jove $(TEACH-JOVE) +@@ -410,7 +428,7 @@ + -e 's;<SHAREDIR>;$(SHAREDIR);' \ + -e 's;<SHELL>;$(DFLTSHELL);' doc/jove.nr > doc/jove.$(MANEXT) + +-$(JOVEM): doc/jove.$(MANEXT) ++$(JOVEM): $(MANDIR) doc/jove.$(MANEXT) + $(TINSTALL) doc/jove.$(MANEXT) $(JOVEM) + + # doc/jove.doc is the formatted manpage (only needed by DOS) +@@ -427,7 +445,7 @@ + -e 's;<SHAREDIR>;$(SHAREDIR);' \ + -e 's;<SHELL>;$(DFLTSHELL);' doc/teachjove.nr > doc/teachjove.$(MANEXT) + +-$(TEACHJOVEM): doc/teachjove.$(MANEXT) ++$(TEACHJOVEM): $(MANDIR) doc/teachjove.$(MANEXT) + $(TINSTALL) doc/teachjove.$(MANEXT) $(TEACHJOVEM) + + $(XJOVEM): doc/xjove.nr diff --git a/app-editors/jove/files/jove-4.16.0.73-doc.patch b/app-editors/jove/files/jove-4.16.0.73-doc.patch new file mode 100644 index 000000000000..d62add543af6 --- /dev/null +++ b/app-editors/jove/files/jove-4.16.0.73-doc.patch @@ -0,0 +1,34 @@ +Originally based on Debian patch jove_4.16.0.70-3.1.diff.gz + +--- jove4.16.0.73-orig/doc/intro.nr ++++ jove4.16.0.73/doc/intro.nr +@@ -56,9 +56,8 @@ + .. + . + .\" Change the extra vertical spacing around .DS/.DE +-.\" Does not work with groff's version of MS (GS is 1 iff groff MS) +-.if !\n(GS .if n .nr DD 0v +-.if !\n(GS .if t .nr DD \n(PD/2u ++.if n .nr DD 0v ++.if t .nr DD \n(PD/2u + . + .nr LL 6.5i + .nr LT 6.5i +@@ -152,7 +151,7 @@ + } + + _ +-\fBJOVE\ (C OvrWt)\ \ \ [Main:1]\ \ "hello.c"\ \ \(**\ \ /home/foo\fP <\ the Mode Line ++\fBJOVE\ (C OvrWt)\ \ \ [Main:1]\ \ "hello.c"\ \ \(**\ \ /home/foo\ \ \ \ 15:23\fP <\ the Mode Line + _ + : write-file (default hello.c) aloha.c\^\(sq <\ the Message Line + = +@@ -1978,7 +1977,7 @@ + \ \ \ \ return 0; <\ second Window + }\^\(sq + _ +-\fBJOVE\ (C OvrWt)\ \ \ [Main:1]\ \ "aloha.c"\ \ \-\-\ \ /home/foo\fP <\ the Mode Line ++\fBJOVE\ (C OvrWt)\ \ \ [Main:1]\ \ "aloha.c"\ \ \-\-\ \ /home/foo\ \ \ \ 15:28\fP <\ the Mode Line + _ + [Point pushed] <\ the Message Line + = diff --git a/app-editors/jove/files/jove-4.16.0.73-sendmail.patch b/app-editors/jove/files/jove-4.16.0.73-sendmail.patch new file mode 100644 index 000000000000..072dd1f843ce --- /dev/null +++ b/app-editors/jove/files/jove-4.16.0.73-sendmail.patch @@ -0,0 +1,19 @@ +--- jove4.16.0.73-orig/recover.c ++++ jove4.16.0.73/recover.c +@@ -776,7 +776,7 @@ + + last_update = ctime(&(rec->UpdTime)); + /* Start up mail */ +- sprintf(mail_cmd, "/bin/mail %s", pw->pw_name); ++ sprintf(mail_cmd, "/usr/sbin/sendmail -t %s", pw->pw_name); + setuid(getuid()); + if ((mail_pipe = popen(mail_cmd, "w")) == NULL) + return; +@@ -784,6 +784,7 @@ + setbuf(mail_pipe, mail_cmd); + /* Let's be grammatically correct! */ + buf_string = rec->Nbuffers == 1? "buffer" : "buffers"; ++ fprintf(mail_pipe, "To: %s\n", pw->pw_name); + fprintf(mail_pipe, "Subject: Jove saved %d %s after \"%s\" crashed\n", + rec->Nbuffers, buf_string, hname()); + fprintf(mail_pipe, " \n"); diff --git a/app-editors/jove/jove-4.1 |